Guides

GET-Action Pattern

Required for bounded idempotent GET fallback configuration for L0/L1 clients, separate from Minimal Access and not a replacement for POST JSON endpoints.

  • Record UAIX-DOC-2722
  • Path /en-us/guides/get-action-pattern/
  • Use Canonical public record

Document status

Public standards page Published on UAIX as part of the current public standards record
Code
UAIX-DOC-2722
Surface
Guides
Access
Public and linkable

How to use this page

Use this guide only for bounded idempotent GET fallbacks, with consent, rate limits, auditability, no query-string secrets, and a matching POST path for capable clients.

GET-Action is an bounded writable fallback for clients that can build only simple URLs. It is separate from Minimal Access and it is not a replacement for POST JSON APIs.

Route pattern

Code example
GET /api/{version}/{resource}/{action}?param1=value&idempotency_key=stable-key

Required companion

Every GET-Action endpoint that can change state should have a matching POST endpoint for L2 and higher clients. The POST path owns richer request bodies, structured errors, authentication flows, and ordinary API behavior.

Required controls

  • Idempotency: every write-capable GET-Action requires a stable idempotency_key.
  • Consent: the action must be public-safe or explicitly human-approved before execution.
  • Auditability: store the normalized action, caller class, result, timestamp, idempotency key, and public-safe evidence.
  • Rate limits: enforce crawler-safe and abuse-resistant limits before action execution.
  • Robots and crawlers: keep actions out of sitemaps and deny crawler-triggered execution where possible.
  • No secrets in query strings: never place tokens, passwords, API keys, patient IDs, private messages, or payment data in the URL.

Response shape

Code example
{
  "status": "accepted",
  "action_executed": false,
  "resource_id": "public-record-id",
  "machine_data": {},
  "human_readable_url": "https://example.org/review/action/",
  "next_actions": ["human_review_required"]
}
Transfer formatOptimized (Keyless) JSON
Code example
[]

Field order follows the keyed JSON example, the published schema order, and the public field registry.

Allowed use

  • Simple public-safe preference, acknowledgement, review-request, or queue-intake actions when POST is unavailable to the client.
  • Actions that can be repeated safely with the same idempotency key.
  • Actions that expose no secret, regulated, financial, medical, or private identifier in the URL.

Forbidden use

  • Payments, account changes, destructive actions, publication, irreversible writes, medical actions, or regulated operations without a stronger authenticated POST path and explicit review.
  • Any endpoint that depends on a query-string secret.
  • Any broad claim that writable actions should generally be exposed as GET endpoints.