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-2222
  • 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-2222
Surface
Guides
Access
Public and linkable

How to use this page

Use this page as the canonical public reference for GET-Action Pattern and its standards-facing content.

For agents: apply the relevant guidance to the user's target site or repository. Do not copy this UAIX page, create a page about the guidance, or treat this page as runtime authority unless the user explicitly asks for that output.

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.
  • Live GET fallback: if the action URL requires live dynamic HTTP GET, provide a no-op or review URL for indexed-only fetchers.
  • 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"]
}

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.

Architecture proposals

UAI-1 v1.0 remains the current published contract. Explore separately versioned proposals for independent exchange, capabilities, recovery and source preservation.

Proposed designs and local reference examples; hosted runtime services and independent interoperability are not claimed.

The English proposal is the source for normative interpretation.

Read the architecture proposals · Machine-readable proposal catalog