Skip to content

Waitlist tools

MCP tools for Waitlist: waitlist_demand_list, waitlist_entries_list.

  • waitlist_demand_list: List the entity's demand by jurisdiction
  • waitlist_entries_list: List waitlist entries

waitlist_demand_list

List the entity's demand by jurisdiction. Operation waitlist.demand.list · Legal entity level · permission waitlist:read · risk tier read · since M7

Where the legal entity's brands can't sell to consumers yet, and what it would take: one row per customer-location jurisdiction with waitlist entries or blocked checkouts, all brands combined, in the mode of the request (spec §23).

Each row has the waitlist by stage (waiting, pending, notified, left) and the waiting entries' estimatedMonthlyValue per currency (recurring prices per month; one-time prices and credit packs counted once, as a first month's purchase); the checkouts paused there in the window (blockedCheckouts, by reason); and the regimes that apply there: the entity's registration state, the prerequisites with their lead times and status, leadTimeDays (the longest lead time of what isn't done) and the compliance effort (a fiscal representative, a local agent, the filing frequency). brands splits the counts per brand; they add up to the row. Counts and sums only: no customer is named.

Sort by waitlist, monthly_value (EUR equivalent), blocked_checkouts, lead_time or jurisdiction; brand limits every count to one brand of the entity. Callers who can't read registrations get the knowledge base's side only (registrationsVisible: false).

Annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Arguments

ArgumentTypeRequiredDescription
monthsintegernoThe window for blocked checkouts: this calendar month and the ones before it (1–36, default 12). (1–36) (default 12)
sortone of jurisdiction, waitlist, monthly_value, blocked_checkouts, lead_timenowaitlist (waiting entries), monthly_value (EUR equivalent), blocked_checkouts, lead_time or jurisdiction. (default "waitlist")
orderone of asc, descno(default "desc")
brandID (brd_…)noOnly this brand of the entity (brd_…); all brands when absent.
entity_idID (ent_…)noThe legal entity to act on (ent_…), inside your API key's reach. Needed with an organization key; entity and brand keys act on their own entity.
  • Legal entity: pass entity_id with an organization key; entity and brand keys act on their own entity.
  • Read-only: changes nothing; idempotency_key is ignored.

Errors

  • validation_failed: The window, the sort or the brand is malformed.
  • scope_required: The request names no legal entity (an org key without Ownrecord-Entity).
  • resource_not_found: The brand filter isn't a brand of this entity.
  • permission_denied: You can't read this entity's waitlist (brand-scoped members never can: the page combines brands).

Example

Live demand over 12 months

Arguments:

JSON
{
  "entity_id": "ent_01jbx4m3v8e9t0s6k2c5n7q1wy"
}

Result output:

JSON
{
  "object": "entity_demand",
  "entityId": "ent_01m4tx5nj8emwbyf7y9vcf47x2",
  "livemode": true,
  "window": {
    "months": 12,
    "from": "2025-11-01",
    "to": "2026-10-20"
  },
  "sort": "waitlist",
  "order": "desc",
  "brand": null,
  "brands": [
    {
      "id": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
      "name": "Genno",
      "slug": "genno"
    },
    {
      "id": "brd_01m4tx5nj8emwbyf7y9vcf47x5",
      "name": "Genno Pro",
      "slug": "genno-pro"
    }
  ],
  "registrationsVisible": true,
  "fxRateDate": "2026-10-16",
  "data": [
    {
      "jurisdiction": "GB",
      "name": "United Kingdom",
      "territoryOf": null,
      "waitlist": {
        "waiting": 12,
        "pending": 2,
        "notified": 0,
        "left": 0,
        "estimatedMonthlyValue": {
          "total": [
            {
              "amount": "485000000",
              "currency": "EUR"
            }
          ],
          "recurring": [
            {
              "amount": "365000000",
              "currency": "EUR"
            }
          ],
          "oneTime": [
            {
              "amount": "120000000",
              "currency": "EUR"
            }
          ]
        }
      },
      "blockedCheckouts": {
        "total": 37,
        "registrationRequired": 37,
        "jurisdictionBlocked": 0,
        "other": 0
      },
      "monthlyValueEur": {
        "amount": "485000000",
        "currency": "EUR"
      },
      "leadTimeDays": 21,
      "regimes": [
        {
          "regimeId": "GB_VAT_NETP",
          "name": "UK VAT for non-established sellers",
          "registration": {
            "state": "blocked_b2c",
            "armed": false,
            "stateReason": "zero_threshold"
          },
          "prerequisites": [
            {
              "code": "gateway_account",
              "description": "Open a Government Gateway account",
              "leadTimeDays": 10,
              "status": "done"
            },
            {
              "code": "uk_agent",
              "description": "Appoint a UK tax agent",
              "leadTimeDays": 21,
              "status": "todo"
            }
          ],
          "leadTimeDays": 21,
          "typicalProcessingDays": 30,
          "effort": {
            "fiscalRepresentative": false,
            "localAgent": false,
            "filingFrequency": "quarterly"
          }
        }
      ],
      "brands": [
        {
          "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
          "waitlist": {
            "waiting": 9,
            "pending": 1,
            "notified": 0,
            "left": 0,
            "estimatedMonthlyValue": {
              "total": [
                {
                  "amount": "410000000",
                  "currency": "EUR"
                }
              ],
              "recurring": [
                {
                  "amount": "290000000",
                  "currency": "EUR"
                }
              ],
              "oneTime": [
                {
                  "amount": "120000000",
                  "currency": "EUR"
                }
              ]
            }
          },
          "blockedCheckouts": {
            "total": 31,
            "registrationRequired": 31,
            "jurisdictionBlocked": 0,
            "other": 0
          }
        },
        {
          "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x5",
          "waitlist": {
            "waiting": 3,
            "pending": 1,
            "notified": 0,
            "left": 0,
            "estimatedMonthlyValue": {
              "total": [
                {
                  "amount": "75000000",
                  "currency": "EUR"
                }
              ],
              "recurring": [
                {
                  "amount": "75000000",
                  "currency": "EUR"
                }
              ],
              "oneTime": []
            }
          },
          "blockedCheckouts": {
            "total": 6,
            "registrationRequired": 6,
            "jurisdictionBlocked": 0,
            "other": 0
          }
        }
      ]
    }
  ]
}

waitlist_entries_list

List waitlist entries. Operation waitlist.entries.list · Brand level · permission waitlist:read · risk tier read · since M4

Lists the brand's waitlist in the mode of the request, newest first: customers who asked to be told when the brand can sell in their country (spec §23), with what they wanted to buy and its value. status: pending entries haven't confirmed their email yet. Filter by country or status; page with limit and starting_after. Emails are customer data: show them only to people who need them.

Annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Arguments

ArgumentTypeRequiredDescription
limitintegerno(1–100)
starting_afterID (wl_…)no–
countrystringnoOnly entries for this country.
statusone of pending, confirmednoOnly pending or only confirmed entries.
entity_idID (ent_…)noOptional: the brand's legal entity (ent_…); brand_id alone is enough.
brand_idID (brd_…)noThe brand to act on (brd_…), inside your API key's reach. Needed with an organization or entity key; a brand key acts on its own brand.
  • Brand: pass brand_id with an organization or entity key; a brand key acts on its own brand.
  • Read-only: changes nothing; idempotency_key is ignored.

Errors

Example

Confirmed entries for the UK

Arguments:

JSON
{
  "country": "GB",
  "status": "confirmed",
  "brand_id": "brd_01jbx4m3v8e9t0s6k2c5n7q1wz"
}

Result output:

JSON
{
  "data": [
    {
      "id": "wl_01m4tx5nj8emwbyf7y9vcf48ah",
      "object": "waitlist_entry",
      "livemode": false,
      "entityId": "ent_01m4tx5nj8emwbyf7y9vcf47x2",
      "brandId": "brd_01m4tx5nj8emwbyf7y9vcf47x4",
      "email": "oliver@example.com",
      "country": "GB",
      "subdivision": null,
      "customerType": "b2c",
      "productIds": ["prod_01m4tx5nj8emwbyf7y9vcf48ae"],
      "priceIds": ["price_01m4tx5nj8emwbyf7y9vcf48ad"],
      "estimatedValue": {
        "amount": "100000000",
        "currency": "EUR"
      },
      "source": "checkout",
      "status": "confirmed",
      "consent": {
        "text": "Notify me when Genno can sell in United Kingdom",
        "textVersion": "2026-10-14",
        "at": "2026-10-14T10:00:00.000Z"
      },
      "confirmedAt": "2026-10-14T10:12:00.000Z",
      "checkoutSessionId": "cs_01m4tx5nj8emwbyf7y9vcf48aa",
      "regimeId": null,
      "blockedReason": "registration_required",
      "notifiedAt": null,
      "unsubscribedAt": null,
      "createdAt": "2026-10-14T10:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}