Mini Apps
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Mini apps are lightweight web apps scoped to a business. Each mini app has a primary language and optional secondary-language translations, and can be pinned to one or more business numbers.
This module covers creating, listing, getting, updating, and deleting mini apps, plus syncing and deleting their translations. For the runtime session-exchange APIs called by a mini app's own backend while a user is inside it, see Mini App Sessions.
Required header: Arattai-CompanyId is required on all endpoints. If you're a BSP acting on behalf of a business you manage, pass your BSP company's ID here.
The full set of attributes returned for a mini app is documented under the Mini App schema in the API reference below.
BSP Permissions
- Create: BSP-scoped callers cannot create mini apps. A request made with a BSP company's
Arattai-CompanyIdwill be rejected with403. - Update, Delete, Sync Translations, Delete Translation: BSP-scoped callers can only act on mini apps belonging to businesses they manage. Attempting to modify a company's own mini app returns
403.
Error Response Format
{"code": "error_code", "message": "A human-readable description of the error."}
Attribute
/miniapps/{id}.language.label field reflects the translation for this language.privacy_link applies.terms_link applies.user_data configuration applies.Allowed values:
name- The user's name, shown within the mini app.phone- The user's phone number, shown within the mini app.
Allowed values:
bsp- Created by a Business Solution Provider acting on behalf of the business.company- Created directly by the company that owns the business.
{
"id": "501000000007003",
"reference_id": "4XL880KFH7",
"name": "Axis",
"label": "Axis",
"url": "https://netbanking.axis.com",
"permalink": "https://miniapps.example.com/apps/ma-bX9P-4XL880KFH7",
"logo_url": "/api/v1/miniapplogo/YXhpcy4uLg==",
"language": "fr",
"privacy_link": "https://netbanking.axis.com/privacy",
"terms_link": "https://netbanking.axis.com/terms",
"user_data": [
{
"type": "name",
"enabled": true,
"mandatory": false
}
],
"business": {
"id": "501000000002005",
"reference_id": "1K3M5X2",
"name": "BMW"
},
"businessnumbers": [
{
"id": "501000000005013",
"reference_id": "1ZQXB2G",
"phonenumber": "9443789765",
"display_name": "BMW",
"phone_country_code": "+91",
"full_phonenumber": "+919443789765"
}
],
"translations": [
{
"language": "ta",
"label": "Tamil Axis",
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
],
"messagetemplates": [
{
"id": "501000000008001",
"name": "welcome_template"
}
],
"created_time": "1769806250968",
"modified_time": "1769806250968",
"bsp": {
"id": "501000000001001",
"name": "Northbrook Solutions"
},
"source": "company"
}
Create a Mini App
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Creates a mini app for a business.
application/json as shown in the request example below.- It also supports
multipart/form-datato upload a logo in the same request. Sendtranslationsandbusinessnumber_idsas JSON-encoded strings alongside the binaryfilefield. privacy_link,terms_link, anduser_dataare JSON-only fields and are not accepted in the multipart flow. Set them at creation via JSON, or update them later withPATCH /miniapps/{id}.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 10 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.CREATE
Arguments
en or en_us. Hyphen separators and uppercase region codes are not accepted.
label cannot exceed 25 characters.language field, e.g. en or en_us.Allowed values:
name- Collect the user's name.phone- Collect the user's phone number.
Path Parameters
Headers
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"
type: POST
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps")
.post(body)
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/v1/businesses/BUSINESS_ID/miniapps", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/businesses/BUSINESS_ID/miniapps",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps");
var request = new RestRequest(Method.POST);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"
payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"field1": "value1",
"field2": "value2"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
curl --request POST \
--url https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"name": "Axis",
"url": "https://netbanking.axis.com",
"language": "fr",
"translations": [
{
"language": "ta",
"label": "Tamil Axis"
},
{
"language": "fr",
"label": "Axis"
}
]
}
{
"url": "/api/v1/businesses/501000000002005/miniapps",
"type": "miniapp",
"data": {
"id": "501000000007003",
"reference_id": "4XL880KFH7",
"name": "Axis",
"label": "Axis",
"url": "https://netbanking.axis.com",
"permalink": "https://miniapps.example.com/apps/ma-bX9P-4XL880KFH7",
"language": "fr",
"business": {
"id": "501000000002005",
"reference_id": "1K3M5X2",
"name": "BMW"
},
"translations": [
{
"language": "ta",
"label": "Tamil Axis",
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
],
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
List Mini Apps for a Business
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Lists mini apps for a specific business.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 45 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.READ
Path Parameters
Query Parameters
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps")
.get()
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("GET", "/api/v1/businesses/BUSINESS_ID/miniapps", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/businesses/BUSINESS_ID/miniapps",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps");
var request = new RestRequest(Method.GET);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request GET \
--url https://business.arattai.in/api/v1/businesses/BUSINESS_ID/miniapps \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"url": "/api/v1/businesses/501000000002005/miniapps",
"type": "miniapp",
"data": [
{
"id": "501000000007003",
"name": "Axis",
"label": "Axis",
"url": "https://netbanking.axis.com",
"logo_url": "/api/v1/miniapplogo/YXhpcy4uLg==",
"language": "fr",
"business": {
"id": "501000000002005",
"reference_id": "1K3M5X2",
"name": "BMW"
},
"businessnumbers": [],
"messagetemplates": [
{
"id": "501000000008001",
"name": "welcome_template"
}
]
}
]
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
List All Mini Apps
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Lists mini apps across all businesses accessible in the current scope.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 45 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.READ
Query Parameters
Allowed values:
draft- Mini apps not yet published.production- Published mini apps.
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps")
.get()
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/miniapps', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("GET", "/api/v1/miniapps", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps");
var request = new RestRequest(Method.GET);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://business.arattai.in/api/v1/miniapps");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request GET \
--url https://business.arattai.in/api/v1/miniapps \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"url": "/api/v1/miniapps?status=production",
"type": "miniapp",
"data": [
{
"id": "501000000007003",
"name": "Axis",
"label": "Axis",
"url": "https://netbanking.axis.com",
"logo_url": "/api/v1/miniapplogo/YXhpcy4uLg==",
"language": "fr",
"business": {
"id": "501000000002005",
"reference_id": "1K3M5X2",
"name": "BMW"
},
"businessnumbers": [],
"messagetemplates": [
{
"id": "501000000008001",
"name": "welcome_template"
}
]
}
]
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Update a Mini App
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Updates a mini app. All fields are optional; include only the fields you want to change.
Full-replacement fields: translations and businessnumber_ids replace the entire existing set when sent. For translations, entries present in the payload are created or updated; entries absent are deleted. For businessnumber_ids, any number not included is unpinned.
To use Sync All Translations instead, which adds and updates without deleting existing entries, use POST /miniapps/{id}/translations.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 30 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.UPDATE
Arguments
label cannot exceed 25 characters.language field, e.g. en or en_us.Allowed values:
name- Collect the user's name.phone- Collect the user's phone number.
Path Parameters
Headers
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
type: PATCH
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID")
.patch(body)
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'PATCH',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("PATCH", "/api/v1/miniapps/MINIAPP_ID", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "PATCH",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Patch,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"field1": "value1",
"field2": "value2"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("PATCH", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
curl --request PATCH \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"name": "HDFC",
"url": "https://netbanking.hdfcbank.com"
}
{
"url": "/api/v1/miniapps/501000000007003",
"type": "miniapp",
"data": {
"id": "501000000007003",
"name": "HDFC",
"url": "https://netbanking.hdfcbank.com"
}
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Get a Mini App
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Retrieves a single mini app by ID.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 30 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.READ
Path Parameters
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID")
.get()
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("GET", "/api/v1/miniapps/MINIAPP_ID", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
var request = new RestRequest(Method.GET);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request GET \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"url": "/api/v1/miniapps/501000000007003",
"type": "miniapp",
"data": {
"id": "501000000007003",
"reference_id": "4XL880KFH7",
"name": "Axis",
"label": "Axis",
"url": "https://netbanking.axis.com",
"permalink": "https://miniapps.example.com/apps/ma-bX9P-4XL880KFH7",
"logo_url": "/api/v1/miniapplogo/bWluaWFwcC4uLg==",
"language": "fr",
"privacy_link": "https://netbanking.axis.com/privacy",
"terms_link": "https://netbanking.axis.com/terms",
"user_data": [
{
"type": "name",
"enabled": true,
"mandatory": false
},
{
"type": "phone",
"enabled": true,
"mandatory": true
}
],
"business": {
"id": "501000000002005",
"reference_id": "1K3M5X2",
"name": "BMW"
},
"businessnumbers": [
{
"id": "501000000005013",
"reference_id": "1ZQXB2G",
"phonenumber": "9443789765",
"display_name": "BMW",
"phone_country_code": "+91",
"full_phonenumber": "+919443789765"
}
],
"translations": [
{
"language": "ta",
"label": "Tamil Axis",
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
],
"messagetemplates": [
{
"id": "501000000008001",
"name": "welcome_template"
}
],
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Delete a Mini App
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Deletes a mini app.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 30 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.DELETE
Path Parameters
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
type: DELETE
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID")
.delete(null)
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'DELETE',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("DELETE", "/api/v1/miniapps/MINIAPP_ID", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request DELETE \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Sync All Translations
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Creates translations that don't yet exist and updates ones that do. Existing translations not included in the payload are left untouched. To replace the full translation set instead, use PATCH /miniapps/{id} with a translations key.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 50 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.CREATE
Arguments
label cannot exceed 25 characters.language field, e.g. en or en_us.Path Parameters
Headers
parameters_data='{"field1":"value1","field2":"value2"}';
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"
type: POST
headers: headers_data
content-type: application/json
parameters: parameters_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}");
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations")
.post(body)
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'POST',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"field1":"value1","field2":"value2"}'
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/v1/miniapps/MINIAPP_ID/translations", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "POST",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID/translations",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN",
"content-type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({field1: 'value1', field2: 'value2'}));
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations");
var request = new RestRequest(Method.POST);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"
payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"field1": "value1",
"field2": "value2"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
curl --request POST \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"field1":"value1","field2":"value2"}'
{
"translations": [
{
"language": "en",
"label": "HDFC"
},
{
"language": "fr",
"label": "HDFC"
}
]
}
{
"url": "/api/v1/miniapps/501000000007003/translations",
"type": "miniapp",
"data": {
"id": "501000000007003",
"translations": [
{
"language": "en",
"label": "HDFC",
"created_time": "1769806250968",
"modified_time": "1769806250968"
},
{
"language": "fr",
"label": "HDFC",
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
]
}
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Get Translations
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Returns all translations for a mini app.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 45 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.READ
Path Parameters
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"
type: GET
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations")
.get()
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'GET',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("GET", "/api/v1/miniapps/MINIAPP_ID/translations", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "GET",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID/translations",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations");
var request = new RestRequest(Method.GET);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request GET \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"url": "/api/v1/miniapps/501000000007003/translations",
"type": "translations",
"data": [
{
"language": "ta",
"label": "Tamil Axis",
"created_time": "1769806250968",
"modified_time": "1769806250968"
},
{
"language": "fr",
"label": "Axis",
"created_time": "1769806250968",
"modified_time": "1769806250968"
}
]
}
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}
Delete a Translation
AI Tools
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Open in ChatGPT
Open in ChatGPT to ask questions about this page
Open in Claude
Open in Claude to ask questions about this page
Copy as Markdown
Copy this page as markdown to use with AI assistants
View as Markdown
Open this page as markdown in a new tab
Deletes a specific language translation from a mini app. The mini app's language field (the primary language) is unaffected; only the translation row for the given language code is removed.
Rate Limits
- Threshold Limit (Number of API calls allowed within a minute) - 50 requests per minute
- Lock Period (Wait time before consecutive API requests) - 10 minutes
OAuth Scope : ArattaiBusiness.miniapps.DELETE
Path Parameters
[a-z]{2}([_-][a-zA-Z]{2})?, e.g. en, fr, en-US, en_us.
Headers
headers_data = Map();
headers_data.put("Arattai-CompanyId", "SOME_STRING_VALUE");
headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN");
response = invokeUrl
[
url: "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en"
type: DELETE
headers: headers_data
connection: <connection_name>
];
info response;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en")
.delete(null)
.addHeader("Arattai-CompanyId", "SOME_STRING_VALUE")
.addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN")
.build();
Response response = client.newCall(request).execute();
const options = {
method: 'DELETE',
headers: {
'Arattai-CompanyId': 'SOME_STRING_VALUE',
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
fetch('https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import http.client
conn = http.client.HTTPSConnection("business.arattai.in")
headers = {
'Arattai-CompanyId': "SOME_STRING_VALUE",
'Authorization': "Bearer REPLACE_BEARER_TOKEN"
}
conn.request("DELETE", "/api/v1/miniapps/MINIAPP_ID/translations/en", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "business.arattai.in",
"port": null,
"path": "/api/v1/miniapps/MINIAPP_ID/translations/en",
"headers": {
"Arattai-CompanyId": "SOME_STRING_VALUE",
"Authorization": "Bearer REPLACE_BEARER_TOKEN"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
var client = new RestClient("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
IRestResponse response = client.Execute(request);
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en"),
Headers =
{
{ "Arattai-CompanyId", "SOME_STRING_VALUE" },
{ "Authorization", "Bearer REPLACE_BEARER_TOKEN" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Arattai-CompanyId", "SOME_STRING_VALUE")
req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en");
xhr.setRequestHeader("Arattai-CompanyId", "SOME_STRING_VALUE");
xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN");
xhr.send(data);
curl --request DELETE \
--url https://business.arattai.in/api/v1/miniapps/MINIAPP_ID/translations/en \
--header 'Arattai-CompanyId: SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'
{
"code": "invalid_input",
"message": "Either the input stream or parameter is invalid or absent"
}
{
"code": "invalid_oauthtoken",
"message": "You are not authenticated to do this operation"
}
{
"code": "not_found",
"message": "The requested resource was not found"
}
{
"code": "invalid_method",
"message": "Invalid method"
}
{
"code": "too_many_requests",
"message": "You have reached the maximum number of requests"
}