Update Expense — Proposed Guide
Planned API — Reference OnlyUpdate Expense: A proposed partial update would edit allowed fields while the expense is in an editable state. Approved or exported records may need a…
Overview
A proposed partial update would edit allowed fields while the expense is in an editable state. Approved or exported records may need a correction workflow rather than an ordinary edit.
Key concepts
Use a resource version and distinguish omission from explicit clearing. Retain evidence of previous values when changes affect review.
Implementation considerations
Reject stale updates and prohibited lifecycle changes. A general expense patch must not be used to mark a payment completed.
Proposed API behavior
PATCH /v1/expenses/{expense_id} 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 |
|---|---|---|
| merchant | string | Fictional merchant label; it does not establish policy compliance or ledger coding. |
| category_id | string | Stable fictional category reference; not a secret and not evidence that a resource exists. |
| amount_minor | integer | Monetary amount in the documented currency minor unit; 12550 represents USD 125.50, not USD 12,550. |
| version | integer | Illustrative resource revision for detecting stale updates; no live concurrency contract is published. |
Static example requests
# Proposed request text only; this reserved host is not a live API.
curl -X PATCH 'https://api.remizen.example/v1/expenses/exp_example_123' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data '{
"merchant": "Example Office Supply",
"category_id": "category_example_123",
"amount_minor": 12550,
"version": 1
}'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",
"merchant": "Example Office Supply",
"category_id": "category_example_123",
"amount_minor": 12550,
"version": 1,
"id": "exp_example_123",
"organization_id": "org_example_123",
"currency": "USD",
"status": "draft"
},
"meta": {
"request_id": "req_example_123",
"reference_only": true
}
}Illustrative error case
Review this failure case in context: Reject stale updates and prohibited lifecycle changes. A general expense patch must not be used to mark a payment completed.
Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.
{
"error": {
"code": "validation_error",
"message": "The proposed update 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. |
| merchant | string | Fictional merchant label; it does not establish policy compliance or ledger coding. |
| category_id | string | Stable fictional category reference; not a secret and not evidence that a resource exists. |
| amount_minor | integer | Monetary amount in the documented currency minor unit; 12550 represents USD 125.50, not USD 12,550. |
| version | integer | Illustrative resource revision for detecting stale updates; no live concurrency contract is published. |