AIVAX
AI model inference, document indexing and search.
Helpful links:
- API endpoint: https://inference.aivax.net/
- Reference for agents: https://inference.aivax.net/apidocs/llms.txt
- Documentation/guides: https://docs.aivax.net/
- Terms of service: https://docs.aivax.net/docs/en/legal/terms-of-service
- Privacy Policy: https://docs.aivax.net/docs/en/legal/privacy-policy
Service version: 1
Inference
Get/v1/modelsModel listing
Model listing
Lists the available AI models and AI gateways for the authenticated account.
GET /v1/modelsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Successful response containing the list of AI models.
{ "object": "list", "data": [ { "id": "0198683a-2b6d-7066-9598-6ea119c219f2", "object": "model", "created": 1, "owned_by": "example_account" }, { "id": "b2c4f1d2-3e4f-5a6b-7c8d-9e0f1a2b3c4d", "object": "model", "created": 1, "owned_by": "example_account" } ] }
Post/v1/chat/completionsInference (chat completions)
Inference (chat completions)
Creates a chat completion response using the specified AI model.
POST /v1/chat/completionsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - Sse-Stream-Options
Optional. Send with the value 'no-ping' to disable periodic pings from the SSE.
Request examples:
Request body.
{ "model": "0198683a-2b6d-7066-9598-6ea119c219f2", "messages": [ { "role": "user", "content": "Qual a capital da França?" } ], "stream": false, "metadata": { "foo": "bar" } }
Responses:
- 200
Successful response containing the chat completion.
{ "id": "0198d24c-c9ce-70fe-9cf3-00644ef5f2e2", "object": "chat.completion", "created": 1755874904, "model": "@openai/gpt-5-mini", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A capital da França é Paris.", "refusal": null, "annotations": [], "tool_calls": [] }, "logprobs": null, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 84, "completion_tokens": 16, "total_tokens": 1892, "prompt_tokens_details": { "cached_tokens": 1792 } }, "service_tier": "default", "generation_context": { "generated_usage": [ { "sku": "inference.resolving.routing_complexity.in", "amount": 0.0000207, "unit_price": 7.5e-8, "quantity": 276, "description": "Inference for model routing" }, { "sku": "inference.resolving.routing_complexity.out", "amount": 3e-7, "unit_price": 3e-7, "quantity": 1, "description": "Inference for model routing" }, { "sku": "inference.chat_completions.in", "amount": 0.000021, "unit_price": 2.5e-7, "quantity": 84, "description": "Inference for AI model '@openai/gpt-5-mini'" }, { "sku": "inference.chat_completions.out", "amount": 0.000032, "unit_price": 0.000002, "quantity": 16, "description": "Inference for AI model '@openai/gpt-5-mini'" }, { "sku": "inference.chat_completions.in.cached", "amount": 0.0000448, "unit_price": 2.5e-8, "quantity": 1792, "description": "Inference for AI model '@openai/gpt-5-mini'" } ], "runned_functions": [] } }
Hook Schedules
Get/api/v1/web-chat-clients/<web-chat-id>/hook-schedulesList Hook Schedules
List Hook Schedules
Lists hook activation schedules and recurring tasks for a web chat client. Optionally filter by external user ID.
GET /api/v1/web-chat-clients/<web-chat-id>/hook-schedulesHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- web-chat-iduuid
The ID of the web chat client.
Query parameters:
- external-user-idstring
Optional. Filter results by external user identifier.
Responses:
- 200
Returns schedules and recurring tasks.
{ "webChat": { "id": "...", "name": "My Web Chat" }, "inactiveUsers": [ { "externalUserId": "user-456", "lastScheduledMessageAt": "2026-03-20T15:00:00Z", "lastUserMessageAt": "2026-03-18T09:30:00Z" } ], "schedules": [ { "id": "...", "externalUserId": "user-123", "target": "Telegram", "targetIdentifier": "+5511999999999", "scheduledTime": "2026-03-21T15:00:00Z", "activatedAt": null, "createdAt": "2026-03-20T10:00:00Z" } ], "recurringTasks": [ { "id": "...", "externalUserId": "user-123", "target": "WhatsApp_ZApi", "targetIdentifier": "+5511988888888", "cronExpression": "0 9 * * 1", "nextActivation": "2026-03-23T09:00:00Z", "lastActivation": null, "executionCount": 0, "createdAt": "2026-03-20T10:00:00Z" } ] }
Get/api/v1/web-chat-clients/<web-chat-id>/hook-schedules/schedules/<id>Get Schedule
Get Schedule
Returns full details of a specific hook activation schedule.
GET /api/v1/web-chat-clients/<web-chat-id>/hook-schedules/schedules/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- web-chat-iduuid
The ID of the web chat client.
- iduuid
The unique identifier of the schedule.
Responses:
- 200
Schedule details.
{ "id": "...", "externalUserId": "user-123", "target": "Telegram", "targetIdentifier": "+5511999999999", "scheduledTime": "2026-03-21T15:00:00Z", "reason": "Follow-up reminder", "context": "{ \"orderId\": 42 }", "createdAt": "2026-03-20T10:00:00Z", "activatedAt": null, "activatedSessionId": null, "activationResult": null } - 404
Schedule not found.
Delete/api/v1/web-chat-clients/<web-chat-id>/hook-schedules/schedules/<id>Cancel Schedule
Cancel Schedule
Cancels and removes a pending hook activation schedule.
DELETE /api/v1/web-chat-clients/<web-chat-id>/hook-schedules/schedules/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- web-chat-iduuid
The ID of the web chat client.
- iduuid
The unique identifier of the schedule to cancel.
Responses:
- 200
Schedule cancelled.
- 404
Schedule not found.
Get/api/v1/web-chat-clients/<web-chat-id>/hook-schedules/recurring/<id>Get Recurring Task
Get Recurring Task
Returns full details of a specific hook activation recurring task.
GET /api/v1/web-chat-clients/<web-chat-id>/hook-schedules/recurring/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- web-chat-iduuid
The ID of the web chat client.
- iduuid
The unique identifier of the recurring task.
Responses:
- 200
Recurring task details.
{ "id": "...", "externalUserId": "user-123", "target": "WhatsApp_ZApi", "targetIdentifier": "+5511988888888", "jobDescription": "Weekly check-in message", "cronExpression": "0 9 * * 1", "lastActivation": null, "nextActivation": "2026-03-23T09:00:00Z", "maxExecutions": 10, "executionCount": 2, "createdAt": "2026-03-20T10:00:00Z" } - 404
Recurring task not found.
Delete/api/v1/web-chat-clients/<web-chat-id>/hook-schedules/recurring/<id>Cancel Recurring Task
Cancel Recurring Task
Cancels and removes a hook activation recurring task.
DELETE /api/v1/web-chat-clients/<web-chat-id>/hook-schedules/recurring/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- web-chat-iduuid
The ID of the web chat client.
- iduuid
The unique identifier of the recurring task to cancel.
Responses:
- 200
Recurring task cancelled.
- 404
Recurring task not found.
Web Chat
Get/api/v1/web-chat-clientList Web Chat Clients
List Web Chat Clients
Lists all web chat clients for the authenticated account
GET /api/v1/web-chat-clientHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // The unique identifier of the web chat client. "id": "uuid", // The name of the web chat client. "name": string, // Nullable. The primary color associated with the client. "color": string?, // The number of active sessions. "activeSessions": number, // Nullable. Information about the associated AI Gateway. "associatedGateway": { // The unique identifier of the gateway. "id": "uuid", // The name of the gateway. "name": string, // The model name used by the gateway. "modelName": string }? }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the web chat client." }, "name": { "type": "string", "description": "The name of the web chat client." }, "color": { "type": [ "string", "null" ], "description": "The primary color associated with the client." }, "activeSessions": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The number of active sessions." }, "associatedGateway": { "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the gateway." }, "name": { "type": "string", "description": "The name of the gateway." }, "modelName": { "type": "string", "description": "The model name used by the gateway." } }, "description": "Information about the associated AI Gateway.", "type": [ "object", "null" ] } }, "description": "Represents a summary item for a web chat client in a listing." } }
Post/api/v1/web-chat-clientCreate Web Chat Client
Create Web Chat Client
Creates a new web chat client
POST /api/v1/web-chat-clientHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Web chat client creation data
{ // The name of the web chat client. "name": string, // Nullable. The ID of the associated AI Gateway. "aiGatewayId": "uuid"?, // Parameters for rate limiting and usage control. "limitingParameters": { // Gets or sets the maximum number of messages that can be sent per hour. "messagesPerHour": number, // Gets or sets the maximum number of messages that can be stored in the context. "maxMessages": number }, // Parameters for client configuration. "clientParameters": { // Nullable. Gets or sets the language used by the web chat UI. "languageCode": string?, // Gets or sets an array of objects that represent the suggestion buttons for the web chat client. "suggestionButtons": [ { // Required. Gets or sets the text displayed on the button. "label": string, // Required. Gets or sets the message sent when the button is clicked. "prompt": string }, ... ], // Nullable. Gets or sets the custom scripts for the web chat client. "customScripts": string?, // Nullable. Gets or sets the custom styles for the web chat client. "customStyles": string?, // Gets or sets the input modes for the web chat client, such as image, document, or audio input. "inputModes": [ "Image", ... ], // Required. Gets or sets the primary color for the web chat client. "primaryColor": string, // Required. Gets or sets the title of the web chat client page. "pageTitle": string, // Nullable. Gets or sets the label for the greeting message in the web chat client. "helloLabel": string?, // Nullable. Gets or sets the sub-label for the greeting message in the web chat client. "helloSubLabel": string?, // Nullable. Gets or sets the placeholder text for the text area in the web chat client. "textAreaPlaceholder": string?, // Nullable. Gets or sets the logo image for the web chat client. "logoImageUrl": string?, // Gets or sets whether the client should display relevant information about the web chat client in the web console. "debug": boolean, // Gets or sets whether the client should display the calls to tools in the web console. "showToolCalls": boolean, // Gets or sets which HTTP origins should be allowed to use the chat client as an iframe. "allowedFrameOrigins": [ string, ... ], // Gets or sets the source for audio synthesis. "audioSynthesisSource": "None", // Nullable. Gets or sets the voice to be used for audio synthesis. "audioSynthesisVoice": string?, // Nullable. Gets or sets the instruction for audio synthesis. "audioSynthesisInstruction": string?, // Gets or sets whether the input text should be summarized before audio synthesis. "summarizeTextBeforeAudioSynthesis": boolean, // Gets or sets whether the client should allow uploading files with unsupported formats. "uploadUnsupportedFiles": boolean, // Gets a value indicating whether scheduled continuations are allowed. "allowScheduledContinuations": boolean, // Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed. "splitAnswerIntoMessageChunks": boolean, // Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message. "maxScheduledIgnoredZone": any, // Gets the interval used to debounce message processing operations. "messageDebounceInterval": any } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The name of the web chat client." }, "aiGatewayId": { "format": "uuid", "description": "The ID of the associated AI Gateway.", "type": [ "string", "null" ] }, "limitingParameters": { "type": "object", "properties": { "messagesPerHour": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be sent per hour." }, "maxMessages": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be stored in the context." } }, "description": "Parameters for rate limiting and usage control." }, "clientParameters": { "type": "object", "properties": { "languageCode": { "type": [ "string", "null" ], "description": "Gets or sets the language used by the web chat UI." }, "suggestionButtons": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1, "description": "Gets or sets the text displayed on the button." }, "prompt": { "type": "string", "minLength": 1, "description": "Gets or sets the message sent when the button is clicked." } }, "required": [ "label", "prompt" ], "description": "Represents a quick-reply button displayed in the web-chat interface." }, "description": "Gets or sets an array of objects that represent the suggestion buttons for the web chat client." }, "customScripts": { "type": [ "string", "null" ], "description": "Gets or sets the custom scripts for the web chat client." }, "customStyles": { "type": [ "string", "null" ], "description": "Gets or sets the custom styles for the web chat client." }, "inputModes": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Document", "Audio" ] }, "description": "Gets or sets the input modes for the web chat client, such as image, document, or audio input." }, "primaryColor": { "type": "string", "minLength": 1, "description": "Gets or sets the primary color for the web chat client." }, "pageTitle": { "type": "string", "minLength": 1, "description": "Gets or sets the title of the web chat client page." }, "helloLabel": { "type": [ "string", "null" ], "description": "Gets or sets the label for the greeting message in the web chat client." }, "helloSubLabel": { "type": [ "string", "null" ], "description": "Gets or sets the sub-label for the greeting message in the web chat client." }, "textAreaPlaceholder": { "type": [ "string", "null" ], "description": "Gets or sets the placeholder text for the text area in the web chat client." }, "logoImageUrl": { "type": [ "string", "null" ], "description": "Gets or sets the logo image for the web chat client." }, "debug": { "type": "boolean", "description": "Gets or sets whether the client should display relevant information about the web chat client in the web console." }, "showToolCalls": { "type": "boolean", "description": "Gets or sets whether the client should display the calls to tools in the web console." }, "allowedFrameOrigins": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets which HTTP origins should be allowed to use the chat client as an iframe." }, "audioSynthesisSource": { "type": "string", "enum": [ "None", "Gpt4oTts", "ElevenMultilingualV2", "ElevenV3" ], "description": "Gets or sets the source for audio synthesis." }, "audioSynthesisVoice": { "type": [ "string", "null" ], "description": "Gets or sets the voice to be used for audio synthesis." }, "audioSynthesisInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the instruction for audio synthesis." }, "summarizeTextBeforeAudioSynthesis": { "type": "boolean", "description": "Gets or sets whether the input text should be summarized before audio synthesis." }, "uploadUnsupportedFiles": { "type": "boolean", "description": "Gets or sets whether the client should allow uploading files with unsupported formats." }, "allowScheduledContinuations": { "type": "boolean", "description": "Gets a value indicating whether scheduled continuations are allowed." }, "splitAnswerIntoMessageChunks": { "type": "boolean", "description": "Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed." }, "maxScheduledIgnoredZone": { "description": "Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message." }, "messageDebounceInterval": { "description": "Gets the interval used to debounce message processing operations." } }, "required": [ "primaryColor", "pageTitle" ], "description": "Parameters for client configuration." } }, "description": "Represents a request to create a new web chat client." }
Responses:
- 200
{ // The unique identifier of the created web chat client. "id": "uuid" }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the created web chat client." } }, "description": "Represents the response after creating a web chat client." }
Get/api/v1/web-chat-client/<id>View Web Chat Client
View Web Chat Client
Gets details of a specific web chat client
GET /api/v1/web-chat-client/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The ID of the web chat client
Responses:
- 200
{ // The name of the web chat client. "name": string, // Nullable. Information about the associated AI Gateway. "aiGateway": { // The unique identifier of the gateway. "id": "uuid", // The name of the gateway. "name": string }?, // Parameters for rate limiting and usage control. "limitingParameters": { // Gets or sets the maximum number of messages that can be sent per hour. "messagesPerHour": number, // Gets or sets the maximum number of messages that can be stored in the context. "maxMessages": number }, // Parameters for client configuration. "clientParameters": { // Nullable. Gets or sets the language used by the web chat UI. "languageCode": string?, // Gets or sets an array of objects that represent the suggestion buttons for the web chat client. "suggestionButtons": [ { // Required. Gets or sets the text displayed on the button. "label": string, // Required. Gets or sets the message sent when the button is clicked. "prompt": string }, ... ], // Nullable. Gets or sets the custom scripts for the web chat client. "customScripts": string?, // Nullable. Gets or sets the custom styles for the web chat client. "customStyles": string?, // Gets or sets the input modes for the web chat client, such as image, document, or audio input. "inputModes": [ "Image", ... ], // Required. Gets or sets the primary color for the web chat client. "primaryColor": string, // Required. Gets or sets the title of the web chat client page. "pageTitle": string, // Nullable. Gets or sets the label for the greeting message in the web chat client. "helloLabel": string?, // Nullable. Gets or sets the sub-label for the greeting message in the web chat client. "helloSubLabel": string?, // Nullable. Gets or sets the placeholder text for the text area in the web chat client. "textAreaPlaceholder": string?, // Nullable. Gets or sets the logo image for the web chat client. "logoImageUrl": string?, // Gets or sets whether the client should display relevant information about the web chat client in the web console. "debug": boolean, // Gets or sets whether the client should display the calls to tools in the web console. "showToolCalls": boolean, // Gets or sets which HTTP origins should be allowed to use the chat client as an iframe. "allowedFrameOrigins": [ string, ... ], // Gets or sets the source for audio synthesis. "audioSynthesisSource": "None", // Nullable. Gets or sets the voice to be used for audio synthesis. "audioSynthesisVoice": string?, // Nullable. Gets or sets the instruction for audio synthesis. "audioSynthesisInstruction": string?, // Gets or sets whether the input text should be summarized before audio synthesis. "summarizeTextBeforeAudioSynthesis": boolean, // Gets or sets whether the client should allow uploading files with unsupported formats. "uploadUnsupportedFiles": boolean, // Gets a value indicating whether scheduled continuations are allowed. "allowScheduledContinuations": boolean, // Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed. "splitAnswerIntoMessageChunks": boolean, // Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message. "maxScheduledIgnoredZone": any, // Gets the interval used to debounce message processing operations. "messageDebounceInterval": any }, // Integration details. "integrations": { // Nullable. Parameters for Z-API integration. "zapiIntegration": { // Required. Gets or sets the unique identifier of the ZApi instance. "instanceId": string, // Required. Gets or sets the token used to authenticate the ZApi instance. "instanceToken": string, // Nullable. Gets or sets an optional client-specific token. "clientToken": string?, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Telegram integration. "telegramIntegration": { // Required. Gets or sets the Telegram bot token. "botToken": string, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Evolution integration. "evolutionIntegration": { // Required. Gets or sets the endpoint URL for the Evolution API. "endpointUrl": string, // Required. Gets or sets the name of the Evolution API instance to connect to. "instanceName": string, // Required. Gets or sets the API key used to authenticate with the Evolution API. "apiKey": string, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Kapso WhatsApp integration. "kapsoIntegration": { // Required. Gets or sets the Kapso project API key used for authentication. "apiKey": string, // Required. Gets or sets the WhatsApp Business Phone Number ID registered in Kapso. "phoneNumberId": string, // Nullable. Gets or sets the secret key used to verify webhook signatures. "webhookSecretKey": string?, // Nullable. Gets or sets the WhatsApp template name used for scheduled continuation messages. When set, scheduled messages are sent as a template with the text in the {{text}} parameter. "continuedMessagesTemplateId": string?, // Gets or sets the duration of a session before it expires. "sessionDuration": any }? } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The name of the web chat client." }, "aiGateway": { "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the gateway." }, "name": { "type": "string", "description": "The name of the gateway." } }, "description": "Information about the associated AI Gateway.", "type": [ "object", "null" ] }, "limitingParameters": { "type": "object", "properties": { "messagesPerHour": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be sent per hour." }, "maxMessages": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be stored in the context." } }, "description": "Parameters for rate limiting and usage control." }, "clientParameters": { "type": "object", "properties": { "languageCode": { "type": [ "string", "null" ], "description": "Gets or sets the language used by the web chat UI." }, "suggestionButtons": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1, "description": "Gets or sets the text displayed on the button." }, "prompt": { "type": "string", "minLength": 1, "description": "Gets or sets the message sent when the button is clicked." } }, "required": [ "label", "prompt" ], "description": "Represents a quick-reply button displayed in the web-chat interface." }, "description": "Gets or sets an array of objects that represent the suggestion buttons for the web chat client." }, "customScripts": { "type": [ "string", "null" ], "description": "Gets or sets the custom scripts for the web chat client." }, "customStyles": { "type": [ "string", "null" ], "description": "Gets or sets the custom styles for the web chat client." }, "inputModes": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Document", "Audio" ] }, "description": "Gets or sets the input modes for the web chat client, such as image, document, or audio input." }, "primaryColor": { "type": "string", "minLength": 1, "description": "Gets or sets the primary color for the web chat client." }, "pageTitle": { "type": "string", "minLength": 1, "description": "Gets or sets the title of the web chat client page." }, "helloLabel": { "type": [ "string", "null" ], "description": "Gets or sets the label for the greeting message in the web chat client." }, "helloSubLabel": { "type": [ "string", "null" ], "description": "Gets or sets the sub-label for the greeting message in the web chat client." }, "textAreaPlaceholder": { "type": [ "string", "null" ], "description": "Gets or sets the placeholder text for the text area in the web chat client." }, "logoImageUrl": { "type": [ "string", "null" ], "description": "Gets or sets the logo image for the web chat client." }, "debug": { "type": "boolean", "description": "Gets or sets whether the client should display relevant information about the web chat client in the web console." }, "showToolCalls": { "type": "boolean", "description": "Gets or sets whether the client should display the calls to tools in the web console." }, "allowedFrameOrigins": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets which HTTP origins should be allowed to use the chat client as an iframe." }, "audioSynthesisSource": { "type": "string", "enum": [ "None", "Gpt4oTts", "ElevenMultilingualV2", "ElevenV3" ], "description": "Gets or sets the source for audio synthesis." }, "audioSynthesisVoice": { "type": [ "string", "null" ], "description": "Gets or sets the voice to be used for audio synthesis." }, "audioSynthesisInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the instruction for audio synthesis." }, "summarizeTextBeforeAudioSynthesis": { "type": "boolean", "description": "Gets or sets whether the input text should be summarized before audio synthesis." }, "uploadUnsupportedFiles": { "type": "boolean", "description": "Gets or sets whether the client should allow uploading files with unsupported formats." }, "allowScheduledContinuations": { "type": "boolean", "description": "Gets a value indicating whether scheduled continuations are allowed." }, "splitAnswerIntoMessageChunks": { "type": "boolean", "description": "Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed." }, "maxScheduledIgnoredZone": { "description": "Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message." }, "messageDebounceInterval": { "description": "Gets the interval used to debounce message processing operations." } }, "required": [ "primaryColor", "pageTitle" ], "description": "Parameters for client configuration." }, "integrations": { "type": "object", "properties": { "zapiIntegration": { "properties": { "instanceId": { "type": "string", "minLength": 1, "description": "Gets or sets the unique identifier of the ZApi instance." }, "instanceToken": { "type": "string", "minLength": 1, "description": "Gets or sets the token used to authenticate the ZApi instance." }, "clientToken": { "type": [ "string", "null" ], "description": "Gets or sets an optional client-specific token." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "instanceId", "instanceToken" ], "description": "Parameters for Z-API integration.", "type": [ "object", "null" ] }, "telegramIntegration": { "properties": { "botToken": { "type": "string", "minLength": 1, "description": "Gets or sets the Telegram bot token." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "botToken" ], "description": "Parameters for Telegram integration.", "type": [ "object", "null" ] }, "evolutionIntegration": { "properties": { "endpointUrl": { "type": "string", "description": "Gets or sets the endpoint URL for the Evolution API." }, "instanceName": { "type": "string", "description": "Gets or sets the name of the Evolution API instance to connect to." }, "apiKey": { "type": "string", "description": "Gets or sets the API key used to authenticate with the Evolution API." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "endpointUrl", "instanceName", "apiKey" ], "description": "Parameters for Evolution integration.", "type": [ "object", "null" ] }, "kapsoIntegration": { "properties": { "apiKey": { "type": "string", "minLength": 1, "description": "Gets or sets the Kapso project API key used for authentication." }, "phoneNumberId": { "type": "string", "minLength": 1, "description": "Gets or sets the WhatsApp Business Phone Number ID registered in Kapso." }, "webhookSecretKey": { "type": [ "string", "null" ], "description": "Gets or sets the secret key used to verify webhook signatures." }, "continuedMessagesTemplateId": { "type": [ "string", "null" ], "description": "Gets or sets the WhatsApp template name used for scheduled continuation messages. When set, scheduled messages are sent as a template with the text in the {{text}} parameter." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "apiKey", "phoneNumberId" ], "description": "Parameters for Kapso WhatsApp integration.", "type": [ "object", "null" ] } }, "description": "Integration details." } }, "description": "Represents detailed information about a web chat client." }
Put/api/v1/web-chat-client/<id>Edit Web Chat Client
Edit Web Chat Client
Updates an existing web chat client
PUT /api/v1/web-chat-client/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The ID of the web chat client
Request examples:
Web chat client update data
{ // The name of the web chat client. "name": string, // Nullable. The ID of the associated AI Gateway. "aiGatewayId": "uuid"?, // Parameters for rate limiting and usage control. "limitingParameters": { // Gets or sets the maximum number of messages that can be sent per hour. "messagesPerHour": number, // Gets or sets the maximum number of messages that can be stored in the context. "maxMessages": number }, // Parameters for client configuration. "clientParameters": { // Nullable. Gets or sets the language used by the web chat UI. "languageCode": string?, // Gets or sets an array of objects that represent the suggestion buttons for the web chat client. "suggestionButtons": [ { // Required. Gets or sets the text displayed on the button. "label": string, // Required. Gets or sets the message sent when the button is clicked. "prompt": string }, ... ], // Nullable. Gets or sets the custom scripts for the web chat client. "customScripts": string?, // Nullable. Gets or sets the custom styles for the web chat client. "customStyles": string?, // Gets or sets the input modes for the web chat client, such as image, document, or audio input. "inputModes": [ "Image", ... ], // Required. Gets or sets the primary color for the web chat client. "primaryColor": string, // Required. Gets or sets the title of the web chat client page. "pageTitle": string, // Nullable. Gets or sets the label for the greeting message in the web chat client. "helloLabel": string?, // Nullable. Gets or sets the sub-label for the greeting message in the web chat client. "helloSubLabel": string?, // Nullable. Gets or sets the placeholder text for the text area in the web chat client. "textAreaPlaceholder": string?, // Nullable. Gets or sets the logo image for the web chat client. "logoImageUrl": string?, // Gets or sets whether the client should display relevant information about the web chat client in the web console. "debug": boolean, // Gets or sets whether the client should display the calls to tools in the web console. "showToolCalls": boolean, // Gets or sets which HTTP origins should be allowed to use the chat client as an iframe. "allowedFrameOrigins": [ string, ... ], // Gets or sets the source for audio synthesis. "audioSynthesisSource": "None", // Nullable. Gets or sets the voice to be used for audio synthesis. "audioSynthesisVoice": string?, // Nullable. Gets or sets the instruction for audio synthesis. "audioSynthesisInstruction": string?, // Gets or sets whether the input text should be summarized before audio synthesis. "summarizeTextBeforeAudioSynthesis": boolean, // Gets or sets whether the client should allow uploading files with unsupported formats. "uploadUnsupportedFiles": boolean, // Gets a value indicating whether scheduled continuations are allowed. "allowScheduledContinuations": boolean, // Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed. "splitAnswerIntoMessageChunks": boolean, // Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message. "maxScheduledIgnoredZone": any, // Gets the interval used to debounce message processing operations. "messageDebounceInterval": any } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The name of the web chat client." }, "aiGatewayId": { "format": "uuid", "description": "The ID of the associated AI Gateway.", "type": [ "string", "null" ] }, "limitingParameters": { "type": "object", "properties": { "messagesPerHour": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be sent per hour." }, "maxMessages": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of messages that can be stored in the context." } }, "description": "Parameters for rate limiting and usage control." }, "clientParameters": { "type": "object", "properties": { "languageCode": { "type": [ "string", "null" ], "description": "Gets or sets the language used by the web chat UI." }, "suggestionButtons": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1, "description": "Gets or sets the text displayed on the button." }, "prompt": { "type": "string", "minLength": 1, "description": "Gets or sets the message sent when the button is clicked." } }, "required": [ "label", "prompt" ], "description": "Represents a quick-reply button displayed in the web-chat interface." }, "description": "Gets or sets an array of objects that represent the suggestion buttons for the web chat client." }, "customScripts": { "type": [ "string", "null" ], "description": "Gets or sets the custom scripts for the web chat client." }, "customStyles": { "type": [ "string", "null" ], "description": "Gets or sets the custom styles for the web chat client." }, "inputModes": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Document", "Audio" ] }, "description": "Gets or sets the input modes for the web chat client, such as image, document, or audio input." }, "primaryColor": { "type": "string", "minLength": 1, "description": "Gets or sets the primary color for the web chat client." }, "pageTitle": { "type": "string", "minLength": 1, "description": "Gets or sets the title of the web chat client page." }, "helloLabel": { "type": [ "string", "null" ], "description": "Gets or sets the label for the greeting message in the web chat client." }, "helloSubLabel": { "type": [ "string", "null" ], "description": "Gets or sets the sub-label for the greeting message in the web chat client." }, "textAreaPlaceholder": { "type": [ "string", "null" ], "description": "Gets or sets the placeholder text for the text area in the web chat client." }, "logoImageUrl": { "type": [ "string", "null" ], "description": "Gets or sets the logo image for the web chat client." }, "debug": { "type": "boolean", "description": "Gets or sets whether the client should display relevant information about the web chat client in the web console." }, "showToolCalls": { "type": "boolean", "description": "Gets or sets whether the client should display the calls to tools in the web console." }, "allowedFrameOrigins": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets which HTTP origins should be allowed to use the chat client as an iframe." }, "audioSynthesisSource": { "type": "string", "enum": [ "None", "Gpt4oTts", "ElevenMultilingualV2", "ElevenV3" ], "description": "Gets or sets the source for audio synthesis." }, "audioSynthesisVoice": { "type": [ "string", "null" ], "description": "Gets or sets the voice to be used for audio synthesis." }, "audioSynthesisInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the instruction for audio synthesis." }, "summarizeTextBeforeAudioSynthesis": { "type": "boolean", "description": "Gets or sets whether the input text should be summarized before audio synthesis." }, "uploadUnsupportedFiles": { "type": "boolean", "description": "Gets or sets whether the client should allow uploading files with unsupported formats." }, "allowScheduledContinuations": { "type": "boolean", "description": "Gets a value indicating whether scheduled continuations are allowed." }, "splitAnswerIntoMessageChunks": { "type": "boolean", "description": "Gets a value indicating whether the answer should be split into message chunks when scheduled continuations are allowed." }, "maxScheduledIgnoredZone": { "description": "Gets the maximum time span for which scheduled continuations should be ignored if the user sends a new message." }, "messageDebounceInterval": { "description": "Gets the interval used to debounce message processing operations." } }, "required": [ "primaryColor", "pageTitle" ], "description": "Parameters for client configuration." } }, "description": "Represents a request to create a new web chat client." }
Responses:
- 200
Web client updated successfully
Delete/api/v1/web-chat-client/<id>Delete Web Chat Client
Delete Web Chat Client
Deletes a web chat client
DELETE /api/v1/web-chat-client/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The ID of the web chat client
Responses:
- 200
Web client deleted successfully
Put/api/v1/web-chat-client/<id>/integrationsEdit Web Chat Client Integrations
Edit Web Chat Client Integrations
Updates integrations for a web chat client
PUT /api/v1/web-chat-client/<id>/integrationsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The ID of the web chat client
Request examples:
Integration update data
{ // The type of integration to update (e.g., Zapi, Telegram). "integrationType": "Zapi", // The integration details. "integrations": { // Nullable. Parameters for Z-API integration. "zapiIntegration": { // Required. Gets or sets the unique identifier of the ZApi instance. "instanceId": string, // Required. Gets or sets the token used to authenticate the ZApi instance. "instanceToken": string, // Nullable. Gets or sets an optional client-specific token. "clientToken": string?, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Telegram integration. "telegramIntegration": { // Required. Gets or sets the Telegram bot token. "botToken": string, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Evolution integration. "evolutionIntegration": { // Required. Gets or sets the endpoint URL for the Evolution API. "endpointUrl": string, // Required. Gets or sets the name of the Evolution API instance to connect to. "instanceName": string, // Required. Gets or sets the API key used to authenticate with the Evolution API. "apiKey": string, // Gets or sets the duration of a session before it expires. "sessionDuration": any }?, // Nullable. Parameters for Kapso WhatsApp integration. "kapsoIntegration": { // Required. Gets or sets the Kapso project API key used for authentication. "apiKey": string, // Required. Gets or sets the WhatsApp Business Phone Number ID registered in Kapso. "phoneNumberId": string, // Nullable. Gets or sets the secret key used to verify webhook signatures. "webhookSecretKey": string?, // Nullable. Gets or sets the WhatsApp template name used for scheduled continuation messages. When set, scheduled messages are sent as a template with the text in the {{text}} parameter. "continuedMessagesTemplateId": string?, // Gets or sets the duration of a session before it expires. "sessionDuration": any }? } }{ "type": "object", "properties": { "integrationType": { "type": "string", "enum": [ "Zapi", "Telegram", "EvolutionApi", "Kapso" ], "description": "The type of integration to update (e.g., Zapi, Telegram)." }, "integrations": { "type": "object", "properties": { "zapiIntegration": { "properties": { "instanceId": { "type": "string", "minLength": 1, "description": "Gets or sets the unique identifier of the ZApi instance." }, "instanceToken": { "type": "string", "minLength": 1, "description": "Gets or sets the token used to authenticate the ZApi instance." }, "clientToken": { "type": [ "string", "null" ], "description": "Gets or sets an optional client-specific token." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "instanceId", "instanceToken" ], "description": "Parameters for Z-API integration.", "type": [ "object", "null" ] }, "telegramIntegration": { "properties": { "botToken": { "type": "string", "minLength": 1, "description": "Gets or sets the Telegram bot token." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "botToken" ], "description": "Parameters for Telegram integration.", "type": [ "object", "null" ] }, "evolutionIntegration": { "properties": { "endpointUrl": { "type": "string", "description": "Gets or sets the endpoint URL for the Evolution API." }, "instanceName": { "type": "string", "description": "Gets or sets the name of the Evolution API instance to connect to." }, "apiKey": { "type": "string", "description": "Gets or sets the API key used to authenticate with the Evolution API." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "endpointUrl", "instanceName", "apiKey" ], "description": "Parameters for Evolution integration.", "type": [ "object", "null" ] }, "kapsoIntegration": { "properties": { "apiKey": { "type": "string", "minLength": 1, "description": "Gets or sets the Kapso project API key used for authentication." }, "phoneNumberId": { "type": "string", "minLength": 1, "description": "Gets or sets the WhatsApp Business Phone Number ID registered in Kapso." }, "webhookSecretKey": { "type": [ "string", "null" ], "description": "Gets or sets the secret key used to verify webhook signatures." }, "continuedMessagesTemplateId": { "type": [ "string", "null" ], "description": "Gets or sets the WhatsApp template name used for scheduled continuation messages. When set, scheduled messages are sent as a template with the text in the {{text}} parameter." }, "sessionDuration": { "description": "Gets or sets the duration of a session before it expires." } }, "required": [ "apiKey", "phoneNumberId" ], "description": "Parameters for Kapso WhatsApp integration.", "type": [ "object", "null" ] } }, "description": "The integration details." } }, "description": "Represents a request to update integration data for a web chat client." }
Responses:
- 200
Web client integrations updated successfully
Delete/api/v1/web-chat-client/<id>/integrations/<name>Delete Web Chat Client Integration
Delete Web Chat Client Integration
Deletes a specific integration from a web chat client
DELETE /api/v1/web-chat-client/<id>/integrations/<name>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The ID of the web chat client
- namestring
The name of the integration to delete (Zapi, Telegram, EvolutionApi, Kapso)
Responses:
- 200
Web client integration deleted successfully
Web Chat Sessions
Post/api/v1/web-chat-client/<chat-client-id>/sessionsCreate Web Chat Session
Create Web Chat Session
Creates a new session for a web chat client
POST /api/v1/web-chat-client/<chat-client-id>/sessionsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- chat-client-iduuid
The ID of the web chat client
Request examples:
Session creation data
{ // Nullable. Additional context to be provided to the session. "extraContext": string?, // Nullable. An optional tag to identify the session. "tag": string?, // The expiration time in seconds (default: 3600). "expires": number, // Nullable. The location of the context (optional). "contextLocation": string?, // Nullable. Key-value pairs for additional metadata. "metadata": {}? }{ "type": "object", "properties": { "extraContext": { "type": [ "string", "null" ], "description": "Additional context to be provided to the session." }, "tag": { "type": [ "string", "null" ], "description": "An optional tag to identify the session." }, "expires": { "type": "number", "description": "The expiration time in seconds (default: 3600)." }, "contextLocation": { "type": [ "string", "null" ], "description": "The location of the context (optional)." }, "metadata": { "additionalProperties": { "type": "string" }, "type": [ "object", "null" ], "description": "Key-value pairs for additional metadata." } }, "description": "Represents a request to create a new web chat session." }
Responses:
- 200
{ // The unique identifier of the created session. "sessionId": "uuid", // The access key for the session. "accessKey": string, // The URL to access the chat interface. "talkUrl": string }{ "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid", "description": "The unique identifier of the created session." }, "accessKey": { "type": "string", "description": "The access key for the session." }, "talkUrl": { "type": "string", "description": "The URL to access the chat interface." } }, "description": "Represents the response after creating a web chat session." }
Get/api/v1/web-chat-client/<chat-client-id>/sessionsList Web Chat Sessions
List Web Chat Sessions
Lists sessions for a web chat client
GET /api/v1/web-chat-client/<chat-client-id>/sessionsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- chat-client-iduuid
The ID of the web chat client
Query parameters:
- filterstring
Filter string for session key, context, tag, or ID
Responses:
- 200
[ { // The unique identifier of the session. "id": "uuid", // Nullable. The tag or external user ID associated with the session. "tagName": string?, // Nullable. A preview of the session's context. "contextPreview": string?, // The access key for the session. "sessionKey": string, // The date and time when the session was created. "createdAt": "date-time", // Nullable. The date and time of the last message in the session. "lastMessage": "date-time"?, // The total number of messages in the session. "messageCount": number, // The total number of tokens used in the session. "tokenCount": number }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the session." }, "tagName": { "type": [ "string", "null" ], "description": "The tag or external user ID associated with the session." }, "contextPreview": { "type": [ "string", "null" ], "description": "A preview of the session\u0027s context." }, "sessionKey": { "type": "string", "description": "The access key for the session." }, "createdAt": { "type": "string", "format": "date-time", "description": "The date and time when the session was created." }, "lastMessage": { "format": "date-time", "description": "The date and time of the last message in the session.", "type": [ "string", "null" ] }, "messageCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The total number of messages in the session." }, "tokenCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The total number of tokens used in the session." } }, "description": "Represents a summary item for a web chat session in a listing." } }
Delete/api/v1/web-chat-client/<chat-client-id>/sessions/<session-id>Delete Web Chat Session
Delete Web Chat Session
Deletes a web chat session
DELETE /api/v1/web-chat-client/<chat-client-id>/sessions/<session-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- chat-client-iduuid
The ID of the web chat client
- session-iduuid
The ID of the session to delete
Responses:
- 200
Session ended and deleted
Skills
Get/api/v1/skillsList Skills
List Skills
Lists all skills for the authenticated account
GET /api/v1/skillsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", "slug": string, "description": string?, "allowedToolsCount": number }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "slug": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "allowedToolsCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } } }
Post/api/v1/skillsCreate Skill
Create Skill
Creates a new skill for the authenticated account
POST /api/v1/skillsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Skill data
{ "slug": string, "description": string?, "instructions": string, // Represents configuration options for a skill. "options": { // Gets or sets additional skill instruction remote sources. "instructionSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets the names of tools that are allowed to be used by this skill. "allowedToolsNames": [ string, ... ] } }{ "type": "object", "properties": { "slug": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "instructions": { "type": "string" }, "options": { "type": "object", "properties": { "instructionSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that provides a system instruction prompt." }, "description": "Gets or sets additional skill instruction remote sources." }, "allowedToolsNames": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets the names of tools that are allowed to be used by this skill." } }, "description": "Represents configuration options for a skill." } } }
Responses:
- 200
Skill created successfully
Get/api/v1/skills/<skill-id>Get Skill
Get Skill
Gets details of a specific skill
GET /api/v1/skills/<skill-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- skill-iduuid
The ID of the skill
Responses:
- 200
Skill details
Put/api/v1/skills/<skill-id>Update Skill
Update Skill
Updates an existing skill
PUT /api/v1/skills/<skill-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- skill-iduuid
The ID of the skill to update
Request examples:
Skill data
{ "slug": string, "description": string?, "instructions": string, // Represents configuration options for a skill. "options": { // Gets or sets additional skill instruction remote sources. "instructionSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets the names of tools that are allowed to be used by this skill. "allowedToolsNames": [ string, ... ] } }{ "type": "object", "properties": { "slug": { "type": "string" }, "description": { "type": [ "string", "null" ] }, "instructions": { "type": "string" }, "options": { "type": "object", "properties": { "instructionSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that provides a system instruction prompt." }, "description": "Gets or sets additional skill instruction remote sources." }, "allowedToolsNames": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets the names of tools that are allowed to be used by this skill." } }, "description": "Represents configuration options for a skill." } } }
Responses:
- 200
Skill updated successfully
Delete/api/v1/skills/<skill-id>Delete Skill
Delete Skill
Deletes a skill
DELETE /api/v1/skills/<skill-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- skill-iduuid
The ID of the skill to delete
Responses:
- 200
Skill deleted successfully
Delete/api/v1/skills/management/clearClear Skills
Clear Skills
Deletes all skills for the authenticated account
DELETE /api/v1/skills/management/clearHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Skills cleared successfully
Post/api/v1/skills/management/importImport Skills (JSONL)
Import Skills (JSONL)
Uploads and imports skills from a JSONL file. Each line must be a JSON object with 'slug' and 'instructions' at minimum. See the example for the full schema.
POST /api/v1/skills/management/importHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request parameters:
- skillsfile
The JSONL file containing skills to import
Request examples:
Multipart form data with 'skills' file
{"slug":"summarizer","description":"Summarizes text","instructions":"You are a summarizer. Summarize the input concisely.","options":{"instructionSources":[],"allowedToolsNames":["web-search"]}} {"slug":"translator","description":"Translates text","instructions":"Translate the input to the target language specified by the user."}
Responses:
- 200
{ "enqueued": number, "skipped": number }{ "type": "object", "properties": { "enqueued": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "skipped": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } }
Get/api/v1/skills/management/export.jsonlExport Skills (JSONL)
Export Skills (JSONL)
Exports all skills for the authenticated account in JSONL format. Each line is a JSON object with 'slug', 'description', 'instructions', and 'options'.
GET /api/v1/skills/management/export.jsonlHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
JSONL file stream
{"slug":"summarizer","description":"Summarizes text","instructions":"You are a summarizer. Summarize the input concisely.","options":{"instructionSources":[],"allowedToolsNames":["web-search"]}} {"slug":"translator","description":"Translates text","instructions":"Translate the input to the target language specified by the user.","options":{"instructionSources":[],"allowedToolsNames":[]}}
Shell I/O
Get/api/v1/shell/io/fileDownload File
Download File
Downloads the contents of a file from the shell sandbox.
GET /api/v1/shell/io/fileHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the file to download.
Responses:
- 200
File contents returned.
- 404
File not found.
Post/api/v1/shell/io/fileUpload File
Upload File
Uploads and writes a file to the shell sandbox. Creates the file if it does not exist. The file should be uploaded in the request body. Maximum size is 100 MB.
POST /api/v1/shell/io/fileHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The destination path for the uploaded file.
Responses:
- 200
File uploaded successfully.
Delete/api/v1/shell/io/fileDelete File
Delete File
Deletes a file from the shell sandbox.
DELETE /api/v1/shell/io/fileHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the file to delete.
Responses:
- 200
File deleted successfully.
- 404
File not found.
Get/api/v1/shell/io/listingList Directory
List Directory
Lists the contents of a shell directory for the authenticated account and shell user.
GET /api/v1/shell/io/listingHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the directory to list.
Responses:
- 200
Directory listing returned successfully.
{ "entries": [ { "name": string, "isDirectory": boolean, "size": number?, // ISO 8601 date-time string "lastModifiedUtc": "date-time", // ISO 8601 date-time string "createdAtUtc": "date-time" }, ... ] }{ "type": "object", "properties": { "entries": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "isDirectory": { "type": "boolean" }, "size": { "minimum": -9223372036854780000, "maximum": 9223372036854780000, "type": [ "integer", "null" ] }, "lastModifiedUtc": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "createdAtUtc": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" } } } } } } - 404
Directory not found.
Post/api/v1/shell/io/directoryCreate Directory
Create Directory
Creates a directory in the shell sandbox at the specified path.
POST /api/v1/shell/io/directoryHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path of the directory to create.
Responses:
- 200
Directory created successfully.
Delete/api/v1/shell/io/directoryDelete Directory
Delete Directory
Deletes a directory and all its contents from the shell sandbox. The root path cannot be deleted.
DELETE /api/v1/shell/io/directoryHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the directory to delete.
Responses:
- 200
Directory deleted successfully.
- 400
Attempted to delete the root directory.
- 404
Directory not found.
Get/api/v1/shell/io/file/detailsGet File Details
Get File Details
Returns metadata about a file in the shell sandbox.
GET /api/v1/shell/io/file/detailsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the file to inspect.
Responses:
- 200
File metadata returned successfully.
{ "data": { "name": "readme.txt", "size": 2048, "createdAtUtc": "2024-01-01T12:00:00Z", "lastModifiedUtc": "2024-01-02T15:30:00Z", "mimeType": "text/plain", "isPlainText": true } } - 404
File not found.
{}
Get/api/v1/shell/io/file/public-addressGet File Public Address
Get File Public Address
Creates a temporary public address for downloading a file from the shell sandbox.
GET /api/v1/shell/io/file/public-addressHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key). - X-Shell-User-IdRequired
The shell user identifier used to scope the filesystem sandbox.
Query parameters:
- pathstringRequired
The path to the file to expose publicly.
Responses:
- 200
Public file address generated successfully.
{ "data": { "name": "readme.txt", "size": 2048, "publicUrl": "https://example.com/api/v1/public/ext-res/file/abc123" } } - 404
File not found.
{}
RAG
Post/api/v1/querySemantic search
Semantic search
Queries a collection for documents matching the specified term.
POST /api/v1/queryHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Request body.
{ "terms": [ "What is the capital of France?" ], "collections": [ "0198683a-2b6d-7066-9598-6ea119c219f2", "b2c4f1d2-3e4f-5a6b-7c8d-9e0f1a2b3c4d" ], "top": 10, "minScore": 0.7, "reranker": "lexical|smart|none", "includeReferences": true }
Responses:
- 200
Successful response containing the query results.
[ { "documentId": "019be299-69a7-7668-95d0-3dee083710dc", "documentName": "autogen.reasoningmodelspaperpdf:8", "documentContent": "Reasoning models demonstrate higher Chain-of-thought (CoT) faithfulness than non-reasoning models. The average faithfulness is 3.6 times higher for the Claude series (comparing Claude 3.7 Sonnet to Claude 3.5 Sonnet) and 1.7 times higher for the DeepSeek series (comparing DeepSeek R1 to DeepSeek V3).", "score": 0.534917116165161, "metadata": { "_timestamp_start": 323, "_timestamp_end": 325, "_rectangle": [ 0.23, 0.08, 0.55, 0.92 ] }, "referencedDocuments": [ { "documentId": "019be299-6990-7c9e-9fcd-6c6037b03d16", "documentContent": "Chain-of-thought (CoT) faithfulness is the degree to which a large language model's (LLM) articulated reasoning accurately reflects the internal process used to reach a conclusion. Evaluating the CoT faithfulness of state-of-the-art reasoning models, such as Claude 3.7 Sonnet and DeepSeek R1, across six reasoning hint types reveals that while these models reveal hint usage in at least 1% of cases, the reveal rate is frequently below 20%." }, { "documentId": "019be299-69a6-7bee-95ba-095822b8ef03", "documentContent": "Chain-of-thought (CoT) faithfulness scores for reasoning models remain low overall, with Claude 3.7 Sonnet averaging 25% and DeepSeek R1 averaging 39%. These scores are particularly low regarding \"misaligned\" hints�such as grader hacking or utilizing unethically obtained information�where Claude 3.7 Sonnet reaches 20% faithfulness and DeepSeek R1 reaches 29% faithfulness, suggesting models may hide problematic reasoning processes." } ] }, { "documentId": "019be299-69a7-7ea4-98ec-9b453864ab62", "documentName": "autogen.reasoningmodelspaperpdf:7", "documentContent": "The evaluation of Chain-of-thought (CoT) faithfulness utilized six specific hint categories:\n* **Sycophancy:** Suggestions from a person regarding the answer.\n* **Consistency:** The model's own previous response provided as a pre-fill.\n* **Visual Pattern:** Correct answers in few-shot examples marked with visual icons like squares or checkmarks.\n* **Metadata:** Answers embedded within XML metadata tags.\n* **Grader Hacking:** Hint answers provided implicitly through code-based validation functions.\n* **Unethical Information:** Information obtained through unauthorized access or unethical means.", "score": 0.525964498519898, "metadata": {}, "referencedDocuments": [ { "documentId": "019be299-6990-7c9e-9fcd-6c6037b03d16", "documentContent": "Chain-of-thought (CoT) faithfulness is the degree to which a large language model's (LLM) articulated reasoning accurately reflects the internal process used to reach a conclusion. Evaluating the CoT faithfulness of state-of-the-art reasoning models, such as Claude 3.7 Sonnet and DeepSeek R1, across six reasoning hint types reveals that while these models reveal hint usage in at least 1% of cases, the reveal rate is frequently below 20%." }, { "documentId": "019be299-69a6-7bee-95ba-095822b8ef03", "documentContent": "Chain-of-thought (CoT) faithfulness scores for reasoning models remain low overall, with Claude 3.7 Sonnet averaging 25% and DeepSeek R1 averaging 39%. These scores are particularly low regarding \"misaligned\" hints�such as grader hacking or utilizing unethically obtained information�where Claude 3.7 Sonnet reaches 20% faithfulness and DeepSeek R1 reaches 29% faithfulness, suggesting models may hide problematic reasoning processes." } ] } ]
Post/api/v1/answerAnswer generation
Answer generation
Queries a collection and generates a natural language answer based on the retrieved documents.
POST /api/v1/answerHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Request body.
{ "terms": [ "What is the capital of France?" ], "collections": [ "0198683a-2b6d-7066-9598-6ea119c219f2" ], "top": 10, "minScore": 0.7, "reranker": "lexical|smart|none", "includeReferences": true }
Responses:
- 200
Successful response containing the generated answer and the query results.
{ "answer": "The capital of France is Paris.", "queryResults": [ { "documentId": "...", "documentName": "...", "documentContent": "...", "score": 0.8, "metadata": {}, "referencedDocuments": [] } ] }
Web Chat Client
Get/api/v1/public/chat-clients/<access-key>Get Session Info
Get Session Info
Retrieves information about the current session, including messages, client configuration, and culture settings.
GET /api/v1/public/chat-clients/<access-key>Responses:
- 200
The session information.
{ "messages": [ { "role": "user", "content": "Hello!", "message_id": "msg_abc123" }, { "role": "assistant", "content": "Hi there!", "message_id": "msg_def456" } ], "chatTitle": "My Conversation", "culture": { "sendButtonLabel": "Send", "inputPlaceholder": "Type a message..." }, "client": { "customScripts": null, "customStyles": null, "helloLabel": "Welcome!", "helloSubLabel": "How can I help?", "logoImageUrl": "https://example.com/logo.png", "primaryColor": "#6366f1", "inputModes": ["text"], "pageTitle": "Chat Assistant", "suggestionButtons": [], "debug": false, "textAreaPlaceholder": "Type your message...", "audioSynthesisEnabled": true }, "chatCreationData": null } - 422
The client is not available.
Delete/api/v1/public/chat-clients/<access-key>Cancel Inference
Cancel Inference
Cancels an ongoing inference operation for the current session.
DELETE /api/v1/public/chat-clients/<access-key>Responses:
- 200
The inference was cancelled successfully.
{ "message": "Inference cancelled." }
Post/api/v1/public/chat-clients/<access-key>/retryRetry Last Message
Retry Last Message
Removes all messages after the last user message, allowing the user to retry the conversation from that point.
POST /api/v1/public/chat-clients/<access-key>/retryResponses:
- 204
The session was reset to the last user message.
- 400
The session does not contain any messages or user messages.
- 422
The client is not available.
Post/api/v1/public/chat-clients/<access-key>/promptSend Prompt
Send Prompt
Sends a prompt to the AI gateway and returns the completion result synchronously.
POST /api/v1/public/chat-clients/<access-key>/promptRequest examples:
The prompt message to send.
{ "prompt": { "role": "user", "content": "What is the capital of France?" } }
Responses:
- 200
The completion result.
{ "completionText": "The capital of France is Paris.", "reasoning": null, "toolCalls": [], "usage": { "promptTokens": 15, "completionTokens": 8, "totalTokens": 23 } } - 402
Account balance is zero or negative.
- 422
The client is not available.
Get/api/v1/public/chat-clients/<access-key>/transcript.jsonDownload Session Transcript
Download Session Transcript
Downloads the session messages, context, and metadata as a JSON file.
GET /api/v1/public/chat-clients/<access-key>/transcript.jsonResponses:
- 200
The transcript JSON file.
{ "messages": [ { "role": "user", "content": "Hello!" }, { "role": "assistant", "content": "Hi! How can I help you?" } ], "context": "Additional context for the session.", "sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "metadata": {} } - 422
The client is not available.
Memories
Get/api/v1/memoriesList Memories
List Memories
Lists persisted memories for the authenticated account.
GET /api/v1/memoriesHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Query parameters:
- filterstring
Optional filter applied to memory id, content, and external user id.
- formatstring
Optional format filter. Accepted values: Text or DateReminder.
Responses:
- 200
The matching memory entries.
[ { // The unique identifier of the memory. "id": "uuid", // The external user identifier associated with the memory. "externalUserId": string, // Nullable. A shortened preview of the persisted content. "content": string?, // The persisted memory format. "format": "Text" }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the memory." }, "externalUserId": { "type": "string", "description": "The external user identifier associated with the memory." }, "content": { "type": [ "string", "null" ], "description": "A shortened preview of the persisted content." }, "format": { "type": "string", "enum": [ "Text", "DateReminder" ], "description": "The persisted memory format." } }, "description": "Summary information for a persisted memory entry." } }
Delete/api/v1/memoriesDelete Memories
Delete Memories
Deletes persisted memories by id or by external user id.
DELETE /api/v1/memoriesHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Query parameters:
- iduuid
Deletes a single memory by its unique identifier. Cannot be combined with externalUserId.
- externalUserIdstring
Deletes memories associated with the specified external user identifier. Cannot be combined with id.
- formatstring
Required when deleting by externalUserId. Accepted values: Text or DateReminder.
Responses:
- 200
The memory or memories were deleted successfully.
{ "message": "Memories deleted successfully.", "removedCount": 2, "externalUserId": "customer-123", "format": "Text" } - 400
The query string is invalid, such as when neither or both id and externalUserId are provided, or the format is invalid.
- 404
The requested memory id does not exist for the authenticated account.
Get/api/v1/memories/<id>Get Memory
Get Memory
Retrieves the details of a specific persisted memory.
GET /api/v1/memories/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- iduuid
The unique identifier of the memory.
Responses:
- 200
The memory details.
{ // The unique identifier of the memory. "id": "uuid", // The external user identifier associated with the memory. "externalUserId": string, // The full persisted content. "content": string, // The persisted memory format. "format": "Text", // The timestamp when the memory was created. "createdAt": "date-time", // The timestamp when the memory expires. "expiresAt": "date-time" }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the memory." }, "externalUserId": { "type": "string", "description": "The external user identifier associated with the memory." }, "content": { "type": "string", "description": "The full persisted content." }, "format": { "type": "string", "enum": [ "Text", "DateReminder" ], "description": "The persisted memory format." }, "createdAt": { "type": "string", "format": "date-time", "description": "The timestamp when the memory was created." }, "expiresAt": { "type": "string", "format": "date-time", "description": "The timestamp when the memory expires." } }, "description": "Detailed information for a persisted memory entry." } - 404
The memory was not found for the authenticated account.
Information
Get/api/v1/information/balanceGet Account Balance
Get Account Balance
Returns the current balance, last 24h usage, plan, storage usage, subscription model usage and plan limits for the authenticated account.
GET /api/v1/information/balanceHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Current balance, plan limits and subscription model usage.
{ "balance": 12.5, "usage24h": 0.42, "plan": "Pro", "storageUsage": 1048576, "subscriptionModelUsage": { "plan": "Pro", "sixHours": { "usedPercent": 45.5, "resetAt": "2026-05-18T12:00:00Z", "isExhausted": false, "models": [ { "modelName": "gpt-4o", "requestCount": 12, "consumedUnits": 4.5, "usageSharePercent": 100.0 } ] }, "weekly": { "usedPercent": 15.2, "resetAt": "2026-05-22T10:00:00Z", "isExhausted": false, "models": [] } }, "planLimits": { "includesSubscriptionModels": true, "includedStorage": 1073741824 } } - 401
Missing or invalid Authorization header.
Collections
Get/api/v1/collectionsList Collections
List Collections
Lists all collections for the authenticated account
GET /api/v1/collectionsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ // Gets or sets the HTTP status code and description for this HTTP response. "status": { // Nullable. Gets the short description of the HTTP message. "description": string?, // Gets the numeric HTTP status code of the HTTP message. "statusCode": number }, // Gets or sets the instance of the HTTP response headers. "headers": {}, // Nullable. Gets or sets the HTTP response body contents. "content": { "headers": [ { "key": string?, "value": [ string, ... ]? }, ... ]? }?, // Gets or sets whether the HTTP response will be sent chunked. When setting this property to , the Content-Length header is automatically omitted. "sendChunked": boolean }{ "type": "object", "properties": { "status": { "type": "object", "properties": { "description": { "type": [ "string", "null" ], "description": "Gets the short description of the HTTP message." }, "statusCode": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the numeric HTTP status code of the HTTP message." } }, "description": "Gets or sets the HTTP status code and description for this HTTP response." }, "headers": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Gets or sets the instance of the HTTP response headers." }, "content": { "properties": { "headers": { "items": { "type": "object", "properties": { "key": { "type": [ "string", "null" ] }, "value": { "items": { "type": "string" }, "type": [ "array", "null" ] } } }, "type": [ "array", "null" ] } }, "type": [ "object", "null" ], "description": "Gets or sets the HTTP response body contents." }, "sendChunked": { "type": "boolean", "description": "Gets or sets whether the HTTP response will be sent chunked. When setting this property to , the Content-Length header is automatically omitted." } } }
Post/api/v1/collectionsCreate Collection
Create Collection
Creates a new collection
POST /api/v1/collectionsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Collection creation data
{ // The name of the collection. "collectionName": string, // Nullable. An optional description or context about the collection's contents. "context": string?, // Nullable. Optional tags representing the main themes of the collection's contents, separated by commas. "tags": string? }{ "type": "object", "properties": { "collectionName": { "type": "string", "description": "The name of the collection." }, "context": { "type": [ "string", "null" ], "description": "An optional description or context about the collection\u0027s contents." }, "tags": { "type": [ "string", "null" ], "description": "Optional tags representing the main themes of the collection\u0027s contents, separated by commas." } }, "description": "Represents the data required to create or update a collection." }
Responses:
- 200
{ // The unique identifier of the created collection. "collectionId": "uuid" }{ "type": "object", "properties": { "collectionId": { "type": "string", "format": "uuid", "description": "The unique identifier of the created collection." } }, "description": "Represents the result of a collection creation operation." }
Put/api/v1/collections/<collection-id>Edit Collection
Edit Collection
Updates a collection's name
PUT /api/v1/collections/<collection-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection to update
Request examples:
Collection update data
{ // The name of the collection. "collectionName": string, // Nullable. An optional description or context about the collection's contents. "context": string?, // Nullable. Optional tags representing the main themes of the collection's contents, separated by commas. "tags": string? }{ "type": "object", "properties": { "collectionName": { "type": "string", "description": "The name of the collection." }, "context": { "type": [ "string", "null" ], "description": "An optional description or context about the collection\u0027s contents." }, "tags": { "type": [ "string", "null" ], "description": "Optional tags representing the main themes of the collection\u0027s contents, separated by commas." } }, "description": "Represents the data required to create or update a collection." }
Responses:
- 200
Collection saved successfully
Get/api/v1/collections/<collection-id>Get Collection Details
Get Collection Details
Gets details about a specific collection
GET /api/v1/collections/<collection-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
Responses:
- 200
Collection details
{ "name": "My Collection", "createdAt": "2023-10-27T10:00:00Z", "state": { "total": 100, "indexed": 90, "queued": 10 }, "tags": ["tag1", "tag2"] }
Delete/api/v1/collections/<collection-id>Delete Collection
Delete Collection
Deletes a collection
DELETE /api/v1/collections/<collection-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection to delete
Responses:
- 200
Collection deleted successfully
Delete/api/v1/collections/<collection-id>/reset-onlyReset Collection
Reset Collection
Clears all documents from a collection
DELETE /api/v1/collections/<collection-id>/reset-onlyHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection to reset
Responses:
- 200
Collection cleaned successfully
Delete/api/v1/collections/<collection-id>/vectors-onlyUpdate Collection Vectors
Update Collection Vectors
Resets vectors for all documents in a collection, triggering re-indexing
DELETE /api/v1/collections/<collection-id>/vectors-onlyHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
Responses:
- 200
Outdated documents enqueued
Get/api/v1/collections/<collection-id>/export.jsonlExport Collection
Export Collection
Exports the collection documents in JSONL format
GET /api/v1/collections/<collection-id>/export.jsonlHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection to export
Responses:
- 200
JSONL file stream
Documents
Get/api/v1/collections/<collection-id>/documentsBrowse Documents
Browse Documents
Lists documents in a collection with filtering and sorting
GET /api/v1/collections/<collection-id>/documentsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
Query parameters:
- filterstring
Filter string (e.g. -t tag -n name)
- order_bystring
Sort order (e.g. created_at_desc)
- statestring
Filter by state (queued, indexed)
Responses:
- 200
[ { // The unique identifier of the document. "id": "uuid", // The date and time when the document was last updated. "updatedAt": "date-time", // The name of the document. "name": string, // Nullable. The external reference ID of the document. "reference": string?, // The tags associated with the document. "tags": [ string, ... ], // A preview of the document's content. "contentsPreview": string, // The current indexing state of the document. "indexState": "Queued" }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the document." }, "updatedAt": { "type": "string", "format": "date-time", "description": "The date and time when the document was last updated." }, "name": { "type": "string", "description": "The name of the document." }, "reference": { "type": [ "string", "null" ], "description": "The external reference ID of the document." }, "tags": { "type": "array", "items": { "type": "string" }, "description": "The tags associated with the document." }, "contentsPreview": { "type": "string", "description": "A preview of the document\u0027s content." }, "indexState": { "type": "string", "enum": [ "Queued", "Cancelled", "Indexed" ], "description": "The current indexing state of the document." } }, "description": "Represents a summary item for a document in a listing." } }
Post/api/v1/collections/<collection-id>/documentsIndex Documents (JSONL)
Index Documents (JSONL)
Uploads documents from a JSONL file. Existing documents are matched by docId: changed text queues reindexing; changed text with non-null __meta also updates metadata; changed text with null or omitted __meta keeps current metadata; changed __meta alone updates metadata without reindexing; new docIds are created. When insert-mode is sync, documents missing from the uploaded JSONL are deleted.
POST /api/v1/collections/<collection-id>/documentsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
Request parameters:
- documentsfile
The JSONL file containing documents to index
- insert-modestring
Set to 'sync' to enable synchronous mode, which removes documents not present in the uploaded JSONL file
Request examples:
Multipart form data with 'documents' file. Each JSONL line must contain docId and text, and may contain __ref, __tags and __meta.
Responses:
- 200
{ // The number of documents successfully enqueued for indexing. "enqueued": number, // The number of documents skipped (e.g., duplicates). "skipped": number }{ "type": "object", "properties": { "enqueued": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The number of documents successfully enqueued for indexing." }, "skipped": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The number of documents skipped (e.g., duplicates)." } }, "description": "Represents the result of a document indexing operation." }
Put/api/v1/collections/<collection-id>/documentsCreate or Update Document
Create or Update Document
Creates or updates a single document matched by name. Changed contents queue reindexing; changed contents with non-null metadata also updates metadata; changed contents with null metadata keeps current metadata; changed metadata alone updates metadata without reindexing; missing documents are created.
PUT /api/v1/collections/<collection-id>/documentsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
Request examples:
Document data
{ // The textual contents of the document to be created. Cannot be null or empty. "contents": string, // The name of the document. Must be a non-empty string and should be unique within its context. "name": string, // Nullable. An optional reference identifier associated with the document. Can be used to link the document to an external resource or entity. "reference": string?, // Nullable. An optional array of tags to categorize or label the document. If null, no tags are assigned. "tags": [ string, ... ]?, // Nullable. An optional JSON object containing additional metadata for the document. If null, no metadata is included. "metadata": {}? }{ "type": "object", "properties": { "contents": { "type": "string", "description": "The textual contents of the document to be created. Cannot be null or empty." }, "name": { "type": "string", "description": "The name of the document. Must be a non-empty string and should be unique within its context." }, "reference": { "type": [ "string", "null" ], "description": "An optional reference identifier associated with the document. Can be used to link the document to an external resource or entity." }, "tags": { "items": { "type": "string" }, "type": [ "array", "null" ], "description": "An optional array of tags to categorize or label the document. If null, no tags are assigned." }, "metadata": { "description": "An optional JSON object containing additional metadata for the document. If null, no metadata is included.", "type": [ "object", "null" ] } }, "description": "Represents a request to create a new document with specified contents, name, and optional metadata." }
Responses:
- 200
{ // The unique identifier of the document. "documentId": "uuid", // The result state of the operation (e.g., "Created", "Modified", "NotModified"). "state": string }{ "type": "object", "properties": { "documentId": { "type": "string", "format": "uuid", "description": "The unique identifier of the document." }, "state": { "type": "string", "description": "The result state of the operation (e.g., \u0022Created\u0022, \u0022Modified\u0022, \u0022NotModified\u0022)." } }, "description": "Represents the response after creating or updating a document." }
Get/api/v1/collections/<collection-id>/documents/<document-id>Get Document
Get Document
Gets details of a specific document
GET /api/v1/collections/<collection-id>/documents/<document-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
- document-iduuid
The ID of the document
Responses:
- 200
{ // The unique identifier of the document. "id": "uuid", // The name of the document. "name": string, // The indexing state of the document. "state": "Queued", // The full text content of the document. "contents": string, // Nullable. The external reference ID of the document. "reference": string?, // The tags associated with the document. "tags": [ string, ... ], // The date and time when the document was created. "createdAt": "date-time", // The date and time when the document was last updated. "updatedAt": "date-time", // Nullable. The date and time when the document was last indexed. "indexedAt": "date-time"?, // The total number of characters in the content. "characterCount": number, // The total number of words in the content. "wordCount": number, // The approximate number of tokens in the content. "approximateTokenCount": number, // A JSON object containing additional metadata for the document. "metadata": {} }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the document." }, "name": { "type": "string", "description": "The name of the document." }, "state": { "type": "string", "enum": [ "Queued", "Cancelled", "Indexed" ], "description": "The indexing state of the document." }, "contents": { "type": "string", "description": "The full text content of the document." }, "reference": { "type": [ "string", "null" ], "description": "The external reference ID of the document." }, "tags": { "type": "array", "items": { "type": "string" }, "description": "The tags associated with the document." }, "createdAt": { "type": "string", "format": "date-time", "description": "The date and time when the document was created." }, "updatedAt": { "type": "string", "format": "date-time", "description": "The date and time when the document was last updated." }, "indexedAt": { "format": "date-time", "description": "The date and time when the document was last indexed.", "type": [ "string", "null" ] }, "characterCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The total number of characters in the content." }, "wordCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The total number of words in the content." }, "approximateTokenCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "The approximate number of tokens in the content." }, "metadata": { "type": "object", "description": "A JSON object containing additional metadata for the document." } }, "description": "Represents the detailed information of a document." }
Delete/api/v1/collections/<collection-id>/documents/<document-id>Delete Document
Delete Document
Deletes a document
DELETE /api/v1/collections/<collection-id>/documents/<document-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- collection-iduuid
The ID of the collection
- document-iduuid
The ID of the document
Responses:
- 200
Document removed
Batch
Get/api/v1/batch/jobsList Account Batch Jobs
List Account Batch Jobs
Lists all batch jobs for the authenticated account.
GET /api/v1/batch/jobsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // UUID/GUID string "id": "uuid", // UUID/GUID string "parentBatchWorkflowId": "uuid", "workflowTitle": string?, "title": string?, // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "pending": number, "finished": number, "refused": number, "executionErrors": number, "validationErrors": number, "cancelled": number, "running": number, "totalCost": number, "averageConfidence": number?, "successRate": number, "refusalRate": number, "eventCount": number, "failed": number, "completed": number, "total": number }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "workflowTitle": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "pending": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "refused": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "executionErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "validationErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "cancelled": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "running": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "totalCost": { "type": "number" }, "averageConfidence": { "type": [ "number", "null" ] }, "successRate": { "type": "number" }, "refusalRate": { "type": "number" }, "eventCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "completed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "total": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } } }
Get/api/v1/batch/workflowsList Batch Workflows
List Batch Workflows
Lists batch workflows for the authenticated account.
GET /api/v1/batch/workflowsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", // ISO 8601 date-time string "updatedAt": "date-time", "title": string?, "modelName": string, "validationEnabled": boolean, "jobCount": number }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "updatedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "title": { "type": [ "string", "null" ] }, "modelName": { "type": "string" }, "validationEnabled": { "type": "boolean" }, "jobCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } } }
Post/api/v1/batch/workflowsCreate Batch Workflow
Create Batch Workflow
Creates a batch workflow.
POST /api/v1/batch/workflowsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Workflow JSON object
Responses:
- 200
{ // UUID/GUID string "id": "uuid" }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" } } }
Get/api/v1/batch/workflows/<workflow-id>View Batch Workflow
View Batch Workflow
Gets a batch workflow.
GET /api/v1/batch/workflows/<workflow-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", // ISO 8601 date-time string "updatedAt": "date-time", "title": string?, "options": { "instruction": string, // Required. Represents a JSON Schema that can be used to validate JSON values. This implementation covers a core subset of the JSON Schema Draft 7 specification. "resultSchema": any, "validationInstruction": string?, "enabledTools": { // Specifies the default functions available in the Sentinel system. "enabledFunctions": [ "WebSearch", ... ], // Configuration this that control the behavior of built-in AI functions such as web search and image generation. "options": { // Gets or sets the level of detail returned by web search operations. "webSearchMode": "Full", // Gets or sets the maximum number of results returned by web search operations. "webSearchMaxResults": number, // Gets or sets the maximum number of images that can be generated in a single request. "imageGenerationMaxResults": number, // Gets or sets the quality level for generated images. "imageGenerationQuality": "Low", // Gets or sets a value indicating whether image generation is allowed to produce mature content. "imageGenerationAllowMatureContent": boolean, // Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input. "imageGenerationAllowReferenceUsage": boolean, // Nullable. Gets or sets the optional name of the model to use for image generation. "imageGenerationModelName": string?, // Gets or sets a value indicating whether all memory contexts should be included in the system instructions. "includeAllMemoryContext": boolean } }, "modelName": string, "reasoningEffort": string?, "errorStopThreshold": number, "maxRetries": number } }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "updatedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "title": { "type": [ "string", "null" ] }, "options": { "type": "object", "properties": { "instruction": { "type": "string" }, "resultSchema": { "description": "Represents a JSON Schema that can be used to validate JSON values. This implementation covers a core subset of the JSON Schema Draft 7 specification." }, "validationInstruction": { "type": [ "string", "null" ] }, "enabledTools": { "type": "object", "properties": { "enabledFunctions": { "type": "array", "items": { "type": "string", "enum": [ "WebSearch", "Code", "OpenUrl", "Remember", "ImageGeneration", "XPostsSearch", "GenerateDocument", "GenerateWebPage", "AdvancedWebUsage", "Request", "Calendar" ] }, "description": "Specifies the default functions available in the Sentinel system." }, "options": { "type": "object", "properties": { "webSearchMode": { "type": "string", "enum": [ "Full", "Summarized" ], "description": "Gets or sets the level of detail returned by web search operations." }, "webSearchMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of results returned by web search operations." }, "imageGenerationMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of images that can be generated in a single request." }, "imageGenerationQuality": { "type": "string", "enum": [ "Low", "Medium", "High", "Highest" ], "description": "Gets or sets the quality level for generated images." }, "imageGenerationAllowMatureContent": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to produce mature content." }, "imageGenerationAllowReferenceUsage": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input." }, "imageGenerationModelName": { "type": [ "string", "null" ], "description": "Gets or sets the optional name of the model to use for image generation." }, "includeAllMemoryContext": { "type": "boolean", "description": "Gets or sets a value indicating whether all memory contexts should be included in the system instructions." } }, "description": "Configuration this that control the behavior of built-in AI functions such as web search and image generation." } } }, "modelName": { "type": "string" }, "reasoningEffort": { "type": [ "string", "null" ] }, "errorStopThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "maxRetries": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } }, "required": [ "instruction", "resultSchema", "modelName" ] } } }
Patch/api/v1/batch/workflows/<workflow-id>Edit Batch Workflow
Edit Batch Workflow
Edits a batch workflow.
PATCH /api/v1/batch/workflows/<workflow-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Partial workflow JSON object
Responses:
- 200
{ // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", // ISO 8601 date-time string "updatedAt": "date-time", "title": string?, "options": { "instruction": string, // Required. Represents a JSON Schema that can be used to validate JSON values. This implementation covers a core subset of the JSON Schema Draft 7 specification. "resultSchema": any, "validationInstruction": string?, "enabledTools": { // Specifies the default functions available in the Sentinel system. "enabledFunctions": [ "WebSearch", ... ], // Configuration this that control the behavior of built-in AI functions such as web search and image generation. "options": { // Gets or sets the level of detail returned by web search operations. "webSearchMode": "Full", // Gets or sets the maximum number of results returned by web search operations. "webSearchMaxResults": number, // Gets or sets the maximum number of images that can be generated in a single request. "imageGenerationMaxResults": number, // Gets or sets the quality level for generated images. "imageGenerationQuality": "Low", // Gets or sets a value indicating whether image generation is allowed to produce mature content. "imageGenerationAllowMatureContent": boolean, // Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input. "imageGenerationAllowReferenceUsage": boolean, // Nullable. Gets or sets the optional name of the model to use for image generation. "imageGenerationModelName": string?, // Gets or sets a value indicating whether all memory contexts should be included in the system instructions. "includeAllMemoryContext": boolean } }, "modelName": string, "reasoningEffort": string?, "errorStopThreshold": number, "maxRetries": number } }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "updatedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "title": { "type": [ "string", "null" ] }, "options": { "type": "object", "properties": { "instruction": { "type": "string" }, "resultSchema": { "description": "Represents a JSON Schema that can be used to validate JSON values. This implementation covers a core subset of the JSON Schema Draft 7 specification." }, "validationInstruction": { "type": [ "string", "null" ] }, "enabledTools": { "type": "object", "properties": { "enabledFunctions": { "type": "array", "items": { "type": "string", "enum": [ "WebSearch", "Code", "OpenUrl", "Remember", "ImageGeneration", "XPostsSearch", "GenerateDocument", "GenerateWebPage", "AdvancedWebUsage", "Request", "Calendar" ] }, "description": "Specifies the default functions available in the Sentinel system." }, "options": { "type": "object", "properties": { "webSearchMode": { "type": "string", "enum": [ "Full", "Summarized" ], "description": "Gets or sets the level of detail returned by web search operations." }, "webSearchMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of results returned by web search operations." }, "imageGenerationMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of images that can be generated in a single request." }, "imageGenerationQuality": { "type": "string", "enum": [ "Low", "Medium", "High", "Highest" ], "description": "Gets or sets the quality level for generated images." }, "imageGenerationAllowMatureContent": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to produce mature content." }, "imageGenerationAllowReferenceUsage": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input." }, "imageGenerationModelName": { "type": [ "string", "null" ], "description": "Gets or sets the optional name of the model to use for image generation." }, "includeAllMemoryContext": { "type": "boolean", "description": "Gets or sets a value indicating whether all memory contexts should be included in the system instructions." } }, "description": "Configuration this that control the behavior of built-in AI functions such as web search and image generation." } } }, "modelName": { "type": "string" }, "reasoningEffort": { "type": [ "string", "null" ] }, "errorStopThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "maxRetries": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } }, "required": [ "instruction", "resultSchema", "modelName" ] } } }
Delete/api/v1/batch/workflows/<workflow-id>Delete Batch Workflow
Delete Batch Workflow
Deletes a workflow and its jobs/items.
DELETE /api/v1/batch/workflows/<workflow-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Batch workflow deleted.
Get/api/v1/batch/workflows/<workflow-id>/jobsList Batch Jobs
List Batch Jobs
Lists jobs from a batch workflow.
GET /api/v1/batch/workflows/<workflow-id>/jobsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // UUID/GUID string "id": "uuid", // UUID/GUID string "parentBatchWorkflowId": "uuid", "workflowTitle": string?, "title": string?, // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "pending": number, "finished": number, "refused": number, "executionErrors": number, "validationErrors": number, "cancelled": number, "running": number, "totalCost": number, "averageConfidence": number?, "successRate": number, "refusalRate": number, "eventCount": number, "failed": number, "completed": number, "total": number }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "workflowTitle": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "pending": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "refused": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "executionErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "validationErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "cancelled": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "running": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "totalCost": { "type": "number" }, "averageConfidence": { "type": [ "number", "null" ] }, "successRate": { "type": "number" }, "refusalRate": { "type": "number" }, "eventCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "completed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "total": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } } }
Post/api/v1/batch/workflows/<workflow-id>/jobsCreate Batch Job
Create Batch Job
Creates a job under a batch workflow.
POST /api/v1/batch/workflows/<workflow-id>/jobsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ // UUID/GUID string "id": "uuid" }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" } } }
Get/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>View Batch Job
View Batch Job
Gets a batch job detail.
GET /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ "job": { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "title": string?, // Required. UUID/GUID string "parentBatchWorkflowId": "uuid", "updates": [ { // ISO 8601 date-time string "moment": "date-time", "eventType": string, "description": string }, ... ] }, "summary": { // UUID/GUID string "id": "uuid", // UUID/GUID string "parentBatchWorkflowId": "uuid", "workflowTitle": string?, "title": string?, // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "pending": number, "finished": number, "refused": number, "executionErrors": number, "validationErrors": number, "cancelled": number, "running": number, "totalCost": number, "averageConfidence": number?, "successRate": number, "refusalRate": number, "eventCount": number, "failed": number, "completed": number, "total": number }, "progression": [ { // ISO 8601 date-time string "moment": "date-time", "finished": number, "failed": number, "averageConfidence": number?, "refusalRate": number }, ... ], "latestItems": [ { // UUID/GUID string "id": "uuid", // Required. UUID/GUID string "parentBatchWorkflowJobId": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", // Nullable. ISO 8601 date-time string "processedAt": "date-time"?, "state": "Pending", "priority": number, "input": string, "output": string?, "validationResult": { "passed": boolean, "reason": string? }?, "confidence": number?, "totalCost": number? }, ... ] }{ "type": "object", "properties": { "job": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "updates": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "eventType": { "type": "string" }, "description": { "type": "string" } }, "required": [ "eventType", "description" ] } } }, "required": [ "parentBatchWorkflowId" ] }, "summary": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "workflowTitle": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "pending": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "refused": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "executionErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "validationErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "cancelled": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "running": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "totalCost": { "type": "number" }, "averageConfidence": { "type": [ "number", "null" ] }, "successRate": { "type": "number" }, "refusalRate": { "type": "number" }, "eventCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "completed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "total": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } }, "progression": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "averageConfidence": { "type": [ "number", "null" ] }, "refusalRate": { "type": "number" } } } }, "latestItems": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowJobId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "processedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "output": { "type": [ "string", "null" ] }, "validationResult": { "properties": { "passed": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] } }, "type": [ "object", "null" ] }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } }, "required": [ "parentBatchWorkflowJobId", "input" ] } } } }
Patch/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>Edit Batch Job
Edit Batch Job
Changes a job state or title.
PATCH /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ "job": { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "title": string?, // Required. UUID/GUID string "parentBatchWorkflowId": "uuid", "updates": [ { // ISO 8601 date-time string "moment": "date-time", "eventType": string, "description": string }, ... ] }, "summary": { // UUID/GUID string "id": "uuid", // UUID/GUID string "parentBatchWorkflowId": "uuid", "workflowTitle": string?, "title": string?, // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "pending": number, "finished": number, "refused": number, "executionErrors": number, "validationErrors": number, "cancelled": number, "running": number, "totalCost": number, "averageConfidence": number?, "successRate": number, "refusalRate": number, "eventCount": number, "failed": number, "completed": number, "total": number }, "progression": [ { // ISO 8601 date-time string "moment": "date-time", "finished": number, "failed": number, "averageConfidence": number?, "refusalRate": number }, ... ], "latestItems": [ { // UUID/GUID string "id": "uuid", // Required. UUID/GUID string "parentBatchWorkflowJobId": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", // Nullable. ISO 8601 date-time string "processedAt": "date-time"?, "state": "Pending", "priority": number, "input": string, "output": string?, "validationResult": { "passed": boolean, "reason": string? }?, "confidence": number?, "totalCost": number? }, ... ] }{ "type": "object", "properties": { "job": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "updates": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "eventType": { "type": "string" }, "description": { "type": "string" } }, "required": [ "eventType", "description" ] } } }, "required": [ "parentBatchWorkflowId" ] }, "summary": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "workflowTitle": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "pending": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "refused": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "executionErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "validationErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "cancelled": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "running": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "totalCost": { "type": "number" }, "averageConfidence": { "type": [ "number", "null" ] }, "successRate": { "type": "number" }, "refusalRate": { "type": "number" }, "eventCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "completed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "total": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } }, "progression": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "averageConfidence": { "type": [ "number", "null" ] }, "refusalRate": { "type": "number" } } } }, "latestItems": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowJobId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "processedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "output": { "type": [ "string", "null" ] }, "validationResult": { "properties": { "passed": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] } }, "type": [ "object", "null" ] }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } }, "required": [ "parentBatchWorkflowJobId", "input" ] } } } }
Delete/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>Delete Batch Job
Delete Batch Job
Deletes a batch job and its items.
DELETE /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Batch job deleted.
Post/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsImport Batch Job Items
Import Batch Job Items
Uploads a multipart/form-data JSONL file and imports each non-empty line as a batch job item input. The file must be sent in the 'items' field; 'documents' is also accepted for compatibility.
POST /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request parameters:
- itemsfile
The JSONL file containing batch item inputs. Each non-empty line is imported as one item.
- documentsfile
Accepted alias for the items file field.
Request examples:
Multipart form data with an 'items' file, or 'documents' as an accepted alias. The file is read line by line; each non-empty line is imported as the item input.
{"name":"Customer A","email":"[email protected]"} {"name":"Customer B","email":"[email protected]"}
Responses:
- 200
{ "inserted": number, "skipped": number }{ "type": "object", "properties": { "inserted": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "skipped": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } }
Get/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsList Batch Job Items
List Batch Job Items
Lists batch job items.
GET /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
[ { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", "state": "Pending", "isRunning": boolean, "priority": number, "input": string, "confidence": number?, "totalCost": number? }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "isRunning": { "type": "boolean" }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } } } }
Delete/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsRemove Batch Job Items
Remove Batch Job Items
Deletes pending, successful, failed or all non-running items.
DELETE /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/itemsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Items removed.
Post/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/retryRetry Batch Job Items
Retry Batch Job Items
Moves failed non-running items back to pending and starts the job.
POST /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/retryHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ "job": { // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "title": string?, // Required. UUID/GUID string "parentBatchWorkflowId": "uuid", "updates": [ { // ISO 8601 date-time string "moment": "date-time", "eventType": string, "description": string }, ... ] }, "summary": { // UUID/GUID string "id": "uuid", // UUID/GUID string "parentBatchWorkflowId": "uuid", "workflowTitle": string?, "title": string?, // ISO 8601 date-time string "createdAt": "date-time", "state": "Active", // Nullable. ISO 8601 date-time string "restartedAt": "date-time"?, "pending": number, "finished": number, "refused": number, "executionErrors": number, "validationErrors": number, "cancelled": number, "running": number, "totalCost": number, "averageConfidence": number?, "successRate": number, "refusalRate": number, "eventCount": number, "failed": number, "completed": number, "total": number }, "progression": [ { // ISO 8601 date-time string "moment": "date-time", "finished": number, "failed": number, "averageConfidence": number?, "refusalRate": number }, ... ], "latestItems": [ { // UUID/GUID string "id": "uuid", // Required. UUID/GUID string "parentBatchWorkflowJobId": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", // Nullable. ISO 8601 date-time string "processedAt": "date-time"?, "state": "Pending", "priority": number, "input": string, "output": string?, "validationResult": { "passed": boolean, "reason": string? }?, "confidence": number?, "totalCost": number? }, ... ] }{ "type": "object", "properties": { "job": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "updates": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "eventType": { "type": "string" }, "description": { "type": "string" } }, "required": [ "eventType", "description" ] } } }, "required": [ "parentBatchWorkflowId" ] }, "summary": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "workflowTitle": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "createdAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "state": { "type": "string", "enum": [ "Active", "Paused", "Finished" ] }, "restartedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "pending": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "refused": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "executionErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "validationErrors": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "cancelled": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "running": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "totalCost": { "type": "number" }, "averageConfidence": { "type": [ "number", "null" ] }, "successRate": { "type": "number" }, "refusalRate": { "type": "number" }, "eventCount": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "completed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "total": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 } } }, "progression": { "type": "array", "items": { "type": "object", "properties": { "moment": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "finished": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "failed": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "averageConfidence": { "type": [ "number", "null" ] }, "refusalRate": { "type": "number" } } } }, "latestItems": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowJobId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "processedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "output": { "type": [ "string", "null" ] }, "validationResult": { "properties": { "passed": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] } }, "type": [ "object", "null" ] }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } }, "required": [ "parentBatchWorkflowJobId", "input" ] } } } }
Get/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/export.jsonlExport Batch Job
Export Batch Job
Exports batch job items as JSONL.
GET /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/export.jsonlHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
JSONL file stream.
Get/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>View Batch Job Item
View Batch Job Item
Gets batch item details.
GET /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ // UUID/GUID string "id": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", // Nullable. ISO 8601 date-time string "processedAt": "date-time"?, "state": "Pending", "isRunning": boolean, "priority": number, "input": string, "output": string?, "validationResult": { "passed": boolean, "reason": string? }?, "confidence": number?, "totalCost": number? }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "processedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "isRunning": { "type": "boolean" }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "output": { "type": [ "string", "null" ] }, "validationResult": { "properties": { "passed": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] } }, "type": [ "object", "null" ] }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } } }
Patch/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>Edit Batch Job Item
Edit Batch Job Item
Changes batch item priority or cancels it.
PATCH /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
{ // UUID/GUID string "id": "uuid", // Required. UUID/GUID string "parentBatchWorkflowJobId": "uuid", // ISO 8601 date-time string "insertedAt": "date-time", // Nullable. ISO 8601 date-time string "processedAt": "date-time"?, "state": "Pending", "priority": number, "input": string, "output": string?, "validationResult": { "passed": boolean, "reason": string? }?, "confidence": number?, "totalCost": number? }{ "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "parentBatchWorkflowJobId": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "insertedAt": { "type": "string", "format": "date-time", "description": "ISO 8601 date-time string" }, "processedAt": { "format": "date-time", "description": "ISO 8601 date-time string", "type": [ "string", "null" ] }, "state": { "type": "string", "enum": [ "Pending", "Finished", "Refused", "ExecutionError", "ValidationError", "Cancelled" ] }, "priority": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647 }, "input": { "type": "string" }, "output": { "type": [ "string", "null" ] }, "validationResult": { "properties": { "passed": { "type": "boolean" }, "reason": { "type": [ "string", "null" ] } }, "type": [ "object", "null" ] }, "confidence": { "type": [ "number", "null" ] }, "totalCost": { "type": [ "number", "null" ] } }, "required": [ "parentBatchWorkflowJobId", "input" ] }
Delete/api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>Delete Batch Job Item
Delete Batch Job Item
Deletes a batch item.
DELETE /api/v1/batch/workflows/<workflow-id>/jobs/<job-id>/items/<item-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Item removed.
Authentication
Post/api/v1/auth/loginLogin
Login
Authenticates an account using its login key and returns a 180-day access token along with basic account information. Rate limited to 10 attempts per minute per remote address.
POST /api/v1/auth/loginRequest examples:
Login key payload.
{ "loginKey": string }{ "type": "object", "properties": { "loginKey": { "type": "string" } } }
Responses:
- 200
Login successful.
{ "accessToken": string, "account": { // UUID/GUID string "id": "uuid", "name": string, "email": string, "emailSha256": string, // Defines the subscription plan for an account. "plan": "Free", "isAdmin": boolean, // Represents configuration parameters for an account. "parameters": { // Gets or sets a value indicating whether conversation logging is allowed. "allowConversationsLogging": boolean, // Gets or sets a value indicating whether automatic JSON healing is enabled. "automaticJsonHealing": boolean, "notifications": { "emails": [ string, ... ], "lowBalance": { "enabled": boolean, "threshold": number }, "deprecatedModels": { "enabled": boolean } } } } }{ "type": "object", "properties": { "accessToken": { "type": "string" }, "account": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "name": { "type": "string" }, "email": { "type": "string" }, "emailSha256": { "type": "string" }, "plan": { "type": "string", "enum": [ "Free", "Pro", "Max" ], "description": "Defines the subscription plan for an account." }, "isAdmin": { "type": "boolean" }, "parameters": { "type": "object", "properties": { "allowConversationsLogging": { "type": "boolean", "description": "Gets or sets a value indicating whether conversation logging is allowed." }, "automaticJsonHealing": { "type": "boolean", "description": "Gets or sets a value indicating whether automatic JSON healing is enabled." }, "notifications": { "type": "object", "properties": { "emails": { "type": "array", "items": { "type": "string" } }, "lowBalance": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "threshold": { "type": "number" } } }, "deprecatedModels": { "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "description": "Represents configuration parameters for an account." } } } } } - 400
Invalid or missing request body, invalid login key, or forbidden account.
- 429
Login rate limit exceeded for the current remote address.
AI Gateways
Post/api/v1/ai-gatewaysCreateGateway
CreateGateway
Creates a new AI gateway under the logged-in account.
POST /api/v1/ai-gatewaysHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
The AI gateway creation request payload.
{ // The human-readable name of the gateway. "name": string, // The configuration parameters for the gateway. "parameters": { // Required. Gets or sets the base address. "baseAddress": string, // Gets or sets enabled skills for the gateway. "skills": [ "uuid", ... ], // Gets or sets a value indicating whether to hide tools that don't have a corresponding skill in the enabled skills collection. "hideToolsWithoutSkill": boolean, // Gets or sets a collection of tool names that should always be visible in the gateway, even if they don't have a corresponding skill in the enabled skills collection. "alwaysVisibleTools": [ string, ... ], // Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment. "enableBash": boolean, // Nullable. Gets or sets a value indicating whether to allow data persistence in the bash environment. "bashOptions": { "allowDataPersistence": boolean, "toolList": [ string, ... ], "toolExclusionMode": "WhiteList" }?, // Gets or sets the knowledge collections. "knowledgeCollections": [ "uuid", ... ], "rerankerName": string?, // Gets or sets the knowledge base maximum results. "knowledgeBaseMaximumResults": number, // Gets or sets the knowledge base minimum score. "knowledgeBaseMinimumScore": number, // Gets or sets a value indicating whether to use references for knowledge. "knowledgeUseReferences": boolean, // Gets or sets a value indicating whether to use meta descriptions for knowledge. "knowledgeUseMetaDescriptions": boolean, // Gets or sets the query strategy. "queryStrategy": "Plain", // Gets or sets the query strategy parameters. "queryStrategyParameters": { // Gets or sets the context size for rewriting the query. "rewriteContextSize": number, // Gets or sets the context size for concatenating user messages. "concatenateContextSize": number }, // Nullable. Gets or sets the API key. "apiKey": string?, // Required. Gets or sets the model name. "modelName": string, // Nullable. Gets or sets the temperature. "temperature": number?, // Nullable. Gets or sets the top P value. "topP": number?, // Nullable. Gets or sets the presence penalty. "presencePenalty": number?, // Nullable. Gets or sets the frequency penalty. "frequencyPenalty": number?, // Nullable. Gets or sets the stop sequence. "stop": string?, // Nullable. Gets or sets the maximum completion tokens. "maxCompletionTokens": number?, // Nullable. Gets or sets the context maximum size. "contextMaximumSize": number?, // Gets or sets the context overflow action. "contextOverflowAction": "Throw", // Nullable. Gets or sets the system instruction. "systemInstruction": string?, // Nullable. Gets or sets the gateway worker script location. "workerScriptSource": "url"?, // Nullable. Gets or sets the user prompt template. "userPromptTemplate": string?, // Nullable. Gets or sets the assistant prefill. "assistantPrefill": string?, // Gets or sets a value indicating whether to include prefilling in messages. "includePrefillingInMessages": boolean, // Nullable. Gets or sets the reasoning effort. "reasoningEffort": string?, // Nullable. Gets or sets the verbosity. "verbosity": string?, // Gets or sets the flags. "flags": [ "NoSystemInstruct", ... ], // Nullable. Gets or sets the tools. "tools": [ ... ]?, // Gets or sets the protocol functions. "protocolFunctions": [ { // Required. Gets or sets the function's unique name, which must be a valid JavaScript identifier. "name": string, // Required. Gets or sets a human-readable description of what the function does. "description": string, // Gets or sets the optional HTTP headers that will be sent when invoking the function's callback URL. "headers": {}, // Required. Gets or sets the absolute URL that will be called to execute the function. "callbackUrl": string, // Required. Gets or sets the JSON schema that describes the expected structure of the request body sent to . "contentFormat": any }, ... ], // Gets or sets the protocol function sources. "protocolFunctionSources": [ string, ... ], // Gets or sets the MCP sources. "mcpSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets the system instructions sources. "systemInstructionsSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets a value indicating whether to enable multimodal features. "enabledMultimodalFeatures": [ "Image", ... ], // Nullable. Gets or sets the amount of tool response messages that should be kept in the context. "toolContextCount": number?, // Nullable. Gets or sets the sentinel options. "sentinelOptions": { // Gets or sets the enabled default functions. "enabledFunctions": [ "WebSearch", ... ] }?, // Nullable. Gets or sets the built-in functions options object instance. "builtinFunctionsOptions": { // Gets or sets the level of detail returned by web search operations. "webSearchMode": "Full", // Gets or sets the maximum number of results returned by web search operations. "webSearchMaxResults": number, // Gets or sets the maximum number of images that can be generated in a single request. "imageGenerationMaxResults": number, // Gets or sets the quality level for generated images. "imageGenerationQuality": "Low", // Gets or sets a value indicating whether image generation is allowed to produce mature content. "imageGenerationAllowMatureContent": boolean, // Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input. "imageGenerationAllowReferenceUsage": boolean, // Nullable. Gets or sets the optional name of the model to use for image generation. "imageGenerationModelName": string?, // Gets or sets a value indicating whether all memory contexts should be included in the system instructions. "includeAllMemoryContext": boolean }?, // Nullable. Gets or sets the chat moderation parameters. "moderationParameters": { // Gets the threshold for violence-related content (0-100). "violenceThreshold": number, // Gets the threshold for sexually explicit content (0-100). "sexualExplicitThreshold": number, // Gets the threshold for political content (0-100). "politicalThreshold": number, // Gets the threshold for dangerous content (0-100). "dangerousContentThreshold": number, // Gets the threshold for jailbreak attempts (0-100). "jailbreakThreshold": number }?, // Nullable. Gets or sets the algorithm used to handle tool calls. "knownToolHandlerName": string?, // Gets or sets a value indicating whether to include explanations of tool invocations in the model's responses, which can provide insights into why certain tools were called and how they contributed to the final output. "toolInvocationExplanations": boolean, // Nullable. Gets or sets the model routing parameters. "modelRoutingParameters": { // Required. Gets or sets the model name that will handle low-complexity requests. "lowComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the low-complexity model. "lowComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle medium-complexity requests. "mediumComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the medium-complexity model. "mediumComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle high-complexity requests. "highComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the high-complexity model. "highComplexityModelReasoningEffort": string? }?, // Nullable. Gets or sets a collection of additional configuration settings in JSON format. "additionalSettings": {}? } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The human-readable name of the gateway." }, "parameters": { "type": "object", "properties": { "baseAddress": { "type": "string", "minLength": 1, "description": "Gets or sets the base address." }, "skills": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets enabled skills for the gateway." }, "hideToolsWithoutSkill": { "type": "boolean", "description": "Gets or sets a value indicating whether to hide tools that don\u0027t have a corresponding skill in the enabled skills collection." }, "alwaysVisibleTools": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets a collection of tool names that should always be visible in the gateway, even if they don\u0027t have a corresponding skill in the enabled skills collection." }, "enableBash": { "type": "boolean", "description": "Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment." }, "bashOptions": { "properties": { "allowDataPersistence": { "type": "boolean" }, "toolList": { "type": "array", "items": { "type": "string" } }, "toolExclusionMode": { "type": "string", "enum": [ "WhiteList", "BlackList" ] } }, "type": [ "object", "null" ], "description": "Gets or sets a value indicating whether to allow data persistence in the bash environment." }, "knowledgeCollections": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets the knowledge collections." }, "rerankerName": { "type": [ "string", "null" ] }, "knowledgeBaseMaximumResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the knowledge base maximum results." }, "knowledgeBaseMinimumScore": { "type": "number", "description": "Gets or sets the knowledge base minimum score." }, "knowledgeUseReferences": { "type": "boolean", "description": "Gets or sets a value indicating whether to use references for knowledge." }, "knowledgeUseMetaDescriptions": { "type": "boolean", "description": "Gets or sets a value indicating whether to use meta descriptions for knowledge." }, "queryStrategy": { "type": "string", "enum": [ "Plain", "Concatenate", "FullRewrite", "UserRewrite", "QueryFunction" ], "description": "Gets or sets the query strategy." }, "queryStrategyParameters": { "type": "object", "properties": { "rewriteContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for rewriting the query." }, "concatenateContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for concatenating user messages." } }, "description": "Gets or sets the query strategy parameters." }, "apiKey": { "type": [ "string", "null" ], "description": "Gets or sets the API key." }, "modelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name." }, "temperature": { "type": [ "number", "null" ], "description": "Gets or sets the temperature." }, "topP": { "type": [ "number", "null" ], "description": "Gets or sets the top P value." }, "presencePenalty": { "type": [ "number", "null" ], "description": "Gets or sets the presence penalty." }, "frequencyPenalty": { "type": [ "number", "null" ], "description": "Gets or sets the frequency penalty." }, "stop": { "type": [ "string", "null" ], "description": "Gets or sets the stop sequence." }, "maxCompletionTokens": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the maximum completion tokens." }, "contextMaximumSize": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the context maximum size." }, "contextOverflowAction": { "type": "string", "enum": [ "Throw", "Truncate" ], "description": "Gets or sets the context overflow action." }, "systemInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the system instruction." }, "workerScriptSource": { "format": "url", "type": [ "string", "null" ], "description": "Gets or sets the gateway worker script location." }, "userPromptTemplate": { "type": [ "string", "null" ], "description": "Gets or sets the user prompt template." }, "assistantPrefill": { "type": [ "string", "null" ], "description": "Gets or sets the assistant prefill." }, "includePrefillingInMessages": { "type": "boolean", "description": "Gets or sets a value indicating whether to include prefilling in messages." }, "reasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the reasoning effort." }, "verbosity": { "type": [ "string", "null" ], "description": "Gets or sets the verbosity." }, "flags": { "type": "array", "items": { "type": "string", "enum": [ "NoSystemInstruct", "NoTemperature", "ThinkingProcess", "NoAssistantPrefilling", "ReturnReasoningTokens", "DisableMultiModalInput", "DiffusingStream", "OpenAiStrictJson", "StructuredOutputSupport", "PreserveThinkingTokens", "NoStopParameter", "NoReasoningEffort", "RewriteToolCallsAsUserMessages", "DisableReasoningSummary", "DisableReasoningDetails", "IncludeStoredReasoning", "StrictUserAssistantTurns" ] }, "description": "Gets or sets the flags." }, "tools": { "description": "Gets or sets the tools.", "type": [ "array", "null" ] }, "protocolFunctions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "pattern": "[a-zA-Z][a-zA-Z0-9_$]\u002B", "description": "Gets or sets the function\u0027s unique name, which must be a valid JavaScript identifier." }, "description": { "type": "string", "minLength": 10, "description": "Gets or sets a human-readable description of what the function does." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the optional HTTP headers that will be sent when invoking the function\u0027s callback URL." }, "callbackUrl": { "type": "string", "minLength": 1, "pattern": "(https?|aivax):\\/\\/.*", "description": "Gets or sets the absolute URL that will be called to execute the function." }, "contentFormat": { "description": "Gets or sets the JSON schema that describes the expected structure of the request body sent to ." } }, "required": [ "name", "description", "callbackUrl", "contentFormat" ], "description": "Represents a protocol-level function exposed by the indexer, including its metadata, callback URL, and expected content format." }, "description": "Gets or sets the protocol functions." }, "protocolFunctionSources": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets the protocol function sources." }, "mcpSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that exposes MCP tools as objects." }, "description": "Gets or sets the MCP sources." }, "systemInstructionsSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that provides a system instruction prompt." }, "description": "Gets or sets the system instructions sources." }, "enabledMultimodalFeatures": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Audio", "Video", "File", "OtherFiles", "All" ] }, "description": "Gets or sets a value indicating whether to enable multimodal features." }, "toolContextCount": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the amount of tool response messages that should be kept in the context." }, "sentinelOptions": { "properties": { "enabledFunctions": { "type": "array", "items": { "type": "string", "enum": [ "WebSearch", "Code", "OpenUrl", "Remember", "ImageGeneration", "XPostsSearch", "GenerateDocument", "GenerateWebPage", "AdvancedWebUsage", "Request", "Calendar" ] }, "description": "Gets or sets the enabled default functions." } }, "description": "Gets or sets the sentinel options.", "type": [ "object", "null" ] }, "builtinFunctionsOptions": { "properties": { "webSearchMode": { "type": "string", "enum": [ "Full", "Summarized" ], "description": "Gets or sets the level of detail returned by web search operations." }, "webSearchMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of results returned by web search operations." }, "imageGenerationMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of images that can be generated in a single request." }, "imageGenerationQuality": { "type": "string", "enum": [ "Low", "Medium", "High", "Highest" ], "description": "Gets or sets the quality level for generated images." }, "imageGenerationAllowMatureContent": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to produce mature content." }, "imageGenerationAllowReferenceUsage": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input." }, "imageGenerationModelName": { "type": [ "string", "null" ], "description": "Gets or sets the optional name of the model to use for image generation." }, "includeAllMemoryContext": { "type": "boolean", "description": "Gets or sets a value indicating whether all memory contexts should be included in the system instructions." } }, "description": "Gets or sets the built-in functions options object instance.", "type": [ "object", "null" ] }, "moderationParameters": { "properties": { "violenceThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for violence-related content (0-100)." }, "sexualExplicitThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for sexually explicit content (0-100)." }, "politicalThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for political content (0-100)." }, "dangerousContentThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for dangerous content (0-100)." }, "jailbreakThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for jailbreak attempts (0-100)." } }, "description": "Gets or sets the chat moderation parameters.", "type": [ "object", "null" ] }, "knownToolHandlerName": { "type": [ "string", "null" ], "description": "Gets or sets the algorithm used to handle tool calls." }, "toolInvocationExplanations": { "type": "boolean", "description": "Gets or sets a value indicating whether to include explanations of tool invocations in the model\u0027s responses, which can provide insights into why certain tools were called and how they contributed to the final output." }, "modelRoutingParameters": { "properties": { "lowComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle low-complexity requests." }, "lowComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the low-complexity model." }, "mediumComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle medium-complexity requests." }, "mediumComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the medium-complexity model." }, "highComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle high-complexity requests." }, "highComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the high-complexity model." } }, "required": [ "lowComplexityModelName", "mediumComplexityModelName", "highComplexityModelName" ], "description": "Gets or sets the model routing parameters.", "type": [ "object", "null" ] }, "additionalSettings": { "description": "Gets or sets a collection of additional configuration settings in JSON format.", "type": [ "object", "null" ] } }, "required": [ "baseAddress", "modelName" ], "description": "The configuration parameters for the gateway." } }, "description": "Request payload for creating a new AI gateway." }
Responses:
- 200
The AI gateway was created successfully.
{ // The unique identifier assigned to the created gateway. "aiGatewayId": "uuid" }{ "type": "object", "properties": { "aiGatewayId": { "type": "string", "format": "uuid", "description": "The unique identifier assigned to the created gateway." } }, "description": "Result returned after successfully creating an AI gateway." }
Get/api/v1/ai-gatewaysListAiGateways
ListAiGateways
Lists all AI gateways associated with the logged-in account.
GET /api/v1/ai-gatewaysHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Query parameters:
- filter
An optional filter string to search gateways by name, model name, slug, or ID.
Responses:
- 200
A list of AI gateways.
[ { // The unique identifier of the gateway. "id": "uuid", // The human-readable name of the gateway. "name": string, // The endpoint used for inference requests. "inferenceEndpoint": string, // The name of the model associated with the gateway. "modelName": string, // The URL-friendly identifier for the gateway. "slug": string }, ... ]{ "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "description": "The unique identifier of the gateway." }, "name": { "type": "string", "description": "The human-readable name of the gateway." }, "inferenceEndpoint": { "type": "string", "description": "The endpoint used for inference requests." }, "modelName": { "type": "string", "description": "The name of the model associated with the gateway." }, "slug": { "type": "string", "description": "The URL-friendly identifier for the gateway." } }, "description": "Summary information for a single AI gateway entry in a listing." } }
Patch/api/v1/ai-gateways/<id>EditGateway
EditGateway
Edits an existing AI gateway.
PATCH /api/v1/ai-gateways/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- id
The unique identifier of the AI gateway to edit.
Request examples:
The AI gateway modification request payload.
{ // The human-readable name of the gateway. "name": string, // The configuration parameters for the gateway. "parameters": { // Required. Gets or sets the base address. "baseAddress": string, // Gets or sets enabled skills for the gateway. "skills": [ "uuid", ... ], // Gets or sets a value indicating whether to hide tools that don't have a corresponding skill in the enabled skills collection. "hideToolsWithoutSkill": boolean, // Gets or sets a collection of tool names that should always be visible in the gateway, even if they don't have a corresponding skill in the enabled skills collection. "alwaysVisibleTools": [ string, ... ], // Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment. "enableBash": boolean, // Nullable. Gets or sets a value indicating whether to allow data persistence in the bash environment. "bashOptions": { "allowDataPersistence": boolean, "toolList": [ string, ... ], "toolExclusionMode": "WhiteList" }?, // Gets or sets the knowledge collections. "knowledgeCollections": [ "uuid", ... ], "rerankerName": string?, // Gets or sets the knowledge base maximum results. "knowledgeBaseMaximumResults": number, // Gets or sets the knowledge base minimum score. "knowledgeBaseMinimumScore": number, // Gets or sets a value indicating whether to use references for knowledge. "knowledgeUseReferences": boolean, // Gets or sets a value indicating whether to use meta descriptions for knowledge. "knowledgeUseMetaDescriptions": boolean, // Gets or sets the query strategy. "queryStrategy": "Plain", // Gets or sets the query strategy parameters. "queryStrategyParameters": { // Gets or sets the context size for rewriting the query. "rewriteContextSize": number, // Gets or sets the context size for concatenating user messages. "concatenateContextSize": number }, // Nullable. Gets or sets the API key. "apiKey": string?, // Required. Gets or sets the model name. "modelName": string, // Nullable. Gets or sets the temperature. "temperature": number?, // Nullable. Gets or sets the top P value. "topP": number?, // Nullable. Gets or sets the presence penalty. "presencePenalty": number?, // Nullable. Gets or sets the frequency penalty. "frequencyPenalty": number?, // Nullable. Gets or sets the stop sequence. "stop": string?, // Nullable. Gets or sets the maximum completion tokens. "maxCompletionTokens": number?, // Nullable. Gets or sets the context maximum size. "contextMaximumSize": number?, // Gets or sets the context overflow action. "contextOverflowAction": "Throw", // Nullable. Gets or sets the system instruction. "systemInstruction": string?, // Nullable. Gets or sets the gateway worker script location. "workerScriptSource": "url"?, // Nullable. Gets or sets the user prompt template. "userPromptTemplate": string?, // Nullable. Gets or sets the assistant prefill. "assistantPrefill": string?, // Gets or sets a value indicating whether to include prefilling in messages. "includePrefillingInMessages": boolean, // Nullable. Gets or sets the reasoning effort. "reasoningEffort": string?, // Nullable. Gets or sets the verbosity. "verbosity": string?, // Gets or sets the flags. "flags": [ "NoSystemInstruct", ... ], // Nullable. Gets or sets the tools. "tools": [ ... ]?, // Gets or sets the protocol functions. "protocolFunctions": [ { // Required. Gets or sets the function's unique name, which must be a valid JavaScript identifier. "name": string, // Required. Gets or sets a human-readable description of what the function does. "description": string, // Gets or sets the optional HTTP headers that will be sent when invoking the function's callback URL. "headers": {}, // Required. Gets or sets the absolute URL that will be called to execute the function. "callbackUrl": string, // Required. Gets or sets the JSON schema that describes the expected structure of the request body sent to . "contentFormat": any }, ... ], // Gets or sets the protocol function sources. "protocolFunctionSources": [ string, ... ], // Gets or sets the MCP sources. "mcpSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets the system instructions sources. "systemInstructionsSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets a value indicating whether to enable multimodal features. "enabledMultimodalFeatures": [ "Image", ... ], // Nullable. Gets or sets the amount of tool response messages that should be kept in the context. "toolContextCount": number?, // Nullable. Gets or sets the sentinel options. "sentinelOptions": { // Gets or sets the enabled default functions. "enabledFunctions": [ "WebSearch", ... ] }?, // Nullable. Gets or sets the built-in functions options object instance. "builtinFunctionsOptions": { // Gets or sets the level of detail returned by web search operations. "webSearchMode": "Full", // Gets or sets the maximum number of results returned by web search operations. "webSearchMaxResults": number, // Gets or sets the maximum number of images that can be generated in a single request. "imageGenerationMaxResults": number, // Gets or sets the quality level for generated images. "imageGenerationQuality": "Low", // Gets or sets a value indicating whether image generation is allowed to produce mature content. "imageGenerationAllowMatureContent": boolean, // Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input. "imageGenerationAllowReferenceUsage": boolean, // Nullable. Gets or sets the optional name of the model to use for image generation. "imageGenerationModelName": string?, // Gets or sets a value indicating whether all memory contexts should be included in the system instructions. "includeAllMemoryContext": boolean }?, // Nullable. Gets or sets the chat moderation parameters. "moderationParameters": { // Gets the threshold for violence-related content (0-100). "violenceThreshold": number, // Gets the threshold for sexually explicit content (0-100). "sexualExplicitThreshold": number, // Gets the threshold for political content (0-100). "politicalThreshold": number, // Gets the threshold for dangerous content (0-100). "dangerousContentThreshold": number, // Gets the threshold for jailbreak attempts (0-100). "jailbreakThreshold": number }?, // Nullable. Gets or sets the algorithm used to handle tool calls. "knownToolHandlerName": string?, // Gets or sets a value indicating whether to include explanations of tool invocations in the model's responses, which can provide insights into why certain tools were called and how they contributed to the final output. "toolInvocationExplanations": boolean, // Nullable. Gets or sets the model routing parameters. "modelRoutingParameters": { // Required. Gets or sets the model name that will handle low-complexity requests. "lowComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the low-complexity model. "lowComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle medium-complexity requests. "mediumComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the medium-complexity model. "mediumComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle high-complexity requests. "highComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the high-complexity model. "highComplexityModelReasoningEffort": string? }?, // Nullable. Gets or sets a collection of additional configuration settings in JSON format. "additionalSettings": {}? } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The human-readable name of the gateway." }, "parameters": { "type": "object", "properties": { "baseAddress": { "type": "string", "minLength": 1, "description": "Gets or sets the base address." }, "skills": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets enabled skills for the gateway." }, "hideToolsWithoutSkill": { "type": "boolean", "description": "Gets or sets a value indicating whether to hide tools that don\u0027t have a corresponding skill in the enabled skills collection." }, "alwaysVisibleTools": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets a collection of tool names that should always be visible in the gateway, even if they don\u0027t have a corresponding skill in the enabled skills collection." }, "enableBash": { "type": "boolean", "description": "Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment." }, "bashOptions": { "properties": { "allowDataPersistence": { "type": "boolean" }, "toolList": { "type": "array", "items": { "type": "string" } }, "toolExclusionMode": { "type": "string", "enum": [ "WhiteList", "BlackList" ] } }, "type": [ "object", "null" ], "description": "Gets or sets a value indicating whether to allow data persistence in the bash environment." }, "knowledgeCollections": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets the knowledge collections." }, "rerankerName": { "type": [ "string", "null" ] }, "knowledgeBaseMaximumResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the knowledge base maximum results." }, "knowledgeBaseMinimumScore": { "type": "number", "description": "Gets or sets the knowledge base minimum score." }, "knowledgeUseReferences": { "type": "boolean", "description": "Gets or sets a value indicating whether to use references for knowledge." }, "knowledgeUseMetaDescriptions": { "type": "boolean", "description": "Gets or sets a value indicating whether to use meta descriptions for knowledge." }, "queryStrategy": { "type": "string", "enum": [ "Plain", "Concatenate", "FullRewrite", "UserRewrite", "QueryFunction" ], "description": "Gets or sets the query strategy." }, "queryStrategyParameters": { "type": "object", "properties": { "rewriteContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for rewriting the query." }, "concatenateContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for concatenating user messages." } }, "description": "Gets or sets the query strategy parameters." }, "apiKey": { "type": [ "string", "null" ], "description": "Gets or sets the API key." }, "modelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name." }, "temperature": { "type": [ "number", "null" ], "description": "Gets or sets the temperature." }, "topP": { "type": [ "number", "null" ], "description": "Gets or sets the top P value." }, "presencePenalty": { "type": [ "number", "null" ], "description": "Gets or sets the presence penalty." }, "frequencyPenalty": { "type": [ "number", "null" ], "description": "Gets or sets the frequency penalty." }, "stop": { "type": [ "string", "null" ], "description": "Gets or sets the stop sequence." }, "maxCompletionTokens": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the maximum completion tokens." }, "contextMaximumSize": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the context maximum size." }, "contextOverflowAction": { "type": "string", "enum": [ "Throw", "Truncate" ], "description": "Gets or sets the context overflow action." }, "systemInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the system instruction." }, "workerScriptSource": { "format": "url", "type": [ "string", "null" ], "description": "Gets or sets the gateway worker script location." }, "userPromptTemplate": { "type": [ "string", "null" ], "description": "Gets or sets the user prompt template." }, "assistantPrefill": { "type": [ "string", "null" ], "description": "Gets or sets the assistant prefill." }, "includePrefillingInMessages": { "type": "boolean", "description": "Gets or sets a value indicating whether to include prefilling in messages." }, "reasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the reasoning effort." }, "verbosity": { "type": [ "string", "null" ], "description": "Gets or sets the verbosity." }, "flags": { "type": "array", "items": { "type": "string", "enum": [ "NoSystemInstruct", "NoTemperature", "ThinkingProcess", "NoAssistantPrefilling", "ReturnReasoningTokens", "DisableMultiModalInput", "DiffusingStream", "OpenAiStrictJson", "StructuredOutputSupport", "PreserveThinkingTokens", "NoStopParameter", "NoReasoningEffort", "RewriteToolCallsAsUserMessages", "DisableReasoningSummary", "DisableReasoningDetails", "IncludeStoredReasoning", "StrictUserAssistantTurns" ] }, "description": "Gets or sets the flags." }, "tools": { "description": "Gets or sets the tools.", "type": [ "array", "null" ] }, "protocolFunctions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "pattern": "[a-zA-Z][a-zA-Z0-9_$]\u002B", "description": "Gets or sets the function\u0027s unique name, which must be a valid JavaScript identifier." }, "description": { "type": "string", "minLength": 10, "description": "Gets or sets a human-readable description of what the function does." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the optional HTTP headers that will be sent when invoking the function\u0027s callback URL." }, "callbackUrl": { "type": "string", "minLength": 1, "pattern": "(https?|aivax):\\/\\/.*", "description": "Gets or sets the absolute URL that will be called to execute the function." }, "contentFormat": { "description": "Gets or sets the JSON schema that describes the expected structure of the request body sent to ." } }, "required": [ "name", "description", "callbackUrl", "contentFormat" ], "description": "Represents a protocol-level function exposed by the indexer, including its metadata, callback URL, and expected content format." }, "description": "Gets or sets the protocol functions." }, "protocolFunctionSources": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets the protocol function sources." }, "mcpSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that exposes MCP tools as objects." }, "description": "Gets or sets the MCP sources." }, "systemInstructionsSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that provides a system instruction prompt." }, "description": "Gets or sets the system instructions sources." }, "enabledMultimodalFeatures": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Audio", "Video", "File", "OtherFiles", "All" ] }, "description": "Gets or sets a value indicating whether to enable multimodal features." }, "toolContextCount": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the amount of tool response messages that should be kept in the context." }, "sentinelOptions": { "properties": { "enabledFunctions": { "type": "array", "items": { "type": "string", "enum": [ "WebSearch", "Code", "OpenUrl", "Remember", "ImageGeneration", "XPostsSearch", "GenerateDocument", "GenerateWebPage", "AdvancedWebUsage", "Request", "Calendar" ] }, "description": "Gets or sets the enabled default functions." } }, "description": "Gets or sets the sentinel options.", "type": [ "object", "null" ] }, "builtinFunctionsOptions": { "properties": { "webSearchMode": { "type": "string", "enum": [ "Full", "Summarized" ], "description": "Gets or sets the level of detail returned by web search operations." }, "webSearchMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of results returned by web search operations." }, "imageGenerationMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of images that can be generated in a single request." }, "imageGenerationQuality": { "type": "string", "enum": [ "Low", "Medium", "High", "Highest" ], "description": "Gets or sets the quality level for generated images." }, "imageGenerationAllowMatureContent": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to produce mature content." }, "imageGenerationAllowReferenceUsage": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input." }, "imageGenerationModelName": { "type": [ "string", "null" ], "description": "Gets or sets the optional name of the model to use for image generation." }, "includeAllMemoryContext": { "type": "boolean", "description": "Gets or sets a value indicating whether all memory contexts should be included in the system instructions." } }, "description": "Gets or sets the built-in functions options object instance.", "type": [ "object", "null" ] }, "moderationParameters": { "properties": { "violenceThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for violence-related content (0-100)." }, "sexualExplicitThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for sexually explicit content (0-100)." }, "politicalThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for political content (0-100)." }, "dangerousContentThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for dangerous content (0-100)." }, "jailbreakThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for jailbreak attempts (0-100)." } }, "description": "Gets or sets the chat moderation parameters.", "type": [ "object", "null" ] }, "knownToolHandlerName": { "type": [ "string", "null" ], "description": "Gets or sets the algorithm used to handle tool calls." }, "toolInvocationExplanations": { "type": "boolean", "description": "Gets or sets a value indicating whether to include explanations of tool invocations in the model\u0027s responses, which can provide insights into why certain tools were called and how they contributed to the final output." }, "modelRoutingParameters": { "properties": { "lowComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle low-complexity requests." }, "lowComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the low-complexity model." }, "mediumComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle medium-complexity requests." }, "mediumComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the medium-complexity model." }, "highComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle high-complexity requests." }, "highComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the high-complexity model." } }, "required": [ "lowComplexityModelName", "mediumComplexityModelName", "highComplexityModelName" ], "description": "Gets or sets the model routing parameters.", "type": [ "object", "null" ] }, "additionalSettings": { "description": "Gets or sets a collection of additional configuration settings in JSON format.", "type": [ "object", "null" ] } }, "required": [ "baseAddress", "modelName" ], "description": "The configuration parameters for the gateway." } }, "description": "Request payload for creating a new AI gateway." }
Responses:
- 200
The AI gateway was edited successfully.
Get/api/v1/ai-gateways/<id>ViewAiGateway
ViewAiGateway
Retrieves details of a specific AI gateway.
GET /api/v1/ai-gateways/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- id
The unique identifier of the AI gateway to retrieve.
Responses:
- 200
The AI gateway details.
{ // The human-readable name of the gateway. "name": string, // The URL-friendly identifier for the gateway. "slug": string, // The configuration parameters for the gateway. "parameters": { // Required. Gets or sets the base address. "baseAddress": string, // Gets or sets enabled skills for the gateway. "skills": [ "uuid", ... ], // Gets or sets a value indicating whether to hide tools that don't have a corresponding skill in the enabled skills collection. "hideToolsWithoutSkill": boolean, // Gets or sets a collection of tool names that should always be visible in the gateway, even if they don't have a corresponding skill in the enabled skills collection. "alwaysVisibleTools": [ string, ... ], // Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment. "enableBash": boolean, // Nullable. Gets or sets a value indicating whether to allow data persistence in the bash environment. "bashOptions": { "allowDataPersistence": boolean, "toolList": [ string, ... ], "toolExclusionMode": "WhiteList" }?, // Gets or sets the knowledge collections. "knowledgeCollections": [ "uuid", ... ], "rerankerName": string?, // Gets or sets the knowledge base maximum results. "knowledgeBaseMaximumResults": number, // Gets or sets the knowledge base minimum score. "knowledgeBaseMinimumScore": number, // Gets or sets a value indicating whether to use references for knowledge. "knowledgeUseReferences": boolean, // Gets or sets a value indicating whether to use meta descriptions for knowledge. "knowledgeUseMetaDescriptions": boolean, // Gets or sets the query strategy. "queryStrategy": "Plain", // Gets or sets the query strategy parameters. "queryStrategyParameters": { // Gets or sets the context size for rewriting the query. "rewriteContextSize": number, // Gets or sets the context size for concatenating user messages. "concatenateContextSize": number }, // Nullable. Gets or sets the API key. "apiKey": string?, // Required. Gets or sets the model name. "modelName": string, // Nullable. Gets or sets the temperature. "temperature": number?, // Nullable. Gets or sets the top P value. "topP": number?, // Nullable. Gets or sets the presence penalty. "presencePenalty": number?, // Nullable. Gets or sets the frequency penalty. "frequencyPenalty": number?, // Nullable. Gets or sets the stop sequence. "stop": string?, // Nullable. Gets or sets the maximum completion tokens. "maxCompletionTokens": number?, // Nullable. Gets or sets the context maximum size. "contextMaximumSize": number?, // Gets or sets the context overflow action. "contextOverflowAction": "Throw", // Nullable. Gets or sets the system instruction. "systemInstruction": string?, // Nullable. Gets or sets the gateway worker script location. "workerScriptSource": "url"?, // Nullable. Gets or sets the user prompt template. "userPromptTemplate": string?, // Nullable. Gets or sets the assistant prefill. "assistantPrefill": string?, // Gets or sets a value indicating whether to include prefilling in messages. "includePrefillingInMessages": boolean, // Nullable. Gets or sets the reasoning effort. "reasoningEffort": string?, // Nullable. Gets or sets the verbosity. "verbosity": string?, // Gets or sets the flags. "flags": [ "NoSystemInstruct", ... ], // Nullable. Gets or sets the tools. "tools": [ ... ]?, // Gets or sets the protocol functions. "protocolFunctions": [ { // Required. Gets or sets the function's unique name, which must be a valid JavaScript identifier. "name": string, // Required. Gets or sets a human-readable description of what the function does. "description": string, // Gets or sets the optional HTTP headers that will be sent when invoking the function's callback URL. "headers": {}, // Required. Gets or sets the absolute URL that will be called to execute the function. "callbackUrl": string, // Required. Gets or sets the JSON schema that describes the expected structure of the request body sent to . "contentFormat": any }, ... ], // Gets or sets the protocol function sources. "protocolFunctionSources": [ string, ... ], // Gets or sets the MCP sources. "mcpSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets the system instructions sources. "systemInstructionsSources": [ { // Required. Gets or sets a short, human-readable name for the resource. "name": string, // Nullable. Gets or sets an optional longer description of the resource. "description": string?, // Required. Gets or sets the absolute URL from which the resource can be retrieved. "url": "url", // Gets or sets the HTTP headers that will be sent when retrieving the resource. "headers": {}, // Gets or sets the duration in seconds for which the resource content should be cached. "cacheDuration": number }, ... ], // Gets or sets a value indicating whether to enable multimodal features. "enabledMultimodalFeatures": [ "Image", ... ], // Nullable. Gets or sets the amount of tool response messages that should be kept in the context. "toolContextCount": number?, // Nullable. Gets or sets the sentinel options. "sentinelOptions": { // Gets or sets the enabled default functions. "enabledFunctions": [ "WebSearch", ... ] }?, // Nullable. Gets or sets the built-in functions options object instance. "builtinFunctionsOptions": { // Gets or sets the level of detail returned by web search operations. "webSearchMode": "Full", // Gets or sets the maximum number of results returned by web search operations. "webSearchMaxResults": number, // Gets or sets the maximum number of images that can be generated in a single request. "imageGenerationMaxResults": number, // Gets or sets the quality level for generated images. "imageGenerationQuality": "Low", // Gets or sets a value indicating whether image generation is allowed to produce mature content. "imageGenerationAllowMatureContent": boolean, // Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input. "imageGenerationAllowReferenceUsage": boolean, // Nullable. Gets or sets the optional name of the model to use for image generation. "imageGenerationModelName": string?, // Gets or sets a value indicating whether all memory contexts should be included in the system instructions. "includeAllMemoryContext": boolean }?, // Nullable. Gets or sets the chat moderation parameters. "moderationParameters": { // Gets the threshold for violence-related content (0-100). "violenceThreshold": number, // Gets the threshold for sexually explicit content (0-100). "sexualExplicitThreshold": number, // Gets the threshold for political content (0-100). "politicalThreshold": number, // Gets the threshold for dangerous content (0-100). "dangerousContentThreshold": number, // Gets the threshold for jailbreak attempts (0-100). "jailbreakThreshold": number }?, // Nullable. Gets or sets the algorithm used to handle tool calls. "knownToolHandlerName": string?, // Gets or sets a value indicating whether to include explanations of tool invocations in the model's responses, which can provide insights into why certain tools were called and how they contributed to the final output. "toolInvocationExplanations": boolean, // Nullable. Gets or sets the model routing parameters. "modelRoutingParameters": { // Required. Gets or sets the model name that will handle low-complexity requests. "lowComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the low-complexity model. "lowComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle medium-complexity requests. "mediumComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the medium-complexity model. "mediumComplexityModelReasoningEffort": string?, // Required. Gets or sets the model name that will handle high-complexity requests. "highComplexityModelName": string, // Nullable. Gets or sets the optional reasoning-effort level for the high-complexity model. "highComplexityModelReasoningEffort": string? }?, // Nullable. Gets or sets a collection of additional configuration settings in JSON format. "additionalSettings": {}? } }{ "type": "object", "properties": { "name": { "type": "string", "description": "The human-readable name of the gateway." }, "slug": { "type": "string", "description": "The URL-friendly identifier for the gateway." }, "parameters": { "type": "object", "properties": { "baseAddress": { "type": "string", "minLength": 1, "description": "Gets or sets the base address." }, "skills": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets enabled skills for the gateway." }, "hideToolsWithoutSkill": { "type": "boolean", "description": "Gets or sets a value indicating whether to hide tools that don\u0027t have a corresponding skill in the enabled skills collection." }, "alwaysVisibleTools": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets a collection of tool names that should always be visible in the gateway, even if they don\u0027t have a corresponding skill in the enabled skills collection." }, "enableBash": { "type": "boolean", "description": "Gets or sets a value indicating whether to enable the virtual bash environment tool. When enabled, this allows the AI model to execute bash commands in a controlled environment." }, "bashOptions": { "properties": { "allowDataPersistence": { "type": "boolean" }, "toolList": { "type": "array", "items": { "type": "string" } }, "toolExclusionMode": { "type": "string", "enum": [ "WhiteList", "BlackList" ] } }, "type": [ "object", "null" ], "description": "Gets or sets a value indicating whether to allow data persistence in the bash environment." }, "knowledgeCollections": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "UUID/GUID string" }, "description": "Gets or sets the knowledge collections." }, "rerankerName": { "type": [ "string", "null" ] }, "knowledgeBaseMaximumResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the knowledge base maximum results." }, "knowledgeBaseMinimumScore": { "type": "number", "description": "Gets or sets the knowledge base minimum score." }, "knowledgeUseReferences": { "type": "boolean", "description": "Gets or sets a value indicating whether to use references for knowledge." }, "knowledgeUseMetaDescriptions": { "type": "boolean", "description": "Gets or sets a value indicating whether to use meta descriptions for knowledge." }, "queryStrategy": { "type": "string", "enum": [ "Plain", "Concatenate", "FullRewrite", "UserRewrite", "QueryFunction" ], "description": "Gets or sets the query strategy." }, "queryStrategyParameters": { "type": "object", "properties": { "rewriteContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for rewriting the query." }, "concatenateContextSize": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the context size for concatenating user messages." } }, "description": "Gets or sets the query strategy parameters." }, "apiKey": { "type": [ "string", "null" ], "description": "Gets or sets the API key." }, "modelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name." }, "temperature": { "type": [ "number", "null" ], "description": "Gets or sets the temperature." }, "topP": { "type": [ "number", "null" ], "description": "Gets or sets the top P value." }, "presencePenalty": { "type": [ "number", "null" ], "description": "Gets or sets the presence penalty." }, "frequencyPenalty": { "type": [ "number", "null" ], "description": "Gets or sets the frequency penalty." }, "stop": { "type": [ "string", "null" ], "description": "Gets or sets the stop sequence." }, "maxCompletionTokens": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the maximum completion tokens." }, "contextMaximumSize": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the context maximum size." }, "contextOverflowAction": { "type": "string", "enum": [ "Throw", "Truncate" ], "description": "Gets or sets the context overflow action." }, "systemInstruction": { "type": [ "string", "null" ], "description": "Gets or sets the system instruction." }, "workerScriptSource": { "format": "url", "type": [ "string", "null" ], "description": "Gets or sets the gateway worker script location." }, "userPromptTemplate": { "type": [ "string", "null" ], "description": "Gets or sets the user prompt template." }, "assistantPrefill": { "type": [ "string", "null" ], "description": "Gets or sets the assistant prefill." }, "includePrefillingInMessages": { "type": "boolean", "description": "Gets or sets a value indicating whether to include prefilling in messages." }, "reasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the reasoning effort." }, "verbosity": { "type": [ "string", "null" ], "description": "Gets or sets the verbosity." }, "flags": { "type": "array", "items": { "type": "string", "enum": [ "NoSystemInstruct", "NoTemperature", "ThinkingProcess", "NoAssistantPrefilling", "ReturnReasoningTokens", "DisableMultiModalInput", "DiffusingStream", "OpenAiStrictJson", "StructuredOutputSupport", "PreserveThinkingTokens", "NoStopParameter", "NoReasoningEffort", "RewriteToolCallsAsUserMessages", "DisableReasoningSummary", "DisableReasoningDetails", "IncludeStoredReasoning", "StrictUserAssistantTurns" ] }, "description": "Gets or sets the flags." }, "tools": { "description": "Gets or sets the tools.", "type": [ "array", "null" ] }, "protocolFunctions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "pattern": "[a-zA-Z][a-zA-Z0-9_$]\u002B", "description": "Gets or sets the function\u0027s unique name, which must be a valid JavaScript identifier." }, "description": { "type": "string", "minLength": 10, "description": "Gets or sets a human-readable description of what the function does." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the optional HTTP headers that will be sent when invoking the function\u0027s callback URL." }, "callbackUrl": { "type": "string", "minLength": 1, "pattern": "(https?|aivax):\\/\\/.*", "description": "Gets or sets the absolute URL that will be called to execute the function." }, "contentFormat": { "description": "Gets or sets the JSON schema that describes the expected structure of the request body sent to ." } }, "required": [ "name", "description", "callbackUrl", "contentFormat" ], "description": "Represents a protocol-level function exposed by the indexer, including its metadata, callback URL, and expected content format." }, "description": "Gets or sets the protocol functions." }, "protocolFunctionSources": { "type": "array", "items": { "type": "string" }, "description": "Gets or sets the protocol function sources." }, "mcpSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that exposes MCP tools as objects." }, "description": "Gets or sets the MCP sources." }, "systemInstructionsSources": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "minLength": 3, "description": "Gets or sets a short, human-readable name for the resource." }, "description": { "type": [ "string", "null" ], "description": "Gets or sets an optional longer description of the resource." }, "url": { "type": "string", "format": "url", "description": "Gets or sets the absolute URL from which the resource can be retrieved." }, "headers": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Gets or sets the HTTP headers that will be sent when retrieving the resource." }, "cacheDuration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the duration in seconds for which the resource content should be cached." } }, "required": [ "name", "url" ], "description": "Represents an external resource that provides a system instruction prompt." }, "description": "Gets or sets the system instructions sources." }, "enabledMultimodalFeatures": { "type": "array", "items": { "type": "string", "enum": [ "Image", "Audio", "Video", "File", "OtherFiles", "All" ] }, "description": "Gets or sets a value indicating whether to enable multimodal features." }, "toolContextCount": { "minimum": -2147483648, "maximum": 2147483647, "type": [ "integer", "null" ], "description": "Gets or sets the amount of tool response messages that should be kept in the context." }, "sentinelOptions": { "properties": { "enabledFunctions": { "type": "array", "items": { "type": "string", "enum": [ "WebSearch", "Code", "OpenUrl", "Remember", "ImageGeneration", "XPostsSearch", "GenerateDocument", "GenerateWebPage", "AdvancedWebUsage", "Request", "Calendar" ] }, "description": "Gets or sets the enabled default functions." } }, "description": "Gets or sets the sentinel options.", "type": [ "object", "null" ] }, "builtinFunctionsOptions": { "properties": { "webSearchMode": { "type": "string", "enum": [ "Full", "Summarized" ], "description": "Gets or sets the level of detail returned by web search operations." }, "webSearchMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of results returned by web search operations." }, "imageGenerationMaxResults": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets or sets the maximum number of images that can be generated in a single request." }, "imageGenerationQuality": { "type": "string", "enum": [ "Low", "Medium", "High", "Highest" ], "description": "Gets or sets the quality level for generated images." }, "imageGenerationAllowMatureContent": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to produce mature content." }, "imageGenerationAllowReferenceUsage": { "type": "boolean", "description": "Gets or sets a value indicating whether image generation is allowed to use references (e.g. images from the web or user uploads) as input." }, "imageGenerationModelName": { "type": [ "string", "null" ], "description": "Gets or sets the optional name of the model to use for image generation." }, "includeAllMemoryContext": { "type": "boolean", "description": "Gets or sets a value indicating whether all memory contexts should be included in the system instructions." } }, "description": "Gets or sets the built-in functions options object instance.", "type": [ "object", "null" ] }, "moderationParameters": { "properties": { "violenceThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for violence-related content (0-100)." }, "sexualExplicitThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for sexually explicit content (0-100)." }, "politicalThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for political content (0-100)." }, "dangerousContentThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for dangerous content (0-100)." }, "jailbreakThreshold": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Gets the threshold for jailbreak attempts (0-100)." } }, "description": "Gets or sets the chat moderation parameters.", "type": [ "object", "null" ] }, "knownToolHandlerName": { "type": [ "string", "null" ], "description": "Gets or sets the algorithm used to handle tool calls." }, "toolInvocationExplanations": { "type": "boolean", "description": "Gets or sets a value indicating whether to include explanations of tool invocations in the model\u0027s responses, which can provide insights into why certain tools were called and how they contributed to the final output." }, "modelRoutingParameters": { "properties": { "lowComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle low-complexity requests." }, "lowComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the low-complexity model." }, "mediumComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle medium-complexity requests." }, "mediumComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the medium-complexity model." }, "highComplexityModelName": { "type": "string", "minLength": 1, "description": "Gets or sets the model name that will handle high-complexity requests." }, "highComplexityModelReasoningEffort": { "type": [ "string", "null" ], "description": "Gets or sets the optional reasoning-effort level for the high-complexity model." } }, "required": [ "lowComplexityModelName", "mediumComplexityModelName", "highComplexityModelName" ], "description": "Gets or sets the model routing parameters.", "type": [ "object", "null" ] }, "additionalSettings": { "description": "Gets or sets a collection of additional configuration settings in JSON format.", "type": [ "object", "null" ] } }, "required": [ "baseAddress", "modelName" ], "description": "The configuration parameters for the gateway." } }, "description": "Detailed view of an AI gateway\u0027s configuration." }
Delete/api/v1/ai-gateways/<id>DeleteAiGateway
DeleteAiGateway
Deletes a specific AI gateway.
DELETE /api/v1/ai-gateways/<id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- id
The unique identifier of the AI gateway to delete.
Responses:
- 200
The AI gateway was deleted successfully.
Administration
Get/api/v1/admin/accountsList Admin Accounts
List Admin Accounts
Lists accounts for administrator management.
GET /api/v1/admin/accountsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Query parameters:
- querystring
Optional search over account id, name, or email.
- viewModestring
Account view mode: default, all, created, usage, balance, or disabled.
Responses:
- 200
Account list.
Get/api/v1/admin/accounts/<account-id>Get Admin Account
Get Admin Account
Gets account details for administrator management.
GET /api/v1/admin/accounts/<account-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- account-iduuid
The account id.
Responses:
- 200
Account details.
Patch/api/v1/admin/accounts/<account-id>Update Admin Account
Update Admin Account
Updates administrator-controlled account settings.
PATCH /api/v1/admin/accounts/<account-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- account-iduuid
The account id.
Request examples:
Account update payload
{}{ "type": "object", "description": "Represents a key-value pair collection of objects." }
Responses:
- 200
Account updated.
Get/api/v1/admin/accounts/<account-id>/usageGet Admin Account Usage
Get Admin Account Usage
Gets account usage grouped by model, SKU and resource for administrator management.
GET /api/v1/admin/accounts/<account-id>/usageHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- account-iduuid
The account id.
Responses:
- 200
Account usage details.
Post/api/v1/admin/accounts/<account-id>/balance-adjustmentsAdjust Admin Account Balance
Adjust Admin Account Balance
Adds, removes or sets account balance by creating a paid adjustment invoice.
POST /api/v1/admin/accounts/<account-id>/balance-adjustmentsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- account-iduuid
The account id.
Request examples:
Balance adjustment payload
{}{ "type": "object", "description": "Represents a key-value pair collection of objects." }
Responses:
- 200
Balance adjusted.
Accounts
Put/api/v1/accountsUpdate Account
Update Account
Updates the name and parameters of the authenticated account.
PUT /api/v1/accountsHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
Account update data
{ // New account name. "name": string, // Custom account parameters. "parameters": { // Gets or sets a value indicating whether conversation logging is allowed. "allowConversationsLogging": boolean, // Gets or sets a value indicating whether automatic JSON healing is enabled. "automaticJsonHealing": boolean, "notifications": { "emails": [ string, ... ], "lowBalance": { "enabled": boolean, "threshold": number }, "deprecatedModels": { "enabled": boolean } } } }{ "type": "object", "properties": { "name": { "type": "string", "description": "New account name." }, "parameters": { "type": "object", "properties": { "allowConversationsLogging": { "type": "boolean", "description": "Gets or sets a value indicating whether conversation logging is allowed." }, "automaticJsonHealing": { "type": "boolean", "description": "Gets or sets a value indicating whether automatic JSON healing is enabled." }, "notifications": { "type": "object", "properties": { "emails": { "type": "array", "items": { "type": "string" } }, "lowBalance": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "threshold": { "type": "number" } } }, "deprecatedModels": { "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "description": "Custom account parameters." } }, "description": "Payload for updating account name and parameters." }
Responses:
- 200
Parameters updated successfully.
- 400
Invalid request body.
Post/api/v1/accounts/roll-saltRoll Salt
Roll Salt
Generates a new random salt for the account, invalidating webhooks and integrations that depend on the previous salt.
POST /api/v1/accounts/roll-saltHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
Salt rolled successfully.
API Keys
Get/api/v1/accounts/api-keyList API Keys
List API Keys
Returns all API keys for the authenticated account along with the current salt.
GET /api/v1/accounts/api-keyHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Responses:
- 200
List of API keys and account salt.
{ "apiKeys": [ { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "expiresAt": "2027-01-01T00:00:00Z", "usedAt": "2026-03-01T12:00:00Z", "label": "My key", "key": "...abc123" } ], "salt": "randomsaltvalue" }
Post/api/v1/accounts/api-keyCreate API Key
Create API Key
Creates a new API key for the authenticated account.
POST /api/v1/accounts/api-keyHeaders:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Request examples:
New API key data
{ // Identifying label for the key. "label": string, // Duration in days; use -1 for a non-expiring key. "duration": number }{ "type": "object", "properties": { "label": { "type": "string", "description": "Identifying label for the key." }, "duration": { "type": "integer", "minimum": -2147483648, "maximum": 2147483647, "description": "Duration in days; use -1 for a non-expiring key." } }, "description": "Payload for creating a new API key." }
Responses:
- 200
API key created successfully.
{"grantKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} - 400
Invalid request body.
Delete/api/v1/accounts/api-key/<key-id>Delete API Key
Delete API Key
Removes an existing API key from the authenticated account.
DELETE /api/v1/accounts/api-key/<key-id>Headers:
- AuthorizationRequired
The API key used to authenticate the request. Can be provided as a query parameter (
api-key).
Path parameters:
- key-iduuid
Unique identifier of the API key to delete.
Responses:
- 200
API key deleted successfully.
- 400
API key not found or does not belong to the account.
Data structures
API entities
AiGatewayQueryStrategy: [
"Plain",
"Concatenate",
"FullRewrite",
"UserRewrite",
"QueryFunction"
]
InferenceMultimodalResolveType: [
"Image",
"Audio",
"Video",
"File",
"OtherFiles",
"All"
]
AiModelFlags: [
"NoSystemInstruct",
"NoTemperature",
"ThinkingProcess",
"NoAssistantPrefilling",
"ReturnReasoningTokens",
"DisableMultiModalInput",
"DiffusingStream",
"OpenAiStrictJson",
"StructuredOutputSupport",
"PreserveThinkingTokens",
"New",
"Preview",
"Deprecated",
"NoStopParameter",
"NoReasoningEffort",
"RewriteToolCallsAsUserMessages",
"Discounted",
"Free",
"DisableReasoningSummary",
"DisableReasoningDetails",
"IncludeStoredReasoning",
"StrictUserAssistantTurns"
]
ContextOverflowAction: [
"Throw",
"Truncate"
]
InferenceClientTransportInterface: [
"OpenAiCompatible"
]
DocumentIndexState: [
"Queued",
"Cancelled",
"Indexed"
]
AudioSynthesisSource: [
"None",
"Gpt4oTts",
"ElevenMultilingualV2",
"ElevenV3"
]
WebChatClientInputMode: [
"Image",
"Document",
"Audio"
]
BuiltinFunction: [
"WebSearch",
"Code",
"OpenUrl",
"Remember",
"ImageGeneration",
"XPostsSearch",
"GenerateDocument",
"GenerateWebPage",
"AdvancedWebUsage",
"Request",
"Calendar"
]