---
title: "Create async response"
method: POST
path: "/v1/async/responses"
tags: ["Async Jobs"]
---

# Create async response

`POST /v1/async/responses`

Submits a response request for asynchronous execution. Returns a job ID immediately
with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result.
Streaming is not supported for async requests.

## Headers

- `x-bf-async-job-result-ttl` integer
- `x-bf-async-webhook` string

## Request body

- ResponsesRequest
  - `model` string, required — Model in provider/model format
  - `input` union, required — Input - can be a string or array of messages
    - string
    - object[]
      - `id` string
      - `type` 'message' | 'file_search_call' | 'computer_call' | 'computer_call_output' | 'web_search_call' | 'web_fetch_call' | 'function_call' | 'function_call_output' | 'code_interpreter_call' | 'local_shell_call' | 'local_shell_call_output' | 'mcp_call' | 'custom_tool_call' | 'custom_tool_call_output' | 'image_generation_call' | 'mcp_list_tools' | 'mcp_approval_request' | 'mcp_approval_responses' | 'reasoning' | 'item_reference' | 'refusal'
      - `status` 'in_progress' | 'completed' | 'incomplete' | 'interpreting' | 'failed'
      - `role` 'assistant' | 'user' | 'system' | 'developer'
      - `content` union
        - string
        - object[]
          - `type` 'input_text' | 'input_image' | 'input_file' | 'input_audio' | 'output_text' | 'refusal' | 'reasoning_text', required
          - `file_id` string
          - `text` string
          - `signature` string
          - `image_url` string
          - `detail` string
          - `file_data` string
          - `file_url` string
          - `filename` string
          - `file_type` string
          - `input_audio` object
            - `format` 'mp3' | 'wav', required
            - `data` string, required
          - `annotations` object[]
            - `type` 'file_citation' | 'url_citation' | 'container_file_citation' | 'file_path'
            - `index` integer
            - `file_id` string
            - `text` string
            - `start_index` integer
            - `end_index` integer
            - `filename` string
            - `title` string
            - `url` string
            - `container_id` string
          - `logprobs` object[]
            - `bytes` integer[]
            - `logprob` number
            - `token` string
            - `top_logprobs` object[]
              - …
          - `refusal` string
          - `cache_control` CacheControl — Cache control settings for content blocks
            - `type` 'ephemeral'
            - `ttl` string — Time to live (e.g., "1m", "1h")
      - `call_id` string
      - `name` string
      - `arguments` string
      - `output` union — Tool call output. A plain string for function/custom/local-shell tool outputs, an array of content blocks for structured function tool outputs, or a computer-tool screenshot object for computer_call_output.
        - string
        - object[]
          - `type` 'input_text' | 'input_image' | 'input_file' | 'input_audio' | 'output_text' | 'refusal' | 'reasoning_text', required
          - `file_id` string
          - `text` string
          - `signature` string
          - `image_url` string
          - `detail` string
          - `file_data` string
          - `file_url` string
          - `filename` string
          - `file_type` string
          - `input_audio` object
            - `format` 'mp3' | 'wav', required
            - `data` string, required
          - `annotations` object[]
            - `type` 'file_citation' | 'url_citation' | 'container_file_citation' | 'file_path'
            - `index` integer
            - `file_id` string
            - `text` string
            - `start_index` integer
            - `end_index` integer
            - `filename` string
            - `title` string
            - `url` string
            - `container_id` string
          - `logprobs` object[]
            - `bytes` integer[]
            - `logprob` number
            - `token` string
            - `top_logprobs` object[]
              - …
          - `refusal` string
          - `cache_control` CacheControl — Cache control settings for content blocks
            - `type` 'ephemeral'
            - `ttl` string — Time to live (e.g., "1m", "1h")
        - object — Computer tool call output (computer_screenshot).
          - `type` 'computer_screenshot'
          - `file_id` string
          - `image_url` string
      - `action` object
      - `error` string
      - `queries` string[]
      - `results` object[]
      - `summary` object[]
        - `type` 'summary_text', required
        - `text` string, required
      - `encrypted_content` string
  - `fallbacks` string[]
  - `stream` boolean
  - `background` boolean
  - `conversation` string
  - `include` string[]
  - `instructions` string
  - `max_output_tokens` integer
  - `max_tool_calls` integer
  - `metadata` object
  - `parallel_tool_calls` boolean
  - `previous_response_id` string
  - `prompt_cache_key` string
  - `reasoning` object
    - `effort` 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh'
    - `generate_summary` string
    - `summary` 'auto' | 'concise' | 'detailed'
    - `max_tokens` integer
  - `safety_identifier` string
  - `service_tier` string
  - `stream_options` object
    - `include_obfuscation` boolean
  - `store` boolean
  - `temperature` number
  - `text` object
    - `format` object
      - `type` 'text' | 'json_schema' | 'json_object', required
      - `name` string
      - `schema` object
      - `strict` boolean
    - `verbosity` 'low' | 'medium' | 'high'
  - `top_logprobs` integer
  - `top_p` number
  - `tool_choice` union
    - 'none' | 'auto' | 'required'
    - object
      - `type` 'none' | 'auto' | 'any' | 'required' | 'function' | 'allowed_tools' | 'file_search' | 'web_search_preview' | 'computer_use_preview' | 'code_interpreter' | 'image_generation' | 'mcp' | 'custom', required
      - `mode` string
      - `name` string
      - `server_label` string
      - `tools` object[]
        - `type` 'function' | 'mcp' | 'image_generation', required
        - `name` string
        - `server_label` string
  - `tools` object[]
    - `type` 'function' | 'file_search' | 'computer_use_preview' | 'web_search' | 'web_fetch' | 'mcp' | 'code_interpreter' | 'image_generation' | 'local_shell' | 'custom' | 'web_search_preview' | 'memory' | 'tool_search', required
    - `name` string
    - `description` string
    - `cache_control` CacheControl — Cache control settings for content blocks
      - `type` 'ephemeral'
      - `ttl` string — Time to live (e.g., "1m", "1h")
    - `parameters` object
      - `type` string
      - `description` string
      - `required` string[]
      - `properties` object
      - `enum` string[]
      - `additionalProperties` boolean
    - `strict` boolean
    - `vector_store_ids` string[]
    - `filters` object
    - `max_num_results` integer
    - `ranking_options` object
    - `display_height` integer
    - `display_width` integer
    - `environment` string
    - `enable_zoom` boolean
    - `search_context_size` string
    - `user_location` object
    - `server_label` string
    - `server_url` string
    - `allowed_tools` object
    - `authorization` string
    - `connector_id` string
    - `headers` object
    - `require_approval` object
    - `server_description` string
    - `container` object
    - `background` string
    - `input_fidelity` string
    - `input_image_mask` object
    - `moderation` string
    - `output_compression` integer
    - `output_format` string
    - `partial_images` integer
    - `quality` string
    - `size` string
    - `format` object
  - `truncation` string

## Response `202`

Job accepted for processing

- AsyncJobResponse — Response returned when creating or polling an async job
  - `id` string, required — Unique identifier for the async job
  - `status` 'pending' | 'processing' | 'completed' | 'failed', required — The status of an async job
  - `expires_at` string, date-time — When the job result expires and will be cleaned up
  - `created_at` string, date-time, required — When the job was created
  - `completed_at` string, date-time — When the job completed (successfully or with failure)
  - `status_code` integer — HTTP status code of the completed operation
  - `result` unknown
  - `error` BifrostError — Error response from Bifrost
    - `event_id` string
    - `type` string
    - `is_bifrost_error` boolean
    - `status_code` integer
    - `error` ErrorField
      - `type` string
      - `code` string
      - `message` string
      - `param` string
      - `event_id` string
    - `extra_fields` BifrostErrorExtraFields
      - `provider` 'openai' | 'azure' | 'anthropic' | 'bedrock' | 'cohere' | 'vertex' | 'vllm' | 'mistral' | 'ollama' | 'groq' | 'sgl' | 'parasail' | 'perplexity' | 'replicate' | 'cerebras' | 'deepseek' | 'gemini' | 'openrouter' | 'elevenlabs' | 'huggingface' | 'nebius' | 'xai' | 'runway' | 'fireworks' — AI model provider identifier
      - `model_requested` string
      - `request_type` string

## Other responses

- `400` — Bad request
- `500` — Internal server error

---

[API](https://skmtc.net/getbifrost/apis/bifrost-api.md) · [All operations](https://skmtc.net/getbifrost/apis/bifrost-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbifrost/bifrost-api/versions/f8cab88f64ea/schema)
