POST
/
async
/
chat
/
completions
Create Async Chat Completion
curl --request POST \
  --url https://api.perplexity.ai/async/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "request": {
    "model": "sonar-deep-research",
    "messages": [
      {
        "role": "system",
        "content": "Be precise and concise."
      },
      {
        "role": "user",
        "content": "How many stars are there in our galaxy?"
      }
    ],
    "search_mode": "web",
    "reasoning_effort": "low",
    "max_tokens": 123,
    "temperature": 0.2,
    "top_p": 0.9,
    "search_domain_filter": [
      "<any>"
    ],
    "return_images": false,
    "return_related_questions": false,
    "search_recency_filter": "<string>",
    "search_after_date_filter": "<string>",
    "search_before_date_filter": "<string>",
    "last_updated_after_filter": "<string>",
    "last_updated_before_filter": "<string>",
    "top_k": 0,
    "stream": false,
    "presence_penalty": 0,
    "frequency_penalty": 0,
    "response_format": {},
    "disable_search": false,
    "enable_search_classifier": false,
    "web_search_options": {
      "search_context_size": "high"
    },
    "media_response": {
      "overrides": {
        "return_videos": true,
        "return_images": true
      }
    }
  }
}'
{
  "id": "<string>",
  "model": "<string>",
  "created_at": 123,
  "started_at": 123,
  "completed_at": 123,
  "response": {
    "id": "<string>",
    "model": "<string>",
    "created": 123,
    "usage": {
      "prompt_tokens": 123,
      "completion_tokens": 123,
      "total_tokens": 123,
      "search_context_size": "<string>",
      "citation_tokens": 123,
      "num_search_queries": 123,
      "reasoning_tokens": 123
    },
    "object": "chat.completion",
    "choices": [
      {
        "index": 123,
        "finish_reason": "stop",
        "message": {
          "content": "<string>",
          "role": "system"
        }
      }
    ],
    "search_results": [
      {
        "title": "<string>",
        "url": "<string>",
        "date": "2023-12-25"
      }
    ],
    "videos": [
      {
        "url": "<string>",
        "thumbnail_url": "<string>",
        "thumbnail_width": 123,
        "thumbnail_height": 123,
        "duration": 123
      }
    ]
  },
  "failed_at": 123,
  "error_message": "<string>",
  "status": "CREATED"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
request
object
required

Response

200 - application/json

Successfully created async chat completion job.

id
string
required

Unique identifier for the asynchronous job.

model
string
required

The model used for the request.

created_at
integer
required

Unix timestamp of when the job was created.

status
enum<string>
required

The status of an asynchronous processing job.

Available options:
CREATED,
IN_PROGRESS,
COMPLETED,
FAILED
started_at
integer | null

Unix timestamp of when processing started.

completed_at
integer | null

Unix timestamp of when processing completed.

response
object

The actual chat completion response, available when status is COMPLETED.

failed_at
integer | null

Unix timestamp of when processing failed.

error_message
string | null

Error message if the job failed.