{"contract_version":"2026-08-26","content_type":"application/problem+json","errors":[{"code":"invalid_api_key","http_status":401,"title":"Invalid API key","detail":"Provide a valid API key using the Authorization: Bearer header.","retryable":false,"charged":false},{"code":"invalid_field","http_status":400,"title":"Invalid include","detail":"One or more requested fields do not exist.","retryable":false,"charged":false},{"code":"field_not_available_for_capability","http_status":400,"title":"Field not available","detail":"A known field is not exposed by this capability. Use the domain endpoint and select its product.","retryable":false,"charged":false},{"code":"invalid_product","http_status":400,"title":"Invalid product","detail":"One or more requested data products do not exist.","retryable":false,"charged":false},{"code":"field_not_in_product","http_status":400,"title":"Field not selected","detail":"One or more included fields belong to a product that was not selected.","retryable":false,"charged":false},{"code":"product_without_visible_fields","http_status":400,"title":"Product has no visible fields","detail":"Every selected product must expose at least one field when include is supplied.","retryable":false,"charged":false},{"code":"max_credits_exceeded","http_status":400,"title":"Maximum credits exceeded","detail":"The selected products can cost more than the caller-approved maximum.","retryable":false,"charged":false},{"code":"invalid_filter","http_status":400,"title":"Invalid filter","detail":"One or more requested filters are not available in the Semantil catalog.","retryable":false,"charged":false},{"code":"invalid_request","http_status":400,"title":"Invalid request","detail":"The request parameters could not be parsed.","retryable":false,"charged":false},{"code":"invalid_exclude_domains","http_status":400,"title":"Invalid exclude_domains","detail":"exclude_domains must be a valid JSON array containing at most 20,000 domains or HTTP(S) URLs.","retryable":false,"charged":false},{"code":"upgrade_required","http_status":403,"title":"Upgrade required","detail":"One or more requested fields are not available on the current plan.","retryable":false,"charged":false},{"code":"insufficient_credits","http_status":403,"title":"Insufficient credits","detail":"This request requires more credits than are currently available.","retryable":false,"charged":false},{"code":"api_key_restricted","http_status":403,"title":"API key restricted","detail":"This API key is not permitted to perform the requested action.","retryable":false,"charged":false},{"code":"domain_not_found","http_status":200,"title":"Domain not found","detail":"Domain lookup returns found=false and does not spend credits when no Semantil record is found.","retryable":false,"charged":false},{"code":"lookalike_not_available","http_status":200,"title":"Lookalike not available","detail":"Lookalike returns found=false and does not spend credits when no candidate set is available for the seed.","retryable":false,"charged":false},{"code":"unsupported_media_type","http_status":415,"title":"Unsupported media type","detail":"POST /api/search requires Content-Type: application/json.","retryable":false,"charged":false},{"code":"request_too_large","http_status":413,"title":"Request too large","detail":"The JSON request body exceeds the 5 MB limit.","retryable":false,"charged":false},{"code":"rate_limited","http_status":429,"title":"Rate limited","detail":"Too many requests were sent in a short time window. Retry after the period returned by the API.","retryable":true,"charged":false},{"code":"exclusion_filter_mismatch","http_status":503,"title":"Exclusion verification failed","detail":"The search was not returned or charged because exclusion verification detected an inconsistent backend result.","retryable":true,"charged":false},{"code":"catalog_refresh_in_progress","http_status":503,"title":"Catalog refresh in progress","detail":"The catalog changed during the request. Retry the same operation.","retryable":true,"charged":false},{"code":"search_unavailable","http_status":503,"title":"Search temporarily unavailable","detail":"The search service is temporarily unavailable.","retryable":true,"charged":false},{"code":"search_capability_unavailable","http_status":503,"title":"Search capability unavailable","detail":"A required search capability is temporarily unavailable.","retryable":true,"charged":false},{"code":"search_timeout","http_status":504,"title":"Search timeout","detail":"The search did not finish within its bounded execution time.","retryable":true,"charged":false},{"code":"search_limit_exceeded","http_status":422,"title":"Search limit exceeded","detail":"The requested search exceeds a bounded engine limit.","retryable":false,"charged":false},{"code":"search_contract_error","http_status":502,"title":"Search contract error","detail":"The application generated a request that the search contract rejected.","retryable":false,"charged":false},{"code":"search_upstream_error","http_status":502,"title":"Search upstream error","detail":"The search service could not complete the request.","retryable":true,"charged":false},{"code":"internal_error","http_status":500,"title":"Internal error","detail":"The request failed before completion.","retryable":true,"charged":false}]}