Approve Expense — Proposed Guide
Planned API — Reference OnlyApprove Expense: A proposed approval action would record a permitted reviewer decision against a specific expense version. It should validate policy…
Overview
A proposed approval action would record a permitted reviewer decision against a specific expense version. It should validate policy prerequisites and review conflicts.
Key concepts
Include the review identifier and version being approved. Associate the actor with the decision rather than trusting an actor id in the body.
Implementation considerations
A stale review or changed amount should require renewed consideration. This static operation initiates neither reimbursement nor accounting posting.
Proposed API behavior
POST /v1/expenses/{expense_id}/approve 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 |
|---|---|---|
| expense_idrequired | string | Stable fictional expense reference; not a secret and not evidence that a resource exists. |
| Name | Type | Description |
|---|---|---|
| approval_id | string | Stable fictional approval reference; not a secret and not evidence that a resource exists. |
| version | integer | Illustrative resource revision for detecting stale updates; no live concurrency contract is published. |
| comment | string | Optional review text subject to future access and retention rules. |
Static example requests
# Proposed request text only; this reserved host is not a live API.
curl -X POST 'https://api.remizen.example/v1/expenses/exp_example_123/approve' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data '{
"approval_id": "apr_example_123",
"version": 1,
"comment": "Fictional review comment"
}'Fictional response example
Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.
{
"data": {
"expense_id": "exp_example_123",
"approval_id": "apr_example_123",
"version": 1,
"comment": "Fictional review comment",
"id": "exp_example_123",
"organization_id": "org_example_123",
"merchant": "Example Office Supply",
"amount_minor": 12550,
"currency": "USD",
"status": "approved"
},
"meta": {
"request_id": "req_example_123",
"reference_only": true
}
}Illustrative error case
Review this failure case in context: A stale review or changed amount should require renewed consideration. This static operation initiates neither reimbursement nor accounting posting.
Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.
{
"error": {
"code": "validation_error",
"message": "The proposed approve expense operation requires review of its input or authorization.",
"request_id": "req_example_123"
}
}Proposed data types
| Name | Type | Description |
|---|---|---|
| expense_id | string | Stable fictional expense reference; not a secret and not evidence that a resource exists. |
| approval_id | string | Stable fictional approval reference; not a secret and not evidence that a resource exists. |
| version | integer | Illustrative resource revision for detecting stale updates; no live concurrency contract is published. |
| comment | string | Optional review text subject to future access and retention rules. |