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/models

Headers:

  • 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/completions

Headers:

  • 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-schedules

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.

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-client

Headers:

  • 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-client

Headers:

  • 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>/integrations

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:

  • 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>/sessions

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

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>/sessions

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

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/skills

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",
    
            "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/skills

Headers:

  • 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/clear

Headers:

  • 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/import

Headers:

  • 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.jsonl

Headers:

  • 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/file

Headers:

  • 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/file

Headers:

  • 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/file

Headers:

  • 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/listing

Headers:

  • 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/directory

Headers:

  • 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/directory

Headers:

  • 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/details

Headers:

  • 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-address

Headers:

  • 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/query

Headers:

  • 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/answer

Headers:

  • 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>/retry

Responses:

  • 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>/prompt

Request 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.json

Responses:

  • 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/memories

Headers:

  • 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/memories

Headers:

  • 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/balance

Headers:

  • 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/collections

Headers:

  • 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/collections

Headers:

  • 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-only

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 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-only

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

    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.jsonl

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 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>/documents

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

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>/documents

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

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>/documents

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

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/jobs

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",
    
            // 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/workflows

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?,
            "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/workflows

Headers:

  • 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>/jobs

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",
    
            // 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>/jobs

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"
    }
    {
        "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>/items

Headers:

  • 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>/items

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",
    
            "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>/items

Headers:

  • 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/retry

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"
                    ]
                }
            }
        }
    }
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.jsonl

Headers:

  • 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/login

Request 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-gateways

Headers:

  • 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-gateways

Headers:

  • 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/accounts

Headers:

  • 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>/usage

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 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-adjustments

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:

  • 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/accounts

Headers:

  • 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-salt

Headers:

  • 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-key

Headers:

  • 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-key

Headers:

  • 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"
]