Requests API
Unified request management — access requests, change requests, revocation requests, and governance approvals.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
| POST | /spaces/{slug}/products/{pid}/access-requests | Create access request |
| GET | /spaces/{slug}/products/{pid}/access-requests | List product access requests |
| POST | /requests/revocation | Create revocation request |
| POST | /spaces/{slug}/products/{pid}/change-requests | Create change request |
| GET | /spaces/{slug}/products/{pid}/change-requests | List product change requests |
| GET | /requests/me | My requests (all types) |
| GET | /spaces/{slug}/requests/me | My requests (space-scoped) |
| GET | /requests/pending-approvals | Pending approvals |
| GET | /spaces/{slug}/requests/pending-approvals | Pending approvals (space) |
| POST | /requests/{id}/approve | Approve request |
| POST | /requests/{id}/reject | Reject request |
| GET | /requests/{id} | Get request detail |
| PATCH | /requests/{id} | Update request |
| POST | /requests/{id}/cancel | Cancel request |
| POST | /requests/{id}/execute | Execute approved request |
Create Access Request
POST /spaces/{slug}/products/{pid}/access-requests
{
"role_id": "...",
"justification": "Need read access for analytics dashboard"
}
My Requests
GET /requests/me
Query Parameters
| Parameter | Type | Description |
|---|---|---|
request_type | string | access, change, governance |
status | string | pending, approved, rejected, cancelled |
skip | integer | Pagination offset |
limit | integer | Page size |
Pending Approvals
GET /requests/pending-approvals
Returns requests where the current user is a designated approver.
Approve / Reject
POST /requests/{request_id}/approve
POST /requests/{request_id}/reject
{
"comment": "Approved for Q1 project"
}
Error Responses
| Status | Description |
|---|---|
400 | Invalid transition or validation error |
403 | Not authorized to approve/reject |
404 | Request not found |