---
title: "Get Async Chat Completion"
method: GET
path: "/async/chat/completions/{api_request}"
---

# Get Async Chat Completion

`GET /async/chat/completions/{api_request}`

Retrieve the response for a given asynchronous chat completion request.

## Path parameters

- `api_request` string, required

## Query parameters

- `local_mode` boolean

## Headers

- `x-client-name` string
- `x-client-env` string
- `x-user-id` string
- `x-usage-tier` string
- `x-request-time` string
- `x-created-at-epoch-seconds` string

## Response `200`

Successful Response

- AsyncApiChatCompletionsResponse
  - `id` string, required
  - `model` string, required
  - `created_at` integer, required
  - `started_at` integer, nullable
  - `completed_at` integer, nullable
  - `response` CompletionResponse
    - `id` string, required
    - `model` string, required
    - `created` integer, required
    - `usage` UsageInfo
      - `prompt_tokens` integer, required
      - `completion_tokens` integer, required
      - `total_tokens` integer, required
      - `search_context_size` string, nullable
      - `citation_tokens` integer, nullable
      - `num_search_queries` integer, nullable
      - `reasoning_tokens` integer, nullable
      - `cost` Cost, required
        - `input_tokens_cost` number, required
        - `output_tokens_cost` number, required
        - `reasoning_tokens_cost` number, nullable
        - `request_cost` number, nullable — Flat request cost for the chat completion. Present on completed (terminal) responses and omitted from the zero cost skeleton on interim streaming chunks.
        - `citation_tokens_cost` number, nullable
        - `search_queries_cost` number, nullable
        - `total_cost` number, required
    - `object` string
    - `choices` Choice[], required
      - `index` integer, required
      - `finish_reason` 'stop' | 'length', nullable
      - `message` ChatMessageOutput, required
        - `role` 'system' | 'user' | 'assistant' | 'tool', required — Chat roles enum
        - `content` union, required
          - string
          - union[]
            - union
              - …
        - `reasoning_steps` ReasoningStepOutput[], nullable
          - `thought` string, required
          - `type` string, nullable
          - `web_search` WebSearchStepDetails — Web search step details wrapper class
            - `search_results` ApiPublicSearchResult[], required
              - …
            - `search_keywords` string[], required
          - `fetch_url_content` FetchUrlContentStepDetails — Fetch url content step details wrapper class
            - `contents` ApiPublicSearchResult[], required
              - …
          - `execute_python` ExecutePythonStepDetails — Code generation step details wrapper class
            - `code` string, required
            - `result` string, required
        - `tool_calls` ToolCall[], nullable
          - `id` string, nullable
          - `type` 'function', nullable
          - `function` ToolCallFunction
            - `name` string, nullable
            - `arguments` string, nullable
        - `tool_call_id` string, nullable
      - `delta` ChatMessageOutput, required
        - `role` 'system' | 'user' | 'assistant' | 'tool', required — Chat roles enum
        - `content` union, required
          - string
          - union[]
            - union
              - …
        - `reasoning_steps` ReasoningStepOutput[], nullable
          - `thought` string, required
          - `type` string, nullable
          - `web_search` WebSearchStepDetails — Web search step details wrapper class
            - `search_results` ApiPublicSearchResult[], required
              - …
            - `search_keywords` string[], required
          - `fetch_url_content` FetchUrlContentStepDetails — Fetch url content step details wrapper class
            - `contents` ApiPublicSearchResult[], required
              - …
          - `execute_python` ExecutePythonStepDetails — Code generation step details wrapper class
            - `code` string, required
            - `result` string, required
        - `tool_calls` ToolCall[], nullable
          - `id` string, nullable
          - `type` 'function', nullable
          - `function` ToolCallFunction
            - `name` string, nullable
            - `arguments` string, nullable
        - `tool_call_id` string, nullable
    - `citations` string[], nullable
    - `search_results` ApiPublicSearchResult[], nullable
      - `title` string, required
      - `url` string, required
      - `date` string, nullable
      - `last_updated` string, nullable
      - `snippet` string
      - `source` 'web' | 'attachment'
    - `type` 'message' | 'info' | 'end_of_stream'
    - `status` 'PENDING' | 'COMPLETED'
  - `failed_at` integer, nullable
  - `error_message` string, nullable
  - `status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required — Status enum for async processing.

## Other responses

- `422` — Validation Error

---

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