Mini Apps

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

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-CompanyId will be rejected with 403.
  • 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

id
string
Unique identifier of the mini app, returned as a string. Use this value in the path of all subsequent calls that act on this mini app, for example /miniapps/{id}.
reference_id
string
Base36-encoded opaque identifier for the mini app. Always present in responses.
name
string
Name of the mini app.
label
string
Display label for the mini app, derived from the primary-language translation. Automatically kept in sync with the translation for language.
url
string
Target URL the mini app opens when launched.
logo_url
string
Pre-built download path for the mini app logo. Omitted from the response entirely when no logo has been set.
language
string
Primary language code of the mini app (e.g. "en", "fr"). The label field reflects the translation for this language.
user_data
array
Array describing which user-data fields (name and phone) are shared and whether sharing is mandatory for this mini app. Omitted from the response when not set, in which case the parent business's user_data configuration applies.
Show Sub-Attributes arrow
type
string
Which user-data field this entry controls.
Allowed values:
  • name - The user's name, shown within the mini app.
  • phone - The user's phone number, shown within the mini app.
enabled
boolean
Whether this field is shared with the mini app.
mandatory
boolean
Whether sharing this field is mandatory and cannot be disabled.
business
object
Lightweight reference to the parent business that owns this mini app.
Show Sub-Attributes arrow
id
string
Unique identifier of the business.
reference_id
string
Base36-encoded opaque identifier of the business.
name
string
Display name of the business.
businessnumbers
array
Business numbers the mini app is pinned to. Always present, returned as an empty array when the mini app is not pinned to any business number.
Show Sub-Attributes arrow
id
string
Unique identifier of the business number.
reference_id
string
Base36-encoded opaque identifier of the business number.
phonenumber
string
The phone number, without country code.
display_name
string
Display name of the business number.
phone_country_code
string
Country calling code, always including the leading "+".
full_phonenumber
string
Full phone number in E.164 format, always including the leading "+".
translations
array
Secondary-language translations of the mini app. Always present, returned as an empty array when no secondary-language translations have been added.
Show Sub-Attributes arrow
language
string
Language code of this translation (e.g. "ta").
label
string
Translated display label for this language.
created_time
string
Timestamp when this translation was created, as epoch milliseconds (string).
modified_time
string
Timestamp when this translation was last modified, as epoch milliseconds (string).
messagetemplates
array
Lightweight list of message templates that reference this mini app as a button. Always present, returned as an empty array when no templates reference it.
Show Sub-Attributes arrow
id
string
Unique identifier of the message template.
name
string
Name of the message template.
created_time
string
Timestamp when the mini app was created, as epoch milliseconds (string).
modified_time
string
Timestamp when the mini app was last modified, as epoch milliseconds (string).
bsp
object
Lightweight reference to the Business Solution Provider (BSP) that created this mini app on behalf of the business. Present only when the mini app was created by a BSP.
Show Sub-Attributes arrow
id
string
Unique identifier of the BSP company.
name
string
Display name of the BSP company.
source
string
Indicates who created 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.

Example

{ "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

Creates a mini app for a business.

⚠
NoteThis endpoint accepts application/json as shown in the request example below.
  • It also supports multipart/form-data to upload a logo in the same request. Send translations and businessnumber_ids as JSON-encoded strings alongside the binary file field.
  • privacy_link, terms_link, and user_data are JSON-only fields and are not accepted in the multipart flow. Set them at creation via JSON, or update them later with PATCH /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

name
string
(Required)
Mini app name. Max 50 characters.
url
string
(Required)
Target URL for the mini app. Max 2048 characters.
language
string
(Required)
Primary language code. Use lowercase with underscore separator, e.g. en or en_us. Hyphen separators and uppercase region codes are not accepted.
translations
array
(Required)
Language translations for the mini app. Up to 100 entries. Each label cannot exceed 25 characters.
Show Sub-Attributes arrow
language
string
(Required)
Secondary language code for this translation, in the same lowercase-with-underscore format as the primary language field, e.g. en or en_us.
label
string
(Required)
Display label for this language. Max 25 characters.
businessnumber_ids
array
IDs of the business numbers to associate with this mini app. Pinned numbers are the channels through which this mini app is reachable. Up to 100 entries.
user_data
array
User profile fields to collect for this mini app. When omitted, the parent business's settings apply.
Show Sub-Attributes arrow
type
string
Profile field this mini app should collect from the user.
Allowed values:
  • name - Collect the user's name.
  • phone - Collect the user's phone number.
enabled
boolean
Whether this field is shown to users.
mandatory
boolean
Whether this field must be filled before proceeding.

Path Parameters

id
string
(Required)
Unique identifier of the business under which the mini app is created.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the business.

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "name": "Axis", "url": "https://netbanking.axis.com", "language": "fr", "translations": [ { "language": "ta", "label": "Tamil Axis" }, { "language": "fr", "label": "Axis" } ] }

Response Example

{ "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": "unauthorised", "message": "You are not authorised 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

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

id
string
(Required)
Unique identifier of the business whose mini apps are being listed.

Query Parameters

limit
integer
Maximum number of mini apps to return per page.
index
integer
Zero-based page offset. Defaults to 0.
search_key
string
Filter mini apps by name.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the business.

Request Example

Click to copy
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'

Response Example

{ "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

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

businesses
string
Comma-separated list of business IDs to filter results. Up to 100 values.
status
string
Filter mini apps by publication status.
Allowed values:
  • draft - Mini apps not yet published.
  • production - Published mini apps.
search_key
string
Filter mini apps by name.
limit
integer
Maximum number of mini apps to return per page.
index
integer
Zero-based page offset. Defaults to 0.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company.

Request Example

Click to copy
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'

Response Example

{ "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

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

name
string
Mini app name. Max 50 characters.
url
string
Target URL for the mini app. Max 2048 characters.
language
string
Primary language code. Same format as the create request.
translations
array
Replaces all existing translations. Up to 100 entries; each label cannot exceed 25 characters.
Show Sub-Attributes arrow
language
string
(Required)
Secondary language code for this translation, in the same lowercase-with-underscore format as the primary language field, e.g. en or en_us.
label
string
(Required)
Display label for this language. Max 25 characters.
businessnumber_ids
array
Replaces the full set of pinned business numbers. Up to 100 entries. Pass an empty array to unpin all.
user_data
array
User profile fields for this mini app. Send an empty array to clear and fall back to the parent business's settings.
Show Sub-Attributes arrow
type
string
Profile field this mini app should collect from the user.
Allowed values:
  • name - Collect the user's name.
  • phone - Collect the user's phone number.
enabled
boolean
Whether this field is shown to users.
mandatory
boolean
Whether this field must be filled before proceeding.

Path Parameters

id
string
(Required)
Unique identifier of the mini app to update.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "name": "HDFC", "url": "https://netbanking.hdfcbank.com" }

Response Example

{ "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": "unauthorised", "message": "You are not authorised 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

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

id
string
(Required)
Unique identifier of the mini app to retrieve.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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'

Response Example

{ "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

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

id
string
(Required)
Unique identifier of the mini app to delete.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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'

Response Example

{ "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": "unauthorised", "message": "You are not authorised 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

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

translations
array
(Required)
Translations to create or update. Up to 50 entries; each label cannot exceed 25 characters.
Show Sub-Attributes arrow
language
string
(Required)
Secondary language code for this translation, in the same lowercase-with-underscore format as the primary language field, e.g. en or en_us.
label
string
(Required)
Display label for this language. Max 25 characters.

Path Parameters

id
string
(Required)
Unique identifier of the mini app whose translations are being synced.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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"}'

Body Parameters

Click to copy
{ "translations": [ { "language": "en", "label": "HDFC" }, { "language": "fr", "label": "HDFC" } ] }

Response Example

{ "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": "unauthorised", "message": "You are not authorised 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

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

id
string
(Required)
Unique identifier of the mini app whose translations are being retrieved.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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'

Response Example

{ "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

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

id
string
(Required)
Unique identifier of the mini app whose translation is being deleted.
lang_code
string
(Required)
Language code of the translation to delete. Accepted format: [a-z]{2}([_-][a-zA-Z]{2})?, e.g. en, fr, en-US, en_us.

Headers

Arattai-CompanyId
string
(Required)
Unique identifier of the company that owns the mini app's business.

Request Example

Click to copy
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'

Response Example

{ "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": "unauthorised", "message": "You are not authorised 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" }