{"openapi":"3.1.0","info":{"title":"ProcureRelay Public Procurement API","version":"1.0.0","description":"Read-only normalized access to verified public procurement records. ProcureRelay is an independent technology provider. Issuing agencies remain the source of record."},"servers":[{"url":"https://procurerelay.com"}],"paths":{"/api/v1/public/opportunities":{"get":{"operationId":"listPublicOpportunities","summary":"List normalized public procurement opportunities","parameters":[{"name":"county","in":"query","schema":{"type":"string","pattern":"^48[0-9]{3}$"}},{"name":"updatedSince","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"includeInactive","in":"query","schema":{"type":"boolean","default":false}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"responses":{"200":{"description":"Paginated opportunity records with source provenance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityPage"}}}},"400":{"description":"Invalid query parameter"}}}},"/api/v1/health":{"get":{"operationId":"getHealth","summary":"Check service and database health","responses":{"200":{"description":"Healthy service"},"503":{"description":"Service unavailable"}}}}},"components":{"schemas":{"OpportunityPage":{"type":"object","required":["items","page","pageSize","total","totalPages","coverageNotice"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Opportunity"}},"page":{"type":"integer"},"pageSize":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"coverageNotice":{"type":"string"}}},"Opportunity":{"type":"object","required":["id","title","issuingEntity","lifecycleStatus","source","provenance"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"issuingEntity":{"type":"string"},"solicitationNumber":{"type":["string","null"]},"lifecycleStatus":{"type":"string"},"source":{"type":"object"},"jurisdiction":{"type":"object"},"responseDeadline":{"type":"object"},"budget":{"type":"object"},"classifications":{"type":"object"},"provenance":{"type":"object"}}}}}}