{"openapi":"3.1.0","info":{"title":"Evidexa API","version":"1.0.0","description":"Paid, evidence-backed public social intelligence for AI agents. Agentic Wallet 2.12.1 can use async Jobs for user, topic, and product Intelligence so verification returns 202 before long Provider work and settlement happens only on success; it is not a native MCP client."},"tags":[{"name":"Discovery","description":"Free service and contract discovery"},{"name":"Paid intelligence","description":"x402-protected intelligence"},{"name":"Async jobs","description":"Free polling for verified async requests"}],"paths":{"/":{"get":{"operationId":"getLandingPage","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/docs":{"get":{"operationId":"getDocumentation","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/openapi.json":{"get":{"operationId":"getOpenApi","tags":["Discovery"],"responses":{"200":{"description":"OpenAPI 3.1 document for the active runtime","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/pricing":{"get":{"operationId":"getPricing","tags":["Discovery"],"responses":{"200":{"description":"Current prices, Credit limits, and active payment network","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/healthz":{"get":{"operationId":"getHealth","tags":["Discovery"],"responses":{"200":{"description":"Worker liveness"}}}},"/readyz":{"get":{"operationId":"getReadiness","tags":["Discovery"],"responses":{"200":{"description":"Provider is usable and above execution reserve"},"503":{"description":"Provider unavailable or underfunded"},"504":{"description":"Provider preflight timed out"}}}},"/.well-known/agent-skills/index.json":{"get":{"operationId":"getAgentSkills","tags":["Discovery"],"responses":{"200":{"description":"Machine-readable Agent Skills discovery","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/terms":{"get":{"operationId":"getTerms","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/privacy":{"get":{"operationId":"getPrivacy","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/acceptable-use":{"get":{"operationId":"getAcceptableUse","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/contact":{"get":{"operationId":"getContact","summary":"Open the public support and security contacts","tags":["Discovery"],"responses":{"200":{"description":"Dependency-free HTML discovery page","content":{"text/html":{"schema":{"type":"string"}}}},"429":{"description":"Request rate limit exceeded"},"503":{"description":"Request protection temporarily unavailable"}}}},"/v1/search/social":{"post":{"operationId":"search_social","summary":"Search and normalize up to 25 recent public X signals.","tags":["Paid intelligence"],"x-x402-price-usd":"0.01","x-x402-network":"eip155:8453","x-x402-payment-identifier":"optional","requestBody":{"required":true,"description":"Standard and paid retries use application/json. For compatibility, an unsigned x402 discovery request may send valid JSON as text/plain or without Content-Type; validation and preflight still run before 402. A bodyless discovery POST may receive only the 402 price challenge, but its paid retry must supply application/json and pass validation and preflight before settlement.","content":{"application/json":{"schema":{"type":"object","required":["query"],"additionalProperties":false,"properties":{"query":{"type":"string","minLength":2,"maxLength":256},"platforms":{"type":"array","minItems":1,"maxItems":1,"items":{"const":"x"},"default":["x"]},"time_range":{"type":"object","additionalProperties":false,"required":["from","to"],"description":"from must precede to; maximum span is 30 days","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"languages":{"type":"array","maxItems":3,"default":[],"items":{"type":"string","description":"BCP-47 language tag"}},"sort":{"enum":["relevance","recent"],"default":"relevance"},"limit":{"type":"integer","minimum":1,"maximum":25,"default":20},"safe_search":{"enum":["strict","moderate"],"default":"moderate"},"request_context":{"type":"object","additionalProperties":false,"properties":{"client_request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Correlation identifier; async mode requires at least 16 random characters and uses the value for deterministic Job recovery"},"response_mode":{"const":"sync","default":"sync","description":"search_social is synchronous"},"locale":{"type":"string","default":"en-US"},"max_latency_ms":{"type":"integer","minimum":3000,"maximum":45000,"default":30000,"description":"Client Provider-latency cap; it may lower but cannot raise the selected tool's 8/12/25/35-second server limit"},"allow_partial":{"type":"boolean","default":true}}}}}}}},"responses":{"200":{"description":"Evidence-backed Intelligence response; a repeated Payment ID may replay the original paid result without another settlement","headers":{"PAYMENT-RESPONSE":{"description":"Authoritative x402 settlement receipt","schema":{"type":"string"}},"X-Evidexa-Idempotent-Replay":{"description":"true when this is a stored synchronous no-charge replay","schema":{"type":"string","const":"true"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for synchronous retry state","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntelligenceResponse"}}}},"400":{"description":"Invalid request"},"402":{"description":"x402 payment is required, the supplied proof is invalid, or settlement failed; inspect the standard x402 response header for protocol details","headers":{"PAYMENT-REQUIRED":{"description":"Present when payment is required or the supplied proof is invalid","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Present when settlement was attempted and failed","schema":{"type":"string"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for a protected paid retry","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Policy blocked"},"409":{"description":"Identifier conflict, concurrent duplicate, or indeterminate prior payment outcome","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/AsyncJobLookupError"}]}}}},"415":{"description":"Unsupported media type; any request carrying a payment proof must use application/json"},"429":{"description":"Request rate limit exceeded before payment"},"503":{"description":"Paid work is unavailable before payment: EVIDEXA-503-TRAFFIC_PAUSED, EVIDEXA-503-OPERATIONS_STATE_UNAVAILABLE, EVIDEXA-503-PROVIDER_AUTHENTICATION_FAILED, EVIDEXA-503-PROVIDER_RATE_LIMITED, launch-budget exhaustion, Provider unavailability, or request-protection failure"},"504":{"description":"Provider or analysis timeout"}}}},"/v1/intelligence/user":{"post":{"operationId":"user_intelligence","summary":"Evidence-backed intelligence for one public X account.","tags":["Paid intelligence"],"x-x402-price-usd":"0.02","x-x402-network":"eip155:8453","x-x402-payment-identifier":"optional","x-evidexa-response-modes":["sync","async"],"requestBody":{"required":true,"description":"Standard and paid retries use application/json. For compatibility, an unsigned x402 discovery request may send valid JSON as text/plain or without Content-Type; validation and preflight still run before 402. A bodyless discovery POST may receive only the 402 price challenge, but its paid retry must supply application/json and pass validation and preflight before settlement.","content":{"application/json":{"schema":{"type":"object","required":["account"],"additionalProperties":false,"properties":{"account":{"type":"string","description":"X handle or public profile URL"},"lookback_days":{"type":"integer","minimum":1,"maximum":30,"default":30},"languages":{"type":"array","maxItems":3,"default":[],"items":{"type":"string","description":"BCP-47 language tag"}},"max_items":{"type":"integer","minimum":1,"maximum":50,"default":40},"include_network_signals":{"const":false,"default":false},"request_context":{"type":"object","additionalProperties":false,"properties":{"client_request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Correlation identifier; async mode requires at least 16 random characters and uses the value for deterministic Job recovery"},"response_mode":{"enum":["sync","async"],"default":"sync","description":"Use async for a verified 202 response followed by Job polling and success-only settlement"},"locale":{"type":"string","default":"en-US"},"max_latency_ms":{"type":"integer","minimum":3000,"maximum":45000,"default":30000,"description":"Client Provider-latency cap; it may lower but cannot raise the selected tool's 8/12/25/35-second server limit"},"allow_partial":{"type":"boolean","default":true}}}},"allOf":[{"if":{"properties":{"request_context":{"required":["response_mode"],"properties":{"response_mode":{"const":"async"}}}},"required":["request_context"]},"then":{"properties":{"request_context":{"required":["client_request_id"],"properties":{"client_request_id":{"minLength":16}}}}}}]}}}},"responses":{"200":{"description":"Synchronous Intelligence response or a completed async Job recovery","headers":{"PAYMENT-RESPONSE":{"description":"Authoritative x402 settlement receipt","schema":{"type":"string"}},"X-Evidexa-Idempotent-Replay":{"description":"true when this is a stored synchronous no-charge replay","schema":{"type":"string","const":"true"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for synchronous retry state","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/IntelligenceResponse"},{"$ref":"#/components/schemas/AsyncIntelligenceJob"}]}}}},"202":{"description":"Payment authorization verified and an async Intelligence Job queued; no settlement has occurred","headers":{"Location":{"description":"Opaque Job polling URL","schema":{"type":"string","format":"uri"}},"Retry-After":{"description":"Minimum polling delay in seconds","schema":{"type":"string","const":"2"}},"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"400":{"description":"Invalid request"},"402":{"description":"x402 payment is required, the supplied proof is invalid, or settlement failed; inspect the standard x402 response header for protocol details","headers":{"PAYMENT-REQUIRED":{"description":"Present when payment is required or the supplied proof is invalid","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Present when settlement was attempted and failed","schema":{"type":"string"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for a protected paid retry","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Policy blocked"},"409":{"description":"Identifier conflict, concurrent duplicate, or indeterminate prior payment outcome","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/AsyncJobLookupError"}]}}}},"415":{"description":"Unsupported media type; any request carrying a payment proof must use application/json"},"429":{"description":"Request rate limit exceeded before payment"},"503":{"description":"Paid work is unavailable before payment: EVIDEXA-503-TRAFFIC_PAUSED, EVIDEXA-503-OPERATIONS_STATE_UNAVAILABLE, EVIDEXA-503-PROVIDER_AUTHENTICATION_FAILED, EVIDEXA-503-PROVIDER_RATE_LIMITED, launch-budget exhaustion, Provider unavailability, or request-protection failure"},"504":{"description":"Provider or analysis timeout"}}}},"/v1/intelligence/topic":{"post":{"operationId":"topic_intelligence","summary":"Trends, themes, controversies, and sources for one topic.","tags":["Paid intelligence"],"x-x402-price-usd":"0.05","x-x402-network":"eip155:8453","x-x402-payment-identifier":"optional","x-evidexa-response-modes":["sync","async"],"requestBody":{"required":true,"description":"Standard and paid retries use application/json. For compatibility, an unsigned x402 discovery request may send valid JSON as text/plain or without Content-Type; validation and preflight still run before 402. A bodyless discovery POST may receive only the 402 price challenge, but its paid retry must supply application/json and pass validation and preflight before settlement.","content":{"application/json":{"schema":{"type":"object","required":["topic"],"additionalProperties":false,"properties":{"topic":{"type":"string","minLength":2,"maxLength":256},"lookback_days":{"type":"integer","minimum":1,"maximum":14,"default":14},"platforms":{"type":"array","minItems":1,"maxItems":1,"items":{"const":"x"},"default":["x"]},"languages":{"type":"array","maxItems":3,"default":[],"items":{"type":"string","description":"BCP-47 language tag"}},"focus":{"type":"array","maxItems":8,"default":[],"items":{"type":"string","minLength":1,"maxLength":64}},"max_sources":{"type":"integer","minimum":20,"maximum":100,"default":80},"request_context":{"type":"object","additionalProperties":false,"properties":{"client_request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Correlation identifier; async mode requires at least 16 random characters and uses the value for deterministic Job recovery"},"response_mode":{"enum":["sync","async"],"default":"sync","description":"Use async for a verified 202 response followed by Job polling and success-only settlement"},"locale":{"type":"string","default":"en-US"},"max_latency_ms":{"type":"integer","minimum":3000,"maximum":45000,"default":30000,"description":"Client Provider-latency cap; it may lower but cannot raise the selected tool's 8/12/25/35-second server limit"},"allow_partial":{"type":"boolean","default":true}}}},"allOf":[{"if":{"properties":{"request_context":{"required":["response_mode"],"properties":{"response_mode":{"const":"async"}}}},"required":["request_context"]},"then":{"properties":{"request_context":{"required":["client_request_id"],"properties":{"client_request_id":{"minLength":16}}}}}}]}}}},"responses":{"200":{"description":"Synchronous Intelligence response or a completed async Job recovery","headers":{"PAYMENT-RESPONSE":{"description":"Authoritative x402 settlement receipt","schema":{"type":"string"}},"X-Evidexa-Idempotent-Replay":{"description":"true when this is a stored synchronous no-charge replay","schema":{"type":"string","const":"true"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for synchronous retry state","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/IntelligenceResponse"},{"$ref":"#/components/schemas/AsyncIntelligenceJob"}]}}}},"202":{"description":"Payment authorization verified and an async Intelligence Job queued; no settlement has occurred","headers":{"Location":{"description":"Opaque Job polling URL","schema":{"type":"string","format":"uri"}},"Retry-After":{"description":"Minimum polling delay in seconds","schema":{"type":"string","const":"2"}},"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"400":{"description":"Invalid request"},"402":{"description":"x402 payment is required, the supplied proof is invalid, or settlement failed; inspect the standard x402 response header for protocol details","headers":{"PAYMENT-REQUIRED":{"description":"Present when payment is required or the supplied proof is invalid","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Present when settlement was attempted and failed","schema":{"type":"string"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for a protected paid retry","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Policy blocked"},"409":{"description":"Identifier conflict, concurrent duplicate, or indeterminate prior payment outcome","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/AsyncJobLookupError"}]}}}},"415":{"description":"Unsupported media type; any request carrying a payment proof must use application/json"},"429":{"description":"Request rate limit exceeded before payment"},"503":{"description":"Paid work is unavailable before payment: EVIDEXA-503-TRAFFIC_PAUSED, EVIDEXA-503-OPERATIONS_STATE_UNAVAILABLE, EVIDEXA-503-PROVIDER_AUTHENTICATION_FAILED, EVIDEXA-503-PROVIDER_RATE_LIMITED, launch-budget exhaustion, Provider unavailability, or request-protection failure"},"504":{"description":"Provider or analysis timeout"}}}},"/v1/intelligence/product":{"post":{"operationId":"product_intelligence","summary":"Evidence-backed product feedback, pain points, and competitor signals.","tags":["Paid intelligence"],"x-x402-price-usd":"0.10","x-x402-network":"eip155:8453","x-x402-payment-identifier":"optional","x-evidexa-response-modes":["sync","async"],"requestBody":{"required":true,"description":"Standard and paid retries use application/json. For compatibility, an unsigned x402 discovery request may send valid JSON as text/plain or without Content-Type; validation and preflight still run before 402. A bodyless discovery POST may receive only the 402 price challenge, but its paid retry must supply application/json and pass validation and preflight before settlement.","content":{"application/json":{"schema":{"type":"object","required":["product"],"additionalProperties":false,"properties":{"product":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":120},"url":{"type":"string","format":"uri","pattern":"^https://"}}},"competitors":{"type":"array","maxItems":5,"items":{"type":"string","minLength":1,"maxLength":120},"default":[]},"lookback_days":{"type":"integer","minimum":1,"maximum":30,"default":30},"focus":{"type":"array","maxItems":4,"default":[],"items":{"enum":["bugs","pricing","feature_requests","switching"]}},"languages":{"type":"array","maxItems":3,"default":[],"items":{"type":"string","description":"BCP-47 language tag"}},"max_sources":{"type":"integer","minimum":20,"maximum":150,"default":120},"request_context":{"type":"object","additionalProperties":false,"properties":{"client_request_id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","description":"Correlation identifier; async mode requires at least 16 random characters and uses the value for deterministic Job recovery"},"response_mode":{"enum":["sync","async"],"default":"sync","description":"Use async for a verified 202 response followed by Job polling and success-only settlement"},"locale":{"type":"string","default":"en-US"},"max_latency_ms":{"type":"integer","minimum":3000,"maximum":45000,"default":30000,"description":"Client Provider-latency cap; it may lower but cannot raise the selected tool's 8/12/25/35-second server limit"},"allow_partial":{"type":"boolean","default":true}}}},"allOf":[{"if":{"properties":{"request_context":{"required":["response_mode"],"properties":{"response_mode":{"const":"async"}}}},"required":["request_context"]},"then":{"properties":{"request_context":{"required":["client_request_id"],"properties":{"client_request_id":{"minLength":16}}}}}}]}}}},"responses":{"200":{"description":"Synchronous Intelligence response or a completed async Job recovery","headers":{"PAYMENT-RESPONSE":{"description":"Authoritative x402 settlement receipt","schema":{"type":"string"}},"X-Evidexa-Idempotent-Replay":{"description":"true when this is a stored synchronous no-charge replay","schema":{"type":"string","const":"true"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for synchronous retry state","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/IntelligenceResponse"},{"$ref":"#/components/schemas/AsyncIntelligenceJob"}]}}}},"202":{"description":"Payment authorization verified and an async Intelligence Job queued; no settlement has occurred","headers":{"Location":{"description":"Opaque Job polling URL","schema":{"type":"string","format":"uri"}},"Retry-After":{"description":"Minimum polling delay in seconds","schema":{"type":"string","const":"2"}},"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"400":{"description":"Invalid request"},"402":{"description":"x402 payment is required, the supplied proof is invalid, or settlement failed; inspect the standard x402 response header for protocol details","headers":{"PAYMENT-REQUIRED":{"description":"Present when payment is required or the supplied proof is invalid","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Present when settlement was attempted and failed","schema":{"type":"string"}},"X-Evidexa-Retry-Entitlement":{"description":"Opaque support reference for a protected paid retry","schema":{"type":"string","pattern":"^evidexa_ent_[a-f0-9]{24}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Policy blocked"},"409":{"description":"Identifier conflict, concurrent duplicate, or indeterminate prior payment outcome","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/AsyncJobLookupError"}]}}}},"415":{"description":"Unsupported media type; any request carrying a payment proof must use application/json"},"429":{"description":"Request rate limit exceeded before payment"},"503":{"description":"Paid work is unavailable before payment: EVIDEXA-503-TRAFFIC_PAUSED, EVIDEXA-503-OPERATIONS_STATE_UNAVAILABLE, EVIDEXA-503-PROVIDER_AUTHENTICATION_FAILED, EVIDEXA-503-PROVIDER_RATE_LIMITED, launch-budget exhaustion, Provider unavailability, or request-protection failure"},"504":{"description":"Provider or analysis timeout"}}}},"/v1/intelligence/jobs/{job_id}":{"get":{"operationId":"getAsyncIntelligenceJob","summary":"Poll or recover an async Intelligence Job","tags":["Async jobs"],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}],"responses":{"200":{"description":"Job succeeded and settled","headers":{"PAYMENT-RESPONSE":{"description":"Authoritative x402 settlement receipt","schema":{"type":"string"}},"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"202":{"description":"Payment authorization verified and an async Intelligence Job queued; no settlement has occurred","headers":{"Location":{"description":"Opaque Job polling URL","schema":{"type":"string","format":"uri"}},"Retry-After":{"description":"Minimum polling delay in seconds","schema":{"type":"string","const":"2"}},"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"403":{"description":"Background policy failure; no settlement","headers":{"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"404":{"description":"EVIDEXA-404-ASYNC_JOB_NOT_FOUND: Job ID is unknown or expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncJobLookupError"}}}},"409":{"description":"EVIDEXA-409-PAYMENT_OUTCOME_UNKNOWN: settlement outcome is ambiguous; do not pay again and reconcile manually","headers":{"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"500":{"description":"Background execution failed before settlement","headers":{"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"502":{"description":"Provider execution failed before settlement","headers":{"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}},"504":{"description":"Provider execution timed out before settlement","headers":{"X-Evidexa-Job-Id":{"description":"Opaque async Intelligence Job identifier","schema":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncIntelligenceJob"}}}}}}}},"components":{"schemas":{"ErrorResponse":{"type":"object","additionalProperties":false,"required":["request_id","error","billing"],"properties":{"request_id":{"type":"string","pattern":"^evidexa_req_[A-Za-z0-9_-]+$"},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","retry_after_ms","details"],"properties":{"code":{"type":"string","pattern":"^EVIDEXA-[0-9]{3}-"},"message":{"type":"string"},"retryable":{"type":"boolean"},"retry_after_ms":{"type":["integer","null"],"minimum":0},"details":{"type":["object","null"],"additionalProperties":true}}},"billing":{"type":"object","additionalProperties":false,"required":["charged","retry_entitlement"],"properties":{"charged":{"type":"boolean"},"retry_entitlement":{"type":["string","null"]}}}}},"AsyncJobLookupError":{"type":"object","additionalProperties":false,"required":["request_id","error","billing"],"properties":{"request_id":{"type":"string","pattern":"^evidexa_req_[A-Za-z0-9_-]+$"},"job_id":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","retry_after_ms","details"],"properties":{"code":{"type":"string","pattern":"^EVIDEXA-(404|409)-"},"message":{"type":"string"},"retryable":{"type":"boolean"},"retry_after_ms":{"type":["integer","null"],"minimum":0},"details":{"type":["object","null"],"additionalProperties":true}}},"billing":{"type":"object","additionalProperties":false,"required":["charged","payment_status"],"properties":{"charged":{"type":"boolean"},"payment_status":{"const":"not_started"}}}}},"AsyncIntelligenceJob":{"type":"object","additionalProperties":false,"required":["request_id","job_id","status","result_url","expires_at","billing"],"properties":{"request_id":{"type":"string","pattern":"^evidexa_req_[A-Za-z0-9_-]+$"},"job_id":{"type":"string","pattern":"^evidexa_job_[a-f0-9]{64}$"},"status":{"enum":["queued","running","succeeded","failed","outcome_unknown"]},"result_url":{"type":"string","format":"uri"},"expires_at":{"type":"string","format":"date-time"},"result":{"$ref":"#/components/schemas/IntelligenceResponse"},"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","retry_after_ms","details"],"properties":{"code":{"type":"string","pattern":"^EVIDEXA-[0-9]{3}-"},"message":{"type":"string"},"retryable":{"type":"boolean"},"retry_after_ms":{"type":["integer","null"],"minimum":0},"details":{"type":["object","null"],"additionalProperties":true}}},"billing":{"type":"object","additionalProperties":false,"required":["charged","payment_status"],"properties":{"charged":{"type":["boolean","null"]},"payment_status":{"enum":["authorized","settled","canceled","outcome_unknown"]}}}}},"IntelligenceResponse":{"type":"object","additionalProperties":false,"required":["request_id","tool","schema_version","status","generated_at","data_window","summary","data","insights","sources","coverage","warnings","billing","meta"],"properties":{"request_id":{"type":"string","pattern":"^evidexa_req_[A-Za-z0-9_-]+$"},"client_request_id":{"type":"string","minLength":1,"maxLength":128},"tool":{"enum":["search_social","user_intelligence","topic_intelligence","product_intelligence"]},"schema_version":{"const":"2026-08-14"},"status":{"enum":["ok","partial","no_data"]},"generated_at":{"type":"string","format":"date-time"},"data_window":{"type":"object","additionalProperties":false,"required":["from","to"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}}},"summary":{"type":"string"},"data":{"type":"object","additionalProperties":true},"insights":{"type":"array","items":{"type":"object","required":["id","type","statement","confidence","evidence_source_ids"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"statement":{"type":"string"},"confidence":{"type":"object","additionalProperties":true},"evidence_source_ids":{"type":"array","items":{"type":"string"}}}}},"sources":{"type":"array","items":{"type":"object","required":["id","platform","type","external_id","url","published_at","retrieved_at","author_external_id","title","excerpt"],"properties":{"id":{"type":"string"},"platform":{"const":"x"},"type":{"enum":["post","profile"]},"external_id":{"type":"string"},"url":{"type":"string","format":"uri"},"published_at":{"type":["string","null"],"format":"date-time"},"retrieved_at":{"type":"string","format":"date-time"},"author_external_id":{"type":["string","null"]},"title":{"type":["string","null"]},"excerpt":{"type":"null"}}}},"coverage":{"type":"object","required":["level","items_examined","items_used","providers_attempted","providers_succeeded","languages"],"properties":{"level":{"enum":["low","medium","high"]},"items_examined":{"type":"integer","minimum":0},"items_used":{"type":"integer","minimum":0},"providers_attempted":{"type":"integer","minimum":0},"providers_succeeded":{"type":"integer","minimum":0},"languages":{"type":"array","items":{"type":"string"}}}},"warnings":{"type":"array","items":{"type":"string"}},"billing":{"type":"object","required":["price_usd","network","payment_status","payment_id","settlement_reference"],"properties":{"price_usd":{"type":"string","pattern":"^[0-9]+\\.[0-9]{2}$"},"network":{"enum":["eip155:84532","eip155:8453"]},"payment_status":{"enum":["settlement_pending","settled"]},"payment_id":{"type":["string","null"]},"settlement_reference":{"type":["string","null"]}}},"meta":{"type":"object","required":["cache","processing_ms","provider_credits_used"],"properties":{"cache":{"enum":["hit","miss"]},"processing_ms":{"type":"integer","minimum":0},"provider_credits_used":{"type":"integer","minimum":0,"description":"Provider Credits newly consumed by this invocation; always 0 on a derived cache hit."}}}}}}}}