{"service":"requisition-desk-api","description":"Programmatic intake for the Requisition Desk — file procurement requisitions and manage your own API keys.","apiVersion":"v1","baseUrl":"https://api.reqdesk.com","authentication":{"scheme":"Bearer","header":"Authorization: Bearer <key>","note":"With no key yet, self-serve one by verifying an email you control: POST /v1/auth/codes then POST /v1/auth/keys. From a keys:manage key you can also mint scoped keys via POST /v1/keys."},"scopes":[{"name":"requisitions:write","description":"File and amend requisitions (includes read access)."},{"name":"requisitions:read","description":"List and read requisitions (read-only)."},{"name":"keys:manage","description":"Mint, list, and revoke your partner's API keys."}],"links":{"guide":"https://api.reqdesk.com/llms.txt","openapi":"https://api.reqdesk.com/openapi.json","requisitionSchema":"https://api.reqdesk.com/v1/schema/requisition.json","enrichmentSchema":"https://api.reqdesk.com/v1/schema/enrichment.json"},"endpoints":[{"method":"GET","path":"/","summary":"Discovery index — this document.","auth":"public","scope":null},{"method":"POST","path":"/v1/requisitions","summary":"File a requisition.","auth":"key","scope":"requisitions:write","operationId":"createRequisition"},{"method":"GET","path":"/v1/requisitions","summary":"List your requisitions, newest first (filter by status / reference / date, order, page with cursor).","auth":"key","scope":"requisitions:read","operationId":"listRequisitions"},{"method":"GET","path":"/v1/requisitions/{id}","summary":"Fetch a requisition by its RD-… reference.","auth":"key","scope":"requisitions:read","operationId":"getRequisition"},{"method":"POST","path":"/v1/requisitions/{id}/enrichments","summary":"Correct or extend a filed requisition (append-only set/add/remove).","auth":"key","scope":"requisitions:write","operationId":"amendRequisition"},{"method":"GET","path":"/v1/requisitions/{id}/enrichments","summary":"Read a requisition's amendment history, oldest first (the applied set/add/remove diffs).","auth":"key","scope":"requisitions:read","operationId":"getAmendmentHistory"},{"method":"DELETE","path":"/v1/requisitions/{id}","summary":"Cancel (withdraw) a requisition you filed; it transitions to CANCELLED.","auth":"key","scope":"requisitions:write","operationId":"cancelRequisition"},{"method":"POST","path":"/v1/keys","summary":"Mint a scoped API key (its scopes must be a subset of your own).","auth":"key","scope":"keys:manage"},{"method":"GET","path":"/v1/keys","summary":"List your partner's keys (metadata only — the secret is never returned).","auth":"key","scope":"keys:manage"},{"method":"GET","path":"/v1/keys/me","summary":"Identify the calling key itself — its id, scopes, partner, and bound email.","auth":"key","scope":null,"operationId":"getCurrentKey"},{"method":"GET","path":"/v1/keys/{id}","summary":"Fetch one key's metadata.","auth":"key","scope":"keys:manage"},{"method":"DELETE","path":"/v1/keys/{id}","summary":"Revoke a key.","auth":"key","scope":"keys:manage"},{"method":"POST","path":"/v1/auth/codes","summary":"Request an email one-time code to provision an API key (no key required).","auth":"public","scope":null},{"method":"POST","path":"/v1/auth/keys","summary":"Exchange an email one-time code for a new API key (no key required).","auth":"public","scope":null},{"method":"POST","path":"/v1/web-intake/codes","summary":"Email a verification code for the reqdesk.com intake form; no request is filed yet.","auth":"public","scope":null},{"method":"POST","path":"/v1/web-intake/requisitions","summary":"Confirm the website email code and file one canonical requisition (no API key required).","auth":"public","scope":null},{"method":"GET","path":"/health","summary":"Liveness check.","auth":"public","scope":null},{"method":"GET","path":"/openapi.json","summary":"OpenAPI 3.1 projection for the agent-facing requisition operations.","auth":"public","scope":null},{"method":"GET","path":"/llms.txt","summary":"This API, explained for an agent (markdown).","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/requisition.json","summary":"The requisition request body as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/enrichment.json","summary":"The enrichment request body as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/key.json","summary":"The mint-a-key request body (POST /v1/keys) as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/auth-code.json","summary":"The request-a-code body (POST /v1/auth/codes) as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/auth-key.json","summary":"The redeem-a-code body (POST /v1/auth/keys) as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/web-intake-code.json","summary":"The website email-challenge body as a JSON Schema.","auth":"public","scope":null},{"method":"GET","path":"/v1/schema/web-intake-requisition.json","summary":"The verified website requisition wrapper as a JSON Schema.","auth":"public","scope":null}]}