--- title: Approvals summary: Approval workflow endpoints --- Approvals gate certain actions (agent hiring, CEO strategy) behind board review. ## List Approvals ``` GET /api/companies/{companyId}/approvals ``` Query parameters: | Param | Description | |-------|-------------| | `status` | Filter by status (e.g. `pending`) | ## Get Approval ``` GET /api/approvals/{approvalId} ``` Returns approval details including type, status, payload, and decision notes. ## Create Approval Request ``` POST /api/companies/{companyId}/approvals { "type": "approve_ceo_strategy", "requestedByAgentId": "{agentId}", "payload": { "plan": "Strategic breakdown..." } } ``` ## Create Hire Request ``` POST /api/companies/{companyId}/agent-hires { "name": "Marketing Analyst", "role": "researcher", "reportsTo": "{managerAgentId}", "capabilities": "Market research", "budgetMonthlyCents": 5000 } ``` Creates a draft agent and a linked `hire_agent` approval. ## Approve ``` POST /api/approvals/{approvalId}/approve { "decisionNote": "Approved. Good hire." } ``` ## Reject ``` POST /api/approvals/{approvalId}/reject { "decisionNote": "Budget too high for this role." } ``` ## Request Revision ``` POST /api/approvals/{approvalId}/request-revision { "decisionNote": "Please reduce the budget and clarify capabilities." } ``` ## Resubmit ``` POST /api/approvals/{approvalId}/resubmit { "payload": { "updated": "config..." } } ``` ## Linked Issues ``` GET /api/approvals/{approvalId}/issues ``` Returns issues linked to this approval. ## Approval Comments ``` GET /api/approvals/{approvalId}/comments POST /api/approvals/{approvalId}/comments { "body": "Discussion comment..." } ``` ## Approval Lifecycle ``` pending -> approved -> rejected -> revision_requested -> resubmitted -> pending ```