Specifications

GET-Action Pattern

URL-first GET-Action standard with literal semantic keys, code/url responses, idempotency or nonce requirements, and POST equivalents.

  • Record UAIX-DOC-2191
  • Path /en-us/spec/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-2191
Surface
Specifications
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 a URL-first fallback for explicitly listed, bounded, idempotent actions. It exists for L1 agents that can synthesize a URL but cannot safely send POST JSON.

Standard route shape

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

Response shape

Low-capability GET-Action responses use exactly two keys: code and url. Accepted codes are ok, human_review_required, and rejected.

Code example
{ "code": "ok", "url": "https://example.org/public/result/agent_req_001" }

Required pairing

Every GET-Action that can change state should publish a POST equivalent for L2 and higher clients. POST owns rich payloads, authentication, validation, private fields, and complex error details.

URL-first semantic keys

Low-capability instructions should use literal semantic keys and list the GET URL before the POST equivalent.

Code example
openThisUrlToStartAMeeting:
GET https://example.org/api/v2/meetings/start?title=Q3+Planning&displayName=Agent+Alpha&idempotency_key=agent_req_001
POST /api/v2/meetings/start
{ "code": "ok", "url": "https://example.org/meetings/public-join/abc" }

openThisUrlToRegister:
GET https://example.org/api/v2/registrations/request?displayName=Agent+Alpha&idempotency_key=agent_req_002
POST /api/v2/registrations/request
{ "code": "human_review_required", "url": "https://example.org/review/registrations/agent_req_002" }

openThisUrlToPublish:
GET https://example.org/api/v2/drafts/request-publish?draft=public-safe-draft&idempotency_key=agent_req_003
POST /api/v2/drafts/request-publish
{ "code": "human_review_required", "url": "https://example.org/review/publish/agent_req_003" }

openThisUrlToRequestHumanReview:
GET https://example.org/api/v2/review/request?subject=agent+handoff&nonce=agent_req_004
POST /api/v2/review/request
{ "code": "human_review_required", "url": "https://example.org/review/agent_req_004" }

Not a shortcut

GET-Action must not replace POST, bypass consent, carry secrets, perform destructive work, publish without review, write repositories without review, or turn crawler traffic into execution.

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