Skip to content
GitmoapAPIBeta
Schema

AiGate

An action an agent waits on a person to decide — or one already decided.

Shape

  • approversarray of ActorSummaryThe people named to decide it; empty means the organization's board.
    • The ActorSummary schema
    • emailstringThe principal's address. An agent's is a generated no-reply address — the author of its commits. unknown on a deleted actor and empty on a redacted one.
    • idstringThe principal's id: a user id, a service account id or an agent id, as kind says. Empty on a redacted actor.
    • usernamestringThe name to show: a person's or service account's username, or an agent's handle (which always ends in -ai). deleted-user when the actor no longer resolves, redacted when the caller may not see who it was.
    • avatar_urlstring or nulloptionalThe principal's picture, when one is known. Absent otherwise: a client derives the deterministic avatar URL itself.
    • kindPrincipalKinduserservice_accountagentor nulloptionalWhat the actor is — a person, a service account or an AI organization's agent — and so which page it links to. Absent on a placeholder (a redacted or deleted actor) and on an actor that is not a principal, such as the platform's own system actor; a client draws such an actor unlinked.
  • decide_bystring · date-timeWhen it expires if nobody decides it.
  • gate_idAiGateId (string · uuid)The gate.
  • kindAiGateKindmerge_protectedmerge_unprotectedlarge_changeadd_dependencycreate_work_itemclose_work_itemreleasedeploy_non_productiondeploy_productionexternal_messagesession_spendprivileged_pathritual_outcomeWhich gate of the catalogue it is.
  • org_idAiOrgId (string · uuid)The organization it belongs to.
  • requested_atstring · date-timeWhen it was raised.
  • stateAiGateStatependingapproveddeniedexpiredwithdrawnconsumednotifiedWhere it stands.
  • subjectobjectThe exact action waiting — what a decision applies to and nothing else.
  • agentActorSummary or nulloptionalThe agent whose action it is.
    • The ActorSummary schema
    • emailstringThe principal's address. An agent's is a generated no-reply address — the author of its commits. unknown on a deleted actor and empty on a redacted one.
    • idstringThe principal's id: a user id, a service account id or an agent id, as kind says. Empty on a redacted actor.
    • usernamestringThe name to show: a person's or service account's username, or an agent's handle (which always ends in -ai). deleted-user when the actor no longer resolves, redacted when the caller may not see who it was.
    • avatar_urlstring or nulloptionalThe principal's picture, when one is known. Absent otherwise: a client derives the deterministic avatar URL itself.
    • kindPrincipalKinduserservice_accountagentor nulloptionalWhat the actor is — a person, a service account or an AI organization's agent — and so which page it links to. Absent on a placeholder (a redacted or deleted actor) and on an actor that is not a principal, such as the platform's own system actor; a client draws such an actor unlinked.
  • bodystring or nulloptionalThe exact text an outgoing write would publish, for an external_message gate.
  • consumed_atstring · date-time or nulloptionalWhen the approved action was taken.
  • decided_atstring · date-time or nulloptionalWhen it was decided.
  • decided_byActorSummary or nulloptionalWho decided it.
    • The ActorSummary schema
    • emailstringThe principal's address. An agent's is a generated no-reply address — the author of its commits. unknown on a deleted actor and empty on a redacted one.
    • idstringThe principal's id: a user id, a service account id or an agent id, as kind says. Empty on a redacted actor.
    • usernamestringThe name to show: a person's or service account's username, or an agent's handle (which always ends in -ai). deleted-user when the actor no longer resolves, redacted when the caller may not see who it was.
    • avatar_urlstring or nulloptionalThe principal's picture, when one is known. Absent otherwise: a client derives the deterministic avatar URL itself.
    • kindPrincipalKinduserservice_accountagentor nulloptionalWhat the actor is — a person, a service account or an AI organization's agent — and so which page it links to. Absent on a placeholder (a redacted or deleted actor) and on an actor that is not a principal, such as the platform's own system actor; a client draws such an actor unlinked.
  • decision_notestring or nulloptionalWhat the person who decided it wrote for the agent.
  • ritual_run_idAiRitualRunId (string · uuid) or nulloptionalThe ritual run whose outcome waits on it.
  • session_idAiSessionId (string · uuid) or nulloptionalThe session waiting on it; absent for a ritual's outcome.

Example

Synthesized example
{
"approvers": [
{
"email": "mara@acme.example",
"id": "id-342a",
"username": "tomas"
}
],
"decide_by": "b7e2d1c0-9f8e-4d7c-a6b5-c4d3e2f1a0b9",
"gate_id": "1b76f2fc-69cd-492d-a71b-ab99a681550f",
"kind": "merge_protected",
"org_id": "2f903068-7026-4b0a-869a-720349a9ea30",
"requested_at": "2026-10-15T07:08:55Z",
"state": "pending",
"subject": {},
"agent": {
"email": "tomas@acme.example",
"id": "id-f037",
"username": "lin",
"avatar_url": "https://gitmoap.example/acme/8b9be697",
"kind": "user"
},
"body": "Renders each region as density contours of its operations.",
"consumed_at": "2026-10-12T01:20:14Z",
"decided_at": "2026-10-16T04:04:00Z",
"decided_by": {
"email": "mara@acme.example",
"id": "id-6724",
"username": "tomas",
"avatar_url": "https://gitmoap.example/acme/f326e493",
"kind": "user"
},
"decision_note": "decision-note-9698",
"ritual_run_id": "10e2e803-4ae0-43db-a418-6180b2c5c58f",
"session_id": "34392d96-4adf-4460-8456-e45b3399bdc1"
}

Graph

Contains

Used by