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}"
}
}
}
}
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}"
}
}
}
}
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}"
}
}
}
}
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_listis registered with the same description and bounded output contract returned bytools/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_listis registered with the same description and bounded output contract returned bytools/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_getis registered with the same description and bounded output contract returned bytools/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.listis registered with the same description and bounded output contract returned bytools/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.getis registered with the same description and bounded output contract returned bytools/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.getis registered with the same description and bounded output contract returned bytools/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.listis registered with the same description and bounded output contract returned bytools/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.listis registered with the same description and bounded output contract returned bytools/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.listis registered with the same description and bounded output contract returned bytools/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.getis registered with the same description and bounded output contract returned bytools/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.getis registered with the same description and bounded output contract returned bytools/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.