{"openapi":"3.1.0","info":{"title":"GET /api/v1/ap-approval/completed","version":"1.0.0","description":"List completed AP approvals"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/ap-approval/completed":{"get":{"tags":["ap-approval"],"summary":"List completed AP approvals","description":"List recently approved or rejected bills that have left the pending queue (their workflow run reached a terminal state).","operationId":"list_completed_approvals_api_v1_ap_approval_completed_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum number of completed rows to return.","default":50,"title":"Limit"},"description":"Maximum number of completed rows to return."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-business-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Business-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessEnvelope_CompletedApprovalsResponse_"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CompletedApprovalItem":{"properties":{"execution_id":{"type":"string","title":"Execution Id","description":"Workflow execution UUID."},"workflow_id":{"type":"string","title":"Workflow Id","description":"AP approval workflow UUID."},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier","description":"Tier at which the final decision was recorded."},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action","description":"Final human decision: 'approve' or 'reject'."},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","description":"Comment attached to the final decision, if any."},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At","description":"ISO timestamp when the run reached its terminal state."},"bill":{"$ref":"#/components/schemas/PendingApprovalBill","description":"Bill the run decided on."}},"type":"object","required":["execution_id","workflow_id","bill"],"title":"CompletedApprovalItem","description":"One AP approval run that has left the pending queue.\n\nBacked by a workflow execution in a terminal ``completed`` state — the bill\nwas either approved through its final gate or rejected. Surfaces the final\nhuman decision so the \"Completed\" view can show what happened and when."},"CompletedApprovalsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CompletedApprovalItem"},"type":"array","title":"Items","description":"Recently completed approval rows, newest first."}},"type":"object","title":"CompletedApprovalsResponse","description":"Response for ``GET /ap-approval/completed``."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PendingApprovalBill":{"properties":{"id":{"type":"string","title":"Id","description":"Bill UUID (as string)."},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount","description":"Bill amount in cents (0 when unavailable)."},"vendor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Id","description":"Vendor UUID, if set on the bill."},"vendor_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Name","description":"Resolved vendor name."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Bill description."},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Bill status name."}},"type":"object","required":["id"],"title":"PendingApprovalBill","description":"Trimmed bill payload embedded in pending approval items."},"SuccessEnvelope_CompletedApprovalsResponse_":{"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/CompletedApprovalsResponse"},{"type":"null"}]}},"additionalProperties":true,"type":"object","title":"SuccessEnvelope[CompletedApprovalsResponse]"},"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":[]}]}