list_flag_actions

List the flag changes made from the Flags page

read collection canonical-registry since 2026-10-01

Lists the changes made from the Flags page, newest first: who made each one, which flag or beta list, from what to what, when, and whether PostHog took it. Optionally for one flag. Staff only.

Contract

shape
collection
authority
read
evidence
none
subscription
false
permission
any one of: staff.read (the staff role staff_read held in the Internal org, tradehq_role.staff_role); a deactivated caller is refused first
idempotency
safe
emits
none
MCP tool
list_flag_actions
REST
POST https://api.containertradehq.com/v1/cap/list_flag_actions

Idempotency: a read: calling again changes nothing

Inputs

nametyperequiredvalidation
flag_keytextoptional1 to 100 characters
Only this flag's changes.
limitintegeroptional1 to 200; default 50
How many, newest first.

Paginated: next next_after · ceiling not_declared

Response

  • items · object[]
  • next_after · stringnull · Pass as `after` for the next page; null on the last one.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "action_id": {
            "type": "string",
            "description": "The change's id.",
            "x-data-class": "operational"
          },
          "action": {
            "type": "string",
            "enum": [
              "advance",
              "roll_back",
              "beta_add",
              "beta_remove",
              "set_lists"
            ],
            "description": "advance, roll_back, beta_add, beta_remove, or set_lists (TRA-1461: the beta lists a flag reaches, before and after in detail).",
            "x-data-class": "operational"
          },
          "flag_key": {
            "type": [
              "string",
              "null"
            ],
            "description": "The flag moved; null for a beta list change.",
            "x-data-class": "operational"
          },
          "beta_list": {
            "type": [
              "string",
              "null"
            ],
            "description": "The list changed; null for a flag move.",
            "x-data-class": "operational"
          },
          "member_kind": {
            "type": [
              "string",
              "null"
            ],
            "description": "org or user, for a beta list change.",
            "x-data-class": "operational"
          },
          "member_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The org or user, for a beta list change.",
            "x-data-class": "operational"
          },
          "from_state": {
            "type": "string",
            "description": "The wave before (or absent/member for a list).",
            "x-data-class": "operational"
          },
          "to_state": {
            "type": "string",
            "description": "The wave after (or member/absent for a list).",
            "x-data-class": "operational"
          },
          "agreed_by": {
            "type": [
              "string",
              "null"
            ],
            "description": "Who at the customer agreed, for an add.",
            "x-data-class": "operational"
          },
          "agreed_at": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "format": "date",
            "description": "When they agreed, for an add.",
            "x-data-class": "operational"
          },
          "actor": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9_-]{1,20}$",
            "format": "tradehq-user-id",
            "description": "Who made the change.",
            "x-data-class": "operational"
          },
          "acted_at": {
            "type": "string",
            "format": "date-time",
            "description": "When.",
            "x-data-class": "operational"
          },
          "outcome": {
            "type": "string",
            "enum": [
              "pending",
              "applied",
              "failed"
            ],
            "description": "applied, failed (PostHog refused it), or pending (still in flight).",
            "x-data-class": "operational"
          },
          "detail": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why it failed.",
            "x-data-class": "operational"
          }
        },
        "required": [
          "action_id",
          "action",
          "flag_key",
          "beta_list",
          "member_kind",
          "member_id",
          "from_state",
          "to_state",
          "agreed_by",
          "agreed_at",
          "actor",
          "acted_at",
          "outcome",
          "detail"
        ],
        "additionalProperties": false
      }
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pass as `after` for the next page; null on the last one."
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}

Refusals

not yet declared

The platform refusals apply to every call: version, authentication, authority, validation and rate limits, each in the same envelope.

Surfaces

DesktopF
MobileF
APIF
MCPF
VoiceD4
PushN
OneBoxN
OutboundN
  • Voice: degraded: visualization
  • Push: emits nothing
  • OneBox: no document originates a flag change
  • Outbound: staff tooling; crosses to no counterparty

Events

None emitted.

Related

None.