Approval Notifications — Proposed Guide
Planned API — Reference OnlyApproval Notifications: Notifications could tell a reviewer that work is awaiting attention. Delivery of a notification is not evidence that the reviewer…
Overview
Notifications could tell a reviewer that work is awaiting attention. Delivery of a notification is not evidence that the reviewer saw or approved the expense.
Key concepts
Separate notification identity, review identity and channel delivery status. Avoid embedding sensitive expense detail in broad collaboration channels.
Implementation considerations
No messages are sent here. A future design needs deduplication, authorized recipients and preferences independent of approval state.
Illustrative data model
This local fixture shows a possible representation for the concepts above. It is not an endpoint response, production configuration or a claim that the described capability is implemented.
{
"reference_only": true,
"topic": "Approval Notifications",
"notification_id": "notification_example_123",
"approval_id": "apr_example_123",
"recipient_id": "usr_example_123",
"status": "draft"
}Design review checklist
- Document which organization owns the approval notifications representation and which actor may view or change it.
- Test the boundaries of notification id, approval id, recipient id, status using synthetic values, including missing or inconsistent references.
- Before future implementation, obtain an approved contract and review failure behavior. This documentation does not authorize production activation.
Proposed data types
| Name | Type | Description |
|---|---|---|
| notification_id | string | Stable fictional notification 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. |
| recipient_id | string | Stable fictional recipient reference; not a secret and not evidence that a resource exists. |
| status | string | Proposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success. |