GoodLeads · Schema

MultiStateScopeRequest

The scope half of a fan-out: which records, across which states. Shared by the preview and the trigger so the states and counts an operator approves are resolved by exactly one piece of code. Deliberately carries NO stage list — which states a selection touches, and how many records it matches in each, does not depend on what you intend to run on them.

CompanyB2BLead-DataSales Enablement

Properties

Name Type Description
states object Restrict the fan-out to these states. Omit to run every state the selection touches. It narrows, never widens: a state named here that the selection does not touch is simply absent from the result.
limit object PER-STATE cap, not a total — `limit=100` across 5 states runs up to 500 records. One shared budget would have to pick which state gets starved; capping each leg is the predictable reading of 'take 100
entity_id object Comma/space/newline-separated UUIDs or GLIDs that may span states. Grouped by state, one run per state. Mutually exclusive with `filters`.
filters object Filter expression, same shape as POST /api/v1/leads/browse, WITHOUT a state clause — the fan-out supplies each leg's own. Mutually exclusive with `entity_id`.
include_non_operating boolean Only meaningful with `filters`. Mirrors Browse's own default so the per-state counts match the number on the button the operator pressed — see `TriggerRequest.include_non_operating`.
include_existing boolean Only meaningful with `filters`. See `TriggerRequest.include_existing`.
include_registrations boolean Deprecated alias of include_existing (kept one release so saved requests resolve).
View JSON Schema on GitHub

JSON Schema

goodleads-club-multi-state-scope-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/goodleads-club/json-schema/goodleads-club-multi-state-scope-request-schema.json",
  "title": "MultiStateScopeRequest",
  "description": "The scope half of a fan-out: which records, across which states.\n\nShared by the preview and the trigger so the states and counts an operator\napproves are resolved by exactly one piece of code. Deliberately carries NO\nstage list — which states a selection touches, and how many records it\nmatches in each, does not depend on what you intend to run on them.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/goodleads-club-openapi.json#/components/schemas/MultiStateScopeRequest",
  "properties": {
    "states": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "States",
      "description": "Restrict the fan-out to these states. Omit to run every state the selection touches. It narrows, never widens: a state named here that the selection does not touch is simply absent from the result."
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Limit",
      "description": "PER-STATE cap, not a total — `limit=100` across 5 states runs up to 500 records. One shared budget would have to pick which state gets starved; capping each leg is the predictable reading of 'take 100 from each'."
    },
    "entity_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Entity Id",
      "description": "Comma/space/newline-separated UUIDs or GLIDs that may span states. Grouped by state, one run per state. Mutually exclusive with `filters`."
    },
    "filters": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Filters",
      "description": "Filter expression, same shape as POST /api/v1/leads/browse, WITHOUT a state clause — the fan-out supplies each leg's own. Mutually exclusive with `entity_id`."
    },
    "include_non_operating": {
      "type": "boolean",
      "title": "Include Non Operating",
      "description": "Only meaningful with `filters`. Mirrors Browse's own default so the per-state counts match the number on the button the operator pressed — see `TriggerRequest.include_non_operating`.",
      "default": false
    },
    "include_existing": {
      "type": "boolean",
      "title": "Include Existing",
      "description": "Only meaningful with `filters`. See `TriggerRequest.include_existing`.",
      "default": false
    },
    "include_registrations": {
      "type": "boolean",
      "title": "Include Registrations",
      "description": "Deprecated alias of include_existing (kept one release so saved requests resolve).",
      "default": false,
      "deprecated": true
    }
  },
  "additionalProperties": false,
  "type": "object"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/goodleads-club-multi-state-scope-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.