Skip to content

Approvals API Overview — Proposed Guide

Planned API — Reference Only

Approvals 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.

Illustrative query parameters
NameTypeDescription
statusstringProposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success.

Static example requests

Proposed, non-executing request examples
# 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

200 (proposed example)Static response fixture

Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.

JSON
{
  "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.

422 (illustrative; final error contracts are undecided)Proposed error fixture

Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.

JSON
{
  "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

Illustrative field dictionary
NameTypeDescription
approval_idstringStable fictional approval reference; not a secret and not evidence that a resource exists.
resource_idstringStable fictional resource reference; not a secret and not evidence that a resource exists.
resource_typestringType namespace for interpreting a resource identifier and its authorized actions.
statusstringProposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success.