{"openapi":"3.1.0","info":{"title":"AI Analytics — Indexed Evidence Products","version":"1.0.0","description":"Company product: A bounded packet for one SEC-indexed organization identified by ticker or CIK. SEC issuer-matched institutional filings use a 365-day window. If the first query returns at least 25 candidates but retains no eligible issuer filing, one additional capped family=current query is permitted; coverage remains incomplete. OFAC civil-enforcement name matches remain candidates except an explicitly reviewed reference mapping. Optional CISA vendor-query results are candidates, not verified per-record institutional matches. Candidate-only or identity-only packets are rejected. This is not a fraud, compliance, credit or risk score.\n\nMine product: The separate mine-records product uses one exact seven-digit nonzero MSHA mine ID, preserving leading zeroes. It returns a mine profile and at most 250 indexed citations from a bounded sample, with a 251st-row truncation sentinel. The sample is not represented as the latest citations or complete mine history. A mine is a facility, not a SEC issuer; mine artifacts contain no synthetic CIK. Preparation is unavailable unless the separate mine product status is live.\n\nPreparation and status are free. When enabled, each protected POST admission is a separate $0.02 USDC request on Base (eip155:8453), negotiated through the actual x402 v2 challenge. Expected amount: 20000 atomic units; USDC contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; operator-designated receiving wallet: 0xB0b3fCa940e04F99367f08e665E1C2CB4ebd4912. Confirm the actual challenge's amount, asset, network and recipient before signing. A 402 challenge, origin execution or advertised live status is not proof of payment settlement. Quotes expire 24 hours after preparation. Do not automatically repeat admission if payment or delivery is uncertain.\n\nA successful admission returns a separate recovery capability. GET recovery retrieves only the original immutable result without a new paid admission, until the returned retained-until timestamp: 90 days from preparation, not 90 days after purchase. Keep both bearer tokens out of URLs and logs. A status token cannot recover a result. If settlement may have occurred but no recovery capability arrived, preserve the job ID and receipt and contact support; do not blindly purchase again.\n\nExisting free API routes remain free. Source-specific rights and qualifications remain controlling. This document does not attest to a completed financial transaction.","contact":{"name":"AI Analytics — support and corrections","url":"https://ai-analytics.org/contact/"},"termsOfService":"https://api.ai-analytics.org/license"},"servers":[{"url":"https://api.ai-analytics.org"}],"externalDocs":{"description":"Evidence guide","url":"https://api.ai-analytics.org/paid/"},"x-payment-status":"live","x-product-status":{"company-records":"live","mine-records":"live"},"x-payment-offer":{"protocol":"x402","version":2,"price_usd":"0.02","amount":"20000","network":"eip155:8453","currency":"USDC","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xB0b3fCa940e04F99367f08e665E1C2CB4ebd4912","recipient_authority":"Operator-designated receiving wallet; independently verify against the actual Payment-Required challenge before signing.","per_request":true},"x-source-terms":"https://api.ai-analytics.org/license","x-existing-free-api":"https://api.ai-analytics.org/openapi.json","x-artifact-verification":"evidence-artifact-json.v1 recursively sorts object keys using JavaScript Object.keys(value).sort(), preserves array order, applies JSON.stringify to keys and scalar values, joins with JSON punctuation without whitespace, encodes as UTF-8, and hashes the complete bundle object with SHA-256. Compare against artifact_sha256 from preparation or delivery. bundle.content_hash instead identifies the declared evidence projection described by bundle.hash_profile; it is not the complete artifact hash.","x-buyer-client":{"download":"https://api.ai-analytics.org/paid/client/buyer.mjs","manifest":"https://api.ai-analytics.org/paid/client/manifest.json","licenses":"https://api.ai-analytics.org/paid/client/licenses.txt","runtime":"Node.js 22+ on macOS/Linux","payment_opt_in":"--pay","default_action":"Free preview and unsigned challenge; no signing key read."},"paths":{"/paid/v1/evidence-jobs":{"post":{"operationId":"prepareEvidenceBundle","summary":"Prepare a free bounded preview and expiring admission offer","security":[],"description":"Choose the existing company input or the explicit mine-records input; mixed inputs are rejected. At most 2,048 UTF-8 request bytes. Resolves identity and assembles useful evidence before offering admission. No payment is submitted. Preparation is limited to 5 requests per minute per edge IP and a shared 1,000-attempt daily pilot budget; failures may consume capacity. Pending mine preparation is rejected before source work. Returned preview contains no citation/filing rows or recovery token.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductPrepareInput"},"examples":{"company":{"value":{"identifier":"AAPL","expectedName":"Apple Inc."}},"mine":{"value":{"product":"mine-records","mineId":"4801833"}}}}}},"responses":{"201":{"description":"Prepared immutable packet; no purchase or settlement is implied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedJob"}}}},"400":{"description":"Invalid JSON, identifier, mine ID, expected name, mixed input or unsupported product/field.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Mine ID absent from the provider index; this is not a clean-record finding.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Input exceeds the request-byte limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Content-Type must be application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Identity mismatch, no useful matched evidence, or packet exceeds the 96 KiB pilot limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-IP preparation limit or daily pilot capacity reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"A source fetch failed or its response did not meet the required identity/schema contract; no payable packet was created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Mine product not enabled, or temporary service/storage failure; do not assume a packet was created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/paid/v1/evidence-jobs/{job_id}":{"get":{"operationId":"getEvidenceJobStatus","summary":"Read free preview and admission availability","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{32}$"}}],"security":[{"StatusBearer":[]}],"description":"Use the status_token from preparation. No full bundle or recovery capability is returned. admission_available reflects configured availability, quote expiry and current price; it is not settlement evidence.","responses":{"200":{"description":"Private job preview.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatus"}}}},"404":{"description":"Missing/invalid status capability, unknown job or retention expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Read rate limit reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Temporary service failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/paid/v1/evidence-jobs/{job_id}/admit":{"post":{"operationId":"admitEvidenceJob","summary":"Request a paid delivery of the prepared packet","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{32}$"}},{"name":"Payment-Signature","in":"header","required":false,"schema":{"type":"string"},"description":"x402 v2 client payment authorization constructed from the actual Gateway challenge. Omit for an unpaid challenge request."}],"security":[],"description":"Preparation and status are free. When enabled, each protected POST admission is a separate $0.02 USDC request on Base (eip155:8453), negotiated through the actual x402 v2 challenge. Expected amount: 20000 atomic units; USDC contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; operator-designated receiving wallet: 0xB0b3fCa940e04F99367f08e665E1C2CB4ebd4912. Confirm the actual challenge's amount, asset, network and recipient before signing. A 402 challenge, origin execution or advertised live status is not proof of payment settlement. Quotes expire 24 hours after preparation. Do not automatically repeat admission if payment or delivery is uncertain. No request body or status bearer is required. Use the exact returned admission URL without query parameters. Follow Payment-Required and Payment-Signature using a compatible x402 v2 client. Gateway payment authorization is distinct from the status/recovery bearer schemes. Save the complete successful response and Payment-Response receipt. Repeating this POST can incur another charge; use GET recovery after success.","x-payment-required":true,"responses":{"200":{"description":"Prepared bundle and recovery capability returned by the protected route. Verify the Gateway receipt separately.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdmissionResult"}}},"headers":{"Payment-Response":{"description":"Gateway payment response/receipt when supplied; preserve and validate with the client.","schema":{"type":"string"}}}},"402":{"description":"Gateway x402 v2 challenge; not a completed purchase. The observed body is an empty JSON object; payment requirements are in the header.","headers":{"Payment-Required":{"description":"Base64-encoded x402 v2 payment requirements. Decode and validate before signing.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"404":{"description":"Prepared packet absent, quote expired or stored price no longer matches. Do not retry as another purchase.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"405":{"description":"Admission only supports POST.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Payments are not enabled or the origin could not complete delivery. If payment state is uncertain, preserve the receipt and contact support before retrying.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/paid/v1/evidence-jobs/{job_id}/result":{"get":{"operationId":"recoverEvidenceBundle","summary":"Recover the original result without another paid admission","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{32}$"}}],"security":[{"RecoveryBearer":[]}],"description":"A successful admission returns a separate recovery capability. GET recovery retrieves only the original immutable result without a new paid admission, until the returned retained-until timestamp: 90 days from preparation, not 90 days after purchase. Keep both bearer tokens out of URLs and logs. A status token cannot recover a result. If settlement may have occurred but no recovery capability arrived, preserve the job ID and receipt and contact support; do not blindly purchase again.\n\nevidence-artifact-json.v1 recursively sorts object keys using JavaScript Object.keys(value).sort(), preserves array order, applies JSON.stringify to keys and scalar values, joins with JSON punctuation without whitespace, encodes as UTF-8, and hashes the complete bundle object with SHA-256. Compare against artifact_sha256 from preparation or delivery. bundle.content_hash instead identifies the declared evidence projection described by bundle.hash_profile; it is not the complete artifact hash.","responses":{"200":{"description":"The original stored bundle of the prepared product; the envelope contains only bundle.","content":{"application/json":{"schema":{"type":"object","properties":{"bundle":{"$ref":"#/components/schemas/ProductBundle"}},"required":["bundle"]}}}},"404":{"description":"Missing/invalid recovery capability, unknown job or retention expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Read rate limit reached; this is not another admission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Temporary service failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/paid/health":{"get":{"operationId":"getEvidenceServiceStatus","summary":"Read configured service availability","security":[],"responses":{"200":{"description":"Configuration status, not financial-transaction proof.","content":{"application/json":{"schema":{"type":"object","properties":{"service":{"type":"string"},"release":{"type":"string"},"payment_status":{"type":"string","enum":["live","pending_configuration"]},"price_usd":{"type":"string"},"charges_existing_free_routes":{"const":false},"settlement_accounting":{"type":"string"}},"required":["service","release","payment_status","price_usd","charges_existing_free_routes","settlement_accounting"]}}}}}}}},"components":{"securitySchemes":{"StatusBearer":{"type":"http","scheme":"bearer","bearerFormat":"64 lowercase hex characters","description":"Private status_token from preparation; does not authorize delivery or recovery."},"RecoveryBearer":{"type":"http","scheme":"bearer","bearerFormat":"64 lowercase hex characters","description":"Private recovery.token from successful admission; authorizes original-result GET only."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"}},"required":["error"]},"ProductPrepareInput":{"oneOf":[{"$ref":"#/components/schemas/PrepareInput"},{"$ref":"#/components/schemas/MinePrepareInput"}]},"ProductPreview":{"oneOf":[{"$ref":"#/components/schemas/Preview"},{"$ref":"#/components/schemas/MinePreview"}]},"ProductBundle":{"oneOf":[{"$ref":"#/components/schemas/EvidenceBundle"},{"$ref":"#/components/schemas/MineRecordsBundle"}]},"MinePrepareInput":{"type":"object","properties":{"product":{"const":"mine-records"},"mineId":{"type":"string","pattern":"^(?!0{7}$)[0-9]{7}$","description":"Exact seven-digit nonzero MSHA mine ID; leading zeroes are preserved."}},"required":["product","mineId"],"additionalProperties":false},"MineSubject":{"type":"object","properties":{"kind":{"const":"mine"},"mine_id":{"type":"string","pattern":"^(?!0{7}$)[0-9]{7}$","description":"Exact seven-digit nonzero MSHA mine ID; leading zeroes are preserved."},"canonical_name":{"type":"string"},"resolution_method":{"const":"provider_exact_mine_id"},"provider_url":{"type":"string","format":"uri"},"state":{"type":["string","null"]},"mine_type":{"type":["string","null"]},"mine_status":{"type":["string","null"]},"coal_metal_ind":{"type":["string","null"]},"primary_sic":{"type":["string","null"],"maxLength":250,"description":"Provider industry classification text; may be a description rather than a numeric SIC code."},"ingested_at_raw":{"type":["string","null"]}},"required":["kind","mine_id","canonical_name","resolution_method","provider_url","state","mine_type","mine_status","coal_metal_ind","primary_sic","ingested_at_raw"],"additionalProperties":false},"MineSourceCoverage":{"type":"object","properties":{"family":{"const":"msha_violations"},"provider_url":{"type":"string","format":"uri"},"primary_source_url":{"type":"string","format":"uri"},"rights":{"type":"object","properties":{"provider_assertion":{"type":"string","format":"uri"},"source_terms_url":{"type":"string","format":"uri"}},"required":["provider_assertion","source_terms_url"]},"match_method":{"const":"exact_mine_id"},"query_mine_id":{"type":"string","pattern":"^(?!0{7}$)[0-9]{7}$","description":"Exact seven-digit nonzero MSHA mine ID; leading zeroes are preserved."},"selection_order":{"const":"provider_rowid_ascending_not_chronological"},"status":{"const":"indexed_records_with_limits"},"queried_row_limit":{"const":251},"returned_count":{"type":"integer","minimum":0,"maximum":251},"retained_count":{"type":"integer","minimum":1,"maximum":250},"duplicate_count":{"type":"integer","minimum":0},"sentinel_observed":{"type":"boolean"},"record_cap_truncated":{"type":"boolean"},"byte_cap_truncated":{"type":"boolean"},"truncated":{"type":"boolean"},"known_total_matches":{"type":["integer","null"],"minimum":0},"coverage_complete":{"const":false},"dataset_refreshed_at_raw":{"type":"null"},"freshness_status":{"const":"unknown"},"retained_issue_date_min":{"type":["string","null"],"format":"date"},"retained_issue_date_max":{"type":["string","null"],"format":"date"},"retained_ingested_at_raw":{"type":"array","items":{"type":"string"}},"primary_verification_status":{"const":"provider_record_only"},"limitations":{"type":"array","items":{"type":"string"}}},"required":["family","provider_url","primary_source_url","rights","match_method","query_mine_id","selection_order","status","queried_row_limit","returned_count","retained_count","duplicate_count","sentinel_observed","record_cap_truncated","byte_cap_truncated","truncated","known_total_matches","coverage_complete","dataset_refreshed_at_raw","freshness_status","retained_issue_date_min","retained_issue_date_max","retained_ingested_at_raw","primary_verification_status","limitations"],"additionalProperties":false},"MineDataCaps":{"type":"object","properties":{"max_queries":{"const":2},"max_query_rows":{"const":251},"max_records":{"const":250},"max_artifact_bytes":{"const":92160}},"required":["max_queries","max_query_rows","max_records","max_artifact_bytes"]},"MineContentHashProfile":{"type":"object","properties":{"id":{"const":"mine-records-content"},"version":{"const":1},"algorithm":{"const":"SHA-256"},"encoding":{"const":"UTF-8"},"canonicalization":{"type":"string"},"excluded_top_level_fields":{"const":["bundle_id","content_hash","generated_at"]},"purpose":{"type":"string"}},"required":["id","version","algorithm","encoding","canonicalization","excluded_top_level_fields","purpose"]},"MineCitationRecord":{"type":"object","properties":{"violation_no":{"type":"string","pattern":"^[0-9]{1,20}$"},"mine_id":{"type":"string","pattern":"^(?!0{7}$)[0-9]{7}$","description":"Exact seven-digit nonzero MSHA mine ID; leading zeroes are preserved."},"provider_record_url":{"type":"string","format":"uri"},"issue_date_raw":{"type":["string","null"]},"issue_date":{"type":["string","null"],"format":"date"},"cal_year":{"type":["integer","null"],"minimum":1900,"maximum":2200},"sig_sub":{"type":["string","null"]},"section_of_act":{"type":["string","null"]},"part_section":{"type":["string","null"]},"cit_ord_safe":{"type":["string","null"]},"negligence":{"type":["string","null"]},"proposed_penalty_usd":{"type":["number","null"],"minimum":0},"amount_paid_usd":{"type":["number","null"],"minimum":0},"contested_ind":{"type":["string","null"]},"ingested_at_raw":{"type":["string","null"]}},"required":["violation_no","mine_id","provider_record_url","issue_date_raw","issue_date","cal_year","sig_sub","section_of_act","part_section","cit_ord_safe","negligence","proposed_penalty_usd","amount_paid_usd","contested_ind","ingested_at_raw"],"additionalProperties":false},"MinePreview":{"type":"object","properties":{"schema_version":{"const":"mine-records-preview.v1"},"bundle_id":{"type":"string","pattern":"^mr1_[a-f0-9]{64}$"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"hash_profile":{"$ref":"#/components/schemas/MineContentHashProfile"},"generated_at":{"type":"string","format":"date-time"},"subject":{"$ref":"#/components/schemas/MineSubject"},"sources":{"type":"array","minItems":1,"maxItems":1,"items":{"$ref":"#/components/schemas/MineSourceCoverage"}},"data_caps":{"$ref":"#/components/schemas/MineDataCaps"},"limitations":{"type":"array","items":{"type":"string"}},"summary":{"type":"object","properties":{"record_count":{"type":"integer","minimum":1,"maximum":250},"useful_record_count":{"type":"integer","minimum":1,"maximum":250},"candidate_record_count":{"const":0}},"required":["record_count","useful_record_count","candidate_record_count"]}},"required":["schema_version","bundle_id","content_hash","hash_profile","generated_at","subject","sources","data_caps","limitations","summary"],"additionalProperties":false},"MineRecordsBundle":{"type":"object","properties":{"schema_version":{"const":"mine-records-bundle.v1"},"bundle_id":{"type":"string","pattern":"^mr1_[a-f0-9]{64}$"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"hash_profile":{"$ref":"#/components/schemas/MineContentHashProfile"},"generated_at":{"type":"string","format":"date-time"},"subject":{"$ref":"#/components/schemas/MineSubject"},"sources":{"type":"array","minItems":1,"maxItems":1,"items":{"$ref":"#/components/schemas/MineSourceCoverage"}},"data_caps":{"$ref":"#/components/schemas/MineDataCaps"},"limitations":{"type":"array","items":{"type":"string"}},"overall_status":{"const":"indexed_records_with_limits"},"records":{"type":"array","minItems":1,"maxItems":250,"items":{"$ref":"#/components/schemas/MineCitationRecord"}},"useful_record_count":{"type":"integer","minimum":1,"maximum":250}},"required":["schema_version","bundle_id","content_hash","hash_profile","generated_at","subject","sources","data_caps","limitations","overall_status","records","useful_record_count"],"additionalProperties":false},"PrepareInput":{"type":"object","properties":{"identifier":{"type":"string","maxLength":10,"pattern":"^(?!0+$)(?:[A-Za-z][A-Za-z0-9.-]{0,9}|[0-9]{1,10})$","description":"One ticker or nonzero CIK; zero-only CIKs are rejected."},"expectedName":{"type":"string","minLength":3,"maxLength":200,"pattern":"^(?![\\s\\S]*[\\u0000-\\u001f\\u007f])\\s*\\S[\\s\\S]+\\S\\s*$","description":"Optional expected organization name; trimmed length must be at least 3 and the normalized identity must agree. Control characters are rejected. The server measures its 200-character maximum in UTF-16 code units."}},"required":["identifier"],"additionalProperties":false},"Subject":{"type":"object","properties":{"kind":{"const":"organization"},"canonical_name":{"type":"string"},"cik":{"type":"string","pattern":"^[0-9]{10}$"},"ticker":{"type":["string","null"]},"resolution_method":{"const":"provider_cik_lookup"},"provider_url":{"type":"string","format":"uri"}},"required":["kind","canonical_name","cik","ticker","resolution_method","provider_url"]},"SourceCoverage":{"type":"object","properties":{"family":{"enum":["sec","ofac_civil_enforcement","cisa_kev"]},"query_requests":{"type":"array","items":{"type":"string"}},"status":{"enum":["ok","no_match_in_index","candidate_review_required","unsupported"]},"provider_generated_at":{"type":["string","null"]},"dataset_refreshed_at_raw":{"type":["string","null"]},"dataset_refresh_source_url":{"type":["string","null"]},"freshness_status":{"enum":["unknown","ingestion_observed_completeness_unverified"]},"source_max_record_date":{"type":["string","null"]},"returned_count":{"type":"integer","minimum":0},"accepted_count":{"type":"integer","minimum":0},"rejected_count":{"type":"integer","minimum":0},"unreviewed_count":{"type":"integer","minimum":0},"known_total_matches":{"type":["integer","null"],"minimum":0},"truncated":{"type":"boolean"},"coverage_complete":{"const":false},"limitations":{"type":"array","items":{"type":"string"}}},"required":["family","query_requests","status","provider_generated_at","dataset_refreshed_at_raw","dataset_refresh_source_url","freshness_status","source_max_record_date","returned_count","accepted_count","rejected_count","unreviewed_count","known_total_matches","truncated","coverage_complete","limitations"]},"DataCaps":{"type":"object","properties":{"max_fetch_calls":{"const":6},"max_records_per_source":{"const":25},"filing_window_days":{"const":365}},"required":["max_fetch_calls","max_records_per_source","filing_window_days"]},"ContentHashProfile":{"type":"object","properties":{"id":{"const":"evidence-content"},"version":{"const":1},"algorithm":{"const":"SHA-256"},"encoding":{"const":"UTF-8"},"canonicalization":{"type":"string"},"projection":{"type":"object","properties":{"schema_version":{"const":"/schema_version"},"subject":{"const":"/subject"},"mapping_version":{"const":"/mapping_version"},"sources":{"type":"object","properties":{"path":{"const":"/sources"},"omit_item_keys":{"const":["provider_generated_at"]}},"required":["path","omit_item_keys"]},"records":{"const":"/records"},"limits":{"type":"object","properties":{"filing_window_days":{"const":"/data_caps/filing_window_days"},"max_records_per_source":{"const":"/data_caps/max_records_per_source"}},"required":["filing_window_days","max_records_per_source"]}},"required":["schema_version","subject","mapping_version","sources","records","limits"]},"excluded_top_level_fields":{"type":"array","items":{"type":"string"}},"additional_exclusion":{"type":"string"},"purpose":{"type":"string"}},"required":["id","version","algorithm","encoding","canonicalization","projection","excluded_top_level_fields","additional_exclusion","purpose"]},"Preview":{"type":"object","properties":{"schema_version":{"const":"evidence-bundle-preview.v1"},"bundle_id":{"type":"string"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"hash_profile":{"$ref":"#/components/schemas/ContentHashProfile"},"mapping_version":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"subject":{"$ref":"#/components/schemas/Subject"},"sources":{"type":"array","maxItems":3,"items":{"$ref":"#/components/schemas/SourceCoverage"}},"data_caps":{"$ref":"#/components/schemas/DataCaps"},"limitations":{"type":"array","items":{"type":"string"}},"summary":{"type":"object","properties":{"record_count":{"type":"integer","minimum":0},"useful_record_count":{"type":"integer","minimum":1},"candidate_record_count":{"type":"integer","minimum":0}},"required":["record_count","useful_record_count","candidate_record_count"]}},"required":["schema_version","bundle_id","content_hash","hash_profile","mapping_version","generated_at","subject","sources","data_caps","limitations","summary"],"additionalProperties":false},"EvidenceRecord":{"type":"object","properties":{"id":{"type":"string"},"source_family":{"enum":["sec","ofac_civil_enforcement","cisa_kev"]},"source_record_id":{"type":"string"},"record_type":{"enum":["institutional_filing","civil_enforcement_entry","vendor_kev_entry"]},"event_date":{"type":"string","format":"date"},"subject_match":{"type":"object","properties":{"status":{"enum":["issuer_cik_match","candidate_name_match","reviewed_reference_mapping","vendor_query_candidate"]},"method":{"type":"string"},"matched_name":{"type":["string","null"]},"role":{"enum":["issuer","named_party","respondent","unknown"]},"mapping_version":{"type":["string","null"]},"evidence_url":{"type":["string","null"]},"locator":{"type":["string","null"]}},"required":["status","method","matched_name","role","mapping_version","evidence_url","locator"]},"primary_source_url":{"type":"string","format":"uri"},"provider_record_url":{"type":["string","null"]},"primary_verification_status":{"enum":["provider_record_only","reviewed_reference_mapping"]},"facts":{"type":"object","additionalProperties":{"type":["string","number","null"]}},"qualifications":{"type":"array","items":{"type":"string"}},"rights":{"type":"object","properties":{"provider_assertion":{"type":["string","null"]},"source_terms_url":{"type":"string","format":"uri"}},"required":["provider_assertion","source_terms_url"]}},"required":["id","source_family","source_record_id","record_type","event_date","subject_match","primary_source_url","provider_record_url","primary_verification_status","facts","qualifications","rights"]},"EvidenceBundle":{"type":"object","properties":{"schema_version":{"const":"evidence-bundle.v1"},"bundle_id":{"type":"string"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"hash_profile":{"$ref":"#/components/schemas/ContentHashProfile"},"mapping_version":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"subject":{"$ref":"#/components/schemas/Subject"},"sources":{"type":"array","maxItems":3,"items":{"$ref":"#/components/schemas/SourceCoverage"}},"data_caps":{"$ref":"#/components/schemas/DataCaps"},"limitations":{"type":"array","items":{"type":"string"}},"overall_status":{"const":"indexed_evidence_with_limits"},"records":{"type":"array","minItems":1,"maxItems":75,"items":{"$ref":"#/components/schemas/EvidenceRecord"}},"useful_record_count":{"type":"integer","minimum":1}},"required":["schema_version","bundle_id","content_hash","hash_profile","mapping_version","generated_at","subject","sources","data_caps","limitations","overall_status","records","useful_record_count"]},"Quote":{"type":"object","properties":{"price_usd":{"const":"0.02"},"admission_url":{"type":"string","format":"uri"},"expires_at":{"type":"string","format":"date-time"},"method":{"const":"POST"},"protocol":{"const":"x402"},"network":{"const":"eip155:8453"},"currency":{"const":"USDC"}},"required":["price_usd","admission_url","expires_at","method","protocol","network","currency"]},"PreparedJob":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{32}$"},"preview":{"$ref":"#/components/schemas/ProductPreview"},"payment_status":{"type":"string","enum":["live","pending_configuration"]},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Lowercase SHA-256 of the UTF-8 canonical JSON of the entire bundle object, not the HTTP envelope or raw response bytes."},"artifact_hash_profile":{"type":"string","const":"evidence-artifact-json.v1"},"quote":{"$ref":"#/components/schemas/Quote"},"status_url":{"type":"string","format":"uri"},"status_token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"recovery_retained_until":{"type":"string","format":"date-time"}},"required":["id","preview","payment_status","artifact_sha256","artifact_hash_profile","quote","status_url","status_token","recovery_retained_until"],"additionalProperties":false},"JobStatus":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{32}$"},"preview":{"$ref":"#/components/schemas/ProductPreview"},"quote_expires_at":{"type":"string","format":"date-time"},"retained_until":{"type":"string","format":"date-time"},"payment_status":{"type":"string","enum":["live","pending_configuration"]},"admission_available":{"type":"boolean"}},"required":["id","preview","quote_expires_at","retained_until","payment_status","admission_available"],"additionalProperties":false},"AdmissionResult":{"type":"object","properties":{"bundle":{"$ref":"#/components/schemas/ProductBundle"},"recovery":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string","format":"date-time"}},"required":["url","token","expires_at"]},"delivery":{"type":"object","properties":{"method":{"const":"cloudflare_gateway"},"price_usd":{"type":"string"},"receipt_header":{"const":"Payment-Response"},"save_response":{"const":true},"artifact_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Lowercase SHA-256 of the UTF-8 canonical JSON of the entire bundle object, not the HTTP envelope or raw response bytes."},"artifact_hash_profile":{"type":"string","const":"evidence-artifact-json.v1"}},"required":["method","price_usd","receipt_header","save_response","artifact_sha256","artifact_hash_profile"]}},"required":["bundle","recovery","delivery"]}}}}