ApprovalStep
/api/v1/approvals/stepsA step in an ApprovalRequest's chain.
listgetapproverejectSchema
| Field | Type | Notes |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | frontend | backend | server | system | apiWhere the write originated. Defaults to 'api'. |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| approval_request_id | uuid | UUID of the parent ApprovalRequest. |
| step_index | number | Zero-based position of this step in the approval chain. |
| approver_id | uuid | UUID of the Person assigned to decide on this step. |
| status | string | Current state of this step. |
| decision | string | The approver's explicit decision. Null while the step is still pending. |
| comment | string | Optional comment or justification left by the approver alongside their decision. |
| decided_at | date-time | ISO 8601 timestamp when the approver made their decision. Null while still pending. |
| delegated_to_id | uuid | UUID of the Person this step was delegated to. Null unless status is 'delegated'. |
| request_id | uuid | Parent approval request this step belongs to. |
| delegated | boolean | True once the step has been reassigned to another approver. |
API
client.approvals.steps.*Loading manifest…