Data API / Exa / Agent
Submit an asynchronous research Agent run.
Submit an asynchronous research task. query and Idempotency-Key are required. Configure effort, outputSchema, dataSources and previousRunId as needed. HTTP 202 returns a job; poll get_exa_agent_run until completed, failed or cancelled. Completed output contains text, structured data and grounding. Reusing an Idempotency-Key returns the existing job. Job pricing fields are provider metadata, not Felo billing records.
Параметры
заголовок
Idempotency-KeystringОбязательныйUnique key (1 to 191 characters) that makes the submit idempotent. Re-submitting with the same key and request fingerprint returns the original run.
Тело запроса
querystringОбязательныйThe natural-language research query.
outputSchemaobjectНеобязательныйJSON Schema used to validate the structured output.
inputobjectНеобязательныйRow-processing input: rows to process and exclusions.
dataarrayНеобязательныйInput rows for the run.
exclusionНеобязательныйItems to exclude from processing.
effortstringНеобязательныйCompute/depth tier for the run.
previousRunIdstringНеобязательныйContinue from a previously completed run.
dataSourcesarrayНеобязательныйThird-party data sources (Exa Connect) the Agent is granted access to.
Пример запроса
curl -X POST "https://openapi.felo.ai/v1/beta/exa/agent/runs" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Idempotency-Key: <string>" \
-H "Content-Type: application/json" \
-d '{
"query": "<string>",
"outputSchema": {},
"input": {},
"effort": "<string>",
"previousRunId": "<string>",
"dataSources": "<string>"
}'Ответ
Поля ответа
idstringНеобязательныйJob identifier. Use it with the corresponding Felo polling endpoint.
objectstringНеобязательныйAlways "integration_async_job".
endpointstringНеобязательныйProvider operation identifier stored with the job. This metadata is not a Felo polling URL; use the documented Felo job path or Location header.
statusstringНеобязательныйДопустимые значения: queued · running · completed · failed · cancelled
Customer-facing lifecycle status. queued and running are non-terminal; completed, failed, and cancelled are terminal.
createdAtstringНеобязательныйWhen the job was accepted.
completedAtНеобязательныйWhen the job reached a terminal status. Null while the job is still queued or running.
pricingobjectНеобязательныйcurrencystringНеобязательныйauthorizedMicrosUSDintegerНеобязательныйProvider authorization metadata in micro-USD. This is not a Felo credit hold or billing record.
finalMicrosUSDНеобязательныйProvider settlement metadata in micro-USD, nullable before settlement. This is not the Felo charge.
billingModestringНеобязательныйProvider job billing mode. Felo charges follow Felo billing records.
outputНеобязательныйJob result payload. Present only once status is completed. For Agent Runs this is the structured research result.
outputExpiredbooleanНеобязательныйTrue when the result has been retained past its retention window and is no longer retrievable.
errorНеобязательныйPresent when status is failed. Null otherwise.