{"openapi":"3.1.0","info":{"title":"CF Exclusion Check","version":"1.0.0","description":"Pay-per-call screening against the HHS-OIG LEIE and SAM.gov exclusion lists.","x-guidance":"Call GET /v1/health first (free) to confirm the service is live and see loaded row counts. GET /.well-known/x402 carries the exact x402 v2 payment requirements. A bare unpaid call to /v1/check or /v1/report returns 402, not a validation error, even with no query parameters. Add ?v=2 to any priced endpoint for the shared CF Soft envelope shape, identical across every CF Soft booth — see this repo's README for the response shape.","contact":{"email":"info@cfaisolutions.com"}},"servers":[{"url":"https://exclusions.cfsoft.us"}],"paths":{"/v1/check":{"get":{"summary":"Screen a name or identifier (brief).","parameters":[{"name":"name","in":"query","schema":{"type":"string"},"description":"Person or business name. \"John Smith\" or \"Smith, John\"."},{"name":"npi","in":"query","schema":{"type":"string"},"description":"10-digit National Provider Identifier."},{"name":"dob","in":"query","schema":{"type":"string"},"description":"Date of birth, YYYYMMDD."},{"name":"state","in":"query","schema":{"type":"string"},"description":"Two-letter state code. Corroborates only."},{"name":"uei","in":"query","schema":{"type":"string"},"description":"SAM.gov Unique Entity Identifier, 12 alphanumeric characters."},{"name":"cage","in":"query","schema":{"type":"string"},"description":"CAGE code, 5 alphanumeric characters."},{"name":"v","in":"query","schema":{"type":"string","enum":["2"]},"description":"Set to \"2\" for the shared CF Soft envelope response shape (service/version/verdict/confidence/basis/counts/records/sources/limits/as_of), used identically across every CF Soft booth. Omit for today's existing response shape, unchanged."}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":0.05}},"responses":{"200":{"description":"Screening result."},"402":{"description":"Payment required. See the `payment-required` header."}}}},"/v1/report":{"get":{"summary":"Full screening report.","parameters":[{"name":"name","in":"query","schema":{"type":"string"},"description":"Person or business name. \"John Smith\" or \"Smith, John\"."},{"name":"npi","in":"query","schema":{"type":"string"},"description":"10-digit National Provider Identifier."},{"name":"dob","in":"query","schema":{"type":"string"},"description":"Date of birth, YYYYMMDD."},{"name":"state","in":"query","schema":{"type":"string"},"description":"Two-letter state code. Corroborates only."},{"name":"uei","in":"query","schema":{"type":"string"},"description":"SAM.gov Unique Entity Identifier, 12 alphanumeric characters."},{"name":"cage","in":"query","schema":{"type":"string"},"description":"CAGE code, 5 alphanumeric characters."},{"name":"v","in":"query","schema":{"type":"string","enum":["2"]},"description":"Set to \"2\" for the shared CF Soft envelope response shape (service/version/verdict/confidence/basis/counts/records/sources/limits/as_of), used identically across every CF Soft booth. Omit for today's existing response shape, unchanged."}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":0.5}},"responses":{"200":{"description":"Screening result."},"402":{"description":"Payment required. See the `payment-required` header."}}}},"/v1/batch":{"post":{"summary":"Screen 2-200 items in one call. Tiered: $0.30 (2-10), $1.00 (11-50), $3.00 (51-200).","parameters":[{"name":"v","in":"query","schema":{"type":"string","enum":["2"]},"description":"Set to \"2\" for the shared CF Soft envelope shape (hoisted service/sources/limits/as_of, one result object per item with its own verdict/confidence/basis/counts/records). Omit for today's existing response shape, unchanged."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","minItems":2,"maxItems":200}},"required":["items"]}}}},"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":0.3},"x-note":"Fixed amount shown is the lowest tier; the actual charge is tiered by item count — see the summary and the live payment-required header."},"responses":{"200":{"description":"Batch screening result, one entry per input item."},"400":{"description":"Item count out of range, or every item invalid. Not charged."},"402":{"description":"Payment required. See the `payment-required` header for the exact tiered amount."}}}},"/v1/health":{"get":{"summary":"Row counts, load dates and source freshness. Free.","responses":{"200":{"description":"Health status."}}}},"/.well-known/x402":{"get":{"summary":"x402 v2 discovery document. Free.","responses":{"200":{"description":"Discovery document."}}}}}}