list_beta_members

Beta testers and who agreed

read collection canonical-registry since 2026-10-01

Lists every org and user on each beta list, with who at the customer agreed to test early and when, who on staff added them, and whether they were added here or declared in the repository. 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_beta_members
REST
POST https://api.containertradehq.com/v1/cap/list_beta_members

Idempotency: a read: calling again changes nothing

Inputs

No inputs.

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": {
          "list": {
            "type": "string",
            "description": "The beta list.",
            "x-data-class": "operational"
          },
          "member_kind": {
            "type": "string",
            "enum": [
              "org",
              "user"
            ],
            "description": "org or user.",
            "x-data-class": "operational"
          },
          "member_id": {
            "type": "string",
            "description": "The org's or the user's id.",
            "x-data-class": "operational"
          },
          "member_name": {
            "anyOf": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "const": "•••",
                "description": "Masked by the caller's data policy."
              },
              {
                "type": "null",
                "description": "Denied by the caller's data policy."
              }
            ],
            "description": "The org's name, or the user's name (their address when they have none); null when it no longer exists.",
            "x-data-class": "personal"
          },
          "member_email": {
            "anyOf": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "const": "•••",
                "description": "Masked by the caller's data policy."
              },
              {
                "type": "null",
                "description": "Denied by the caller's data policy."
              }
            ],
            "description": "A user member's address (TRA-1461); null for an org, and once the user is anonymized.",
            "x-data-class": "personal"
          },
          "agreed_by": {
            "type": "string",
            "description": "Who at the customer agreed to test early.",
            "x-data-class": "operational"
          },
          "agreed_at": {
            "type": "string",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "format": "date",
            "description": "When they agreed.",
            "x-data-class": "operational"
          },
          "source": {
            "type": "string",
            "enum": [
              "declared",
              "page"
            ],
            "description": "page: added here, removable here; declared: in src/beta_lists.json, removed by pull request.",
            "x-data-class": "operational"
          },
          "added_by": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 1,
            "maxLength": 20,
            "pattern": "^[A-Za-z0-9_-]{1,20}$",
            "format": "tradehq-user-id",
            "description": "Who on staff added it; null when declared.",
            "x-data-class": "operational"
          },
          "added_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "When; null when declared.",
            "x-data-class": "operational"
          }
        },
        "required": [
          "list",
          "member_kind",
          "member_id",
          "member_name",
          "member_email",
          "agreed_by",
          "agreed_at",
          "source",
          "added_by",
          "added_at"
        ],
        "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 beta list
  • Outbound: staff tooling; crosses to no counterparty

Events

None emitted.

Related

None.