ListingProListingPro
AI integrations

MCP documentation

Connect your AI client to MovingLetters. Available tools depend on your account permissions, credential profile, and enabled MCP capabilities.

Connection details

Server URL
https://backend.pro.movingletters.ai/mcp/user
Transport
Streamable HTTP
Authentication
Authorization: Bearer YOUR_MCP_TOKEN

1. Create an MCP token

Send POST /users/me/mcp-credentials to the MovingLetters backend using your signed-in account's JWT: Authorization: Bearer YOUR_ACCOUNT_JWT. Set Content-Type: application/json and use this body:

{
  "name": "My AI client",
  "profile": "READ_ONLY",
  "expiresInDays": 30
}

Copy credential.token from the response. It is shown only once. Your MCP token, REST API key, and account JWT are different credentials. Start with the READ_ONLY profile to inspect data.

2. Configure your client

Choose your client below. Each example connects directly to your User MCP endpoint with a bearer token.

For environment-based examples, make MOVING_MCP_TOKEN available to the client process before starting it. Set its value to your MCP token without the Bearer prefix. Desktop apps launched from the Dock or Start menu may not inherit terminal environment variables; configure the app's launch environment and restart it. VS Code can prompt for the token instead.

Codex

For the CLI or IDE extension, merge this block into ~/.codex/config.toml (or your configured Codex home). Keep the token in the MOVING_MCP_TOKEN environment variable.

[mcp_servers.movingletters_user]
url = "https://backend.pro.movingletters.ai/mcp/user"
bearer_token_env_var = "MOVING_MCP_TOKEN"

Alternatively, add it through the CLI:

codex mcp add movingletters_user --url 'https://backend.pro.movingletters.ai/mcp/user' --bearer-token-env-var MOVING_MCP_TOKEN

Restart the client, then use /mcp to inspect the connection. Official Codex MCP guide.

Claude Code

Merge into your project's .mcp.json. Launch Claude Code with MOVING_MCP_TOKEN in its environment, approve the project MCP configuration when prompted, then use /mcp to inspect the server.

{
  "mcpServers": {
    "movingletters": {
      "type": "http",
      "url": "https://backend.pro.movingletters.ai/mcp/user",
      "headers": {
        "Authorization": "Bearer ${MOVING_MCP_TOKEN}"
      }
    }
  }
}

Official Claude Code MCP guide. This configuration is for Claude Code; other Claude applications have different connection settings.

Cursor

Merge into .cursor/mcp.json for this project, or ~/.cursor/mcp.json for all projects. Ensure Cursor can read MOVING_MCP_TOKEN, then reload its MCP configuration.

{
  "mcpServers": {
    "movingletters": {
      "url": "https://backend.pro.movingletters.ai/mcp/user",
      "headers": {
        "Authorization": "Bearer ${env:MOVING_MCP_TOKEN}"
      }
    }
  }
}

Official Cursor MCP guide.

VS Code

For VS Code's built-in MCP support, merge into .vscode/mcp.json. VS Code prompts for the token instead of storing it in the file. Start the server from the MCP configuration editor.

{
  "inputs": [
    {
      "id": "moving-mcp-token",
      "type": "promptString",
      "description": "MovingLetters MCP token",
      "password": true
    }
  ],
  "servers": {
    "movingletters-user": {
      "type": "http",
      "url": "https://backend.pro.movingletters.ai/mcp/user",
      "headers": {
        "Authorization": "Bearer ${input:moving-mcp-token}"
      }
    }
  }
}

Official VS Code configuration reference.

Windsurf

For Windsurf / legacy Cascade, merge into ~/.codeium/windsurf/mcp_config.json, then refresh the MCP servers in Cascade. Ensure Windsurf can read MOVING_MCP_TOKEN from its environment. Newer Devin Local Agent tabs use a separate configuration; this example applies to Cascade.

{
  "mcpServers": {
    "movingletters": {
      "serverUrl": "https://backend.pro.movingletters.ai/mcp/user",
      "headers": {
        "Authorization": "Bearer ${env:MOVING_MCP_TOKEN}"
      }
    }
  }
}

Official Cascade MCP guide.

Other IDEs and MCP clients

Choose a remote Streamable HTTP MCP server. Set the URL to https://backend.pro.movingletters.ai/mcp/user and configure Authorization: Bearer YOUR_MCP_TOKEN through the client's secret or header settings. The client must support custom bearer headers; an OAuth-only connection flow is not sufficient for this endpoint.

Merge with your existing configuration instead of replacing other servers. Do not paste these client-specific JSON formats into a different client's configuration.

3. Available tools

Handwritten, automated mailings and designs are read-only through USER MCP, including existing keys. Website permissions are unchanged.

This reference covers the User MCP tools. Server availability is shown for each tool. Your token scopes, account permissions, and ownership checks can further restrict access. The authenticated tools/list response is the authoritative list for your connection.

These are MCP tool names, invoked through tools/call, rather than separate REST routes. After connecting, use tools/list to discover their input and output schemas.

Call user.capabilities.get with {} to explain missing scopes and server-level restrictions. It reports policy permissions only: account entitlement, ownership, approval, resource state and implementation restrictions still apply when a tool executes.

For example, this read-only call previews recent listings without deducting credits:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "user.listings.preview",
    "arguments": { "days": 7 }
  }
}

Write operations may require an idempotencyKey, human approval, or a confirmation token from the corresponding prepare tool. If a call returns APPROVAL_REQUIRED, complete the account approval flow and retry identical arguments with the same idempotency key. Server validation also enforces relationships between fields beyond the JSON Schema shown below.

Listing date filters

For user.listings.preview and user.listings.search, use either days (1–30) or explicit dateFrom / dateTo dates in YYYY-MM-DD format. Do not combine the two modes. Explicit dates require timeZone, an IANA timezone such as America/New_York. The end date cannot precede the start date, and a range cannot exceed 30 calendar days.

Opening the MCP URL in a browser returns 405 because the server accepts MCP requests over POST.

user.data_requests.list

List the authenticated user’s own data requests and processing status.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:data-requests:read

Parameters

status
Optional
{
  "type": "string",
  "enum": [
    "PENDING",
    "APPROVED",
    "REJECTED",
    "FULFILLED"
  ]
}
limit
Optional
{
  "default": 25,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
offset
Optional
{
  "default": 0,
  "type": "integer",
  "minimum": 0,
  "maximum": 1000
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "PENDING",
        "APPROVED",
        "REJECTED",
        "FULFILLED"
      ]
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}
user.data_requests.get

Read one of the authenticated user’s own data requests.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:data-requests:read

Parameters

dataRequestId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "dataRequestId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "dataRequestId"
  ],
  "additionalProperties": false
}
user.data_requests.create

Submit one data request for an owned active Pro target area. Requires account approval. Trial extension and notifications are attempted once after commit; UNKNOWN means the outcome was not confirmed and replay will not resend them.

Availability
Enabled on this server; token permissions still apply.
Effect
EXTERNAL_EFFECT
Required scopes
user:data-requests:write

Parameters

targetAreaId
Required
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
payload
Optional
{
  "default": {},
  "type": "object",
  "propertyNames": {
    "type": "string"
  },
  "additionalProperties": {}
}
note
Optional
{
  "type": "string",
  "maxLength": 2000
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    },
    "payload": {
      "default": {},
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "note": {
      "type": "string",
      "maxLength": 2000
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "targetAreaId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.automated_mailings.settings.list

List actual automated mailing settings for the billing account, with status filter and cursor pagination. Admin must specify userId.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:automated-mailings:read

Parameters

status
Optional
{
  "type": "string",
  "enum": [
    "DRAFT",
    "AWAITING_APPROVAL",
    "ACTIVE",
    "PAUSED",
    "REJECTED",
    "ARCHIVED"
  ]
}
cursor
Optional
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
limit
Optional
{
  "default": 20,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "AWAITING_APPROVAL",
        "ACTIVE",
        "PAUSED",
        "REJECTED",
        "ARCHIVED"
      ]
    },
    "cursor": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
user.automated_mailings.settings.get

Read automated mailing parameters and permissions. Cost estimates are shown only when billing visibility is authorized. Pro accounts are managed by the team; existing queues are independent.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:automated-mailings:read

Parameters

settingId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "settingId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "settingId"
  ],
  "additionalProperties": false
}
user.target_areas.rename

Rename an owned active Legacy, Pro or Canada territory. Requires account approval; retry identical input and idempotencyKey after approval.

Availability
Enabled on this server; token permissions still apply.
Effect
MUTATION
Required scopes
user:target-areas:write

Parameters

targetAreaId
Required
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
name
Required
{
  "type": "string",
  "minLength": 1,
  "maxLength": 120
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "targetAreaId",
    "name",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.target_areas.update_preferences

Update allowed Pro territory preferences without enabling automated mailing. Requires account approval and an idempotencyKey.

Availability
Enabled on this server; token permissions still apply.
Effect
MUTATION
Required scopes
user:target-areas:write

Parameters

targetAreaId
Required
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
name
Optional
{
  "type": "string",
  "minLength": 1,
  "maxLength": 120
}
minPrice
Optional
{
  "anyOf": [
    {
      "type": "string",
      "pattern": "^\\d+(?:\\.\\d{1,2})?$"
    },
    {
      "type": "null"
    }
  ]
}
maxPrice
Optional
{
  "anyOf": [
    {
      "type": "string",
      "pattern": "^\\d+(?:\\.\\d{1,2})?$"
    },
    {
      "type": "null"
    }
  ]
}
emails
Optional
{
  "maxItems": 3,
  "type": "array",
  "items": {
    "type": "string",
    "format": "email",
    "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  }
}
filterByNcoa
Optional
{
  "type": "boolean"
}
filterByVacancyVision
Optional
{
  "type": "boolean"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "minPrice": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d{1,2})?$"
        },
        {
          "type": "null"
        }
      ]
    },
    "maxPrice": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^\\d+(?:\\.\\d{1,2})?$"
        },
        {
          "type": "null"
        }
      ]
    },
    "emails": {
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "format": "email",
        "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "filterByNcoa": {
      "type": "boolean"
    },
    "filterByVacancyVision": {
      "type": "boolean"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "targetAreaId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.target_areas.prepare_legacy_create

Preview creation of an owned Legacy territory and return the exact credit quote plus a short-lived signed execution token.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:target-areas:write

Parameters

request
Required
{
  "type": "object",
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 120
    },
    "emails": {
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "format": "email",
        "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "zipCodes": {
      "maxItems": 10000,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "counties": {
      "maxItems": 10000,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "optionList": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludedList": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "minPrice": {
      "type": "string"
    },
    "maxPrice": {
      "type": "string"
    },
    "isAutomatedMailingListActive": {
      "type": "boolean"
    },
    "filterByNcoa": {
      "type": "boolean"
    },
    "filterByVacancyVision": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "request": {
      "type": "object",
      "properties": {
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "name": {
          "type": "string",
          "maxLength": 120
        },
        "emails": {
          "maxItems": 3,
          "type": "array",
          "items": {
            "type": "string",
            "format": "email",
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          }
        },
        "zipCodes": {
          "maxItems": 10000,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "counties": {
          "maxItems": 10000,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "optionList": {
          "maxItems": 10,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "excludedList": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "minPrice": {
          "type": "string"
        },
        "maxPrice": {
          "type": "string"
        },
        "isAutomatedMailingListActive": {
          "type": "boolean"
        },
        "filterByNcoa": {
          "type": "boolean"
        },
        "filterByVacancyVision": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "request",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.target_areas.execute_legacy_create

Execute the exact signed Legacy territory creation after rechecking ownership, entitlement, balance and quote under one durable transaction.

Availability
Enabled on this server; token permissions still apply.
Effect
BILLABLE
Required scopes
user:target-areas:write

Parameters

request
Required
{
  "type": "object",
  "properties": {
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 120
    },
    "emails": {
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "format": "email",
        "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      }
    },
    "zipCodes": {
      "maxItems": 10000,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "counties": {
      "maxItems": 10000,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "optionList": {
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludedList": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "minPrice": {
      "type": "string"
    },
    "maxPrice": {
      "type": "string"
    },
    "isAutomatedMailingListActive": {
      "type": "boolean"
    },
    "filterByNcoa": {
      "type": "boolean"
    },
    "filterByVacancyVision": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
quote
Required
{
  "type": "object",
  "properties": {
    "shouldDeduct": {
      "type": "boolean"
    },
    "amountToDeduct": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "requiredCredits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "actualDebit": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "totalUniqueListings": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "balanceBefore": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "balanceAfter": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "shouldDeduct",
    "amountToDeduct",
    "requiredCredits",
    "actualDebit",
    "totalUniqueListings",
    "balanceBefore",
    "balanceAfter"
  ],
  "additionalProperties": false
}
expectedVersion
Required
{
  "type": "string",
  "minLength": 64,
  "maxLength": 64
}
confirmationToken
Required
{
  "type": "string",
  "minLength": 20,
  "maxLength": 8192
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "request": {
      "type": "object",
      "properties": {
        "state": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "name": {
          "type": "string",
          "maxLength": 120
        },
        "emails": {
          "maxItems": 3,
          "type": "array",
          "items": {
            "type": "string",
            "format": "email",
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          }
        },
        "zipCodes": {
          "maxItems": 10000,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "counties": {
          "maxItems": 10000,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "optionList": {
          "maxItems": 10,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "excludedList": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "minPrice": {
          "type": "string"
        },
        "maxPrice": {
          "type": "string"
        },
        "isAutomatedMailingListActive": {
          "type": "boolean"
        },
        "filterByNcoa": {
          "type": "boolean"
        },
        "filterByVacancyVision": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "quote": {
      "type": "object",
      "properties": {
        "shouldDeduct": {
          "type": "boolean"
        },
        "amountToDeduct": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "requiredCredits": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "actualDebit": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "totalUniqueListings": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "balanceBefore": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "balanceAfter": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "shouldDeduct",
        "amountToDeduct",
        "requiredCredits",
        "actualDebit",
        "totalUniqueListings",
        "balanceBefore",
        "balanceAfter"
      ],
      "additionalProperties": false
    },
    "expectedVersion": {
      "type": "string",
      "minLength": 64,
      "maxLength": 64
    },
    "confirmationToken": {
      "type": "string",
      "minLength": 20,
      "maxLength": 8192
    }
  },
  "required": [
    "request",
    "idempotencyKey",
    "quote",
    "expectedVersion",
    "confirmationToken"
  ],
  "additionalProperties": false
}
user.capabilities.get

Explain tool scopes, role and deployment restrictions for this MCP surface. Policy permission does not guarantee execution: entitlement, approval, resource state and implementation restrictions still apply.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.account.get_context

Return the authenticated user account, organization, onboarding, and capability context.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.entitlements.get

Return the current Legacy or Pro entitlement snapshot without contacting Stripe.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:billing:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.target_areas.list

List active target areas for the current effective billing account.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:target-areas:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.target_areas.get

Return one active target area owned by the current effective billing account.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:target-areas:read

Parameters

targetAreaId
Required
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    }
  },
  "required": [
    "targetAreaId"
  ],
  "additionalProperties": false
}
user.listings.preview

Count recent listings across all active target areas, or one selected area, without returning contact data or deducting credits.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:listings:read

Parameters

targetAreaId
Optional
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
days
Optional
{
  "type": "integer",
  "minimum": 1,
  "maximum": 30
}
dateFrom
Optional
{
  "type": "string"
}
dateTo
Optional
{
  "type": "string"
}
timeZone
Optional
{
  "type": "string"
}
listingType
Optional
{
  "default": "all",
  "type": "string",
  "enum": [
    "all",
    "new_listings",
    "pending"
  ]
}
minPrice
Optional
{
  "type": "number",
  "minimum": 0
}
maxPrice
Optional
{
  "type": "number",
  "minimum": 0
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "dateFrom": {
      "type": "string"
    },
    "dateTo": {
      "type": "string"
    },
    "timeZone": {
      "type": "string"
    },
    "listingType": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "new_listings",
        "pending"
      ]
    },
    "minPrice": {
      "type": "number",
      "minimum": 0
    },
    "maxPrice": {
      "type": "number",
      "minimum": 0
    }
  },
  "additionalProperties": false
}
user.listings.search

Search recent property summaries across all active target areas, or one selected area, without owner, contact, agent, coordinate, or NCOA data.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:listings:read

Parameters

targetAreaId
Optional
{
  "type": "string",
  "pattern": "^[1-9]\\d{0,18}$"
}
days
Optional
{
  "type": "integer",
  "minimum": 1,
  "maximum": 30
}
dateFrom
Optional
{
  "type": "string"
}
dateTo
Optional
{
  "type": "string"
}
timeZone
Optional
{
  "type": "string"
}
listingType
Optional
{
  "default": "all",
  "type": "string",
  "enum": [
    "all",
    "new_listings",
    "pending"
  ]
}
minPrice
Optional
{
  "type": "number",
  "minimum": 0
}
maxPrice
Optional
{
  "type": "number",
  "minimum": 0
}
limit
Optional
{
  "default": 10,
  "type": "integer",
  "minimum": 1,
  "maximum": 25
}
offset
Optional
{
  "default": 0,
  "type": "integer",
  "minimum": 0,
  "maximum": 1000
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "targetAreaId": {
      "type": "string",
      "pattern": "^[1-9]\\d{0,18}$"
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "dateFrom": {
      "type": "string"
    },
    "dateTo": {
      "type": "string"
    },
    "timeZone": {
      "type": "string"
    },
    "listingType": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "new_listings",
        "pending"
      ]
    },
    "minPrice": {
      "type": "number",
      "minimum": 0
    },
    "maxPrice": {
      "type": "number",
      "minimum": 0
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 1000
    }
  },
  "additionalProperties": false
}
user.profile.update

Request a profile update for the authenticated user. Requires human approval through the account API; retry identical input and idempotencyKey after approval.

Availability
Enabled on this server; token permissions still apply.
Effect
MUTATION
Required scopes
user:profile:write

Parameters

firstName
Optional
{
  "type": "string",
  "minLength": 1
}
lastName
Optional
{
  "type": "string",
  "minLength": 1
}
phoneNumber
Optional
{
  "type": "string",
  "minLength": 10,
  "maxLength": 15
}
address
Optional
{
  "type": "string",
  "minLength": 5
}
state
Optional
{
  "type": "string",
  "minLength": 2
}
city
Optional
{
  "type": "string",
  "minLength": 2
}
zipCode
Optional
{
  "type": "string",
  "minLength": 5
}
companyName
Optional
{
  "type": "string",
  "minLength": 2
}
companyAddress
Optional
{
  "type": "string",
  "format": "uri"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string",
      "minLength": 1
    },
    "lastName": {
      "type": "string",
      "minLength": 1
    },
    "phoneNumber": {
      "type": "string",
      "minLength": 10,
      "maxLength": 15
    },
    "address": {
      "type": "string",
      "minLength": 5
    },
    "state": {
      "type": "string",
      "minLength": 2
    },
    "city": {
      "type": "string",
      "minLength": 2
    },
    "zipCode": {
      "type": "string",
      "minLength": 5
    },
    "companyName": {
      "type": "string",
      "minLength": 2
    },
    "companyAddress": {
      "type": "string",
      "format": "uri"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.billing.overview_get

Read the authenticated user billing overview using local state. Provider state is explicitly not verified.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:billing:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.billing.history_list

List one bounded, user-owned billing or credit-usage history source with a decimal-string cursor.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:billing:read

Parameters

source
Optional
{
  "default": "transactions",
  "type": "string",
  "enum": [
    "transactions",
    "wallet",
    "invoices",
    "credit_usage"
  ]
}
limit
Optional
{
  "default": 25,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
cursor
Optional
{
  "type": "string",
  "pattern": "^\\d{1,4}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "source": {
      "default": "transactions",
      "type": "string",
      "enum": [
        "transactions",
        "wallet",
        "invoices",
        "credit_usage"
      ]
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d{1,4}$"
    }
  },
  "additionalProperties": false
}
user.account.health_get

Read account onboarding health and actionable local blockers without bypassing billing authorization.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.operations.get_status

Read an MCP operation status owned by the authenticated user credential without returning its result payload.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

toolName
Required
{
  "type": "string",
  "minLength": 1,
  "maxLength": 200
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "toolName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "toolName",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.approvals.list

List approval requests owned by the authenticated user and credential without review payloads.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.approvals.get

Read one approval status owned by the authenticated user and credential without intent or review secrets.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

id
Required
{
  "type": "string",
  "minLength": 1,
  "maxLength": 100
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
user.activity.list

List a bounded, unified account timeline from available durable records. Billing and mailing sources remain restricted by existing scopes and billing ownership; state entries are labeled snapshots where no transition log exists.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:account:read

Parameters

dateFrom
Optional
{
  "type": "string",
  "format": "date-time",
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
dateTo
Optional
{
  "type": "string",
  "format": "date-time",
  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
types
Optional
{
  "minItems": 1,
  "maxItems": 7,
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
      "target_area",
      "data_request",
      "mailing",
      "subscription",
      "payment",
      "account",
      "mcp"
    ]
  }
}
limit
Optional
{
  "default": 25,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
cursor
Optional
{
  "type": "string",
  "minLength": 1,
  "maxLength": 2048
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "dateFrom": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "dateTo": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "types": {
      "minItems": 1,
      "maxItems": 7,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "target_area",
          "data_request",
          "mailing",
          "subscription",
          "payment",
          "account",
          "mcp"
        ]
      }
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "additionalProperties": false
}
user.manual_mailings.campaigns.list

List owned manual-mailing campaigns without recipient or payment data.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

status
Optional
{
  "type": "string",
  "enum": [
    "DRAFT",
    "PENDING_VALIDATION",
    "VALIDATING",
    "READY_TO_SEND",
    "PROCESSING",
    "COMPLETED",
    "FAILED",
    "CANCELLED"
  ]
}
search
Optional
{
  "type": "string",
  "minLength": 1,
  "maxLength": 100
}
limit
Optional
{
  "default": 10,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
offset
Optional
{
  "default": 0,
  "type": "integer",
  "minimum": 0,
  "maximum": 10000
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PENDING_VALIDATION",
        "VALIDATING",
        "READY_TO_SEND",
        "PROCESSING",
        "COMPLETED",
        "FAILED",
        "CANCELLED"
      ]
    },
    "search": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "additionalProperties": false
}
user.manual_mailings.campaigns.get

Get a safe operational summary for one owned manual-mailing campaign.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "campaignId"
  ],
  "additionalProperties": false
}
user.manual_mailings.recipient_lists.list

List owned recipient-list counts and validation status without recipient rows.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

limit
Optional
{
  "default": 10,
  "type": "integer",
  "minimum": 1,
  "maximum": 50
}
offset
Optional
{
  "default": 0,
  "type": "integer",
  "minimum": 0,
  "maximum": 10000
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 10000
    }
  },
  "additionalProperties": false
}
user.manual_mailings.recipient_lists.get_summary

Get aggregate validation status for one owned recipient list without names or addresses.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

recipientListId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "recipientListId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "recipientListId"
  ],
  "additionalProperties": false
}
user.manual_mailings.designs.list

List owned ready manual designs and usable templates with safe metadata only.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

No parameters. Pass {}.

Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
user.manual_mailings.campaigns.get_quote

Recalculate the current server-side quote for one owned campaign.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "campaignId"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.get_status

Poll validation, payment, and dispatch state for one owned campaign.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:read

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    }
  },
  "required": [
    "campaignId"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.create

Create an owned manual-mailing draft from an existing recipient list and ready design.

Availability
Enabled on this server; token permissions still apply.
Effect
MUTATION
Required scopes
user:manual-mailings:write

Parameters

name
Optional
{
  "type": "string",
  "minLength": 1,
  "maxLength": 150
}
recipientListId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
designSource
Required
{
  "type": "string",
  "enum": [
    "manual",
    "template"
  ]
}
designId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 150
    },
    "recipientListId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "designSource": {
      "type": "string",
      "enum": [
        "manual",
        "template"
      ]
    },
    "designId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "recipientListId",
    "designSource",
    "designId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.update

Update allowlisted fields on an owned draft or failed campaign.

Availability
Enabled on this server; token permissions still apply.
Effect
MUTATION
Required scopes
user:manual-mailings:write

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
name
Optional
{
  "type": "string",
  "minLength": 1,
  "maxLength": 150
}
recipientListId
Optional
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
designSource
Optional
{
  "type": "string",
  "enum": [
    "manual",
    "template"
  ]
}
designId
Optional
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 150
    },
    "recipientListId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "designSource": {
      "type": "string",
      "enum": [
        "manual",
        "template"
      ]
    },
    "designId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "campaignId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.validate

Start or reconcile canonical campaign address validation and return immediately.

Availability
Enabled on this server; token permissions still apply.
Effect
EXTERNAL_EFFECT
Required scopes
user:manual-mailings:write

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "campaignId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.prepare_delete_draft

Prepare deletion of an owned draft or failed campaign and return a short-lived confirmation.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:write

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "campaignId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.manual_mailings.campaigns.execute_delete_draft

Execute a confirmed deletion of an owned draft or failed campaign.

Availability
Enabled on this server; token permissions still apply.
Effect
DESTRUCTIVE
Required scopes
user:manual-mailings:write

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
confirmationToken
Required
{
  "type": "string",
  "minLength": 20
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "confirmationToken": {
      "type": "string",
      "minLength": 20
    }
  },
  "required": [
    "campaignId",
    "idempotencyKey",
    "confirmationToken"
  ],
  "additionalProperties": false
}
user.manual_mailings.prepare_send

Prepare a capped saved-payment manual-mailing send and bind the exact current quote.

Availability
Enabled on this server; token permissions still apply.
Effect
READ
Required scopes
user:manual-mailings:send

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "campaignId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
user.manual_mailings.execute_send

Execute a confirmed paid send. Fails closed until provider retry reconciliation is proven.

Availability
Enabled on this server; token permissions still apply.
Effect
BILLABLE
Required scopes
user:manual-mailings:send

Paid send execution is currently blocked, even when this tool is listed. Preparing a send does not send mail or charge your account.

Parameters

campaignId
Required
{
  "type": "string",
  "format": "cuid",
  "pattern": "^[cC][0-9a-z]{6,}$"
}
quoteFingerprint
Required
{
  "type": "string",
  "pattern": "^[a-f0-9]{64}$"
}
chargeCents
Required
{
  "type": "integer",
  "exclusiveMinimum": 0,
  "maximum": 50000
}
recipientCount
Required
{
  "type": "integer",
  "exclusiveMinimum": 0,
  "maximum": 1000
}
idempotencyKey
Required
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_-]{8,100}$"
}
confirmationToken
Required
{
  "type": "string",
  "minLength": 20
}
Full input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^[cC][0-9a-z]{6,}$"
    },
    "quoteFingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "chargeCents": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50000
    },
    "recipientCount": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    },
    "confirmationToken": {
      "type": "string",
      "minLength": 20
    }
  },
  "required": [
    "campaignId",
    "quoteFingerprint",
    "chargeCents",
    "recipientCount",
    "idempotencyKey",
    "confirmationToken"
  ],
  "additionalProperties": false
}
user.automated_mailings.queue_list

List automated mailing queue state and delivery timing.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "userId": {
            "type": "string"
          },
          "settingId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "totalAddresses": {
            "type": "number"
          },
          "verifiedCount": {
            "type": "number"
          },
          "unverifiedCount": {
            "type": "number"
          },
          "mailCost": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "processingFee": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "totalCharge": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "lastAttemptDate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "nextAttemptDate": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "financialDataRedacted": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "userId",
          "settingId",
          "totalAddresses",
          "verifiedCount",
          "unverifiedCount",
          "lastAttemptDate",
          "nextAttemptDate",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.automated_mailings.queue_list is registered with the same description and bounded output contract returned by tools/list.
user.automated_mailings.history_list

List automated mailing dispatch history.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "settingId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "invoiceId": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "settingId",
          "invoiceId",
          "status",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.automated_mailings.history_list is registered with the same description and bounded output contract returned by tools/list.
user.automated_mailings.diagnostics_get

Read automated mailing diagnostics and reconciliation blockers.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "window": {
      "type": "object",
      "properties": {
        "days": {
          "type": "number"
        },
        "from": {
          "type": "string"
        },
        "to": {
          "type": "string"
        }
      },
      "required": [
        "days",
        "from",
        "to"
      ],
      "additionalProperties": false
    },
    "summary": {
      "type": "object",
      "properties": {
        "activeCampaigns": {
          "type": "number"
        },
        "pausedCampaigns": {
          "type": "number"
        },
        "awaitingApprovalCampaigns": {
          "type": "number"
        },
        "allTimeSent": {
          "type": "number"
        },
        "allTimeFailed": {
          "type": "number"
        },
        "spendLastDays": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        }
      },
      "required": [
        "activeCampaigns",
        "pausedCampaigns",
        "awaitingApprovalCampaigns",
        "allTimeSent",
        "allTimeFailed"
      ],
      "additionalProperties": false
    },
    "batches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "paidAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "updatedAt": {
            "type": "string"
          },
          "paymentNeedsReconciliation": {
            "type": "boolean"
          },
          "paymentRecoveryReadOnly": {
            "type": "boolean"
          },
          "dispatchNeedsReconciliation": {
            "type": "boolean"
          },
          "walletSplitCancelled": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "additionalProperties": false
      }
    },
    "financialDataRedacted": {
      "type": "boolean"
    }
  },
  "required": [
    "window",
    "summary",
    "batches"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.automated_mailings.diagnostics_get is registered with the same description and bounded output contract returned by tools/list.
user.designs.list

List designs owned by the account, including pending and rejected designs.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "templateId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "templates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "hasFront": {
            "type": "boolean"
          },
          "hasBack": {
            "type": "boolean"
          },
          "frontPreviewUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "backPreviewUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "name",
          "message",
          "type",
          "size",
          "hasFront",
          "hasBack",
          "frontPreviewUrl",
          "backPreviewUrl",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "templates"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:manual-mailings:read
Reference
user.designs.list is registered with the same description and bounded output contract returned by tools/list.
user.designs.get

Read one design owned by the account.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "templateId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "templateId"
  ],
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "templates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "hasFront": {
            "type": "boolean"
          },
          "hasBack": {
            "type": "boolean"
          },
          "frontPreviewUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "backPreviewUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "name",
          "message",
          "type",
          "size",
          "hasFront",
          "hasBack",
          "frontPreviewUrl",
          "backPreviewUrl",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "templates"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:manual-mailings:read
Reference
user.designs.get is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.settings.get

Read handwritten billing readiness and settings for the effective account.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "clientId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "settings": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "clientId": {
              "type": "string"
            },
            "userId": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "billingMode": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "effectiveFrom": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "activatedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "pausedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "nextEffectiveFrom": {
              "type": "string"
            },
            "liveEnabled": {
              "type": "boolean"
            },
            "criteria": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "code": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "letterType": {
                    "type": "string"
                  },
                  "price": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unitPriceCents": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "savedCardReady": {
              "type": "boolean"
            },
            "walletAvailableCents": {
              "type": "number"
            },
            "blockers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "version": {
              "type": "string"
            },
            "financialDataRedacted": {
              "type": "boolean"
            }
          },
          "required": [
            "clientId",
            "userId",
            "name",
            "billingMode",
            "status",
            "effectiveFrom",
            "activatedAt",
            "pausedAt",
            "liveEnabled"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "financialDataRedacted": {
      "type": "boolean"
    }
  },
  "required": [
    "clientId",
    "name",
    "status",
    "settings"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.settings.get is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.criteria.list

List handwritten targeting criteria and delivery filters.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "clientId": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "limit": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "letterType": {
            "type": "string"
          },
          "weeklyCap": {
            "type": "number"
          },
          "companyName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "uniqueFourDigit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "counties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "maxPrice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "optionList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excludedList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "suppressionEnabled": {
            "type": "boolean"
          },
          "filterByVacancyVision": {
            "type": "boolean"
          },
          "pricePerLetter": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "designs": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "single": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "front": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "back": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "expiresAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "single",
                  "front",
                  "back"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "financialDataRedacted": {
            "type": "boolean"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "clientId",
    "total",
    "limit",
    "offset",
    "items"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.criteria.list is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.designs.list

List handwritten designs and private previews owned by the account.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "clientId": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "limit": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "letterType": {
            "type": "string"
          },
          "weeklyCap": {
            "type": "number"
          },
          "companyName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "uniqueFourDigit": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "counties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "zipCodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "maxPrice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "optionList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excludedList": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "suppressionEnabled": {
            "type": "boolean"
          },
          "filterByVacancyVision": {
            "type": "boolean"
          },
          "pricePerLetter": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "designs": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "single": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "front": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "back": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    ]
                  },
                  "expiresAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "single",
                  "front",
                  "back"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "financialDataRedacted": {
            "type": "boolean"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "clientId",
    "total",
    "limit",
    "offset",
    "items"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.designs.list is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.batches.list

List handwritten production batches and billing-item states.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "total": {
      "type": "number"
    },
    "limit": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "date": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "clientLetters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "criteriaId": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                },
                "letterCount": {
                  "type": "number"
                },
                "dailyBillingRequired": {
                  "type": "boolean"
                },
                "billingItem": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "billingState": {
                          "type": "string"
                        },
                        "productionState": {
                          "type": "string"
                        },
                        "dailyBillingBatchId": {
                          "anyOf": [
                            {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                }
                              ]
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "criteriaId",
                "letterCount",
                "dailyBillingRequired"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "date",
          "status",
          "createdAt",
          "updatedAt",
          "clientLetters"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "total",
    "limit",
    "offset",
    "items"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.batches.list is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.status.get

Read handwritten service status and actionable blockers.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "clientId": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "settings": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "clientId": {
              "type": "string"
            },
            "userId": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "billingMode": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "effectiveFrom": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "activatedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "pausedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "nextEffectiveFrom": {
              "type": "string"
            },
            "liveEnabled": {
              "type": "boolean"
            },
            "criteria": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "code": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "letterType": {
                    "type": "string"
                  },
                  "price": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unitPriceCents": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "savedCardReady": {
              "type": "boolean"
            },
            "walletAvailableCents": {
              "type": "number"
            },
            "blockers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "version": {
              "type": "string"
            },
            "financialDataRedacted": {
              "type": "boolean"
            }
          },
          "required": [
            "clientId",
            "userId",
            "name",
            "billingMode",
            "status",
            "effectiveFrom",
            "activatedAt",
            "pausedAt",
            "liveEnabled"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "financialDataRedacted": {
      "type": "boolean"
    }
  },
  "required": [
    "clientId",
    "name",
    "status",
    "settings"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.status.get is registered with the same description and bounded output contract returned by tools/list.
user.handwritten.billing.get

Read handwritten billing totals when billing visibility is authorized.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    }
  },
  "additionalProperties": false
}
Response data JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "settings": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "clientId": {
              "type": "string"
            },
            "userId": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "billingMode": {
              "type": "string"
            },
            "status": {
              "type": "string"
            },
            "effectiveFrom": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "activatedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "pausedAt": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "nextEffectiveFrom": {
              "type": "string"
            },
            "liveEnabled": {
              "type": "boolean"
            },
            "criteria": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "code": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "letterType": {
                    "type": "string"
                  },
                  "price": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "unitPriceCents": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "savedCardReady": {
              "type": "boolean"
            },
            "walletAvailableCents": {
              "type": "number"
            },
            "blockers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "version": {
              "type": "string"
            },
            "financialDataRedacted": {
              "type": "boolean"
            }
          },
          "required": [
            "clientId",
            "userId",
            "name",
            "billingMode",
            "status",
            "effectiveFrom",
            "activatedAt",
            "pausedAt",
            "liveEnabled"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "billing": {
      "type": "object",
      "properties": {
        "clientId": {
          "type": "string"
        },
        "total": {
          "type": "number"
        },
        "limit": {
          "type": "number"
        },
        "offset": {
          "type": "number"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "serviceDate": {
                "type": "string"
              },
              "pieceCount": {
                "type": "number"
              },
              "total": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "adjustmentTotal": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "billingState": {
                "type": "string"
              },
              "productionState": {
                "type": "string"
              },
              "dailyBillingBatchId": {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sourceLetterRowId": {
                "anyOf": [
                  {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "dailyBillingBatch": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "string"
                      },
                      "paidAt": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "totalAmount": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "number"
                          }
                        ]
                      },
                      "totalAmountWithFee": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "number"
                          }
                        ]
                      },
                      "billingDate": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "id",
              "serviceDate",
              "pieceCount",
              "billingState",
              "productionState",
              "dailyBillingBatchId",
              "sourceLetterRowId"
            ],
            "additionalProperties": false
          }
        },
        "financialDataRedacted": {
          "type": "boolean"
        }
      },
      "required": [
        "clientId",
        "total",
        "limit",
        "offset",
        "items"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "settings",
    "billing"
  ],
  "additionalProperties": false
}
Availability
Enabled on this server; token permissions still apply.
Required scopes
user:automated-mailings:read
Reference
user.handwritten.billing.get is registered with the same description and bounded output contract returned by tools/list.

Manage access

Approve or reject an operation

When a tool returns APPROVAL_REQUIRED, a person must review and approve the proposed operation using their account JWT. The MCP token cannot approve its own operation.

  • GET /users/me/mcp-approvals — list approval requests.
  • GET /users/me/mcp-approvals/{id} — inspect the request before deciding.
  • POST /users/me/mcp-approvals/{id}/approve — approve the reviewed request.
  • POST /users/me/mcp-approvals/{id}/reject — reject the request.

Use Authorization: Bearer YOUR_ACCOUNT_JWT. The decision endpoints accept an empty JSON object {}. Approval does not execute the operation: after approval, retry the same MCP tool with identical arguments and the same idempotencyKey. A confirmation token from a prepare tool is a separate requirement where applicable.

Tokens

List credentials with GET /users/me/mcp-credentials. Revoke one with DELETE /users/me/mcp-credentials/{id}. Both requests use your account JWT.

Never commit a token or paste it into a documentation sharing form.