Error reference
Every error body has a code, a plain message, the request_id and a remedies list. The docs field links to the code's entry on this page.
invalid_request (400)
A parameter is missing or malformed. The message names the parameter. Fix the request and send it again.
unauthorized (401)
The request carried an API key that is malformed, revoked or lacks the scope the route needs. Every data route also works without a key: drop the Authorization header to use the keyless limits. Keys are not issued publicly yet. See API keys.
payment_required (402)
Only the host agent.financial.md answers this. A priced route there needs a payment: the PAYMENT-REQUIRED header carries the price and the terms. Pay with x402 and send the call again, or call the same route on api.financial.md without a key, within the daily limits. See Pricing.
unknown_company (404)
No company matched the company parameter. Try the CIK (cik:320193) or search GET /v1/companies?q=. Coverage is SEC filers listed on a US exchange today. Delisted companies are not loaded yet.
unknown_concept (404)
The concept or ratio id is not in the company's template. GET /v1/company/metrics lists the ids.
not_found (404)
The path, filing or proof id does not exist. Check the accession number or the proof id.
not_covered (404)
The company is known but this dataset is not available for it. The body lists available_datasets. A filer that reports under IFRS has filings but no standardized statements yet.
rate_limited (429)
The daily limit for this class of route is used up. Wait the number of seconds in Retry-After. The limits are on the docs page. Keys with higher limits are not issued yet.
upstream_unavailable (503)
The API could not reach its database. Retry after a short wait. The request_id helps us find the call.