Agent API `/v1/responses` consistently times out with zero bytes while `/v1/models` and `/chat/completions` are healthy

Pre-flight checklist

  • This is about the Perplexity API, not the Perplexity app, Comet, or web UI.
  • I have removed API keys, secrets, and private data.
  • I have included enough information for someone else to reproduce the issue.

Bug type

  • Error response or failed request
  • Incorrect or unexpected model output
  • Missing, invalid, or stale citations/search results
  • Streaming issue
  • Structured output or JSON schema issue
  • SDK issue
  • Billing, credits, or rate limit issue
  • Dashboard, API key, or auth issue
  • Other API bug

Affected API area

  • Agent API
  • Search API
  • Sonar API
  • Embeddings API
  • SDKs
  • Dashboard, API keys, or auth
  • Billing or credits
  • Not sure

Summary

Agent API /v1/responses is consistently timing out with zero response bytes, while other Perplexity API endpoints are healthy. This appears isolated to Agent API response generation, not auth or general connectivity.

Expected behavior

POST /v1/responses should return a normal Agent API response or an explicit HTTP error response.

Actual behavior

The TCP connection succeeds quickly, but no response headers/body are received before the client timeout. Curl reports HTTP code 000 and zero bytes received.

Minimal reproduction

curl -m 30 https://api.perplexity.ai/v1/responses \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-3-flash-preview",
    "input": "Return exactly: pong",
    "max_output_tokens": 32
  }'

Also reproduced with:

{
  "model": "openai/gpt-5.1",
  "input": "Return exactly: pong",
  "max_output_tokens": 32
}

And with a production-shaped Agent API request:

{
  "model": "google/gemini-3-flash-preview",
  "input": "Find one current source for today's date and return exactly one short sentence.",
  "tools": [
    { "type": "web_search", "search_context_size": "high" },
    { "type": "fetch_url", "max_urls": 1 }
  ],
  "max_steps": 4,
  "max_output_tokens": 128
}

Response or error

For minimal `google/gemini-3-flash-preview` Agent API request:

curl: (28) Operation timed out after 30004 milliseconds with 0 bytes received
agent_minimal_metrics=000 0.024262 0.000000 30.004658

Earlier probes showed the same pattern:

curl: (28) Operation timed out after 20006 milliseconds with 0 bytes received
HTTP code: 000
time_connect: ~0.041s
time_starttransfer: 0
time_total: ~20.0s

Production-shaped request:

curl: (28) Operation timed out after 35003 milliseconds with 0 bytes received
prod_shape_metrics=000 0.019721 0.000000 35.003952

Control checks from the same machine/key succeeded:

GET https://api.perplexity.ai/v1/models
HTTP 200
~48-73ms

POST https://api.perplexity.ai/chat/completions
model: sonar
HTTP 200
~1.7-1.9s
returned expected "pong"

Request details

  • Endpoint: POST https://api.perplexity.ai/v1/responses
  • Model or preset: google/gemini-3-flash-preview; also reproduced with openai/gpt-5.1
  • SDK/language/version: Reproduced with curl. Production issue was originally observed via the Perplexity Python SDK calling client.responses.create(...).
  • Request ID: Not available because no response headers/body are received before timeout.
  • Approximate time and timezone: June 18, 2026, roughly 1:45-2:00 PM America/Toronto / 17:45-18:00 UTC.
  • Consistent or intermittent: Consistent across repeated /v1/responses probes during this window.

Additional context

This is blocking a production fact-check verification pipeline that uses Agent API /v1/responses with google/gemini-3-flash-preview, web_search, and fetch_url. We paused the pipeline after repeated Lambda/client timeouts.

The issue does not look like a bad API key or general network failure: /v1/models responds quickly with HTTP 200, and legacy /chat/completions with sonar also responds successfully.

Hey Adam,

There was a now-resolved incident which caused this for a few requests. You shouldn’t be seeing any more timeouts going forward, but please let us know if you encounter further issues.