Create an agent-powered response with tool support
Creates a new AI agent response using advanced language models with autonomous tool usage capabilities.
Documentation Index
Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Gateway auth: send Authorization: Bearer <mka1-api-key>. For multi-user server-side integrations, you can also send X-On-Behalf-Of: <external-user-id>.
Headers
Optional external end-user identifier forwarded by the API gateway.
Body
Request schema for creating a new agent response. Configures the agent's model, input, tools, output format, and behavior. Supports both foreground (blocking) and background (asynchronous) execution with optional streaming.
The ID of the model to use for generating the response.
The user input to send to the agent. Can be a simple text string for basic queries, or an array of item objects containing text, images, files, or audio for multimodal interactions. This is the main content the agent will respond to.
System or developer instructions inserted into the model's context before user input. Use this to guide the agent's behavior, set personality, define constraints, or provide domain-specific knowledge. Acts as a persistent system message for this response.
The conversation that this response belongs to. Can be a conversation ID string or a conversation object. Used to maintain context and history across multiple agent interactions. Optional - omit for one-off interactions.
The unique ID of a previous response to continue from. Used for multi-turn conversations to maintain context and history. The agent will have access to all previous interactions in the chain.
Reference to a prompt template to use for this response, along with variables to substitute. Allows using predefined, versioned prompt templates instead of inline instructions. The template system supports variable interpolation.
Additional fields to include in the response output. Allows requesting specific nested data like web search sources, code interpreter outputs, computer screenshots, file search results, input images, output logprobs, or reasoning content. These fields may have performance or cost implications.
web_search_call.action.sources, code_interpreter_call.outputs, computer_call_output.output.image_url, file_search_call.results, message.input_image.image_url, message.output_text.logprobs, reasoning.encrypted_content Configuration options for text output from the model. Includes response format (text, JSON object, JSON schema) and verbosity level (low, medium, high). Use this to control output structure and detail level.
If set to true, the response data will be streamed using Server-Sent Events (SSE) for real-time updates as the agent generates the response. When false, the response is returned as a single complete object. Defaults to false.
Additional options for configuring streaming behavior when stream is enabled.
Whether to store the generated response for later retrieval. When true, the response is saved and can be retrieved via GET /responses/{id}. When false, the response is not persisted after generation. Defaults to true.
Whether to run the model response in the background asynchronously. When true, the request returns immediately with a response ID while the agent processes in the background. Use GET /responses/{id} to retrieve results later. When false, the request blocks until completion. Defaults to false.
URL to receive webhook notifications for status changes (queued, in_progress, completed, failed, incomplete). Only valid when background=true. If provided without background=true, the request will be rejected.
Optional secret for HMAC-SHA256 signing of webhook payloads. When provided, webhooks include an X-Webhook-Signature header with the signature. Requires webhook_url to be set.
16 - 256Array of tool definitions that the agent can use during response generation. Supports built-in tools (web search, file search, code interpreter, computer use, image generation) and custom tools (functions, MCP, local shell). Each tool definition specifies its type and configuration.
Function tool definition: Defines a callable function tool. Provide a tool name and parameters schema, with optional description and deferred loading.
- Function tool definition
- File search tool definition
- Computer use tool definition
- Web search tool definition
- MCP tool definition
- Code interpreter tool definition
- Image generation tool definition
- Local shell tool definition
- Shell tool definition
- Custom tool definition
- Web search preview tool definition
- Hosted tool definition
- Sleep tool definition
- History tool definition
Controls how the agent selects which tools to use. Can be 'none' (no tools), 'auto' (model decides), 'required' (must use tools), or a specific tool selection object. Use this to force or prevent tool usage.
none, auto, required Whether to allow the agent to execute multiple tool calls in parallel. When true, the agent can make concurrent tool calls for efficiency. When false, tools are called sequentially. Defaults to true for better performance.
The maximum total number of tool calls the agent can make during this response. Useful for controlling execution time and preventing infinite loops. Applies to all built-in tools like web search, file search, code interpreter, etc. Must be a positive integer between 1 and 300. Defaults to 64.
1 <= x <= 300Configuration options for reasoning models. Controls reasoning effort level (minimal, low, medium, high) and summary verbosity (auto, concise, detailed). Only applicable to specific reasoning-capable models.
When true, the gateway inspects request complexity and automatically routes between quantized, MoE, and dense variants within the requested model family.
Gateway extension. When true alongside auto_routing, the response metadata includes a compact serialized routing decision so you can inspect the inferred target tier even when no compatible sibling variant is available.
The maximum number of tokens the model can generate in its output. Sets an upper bound to control costs and response length. The actual output may be shorter if the model finishes naturally. Must be a positive integer.
1 <= x <= 9007199254740991Controls randomness in the model's output. Higher values (e.g., 1.5-2.0) make output more random and creative, lower values (e.g., 0.0-0.5) make it more focused and deterministic. Must be between 0 and 2.
0 <= x <= 2Nucleus sampling parameter. The model considers only the tokens with top_p cumulative probability. Lower values (e.g., 0.1) make output more focused, higher values (e.g., 0.9) allow more diversity. Must be between 0 and 1. Alternative to temperature.
0 <= x <= 1The number of most likely tokens to return at each position along with their log probabilities. Must be between 0 and 20. Useful for understanding model confidence and exploring alternative outputs.
0 <= x <= 20The truncation strategy for handling inputs that exceed the model's context window. 'auto' automatically truncates old messages to fit, 'disabled' returns an error if context is too long. Defaults to 'auto'.
auto, disabled Context management strategies to apply during response generation. Supports compaction, which summarizes older conversation history when the context exceeds a token threshold.
1Penalizes new tokens based on whether they appear in the text so far. Higher values increase the model's likelihood to talk about new topics.
-2 <= x <= 2Penalizes new tokens based on their frequency in the text so far. Higher values decrease the model's likelihood to repeat the same line verbatim.
-2 <= x <= 2Specifies the processing tier for serving the request. 'auto' lets the system choose, 'default' uses standard processing, 'flex' allows flexible scheduling for lower priority, 'priority' provides faster processing. Defaults to 'auto'.
auto, default, flex, priority A stable identifier used for caching prompts and context. Helps reduce costs and latency by reusing cached prompt processing. Useful for prompts that are used repeatedly with minor variations.
A stable identifier used to help detect and prevent policy violations across multiple requests. Helps the system identify patterns of abuse or misuse. Useful for compliance tracking and safety monitoring.
Output types that the model should generate. Defaults to ['text']. Include 'audio' to receive an audio rendering of the text response via TTS.
text, audio Audio output configuration. Optional when modalities includes 'audio'; defaults are applied if omitted.
DEPRECATED: A unique identifier for the end-user. Use safety_identifier for policy violation detection and prompt_cache_key for caching instead. This field is maintained for backwards compatibility.
Response
Successful response - returns either streaming events (SSE) or a complete response object (JSON) depending on the stream parameter
The overall status of the response generation. 'completed' means successfully finished, 'failed' means error occurred, 'in_progress' means currently processing, 'cancelled' means user-cancelled, 'queued' means waiting to start, 'incomplete' means partial completion.
completed, failed, in_progress, cancelled, queued, incomplete -9007199254740991 <= x <= 9007199254740991null
-9007199254740991 <= x <= 9007199254740991Input message item: A message with role and content. Use this for user, assistant, system, or developer turns in structured inputs.
- Input message item
- Output message item
- Output audio item
- File search call item
- Computer call item
- Computer call output item
- Web search call item
- Function call item
- Function call output item
- Reasoning item
- Image generation call item
- Code interpreter call item
- Local shell call item
- Local shell call output item
- Shell call item
- Shell call output item
- MCP list tools item
- MCP approval request item
- MCP approval response item
- MCP call item
- Custom tool call item
- Custom tool call output item
- Item reference item
- Compaction item
Tool choice mode: Selects how the model decides tool usage. Use none, auto, or required.
none, auto, required Function tool definition: Defines a callable function tool. Provide a tool name and parameters schema, with optional description and deferred loading.
auto, disabled auto, default, flex, priority 0 <= x <= 20 <= x <= 200 <= x <= 1