Agent Compatibility

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-2750
  • 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-2750
Surface
Agent Compatibility
Access
Public and linkable

How to use this page

Use this page as part of the current Agent Compatibility public record, then follow its linked standards pages for the next step.

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" }
Transfer formatOptimized (Keyless) JSON
Code example
[]

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

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.