Approvals API Overview — Proposed Guide
Planned API — Reference OnlyApprovals API Overview: Approval resources would represent review requests, assigned reviewers and recorded decisions. Approval concerns business…
Overview
Approval resources would represent review requests, assigned reviewers and recorded decisions. Approval concerns business authorization, not the technical identity of an API caller.
Key concepts
Reference the expense or report version being reviewed. Separate routing from the decision itself.
Implementation considerations
A successful request to create review work must not be represented as an approved expense. Payment and accounting operations remain separate.
Proposed API behavior
GET /v1/approvals is an illustrative design for this topic. Path and field names may change before implementation. Access would require an authorized organization context and operation-specific permission; no public API or authorization grant is available here.
| Name | Type | Description |
|---|---|---|
| status | string | Proposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success. |
Static example requests
# Proposed request text only; this reserved host is not a live API.
curl -X GET 'https://api.remizen.example/v1/approvals?status=draft' \
-H 'Authorization: Bearer YOUR_API_KEY'Fictional response example
Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.
{
"data": [
{
"approval_id": "apr_example_123",
"resource_id": "resource_example_123",
"resource_type": "expense",
"id": "approvals_example_123",
"organization_id": "org_example_123"
}
],
"pagination": {
"has_more": false,
"next_cursor": null
},
"meta": {
"request_id": "req_example_123",
"reference_only": true
}
}Illustrative error case
Review this failure case in context: A successful request to create review work must not be represented as an approved expense. Payment and accounting operations remain separate.
Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.
{
"error": {
"code": "validation_error",
"message": "The proposed approvals api overview operation requires review of its input or authorization.",
"request_id": "req_example_123"
}
}Proposed data types
| Name | Type | Description |
|---|---|---|
| approval_id | string | Stable fictional approval reference; not a secret and not evidence that a resource exists. |
| resource_id | string | Stable fictional resource reference; not a secret and not evidence that a resource exists. |
| resource_type | string | Type namespace for interpreting a resource identifier and its authorized actions. |
| status | string | Proposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success. |