infoOverview
About this API
keySecurity
Authentication
This endpoint does not require authentication.
uploadInput
Request Body
Send a multipart/form-data payload. Replace placeholder values with data from your integration.
Top-Level Fields
NameTypeRequirementDescription
datastringNot specifiedRequest value for data.screenImagesstringNot specifiedRequest value for screenImages.{
"data": "{\n \"botId\": \"6a1d390cf9cbdcd11b02290d\",\n \"is_conversational_supported\": true,\n \"is_opt_out_by_platform\": true,\n \"bot_access_instructions\": \"bot_access_instructions\",\n \"bot_interaction_types\": \"bot_interaction_types\",\n \"opt_in_message\": \"opt_in_message\",\n \"opt_out_keywords\": \"opt_out_keywords\",\n \"opt_out_message\": \"opt_out_message\",\n \"revoke_opt_out_keywords\": \"revoke_opt_out_keywords\",\n \"trigger_action\": \"trigger_action temp\",\n \"revoke_opt_out_message\": \"revoke_opt_out_message\",\n \"bot_recog_keywords\": \"bot_recog_keywords\",\n \"video_url\": \"https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4\",\n \"screen_image\": [\n \"screen1.png\",\n \"screen2.png\"\n ]\n}",
"screenImages": "<screenImages-file>"
}{
"type": "object",
"properties": {
"data": {
"type": "string"
},
"screenImages": {
"type": "string",
"format": "binary"
}
}
}codeIntegration
Code Examples
Select your language and customize the request URL. Credential placeholders are intentionally preserved so secrets never appear in generated samples.
shield_lockCredentials protectedAdd secrets only in your secure server environment.
curl --request POST 'https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification' \
--form 'data={
"botId": "6a1d390cf9cbdcd11b02290d",
"is_conversational_supported": true,
"is_opt_out_by_platform": true,
"bot_access_instructions": "bot_access_instructions",
"bot_interaction_types": "bot_interaction_types",
"opt_in_message": "opt_in_message",
"opt_out_keywords": "opt_out_keywords",
"opt_out_message": "opt_out_message",
"revoke_opt_out_keywords": "revoke_opt_out_keywords",
"trigger_action": "trigger_action temp",
"revoke_opt_out_message": "revoke_opt_out_message",
"bot_recog_keywords": "bot_recog_keywords",
"video_url": "https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4",
"screen_image": [
"screen1.png",
"screen2.png"
]
}' \
--form 'screenImages=@/path/to/screenImages'const form = new FormData();
form.append('data', '{
"botId": "6a1d390cf9cbdcd11b02290d",
"is_conversational_supported": true,
"is_opt_out_by_platform": true,
"bot_access_instructions": "bot_access_instructions",
"bot_interaction_types": "bot_interaction_types",
"opt_in_message": "opt_in_message",
"opt_out_keywords": "opt_out_keywords",
"opt_out_message": "opt_out_message",
"revoke_opt_out_keywords": "revoke_opt_out_keywords",
"trigger_action": "trigger_action temp",
"revoke_opt_out_message": "revoke_opt_out_message",
"bot_recog_keywords": "bot_recog_keywords",
"video_url": "https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4",
"screen_image": [
"screen1.png",
"screen2.png"
]
}');
form.append('screenImages', fileInput.files[0]);
const response = await fetch('https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification', {
method: 'POST',
body: form,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);import { openAsBlob } from 'node:fs';
const form = new FormData();
form.append('data', '{
"botId": "6a1d390cf9cbdcd11b02290d",
"is_conversational_supported": true,
"is_opt_out_by_platform": true,
"bot_access_instructions": "bot_access_instructions",
"bot_interaction_types": "bot_interaction_types",
"opt_in_message": "opt_in_message",
"opt_out_keywords": "opt_out_keywords",
"opt_out_message": "opt_out_message",
"revoke_opt_out_keywords": "revoke_opt_out_keywords",
"trigger_action": "trigger_action temp",
"revoke_opt_out_message": "revoke_opt_out_message",
"bot_recog_keywords": "bot_recog_keywords",
"video_url": "https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4",
"screen_image": [
"screen1.png",
"screen2.png"
]
}');
form.append('screenImages', await openAsBlob('/path/to/screenImages'));
const response = await fetch('https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification', {
method: 'POST',
body: form,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);import json
import requests
url = 'https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification'
headers = {}
data = json.loads(r'''{
"data": "{\\n \\"botId\\": \\"6a1d390cf9cbdcd11b02290d\\",\\n \\"is_conversational_supported\\": true,\\n \\"is_opt_out_by_platform\\": true,\\n \\"bot_access_instructions\\": \\"bot_access_instructions\\",\\n \\"bot_interaction_types\\": \\"bot_interaction_types\\",\\n \\"opt_in_message\\": \\"opt_in_message\\",\\n \\"opt_out_keywords\\": \\"opt_out_keywords\\",\\n \\"opt_out_message\\": \\"opt_out_message\\",\\n \\"revoke_opt_out_keywords\\": \\"revoke_opt_out_keywords\\",\\n \\"trigger_action\\": \\"trigger_action temp\\",\\n \\"revoke_opt_out_message\\": \\"revoke_opt_out_message\\",\\n \\"bot_recog_keywords\\": \\"bot_recog_keywords\\",\\n \\"video_url\\": \\"https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4\\",\\n \\"screen_image\\": [\\n \\"screen1.png\\",\\n \\"screen2.png\\"\\n ]\\n}"
}''')
with open('/path/to/screenImages', 'rb') as media:
response = requests.post(url, headers=headers, data=data, files={'screenImages': media})
response.raise_for_status()
print(response.json())import java.io.ByteArrayOutputStream;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
String boundary = "----ApiDocsBoundary" + System.currentTimeMillis();
var body = new ByteArrayOutputStream();
body.write(("--" + boundary + "\r\n").getBytes(StandardCharsets.UTF_8));
body.write("Content-Disposition: form-data; name=\"data\"\r\n\r\n".getBytes(StandardCharsets.UTF_8));
body.write("{
\"botId\": \"6a1d390cf9cbdcd11b02290d\",
\"is_conversational_supported\": true,
\"is_opt_out_by_platform\": true,
\"bot_access_instructions\": \"bot_access_instructions\",
\"bot_interaction_types\": \"bot_interaction_types\",
\"opt_in_message\": \"opt_in_message\",
\"opt_out_keywords\": \"opt_out_keywords\",
\"opt_out_message\": \"opt_out_message\",
\"revoke_opt_out_keywords\": \"revoke_opt_out_keywords\",
\"trigger_action\": \"trigger_action temp\",
\"revoke_opt_out_message\": \"revoke_opt_out_message\",
\"bot_recog_keywords\": \"bot_recog_keywords\",
\"video_url\": \"https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4\",
\"screen_image\": [
\"screen1.png\",
\"screen2.png\"
]
}\r\n".getBytes(StandardCharsets.UTF_8));
body.write(("--" + boundary + "\r\n").getBytes(StandardCharsets.UTF_8));
body.write("Content-Disposition: form-data; name=\"screenImages\"; filename=\"screenImages\"\r\n".getBytes(StandardCharsets.UTF_8));
body.write("Content-Type: application/octet-stream\r\n\r\n".getBytes(StandardCharsets.UTF_8));
body.write(Files.readAllBytes(Path.of("/path/to/screenImages")));
body.write("\r\n".getBytes(StandardCharsets.UTF_8));
body.write(("--" + boundary + "--\r\n").getBytes(StandardCharsets.UTF_8));
var requestBuilder = HttpRequest.newBuilder(URI.create("https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification"))
.header("Content-Type", "multipart/form-data; boundary=" + boundary)
.method("POST", HttpRequest.BodyPublishers.ofByteArray(body.toByteArray()));
var response = HttpClient.newHttpClient().send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());<?php
$curl = curl_init();
$fields = [
'data' => '{
"botId": "6a1d390cf9cbdcd11b02290d",
"is_conversational_supported": true,
"is_opt_out_by_platform": true,
"bot_access_instructions": "bot_access_instructions",
"bot_interaction_types": "bot_interaction_types",
"opt_in_message": "opt_in_message",
"opt_out_keywords": "opt_out_keywords",
"opt_out_message": "opt_out_message",
"revoke_opt_out_keywords": "revoke_opt_out_keywords",
"trigger_action": "trigger_action temp",
"revoke_opt_out_message": "revoke_opt_out_message",
"bot_recog_keywords": "bot_recog_keywords",
"video_url": "https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4",
"screen_image": [
"screen1.png",
"screen2.png"
]
}',
'screenImages' => new CURLFile('/path/to/screenImages'),
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $fields,
]);
$response = curl_exec($curl);
if ($response === false) throw new Exception(curl_error($curl));
curl_close($curl);
echo $response;using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
using var form = new MultipartFormDataContent();
form.Add(new StringContent("{
\"botId\": \"6a1d390cf9cbdcd11b02290d\",
\"is_conversational_supported\": true,
\"is_opt_out_by_platform\": true,
\"bot_access_instructions\": \"bot_access_instructions\",
\"bot_interaction_types\": \"bot_interaction_types\",
\"opt_in_message\": \"opt_in_message\",
\"opt_out_keywords\": \"opt_out_keywords\",
\"opt_out_message\": \"opt_out_message\",
\"revoke_opt_out_keywords\": \"revoke_opt_out_keywords\",
\"trigger_action\": \"trigger_action temp\",
\"revoke_opt_out_message\": \"revoke_opt_out_message\",
\"bot_recog_keywords\": \"bot_recog_keywords\",
\"video_url\": \"https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4\",
\"screen_image\": [
\"screen1.png\",
\"screen2.png\"
]
}"), "data");
form.Add(new StreamContent(File.OpenRead(@"/path/to/screenImages")), "screenImages", "screenImages");
var response = await client.PostAsync("https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification", form);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());package main
import (
"fmt"
"io"
"net/http"
"bytes"
"mime/multipart"
"os"
"path/filepath"
)
func main() {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
if err := writer.WriteField("data", "{\n \"botId\": \"6a1d390cf9cbdcd11b02290d\",\n \"is_conversational_supported\": true,\n \"is_opt_out_by_platform\": true,\n \"bot_access_instructions\": \"bot_access_instructions\",\n \"bot_interaction_types\": \"bot_interaction_types\",\n \"opt_in_message\": \"opt_in_message\",\n \"opt_out_keywords\": \"opt_out_keywords\",\n \"opt_out_message\": \"opt_out_message\",\n \"revoke_opt_out_keywords\": \"revoke_opt_out_keywords\",\n \"trigger_action\": \"trigger_action temp\",\n \"revoke_opt_out_message\": \"revoke_opt_out_message\",\n \"bot_recog_keywords\": \"bot_recog_keywords\",\n \"video_url\": \"https://file-examples.com/storage/fe1a98702d6a1d25f9af8f4/2017/04/file_example_MP4_480_1_5MG.mp4\",\n \"screen_image\": [\n \"screen1.png\",\n \"screen2.png\"\n ]\n}"); err != nil { panic(err) }
file, err := os.Open("/path/to/screenImages")
if err != nil { panic(err) }
defer file.Close()
part, err := writer.CreateFormFile("screenImages", filepath.Base(file.Name()))
if err != nil { panic(err) }
if _, err = io.Copy(part, file); err != nil { panic(err) }
if err := writer.Close(); err != nil { panic(err) }
request, err := http.NewRequest("POST", "https://api.example.com/rcs/api/v1/bot/submit_bot_for_verification", &body)
if err != nil { panic(err) }
request.Header.Set("Content-Type", writer.FormDataContentType())
request.Header.Set("Accept", "application/json")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
data, err := io.ReadAll(response.Body)
if err != nil { panic(err) }
if response.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", response.StatusCode, data)) }
fmt.Println(string(data))
}downloadOutput
Response
A successful request returns the documented response payload. Delivery and asynchronous events may arrive separately through configured webhooks.
{}{}ruleHTTP Responses
Status Codes
200Successful response