{"openapi":"3.1.0","info":{"title":"GET /api/v1/public/bill-requests/{token}","version":"1.0.0","description":"Vendor bill-request form metadata (unauthenticated)"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/public/bill-requests/{token}":{"get":{"tags":["vendor-bill-requests-public"],"summary":"Vendor bill-request form metadata (unauthenticated)","description":"Resolve a bill-request token to what the submit form needs: business name, pre-bound vendor (if any), label, and required fields. Returns 404 for unknown, expired, or revoked tokens — the three are indistinguishable on purpose. Rate-limited per IP.","operationId":"fetch_public_bill_request_api_v1_public_bill_requests__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessEnvelope_PublicVendorBillRequestInfoResponse_"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"429":{"description":"Too Many Requests - Rate limit exceeded","content":{"application/json":{"example":{"detail":"Rate limit exceeded"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PublicVendorBillRequestInfoResponse":{"properties":{"business_name":{"type":"string","title":"Business Name","description":"Who the vendor is billing."},"vendor_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Name","description":"Pre-bound vendor name when the link is vendor-specific."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"fields_required":{"items":{"type":"string"},"type":"array","title":"Fields Required","description":"Form fields the submit endpoint requires (for client validation)."},"accepted_file_types":{"items":{"type":"string"},"type":"array","title":"Accepted File Types"},"max_file_size_mb":{"type":"integer","title":"Max File Size Mb","default":10}},"type":"object","required":["business_name"],"title":"PublicVendorBillRequestInfoResponse","description":"What the anonymous submit page needs to render the form."},"SuccessEnvelope_PublicVendorBillRequestInfoResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"data":{"anyOf":[{"$ref":"#/components/schemas/PublicVendorBillRequestInfoResponse"},{"type":"null"}]}},"additionalProperties":true,"type":"object","title":"SuccessEnvelope[PublicVendorBillRequestInfoResponse]"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}