SuperBooksDevelopers
API reference

Customers

Customers tools exposed over the SuperBooks MCP API.

The customers domain exposes 5 tools, 1 of which is destructive.

Destructive tools are hidden from tools/list unless the credential holds apis.all and the team has enabled destructive AI tools. See Authentication.

Tools

customers_create

Scope tier: write

Create a new customer for the current team. Name and email are required; billing/shipping address fields and tags are optional. To assign tags, pass an array of existing tag ids (use tags_list/tags_create from the tags domain to manage them — this tool does NOT create new tags).

ParameterTypeRequiredDescription
namestringyesCustomer or organization name (e.g., 'Acme Corporation')
emailstring (email)yesPrimary email address of the customer
billingEmailstring (nullable)noBilling email address(es). Comma-separate multiple values (e.g., '[email protected], [email protected]').
phonestring (nullable)noPrimary phone number
websitestring (nullable)noWebsite URL (e.g., 'https://acme.com')
contactstring (nullable)noPrimary contact person's name at the customer organization
notestring (nullable)noInternal team-facing note about this customer
vatNumberstring (nullable)noVAT (Value Added Tax) number
countrystring (nullable)noCountry name (e.g., 'United States')
countryCodestring (nullable)noCountry code in ISO 3166-1 alpha-2 format (e.g., 'US')
addressLine1string (nullable)noFirst line of the customer's address
addressLine2string (nullable)noSecond line of the customer's address (suite, apartment, etc.)
citystring (nullable)noCity
statestring (nullable)noState or province
zipstring (nullable)noZIP or postal code
preferred_currencystring (nullable)no3-letter ISO currency code used as default for new invoices (e.g., 'USD'). Will be uppercased.
default_payment_termsinteger (nullable)noDefault payment terms in days used when generating invoices (e.g., 30 for net-30).
tag_idsarray of string (uuid)noArray of existing tag ids to link to this customer. Tags must already exist for the team.

customers_delete

Scope tier: destructive · Destructive — requires the two-gate check

Permanently delete a customer. DESTRUCTIVE: also permanently deletes all tracker projects belonging to this customer, and unlinks the customer from invoices and recurring-invoice schedules (those financial records are kept, but lose their customer link). Confirm with the user explicitly. Prefer customers_update with is_archived=true unless the customer must be removed for compliance reasons. Returns deleted: false if the customer was already absent — does not throw.

ParameterTypeRequiredDescription
idstring (uuid)yesCustomer ID. This action is permanent.

customers_get

Scope tier: read

Fetch one customer by ID with full billing/shipping details, tags, and invoice/project counts. Returns null if not found for the current team.

ParameterTypeRequiredDescription
idstring (uuid)yesCustomer ID

customers_list

Scope tier: read

List customers for the current team, newest first. Supports cursor pagination plus filters by name (partial, case-insensitive), email (partial, case-insensitive), tag id, and archived state. Pass the returned nextCursor to fetch the next page.

ParameterTypeRequiredDescription
namestringnoPartial, case-insensitive match against the customer name
emailstringnoPartial, case-insensitive match against the customer email
tag_idstring (uuid)noOnly return customers linked to this tag id. Use tags_list to find tag ids.
is_archivedbooleannoIf true, only archived customers. If false, only non-archived (default behavior shows all).
cursorstringnoPagination cursor returned by the previous call
limitintegernoMax items per page (1-100) Default: 25.

customers_update

Scope tier: write

Update one customer. Only the fields you pass are modified — other fields are left untouched. Set is_archived=true to archive (recommended over customers_delete for soft removal). If tag_ids is provided, it FULLY REPLACES the existing tag set: tags not in the array are unlinked. Omit tag_ids entirely to leave tags untouched.

ParameterTypeRequiredDescription
idstring (uuid)yesCustomer ID to update
namestringnoNew customer name
emailstring (email)noNew primary email
billingEmailstring (nullable)noBilling email(s). Pass null to clear. Comma-separate for multiple.
phonestring (nullable)noPhone number. Pass null to clear.
websitestring (nullable)noWebsite URL. Pass null to clear.
contactstring (nullable)noPrimary contact name. Pass null to clear.
notestring (nullable)noInternal team-facing note. Pass null to clear.
vatNumberstring (nullable)noVAT number. Pass null to clear.
countrystring (nullable)noCountry name. Pass null to clear.
countryCodestring (nullable)noCountry code in ISO 3166-1 alpha-2 format. Pass null to clear.
addressLine1string (nullable)noAddress line 1. Pass null to clear.
addressLine2string (nullable)noAddress line 2. Pass null to clear.
citystring (nullable)noCity. Pass null to clear.
statestring (nullable)noState or province. Pass null to clear.
zipstring (nullable)noZIP/postal code. Pass null to clear.
preferred_currencystring (nullable)no3-letter ISO currency code (uppercased). Pass null to clear.
default_payment_termsinteger (nullable)noDefault payment terms in days for new invoices. Pass null to clear.
is_archivedbooleannoArchive (true) or restore (false) the customer. Archived customers are hidden from default lists.
tag_idsarray of string (uuid)noREPLACES the customer's tag set. Pass [] to clear all tags. Omit this field to leave existing tags untouched. Tags must already exist for the team.

On this page