Analyze up to 50 items in a single request
curl --request POST \
--url https://api.tuteliq.ai/api/v1/batch/analyze \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"id": "<string>",
"data": {}
}
],
"parallel": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({items: [{id: '<string>', data: {}}], parallel: true})
};
fetch('https://api.tuteliq.ai/api/v1/batch/analyze', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tuteliq.ai/api/v1/batch/analyze"
payload = {
"items": [
{
"id": "<string>",
"data": {}
}
],
"parallel": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"items\": [\n {\n \"id\": \"<string>\",\n \"data\": {}\n }\n ],\n \"parallel\": true\n}")
val request = Request.Builder()
.url("https://api.tuteliq.ai/api/v1/batch/analyze")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"items": [
[
"id": "<string>",
"data": []
]
],
"parallel": true
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.tuteliq.ai/api/v1/batch/analyze")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.tuteliq.ai/api/v1/batch/analyze");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"items\": [\n {\n \"id\": \"<string>\",\n \"data\": {}\n }\n ],\n \"parallel\": true\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
false{
"results": [
{
"id": "<string>",
"type": "<string>",
"success": true,
"result": {},
"error": "<string>",
"credits_used": 123
}
],
"summary": {
"total": 123,
"successful": 123,
"failed": 123,
"processingTimeMs": 123,
"total_credits_used": 123
}
}Analyze up to 50 items in a single request
Submit multiple analysis tasks in one API call with optional parallel processing. Each item specifies its type (bullying, grooming, unsafe, or emotions) and data. Returns individual results for each item plus a summary with total/successful/failed counts and processing time. Ideal for content moderation backlogs, message queue processing, and bulk imports.
POST
/
api
/
v1
/
batch
/
analyze
Analyze up to 50 items in a single request
curl --request POST \
--url https://api.tuteliq.ai/api/v1/batch/analyze \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"id": "<string>",
"data": {}
}
],
"parallel": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({items: [{id: '<string>', data: {}}], parallel: true})
};
fetch('https://api.tuteliq.ai/api/v1/batch/analyze', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tuteliq.ai/api/v1/batch/analyze"
payload = {
"items": [
{
"id": "<string>",
"data": {}
}
],
"parallel": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"items\": [\n {\n \"id\": \"<string>\",\n \"data\": {}\n }\n ],\n \"parallel\": true\n}")
val request = Request.Builder()
.url("https://api.tuteliq.ai/api/v1/batch/analyze")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"items": [
[
"id": "<string>",
"data": []
]
],
"parallel": true
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.tuteliq.ai/api/v1/batch/analyze")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.tuteliq.ai/api/v1/batch/analyze");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"items\": [\n {\n \"id\": \"<string>\",\n \"data\": {}\n }\n ],\n \"parallel\": true\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
false{
"results": [
{
"id": "<string>",
"type": "<string>",
"success": true,
"result": {},
"error": "<string>",
"credits_used": 123
}
],
"summary": {
"total": 123,
"successful": 123,
"failed": 123,
"processingTimeMs": 123,
"total_credits_used": 123
}
}Authorizations
bearerAuthapiKeyHeader
API key as Bearer token
Body
application/json
⌘I