# Accounting API — Customers

> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers

This document contains every operation on the `Customers` resource.

---

# List Customers

> **Accounting API** · `GET /accounting/customers`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersAll
> MCP tool: `accounting-customers-all`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [How does cursor pagination work?](https://developers.apideck.com/glossary#cursor)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

List Customers

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `x-apideck-company-id` | header | `string` | No | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. |
| `cursor` | query | `string` | No | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. |
| `limit` | query | `integer` | No | Number of results to return. Minimum 1, Maximum 200, Default 20 |
| `filter` | query | `object` | No | Apply filters |
| `sort` | query | `object` | No | Apply sorting |
| `pass_through` | query | `object` | No | Optional unmapped key/values that will be passed through to downstream as query parameters. Ie: ?pass_through[search]=leads becomes ?search=leads |
| `fields` | query | `string` | No | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. |

### Responses

#### 200 — Customers

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `xero`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `all`
- `data` `array of object` **required**
  - `id` `string` **required** — A unique identifier for an object. — example: `12345`
  - `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
  - `display_id` `string` — Display ID — example: `EMP00101`
  - `display_name` `string` — Display name — example: `Windsurf Shop`
  - `company_name` `string` — The name of the company. — example: `SpaceX`
  - `company_id` `string` — The company ID the transaction belongs to — example: `12345`
  - `subsidiary` `object`
    - `id` `string` — A unique identifier for an object. — example: `12345`
    - `display_id` `string` — Id to be displayed. — example: `123456`
    - `name` `string` — The name of the resource. — example: `Acme Inc.`
  - `customer_category` `string` — The category/type of the customer — example: `Insurance`
  - `title` `string` — The job title of the person. — example: `CEO`
  - `first_name` `string` — The first name of the person. — example: `Elon`
  - `middle_name` `string` — Middle name of the person. — example: `D.`
  - `last_name` `string` — The last name of the person. — example: `Musk`
  - `suffix` `string` — example: `Jr.`
  - `individual` `boolean` — Is this an individual or business customer — example: `true`
  - `project` `boolean` — If true, indicates this is a Project. — example: `false`
  - `addresses` `array of object`
    - `id` `string` — Unique identifier for the address. — example: `123`
    - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
    - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
    - `name` `string` — The name of the address. — example: `HQ US`
    - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
    - `line2` `string` — Line 2 of the address — example: `apt #`
    - `line3` `string` — Line 3 of the address — example: `Suite #`
    - `line4` `string` — Line 4 of the address — example: `delivery instructions`
    - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
    - `street_number` `string` — Street number — example: `25`
    - `city` `string` — Name of city. — example: `San Francisco`
    - `state` `string` — Name of state — example: `CA`
    - `postal_code` `string` — Zip code or equivalent. — example: `94104`
    - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
    - `latitude` `string` — Latitude of the address — example: `40.759211`
    - `longitude` `string` — Longitude of the address — example: `-73.984638`
    - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
    - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
    - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
    - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
    - `fax` `string` — Fax number of the address — example: `122-111-1111`
    - `email` `string` — Email address of the address — example: `elon@musk.com`
    - `website` `string` — Website of the address — example: `https://elonmusk.com`
    - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
    - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
  - `phone_numbers` `array of object`
    - `id` `string` — Unique identifier of the phone number — example: `12345`
    - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
    - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
    - `number` `string` **required** — The phone number — example: `111-111-1111`
    - `extension` `string` — The extension of the phone number — example: `105`
    - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
  - `emails` `array of object`
    - `id` `string` — Unique identifier for the email address — example: `123`
    - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
    - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
  - `websites` `array of object`
    - `id` `string` — Unique identifier for the website — example: `12345`
    - `url` `string` **required** — The website URL — example: `http://example.com`
    - `type` `string` — The type of website — enum: `primary`, `secondary`, `work`, `personal`, `other` — example: `primary`
  - `bank_accounts` `array of object`
    - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
    - `account_number` `string` — The bank account number — example: `123465`
    - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
    - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
    - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
    - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
    - `routing_number` `string` — Bank routing number (US) — example: `021000021`
    - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
    - `branch_identifier` `string` — Bank branch identifier — example: `001`
    - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
    - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
    - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
  - `notes` `string` — Some notes about this customer — example: `Some notes about this customer`
  - `tax_rate` `object`
    - `id` `string` — The ID of the object. — example: `123456`
    - `code` `string` — Tax rate code — example: `N-T`
    - `name` `string` — Name of the tax rate — example: `GST on Purchases`
    - `rate` `number` — Rate of the tax rate — example: `10`
  - `tax_number` `string` — example: `US123945459`
  - `taxable` `boolean` — Whether the entity is subject to taxation — example: `true`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `balance` `number` — The customer's outstanding balance: the amount the customer currently owes, in the customer's currency. A positive value means the customer owes the business. — example: `1250`
  - `account` `object`
    - `id` `string` — The unique identifier for the account. — example: `123456`
    - `name` `string` — The name of the account. — example: `Bank account`
    - `nominal_code` `string` — The nominal code of the account. — example: `N091`
    - `code` `string` — The code assigned to the account. — example: `453`
    - `parent_id` `string` — The parent ID of the account. — example: `123456`
    - `display_id` `string` — The display ID of the account. — example: `123456`
  - `parent` `object` — The parent customer this entity is linked to.
    - `id` `string` **required** — The parent ID of the customer this entity is linked to. — example: `12345`
    - `name` `string` — The name of the parent customer. — example: `Windsurf Shop`
  - `status` `string` — Customer status — enum: `active`, `inactive`, `archived`, `gdpr-erasure-request`, `unknown` — example: `active`
  - `payment_method` `string` — Payment method used for the transaction, such as cash, credit card, bank transfer, or check — example: `cash`
  - `terms` `string` — Terms of payment. — example: `Net 30 days`
  - `terms_id` `string` — The ID of the payment terms — example: `12345`
  - `channel` `string` — The channel through which the transaction is processed. — example: `email`
  - `custom_fields` `array of object`
    - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
    - `name` `string` — Name of the custom field. — example: `employee_level`
    - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
    - `description` `string` — More information about the custom field — example: `Employee Level`
    - `value` `string | number | boolean | object | array of string | number | boolean | object`
      - One of:
        - Option 1: string
        - Option 2: number
        - Option 3: boolean
        - Option 4: object

        - Option 5: array of string | number | boolean | object
  - `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
  - `updated_by` `string` — The user who last updated the object. — example: `12345`
  - `created_by` `string` — The user who created the object. — example: `12345`
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
  - `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
    - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
    - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
    - `extend_object` `object` — Simple object allowing any properties for direct extension.
    - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
      - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
      - `value` `any` **required** — The value to set at the specified path, can be any type.
- `meta` `object` — Response metadata
  - `items_on_page` `integer` — Number of items returned in the data property of the response — example: `50`
  - `cursors` `object` — Cursors to navigate to previous or next pages through the API
    - `previous` `string` — Cursor to navigate to the previous page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjE=`
    - `current` `string` — Cursor to navigate to the current page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjI=`
    - `next` `string` — Cursor to navigate to the next page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjM=`
  - `total_count` `integer` — Number of records available in total for this resource — example: `1`
  - `warnings` `array of object` — Non-fatal warnings emitted when optional workflow steps failed. Present only when at least one step degraded; the response status remains 200.
    - `type` `string` — Discriminator for the warning kind. — example: `downstream_request_failed`
    - `status_code` `integer` — HTTP status code returned by the failed downstream request, when available. — example: `429`
    - `error` `string` — Short error description from the downstream provider, when available.
    - `operation` `string` — Identifier of the workflow step that failed. — example: `getManager`
    - `message` `string` — Detailed message from the downstream provider, when available.
- `links` `object` — Links to navigate to previous or next pages through the API
  - `previous` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D`
  - `current` `string` — Link to navigate to the current page through the API — example: `https://unify.apideck.com/crm/companies`
  - `next` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Create Customer

> **Accounting API** · `POST /accounting/customers`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersAdd
> MCP tool: `accounting-customers-add`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [Consumer explained](https://developers.apideck.com/glossary#consumer)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

Create Customer

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `x-apideck-company-id` | header | `string` | No | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. |

### Request Body

_Required._

- `id` `string` **required** — A unique identifier for an object. — example: `12345`
- `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
- `display_id` `string` — Display ID — example: `EMP00101`
- `display_name` `string` — Display name — example: `Windsurf Shop`
- `company_name` `string` — The name of the company. — example: `SpaceX`
- `company_id` `string` — The company ID the transaction belongs to — example: `12345`
- `subsidiary` `object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `display_id` `string` — Id to be displayed. — example: `123456`
  - `name` `string` — The name of the resource. — example: `Acme Inc.`
- `customer_category` `string` — The category/type of the customer — example: `Insurance`
- `title` `string` — The job title of the person. — example: `CEO`
- `first_name` `string` — The first name of the person. — example: `Elon`
- `middle_name` `string` — Middle name of the person. — example: `D.`
- `last_name` `string` — The last name of the person. — example: `Musk`
- `suffix` `string` — example: `Jr.`
- `individual` `boolean` — Is this an individual or business customer — example: `true`
- `project` `boolean` — If true, indicates this is a Project. — example: `false`
- `addresses` `array of object`
  - `id` `string` — Unique identifier for the address. — example: `123`
  - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
  - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
  - `name` `string` — The name of the address. — example: `HQ US`
  - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
  - `line2` `string` — Line 2 of the address — example: `apt #`
  - `line3` `string` — Line 3 of the address — example: `Suite #`
  - `line4` `string` — Line 4 of the address — example: `delivery instructions`
  - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
  - `street_number` `string` — Street number — example: `25`
  - `city` `string` — Name of city. — example: `San Francisco`
  - `state` `string` — Name of state — example: `CA`
  - `postal_code` `string` — Zip code or equivalent. — example: `94104`
  - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
  - `latitude` `string` — Latitude of the address — example: `40.759211`
  - `longitude` `string` — Longitude of the address — example: `-73.984638`
  - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
  - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
  - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
  - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
  - `fax` `string` — Fax number of the address — example: `122-111-1111`
  - `email` `string` — Email address of the address — example: `elon@musk.com`
  - `website` `string` — Website of the address — example: `https://elonmusk.com`
  - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
  - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `phone_numbers` `array of object`
  - `id` `string` — Unique identifier of the phone number — example: `12345`
  - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
  - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
  - `number` `string` **required** — The phone number — example: `111-111-1111`
  - `extension` `string` — The extension of the phone number — example: `105`
  - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
- `emails` `array of object`
  - `id` `string` — Unique identifier for the email address — example: `123`
  - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
  - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
- `websites` `array of object`
  - `id` `string` — Unique identifier for the website — example: `12345`
  - `url` `string` **required** — The website URL — example: `http://example.com`
  - `type` `string` — The type of website — enum: `primary`, `secondary`, `work`, `personal`, `other` — example: `primary`
- `bank_accounts` `array of object`
  - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
  - `account_number` `string` — The bank account number — example: `123465`
  - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
  - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
  - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
  - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
  - `routing_number` `string` — Bank routing number (US) — example: `021000021`
  - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
  - `branch_identifier` `string` — Bank branch identifier — example: `001`
  - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
- `notes` `string` — Some notes about this customer — example: `Some notes about this customer`
- `tax_rate` `object`
  - `id` `string` — The ID of the object. — example: `123456`
  - `code` `string` — Tax rate code — example: `N-T`
  - `name` `string` — Name of the tax rate — example: `GST on Purchases`
  - `rate` `number` — Rate of the tax rate — example: `10`
- `tax_number` `string` — example: `US123945459`
- `taxable` `boolean` — Whether the entity is subject to taxation — example: `true`
- `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
- `balance` `number` — The customer's outstanding balance: the amount the customer currently owes, in the customer's currency. A positive value means the customer owes the business. — example: `1250`
- `account` `object`
  - `id` `string` — The unique identifier for the account. — example: `123456`
  - `name` `string` — The name of the account. — example: `Bank account`
  - `nominal_code` `string` — The nominal code of the account. — example: `N091`
  - `code` `string` — The code assigned to the account. — example: `453`
  - `parent_id` `string` — The parent ID of the account. — example: `123456`
  - `display_id` `string` — The display ID of the account. — example: `123456`
- `parent` `object` — The parent customer this entity is linked to.
  - `id` `string` **required** — The parent ID of the customer this entity is linked to. — example: `12345`
  - `name` `string` — The name of the parent customer. — example: `Windsurf Shop`
- `status` `string` — Customer status — enum: `active`, `inactive`, `archived`, `gdpr-erasure-request`, `unknown` — example: `active`
- `payment_method` `string` — Payment method used for the transaction, such as cash, credit card, bank transfer, or check — example: `cash`
- `terms` `string` — Terms of payment. — example: `Net 30 days`
- `terms_id` `string` — The ID of the payment terms — example: `12345`
- `channel` `string` — The channel through which the transaction is processed. — example: `email`
- `custom_fields` `array of object`
  - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
  - `name` `string` — Name of the custom field. — example: `employee_level`
  - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
  - `description` `string` — More information about the custom field — example: `Employee Level`
  - `value` `string | number | boolean | object | array of string | number | boolean | object`
    - One of:
      - Option 1: string
      - Option 2: number
      - Option 3: boolean
      - Option 4: object

      - Option 5: array of string | number | boolean | object
- `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
- `updated_by` `string` — The user who last updated the object. — example: `12345`
- `created_by` `string` — The user who created the object. — example: `12345`
- `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
  - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
  - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
  - `extend_object` `object` — Simple object allowing any properties for direct extension.
  - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
    - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
    - `value` `any` **required** — The value to set at the specified path, can be any type.

### Responses

#### 201 — Customers

- `status_code` `integer` **required** — HTTP Response Status Code — example: `201`
- `status` `string` **required** — HTTP Response Status — example: `Created`
- `service` `string` **required** — Apideck ID of service provider — example: `xero`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `add`
- `data` `object` **required** — A object containing a unique identifier for the resource that was created, updated, or deleted.
  - `id` `string` **required** — The unique identifier of the resource — example: `12345`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Get Customer

> **Accounting API** · `GET /accounting/customers/{id}`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersOne
> MCP tool: `accounting-customers-one`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [Consumer explained](https://developers.apideck.com/glossary#consumer)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

Get Customer

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | ID of the record you are acting upon. |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `x-apideck-company-id` | header | `string` | No | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |
| `fields` | query | `string` | No | The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields "name", "email" and "addresses.city". If any other fields are available, they will be excluded. |

### Responses

#### 200 — Customer

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `xero`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `one`
- `data` `object` **required**
  - `id` `string` **required** — A unique identifier for an object. — example: `12345`
  - `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
  - `display_id` `string` — Display ID — example: `EMP00101`
  - `display_name` `string` — Display name — example: `Windsurf Shop`
  - `company_name` `string` — The name of the company. — example: `SpaceX`
  - `company_id` `string` — The company ID the transaction belongs to — example: `12345`
  - `subsidiary` `object`
    - `id` `string` — A unique identifier for an object. — example: `12345`
    - `display_id` `string` — Id to be displayed. — example: `123456`
    - `name` `string` — The name of the resource. — example: `Acme Inc.`
  - `customer_category` `string` — The category/type of the customer — example: `Insurance`
  - `title` `string` — The job title of the person. — example: `CEO`
  - `first_name` `string` — The first name of the person. — example: `Elon`
  - `middle_name` `string` — Middle name of the person. — example: `D.`
  - `last_name` `string` — The last name of the person. — example: `Musk`
  - `suffix` `string` — example: `Jr.`
  - `individual` `boolean` — Is this an individual or business customer — example: `true`
  - `project` `boolean` — If true, indicates this is a Project. — example: `false`
  - `addresses` `array of object`
    - `id` `string` — Unique identifier for the address. — example: `123`
    - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
    - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
    - `name` `string` — The name of the address. — example: `HQ US`
    - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
    - `line2` `string` — Line 2 of the address — example: `apt #`
    - `line3` `string` — Line 3 of the address — example: `Suite #`
    - `line4` `string` — Line 4 of the address — example: `delivery instructions`
    - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
    - `street_number` `string` — Street number — example: `25`
    - `city` `string` — Name of city. — example: `San Francisco`
    - `state` `string` — Name of state — example: `CA`
    - `postal_code` `string` — Zip code or equivalent. — example: `94104`
    - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
    - `latitude` `string` — Latitude of the address — example: `40.759211`
    - `longitude` `string` — Longitude of the address — example: `-73.984638`
    - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
    - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
    - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
    - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
    - `fax` `string` — Fax number of the address — example: `122-111-1111`
    - `email` `string` — Email address of the address — example: `elon@musk.com`
    - `website` `string` — Website of the address — example: `https://elonmusk.com`
    - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
    - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
  - `phone_numbers` `array of object`
    - `id` `string` — Unique identifier of the phone number — example: `12345`
    - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
    - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
    - `number` `string` **required** — The phone number — example: `111-111-1111`
    - `extension` `string` — The extension of the phone number — example: `105`
    - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
  - `emails` `array of object`
    - `id` `string` — Unique identifier for the email address — example: `123`
    - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
    - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
  - `websites` `array of object`
    - `id` `string` — Unique identifier for the website — example: `12345`
    - `url` `string` **required** — The website URL — example: `http://example.com`
    - `type` `string` — The type of website — enum: `primary`, `secondary`, `work`, `personal`, `other` — example: `primary`
  - `bank_accounts` `array of object`
    - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
    - `account_number` `string` — The bank account number — example: `123465`
    - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
    - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
    - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
    - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
    - `routing_number` `string` — Bank routing number (US) — example: `021000021`
    - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
    - `branch_identifier` `string` — Bank branch identifier — example: `001`
    - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
    - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
    - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
  - `notes` `string` — Some notes about this customer — example: `Some notes about this customer`
  - `tax_rate` `object`
    - `id` `string` — The ID of the object. — example: `123456`
    - `code` `string` — Tax rate code — example: `N-T`
    - `name` `string` — Name of the tax rate — example: `GST on Purchases`
    - `rate` `number` — Rate of the tax rate — example: `10`
  - `tax_number` `string` — example: `US123945459`
  - `taxable` `boolean` — Whether the entity is subject to taxation — example: `true`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `balance` `number` — The customer's outstanding balance: the amount the customer currently owes, in the customer's currency. A positive value means the customer owes the business. — example: `1250`
  - `account` `object`
    - `id` `string` — The unique identifier for the account. — example: `123456`
    - `name` `string` — The name of the account. — example: `Bank account`
    - `nominal_code` `string` — The nominal code of the account. — example: `N091`
    - `code` `string` — The code assigned to the account. — example: `453`
    - `parent_id` `string` — The parent ID of the account. — example: `123456`
    - `display_id` `string` — The display ID of the account. — example: `123456`
  - `parent` `object` — The parent customer this entity is linked to.
    - `id` `string` **required** — The parent ID of the customer this entity is linked to. — example: `12345`
    - `name` `string` — The name of the parent customer. — example: `Windsurf Shop`
  - `status` `string` — Customer status — enum: `active`, `inactive`, `archived`, `gdpr-erasure-request`, `unknown` — example: `active`
  - `payment_method` `string` — Payment method used for the transaction, such as cash, credit card, bank transfer, or check — example: `cash`
  - `terms` `string` — Terms of payment. — example: `Net 30 days`
  - `terms_id` `string` — The ID of the payment terms — example: `12345`
  - `channel` `string` — The channel through which the transaction is processed. — example: `email`
  - `custom_fields` `array of object`
    - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
    - `name` `string` — Name of the custom field. — example: `employee_level`
    - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
    - `description` `string` — More information about the custom field — example: `Employee Level`
    - `value` `string | number | boolean | object | array of string | number | boolean | object`
      - One of:
        - Option 1: string
        - Option 2: number
        - Option 3: boolean
        - Option 4: object

        - Option 5: array of string | number | boolean | object
  - `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
  - `updated_by` `string` — The user who last updated the object. — example: `12345`
  - `created_by` `string` — The user who created the object. — example: `12345`
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
  - `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
    - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
    - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
    - `extend_object` `object` — Simple object allowing any properties for direct extension.
    - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
      - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
      - `value` `any` **required** — The value to set at the specified path, can be any type.
- `meta` `object` — Response metadata
  - `items_on_page` `integer` — Number of items returned in the data property of the response — example: `50`
  - `cursors` `object` — Cursors to navigate to previous or next pages through the API
    - `previous` `string` — Cursor to navigate to the previous page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjE=`
    - `current` `string` — Cursor to navigate to the current page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjI=`
    - `next` `string` — Cursor to navigate to the next page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjM=`
  - `total_count` `integer` — Number of records available in total for this resource — example: `1`
  - `warnings` `array of object` — Non-fatal warnings emitted when optional workflow steps failed. Present only when at least one step degraded; the response status remains 200.
    - `type` `string` — Discriminator for the warning kind. — example: `downstream_request_failed`
    - `status_code` `integer` — HTTP status code returned by the failed downstream request, when available. — example: `429`
    - `error` `string` — Short error description from the downstream provider, when available.
    - `operation` `string` — Identifier of the workflow step that failed. — example: `getManager`
    - `message` `string` — Detailed message from the downstream provider, when available.
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Delete Customer

> **Accounting API** · `DELETE /accounting/customers/{id}`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersDelete
> MCP tool: `accounting-customers-delete`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [Consumer explained](https://developers.apideck.com/glossary#consumer)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

Delete Customer

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | ID of the record you are acting upon. |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |

### Responses

#### 200 — Customers

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `xero`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `delete`
- `data` `object` **required** — A object containing a unique identifier for the resource that was created, updated, or deleted.
  - `id` `string` **required** — The unique identifier of the resource — example: `12345`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Update Customer

> **Accounting API** · `PATCH /accounting/customers/{id}`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersUpdate
> MCP tool: `accounting-customers-update`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [Consumer explained](https://developers.apideck.com/glossary#consumer)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

Update Customer

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | ID of the record you are acting upon. |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |

### Request Body

_Required._

- `id` `string` **required** — A unique identifier for an object. — example: `12345`
- `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
- `display_id` `string` — Display ID — example: `EMP00101`
- `display_name` `string` — Display name — example: `Windsurf Shop`
- `company_name` `string` — The name of the company. — example: `SpaceX`
- `company_id` `string` — The company ID the transaction belongs to — example: `12345`
- `subsidiary` `object`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `display_id` `string` — Id to be displayed. — example: `123456`
  - `name` `string` — The name of the resource. — example: `Acme Inc.`
- `customer_category` `string` — The category/type of the customer — example: `Insurance`
- `title` `string` — The job title of the person. — example: `CEO`
- `first_name` `string` — The first name of the person. — example: `Elon`
- `middle_name` `string` — Middle name of the person. — example: `D.`
- `last_name` `string` — The last name of the person. — example: `Musk`
- `suffix` `string` — example: `Jr.`
- `individual` `boolean` — Is this an individual or business customer — example: `true`
- `project` `boolean` — If true, indicates this is a Project. — example: `false`
- `addresses` `array of object`
  - `id` `string` — Unique identifier for the address. — example: `123`
  - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
  - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
  - `name` `string` — The name of the address. — example: `HQ US`
  - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
  - `line2` `string` — Line 2 of the address — example: `apt #`
  - `line3` `string` — Line 3 of the address — example: `Suite #`
  - `line4` `string` — Line 4 of the address — example: `delivery instructions`
  - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
  - `street_number` `string` — Street number — example: `25`
  - `city` `string` — Name of city. — example: `San Francisco`
  - `state` `string` — Name of state — example: `CA`
  - `postal_code` `string` — Zip code or equivalent. — example: `94104`
  - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
  - `latitude` `string` — Latitude of the address — example: `40.759211`
  - `longitude` `string` — Longitude of the address — example: `-73.984638`
  - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
  - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
  - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
  - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
  - `fax` `string` — Fax number of the address — example: `122-111-1111`
  - `email` `string` — Email address of the address — example: `elon@musk.com`
  - `website` `string` — Website of the address — example: `https://elonmusk.com`
  - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
  - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `phone_numbers` `array of object`
  - `id` `string` — Unique identifier of the phone number — example: `12345`
  - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
  - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
  - `number` `string` **required** — The phone number — example: `111-111-1111`
  - `extension` `string` — The extension of the phone number — example: `105`
  - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
- `emails` `array of object`
  - `id` `string` — Unique identifier for the email address — example: `123`
  - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
  - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
- `websites` `array of object`
  - `id` `string` — Unique identifier for the website — example: `12345`
  - `url` `string` **required** — The website URL — example: `http://example.com`
  - `type` `string` — The type of website — enum: `primary`, `secondary`, `work`, `personal`, `other` — example: `primary`
- `bank_accounts` `array of object`
  - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
  - `account_number` `string` — The bank account number — example: `123465`
  - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
  - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
  - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
  - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
  - `routing_number` `string` — Bank routing number (US) — example: `021000021`
  - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
  - `branch_identifier` `string` — Bank branch identifier — example: `001`
  - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
  - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
  - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
- `notes` `string` — Some notes about this customer — example: `Some notes about this customer`
- `tax_rate` `object`
  - `id` `string` — The ID of the object. — example: `123456`
  - `code` `string` — Tax rate code — example: `N-T`
  - `name` `string` — Name of the tax rate — example: `GST on Purchases`
  - `rate` `number` — Rate of the tax rate — example: `10`
- `tax_number` `string` — example: `US123945459`
- `taxable` `boolean` — Whether the entity is subject to taxation — example: `true`
- `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
- `balance` `number` — The customer's outstanding balance: the amount the customer currently owes, in the customer's currency. A positive value means the customer owes the business. — example: `1250`
- `account` `object`
  - `id` `string` — The unique identifier for the account. — example: `123456`
  - `name` `string` — The name of the account. — example: `Bank account`
  - `nominal_code` `string` — The nominal code of the account. — example: `N091`
  - `code` `string` — The code assigned to the account. — example: `453`
  - `parent_id` `string` — The parent ID of the account. — example: `123456`
  - `display_id` `string` — The display ID of the account. — example: `123456`
- `parent` `object` — The parent customer this entity is linked to.
  - `id` `string` **required** — The parent ID of the customer this entity is linked to. — example: `12345`
  - `name` `string` — The name of the parent customer. — example: `Windsurf Shop`
- `status` `string` — Customer status — enum: `active`, `inactive`, `archived`, `gdpr-erasure-request`, `unknown` — example: `active`
- `payment_method` `string` — Payment method used for the transaction, such as cash, credit card, bank transfer, or check — example: `cash`
- `terms` `string` — Terms of payment. — example: `Net 30 days`
- `terms_id` `string` — The ID of the payment terms — example: `12345`
- `channel` `string` — The channel through which the transaction is processed. — example: `email`
- `custom_fields` `array of object`
  - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
  - `name` `string` — Name of the custom field. — example: `employee_level`
  - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
  - `description` `string` — More information about the custom field — example: `Employee Level`
  - `value` `string | number | boolean | object | array of string | number | boolean | object`
    - One of:
      - Option 1: string
      - Option 2: number
      - Option 3: boolean
      - Option 4: object

      - Option 5: array of string | number | boolean | object
- `custom_mappings` `object` — When custom mappings are configured on the resource, the result is included here.
- `updated_by` `string` — The user who last updated the object. — example: `12345`
- `created_by` `string` — The user who created the object. — example: `12345`
- `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
- `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
  - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
  - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
  - `extend_object` `object` — Simple object allowing any properties for direct extension.
  - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
    - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
    - `value` `any` **required** — The value to set at the specified path, can be any type.

### Responses

#### 200 — Customers

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `xero`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `update`
- `data` `object` **required** — A object containing a unique identifier for the resource that was created, updated, or deleted.
  - `id` `string` **required** — The unique identifier of the resource — example: `12345`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Create Customers in batch

> **Accounting API** · `POST /accounting/customers/batch`
> Canonical URL: https://developers.apideck.com/apis/accounting/reference#tag/Customers/operation/customersBatchAdd
> MCP tool: `accounting-customers-batch-add`

## Authentication

- Send `Authorization: Bearer $API_KEY` using your Apideck secret API key. Keep the key server-side; never put it in a URL or client-side code.

Use the application, consumer and connector headers listed in Parameters below for this operation.

## Learn more

- [Customer explained](https://developers.apideck.com/glossary#customer)
- [Consumer explained](https://developers.apideck.com/glossary#consumer)
- [Understand consumers](https://developers.apideck.com/guides/understanding-consumers)

Create multiple customers in a single request. Each item is processed independently, so some may be created while others fail; the response returns `200` with one result per item, in the order the items were sent. The maximum number of items accepted per request depends on the connector.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `raw` | query | `boolean` | No | Include raw response. Mostly used for debugging purposes |
| `x-apideck-consumer-id` | header | `string` | Yes | ID of the consumer which you want to get or push data from |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `x-apideck-service-id` | header | `string` | No | Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API. |
| `x-apideck-company-id` | header | `string` | No | The ID of the company to scope requests to. For connectors that support multi-company, this overrides the default company configured in connection settings. |

### Request Body

_Required._

A batch of customers to write in a single request. Each item is processed independently: some may succeed while others fail, and the response carries one result per item in the order they were sent.

- `items` `array of object` **required** — The records to write. The per-connector limit is the real cap and is usually lower than the ceiling here: read `batch_support.resources[<resource>].max_items` on the Connector API for the connector you are calling, or the resource gotchas. This ceiling exists so an oversized array is rejected by request validation before any per-item work runs, rather than after it.
  - `_ref` `string` — A caller-supplied reference for this item, echoed back on the matching result so each outcome can be tied to the record it came from. Must be unique within the request. Never sent to the connector. — example: `item-1`
  - `data` `object` **required** — The writable shape of Customer for a batch create. Identical to [Customer](the model returned on reads) with the read-only properties removed — the same properties the single-record create endpoint rejects, so a batched record and a single-record create accept exactly the same body.
    - `display_id` `string` — Display ID — example: `EMP00101`
    - `display_name` `string` — Display name — example: `Windsurf Shop`
    - `company_name` `string` — The name of the company. — example: `SpaceX`
    - `company_id` `string` — The company ID the transaction belongs to — example: `12345`
    - `subsidiary` `object`
      - `id` `string` — A unique identifier for an object. — example: `12345`
      - `display_id` `string` — Id to be displayed. — example: `123456`
      - `name` `string` — The name of the resource. — example: `Acme Inc.`
    - `customer_category` `string` — The category/type of the customer — example: `Insurance`
    - `title` `string` — The job title of the person. — example: `CEO`
    - `first_name` `string` — The first name of the person. — example: `Elon`
    - `middle_name` `string` — Middle name of the person. — example: `D.`
    - `last_name` `string` — The last name of the person. — example: `Musk`
    - `suffix` `string` — example: `Jr.`
    - `individual` `boolean` — Is this an individual or business customer — example: `true`
    - `project` `boolean` — If true, indicates this is a Project. — example: `false`
    - `addresses` `array of object`
      - `id` `string` — Unique identifier for the address. — example: `123`
      - `type` `string` — The type of address. — enum: `primary`, `secondary`, `home`, `office`, `shipping`, `billing`, `work`, `other` — example: `primary`
      - `string` `string` — The address string. Some APIs don't provide structured address data. — example: `25 Spring Street, Blackburn, VIC 3130`
      - `name` `string` — The name of the address. — example: `HQ US`
      - `line1` `string` — Line 1 of the address e.g. number, street, suite, apt #, etc. — example: `Main street`
      - `line2` `string` — Line 2 of the address — example: `apt #`
      - `line3` `string` — Line 3 of the address — example: `Suite #`
      - `line4` `string` — Line 4 of the address — example: `delivery instructions`
      - `line5` `string` — Line 5 of the address — example: `Attention: Finance Dept`
      - `street_number` `string` — Street number — example: `25`
      - `city` `string` — Name of city. — example: `San Francisco`
      - `state` `string` — Name of state — example: `CA`
      - `postal_code` `string` — Zip code or equivalent. — example: `94104`
      - `country` `string` — country code according to ISO 3166-1 alpha-2. — example: `US`
      - `latitude` `string` — Latitude of the address — example: `40.759211`
      - `longitude` `string` — Longitude of the address — example: `-73.984638`
      - `county` `string` — Address field that holds a sublocality, such as a county — example: `Santa Clara`
      - `contact_name` `string` — Name of the contact person at the address — example: `Elon Musk`
      - `salutation` `string` — Salutation of the contact person at the address — example: `Mr`
      - `phone_number` `string` — Phone number of the address — example: `111-111-1111`
      - `fax` `string` — Fax number of the address — example: `122-111-1111`
      - `email` `string` — Email address of the address — example: `elon@musk.com`
      - `website` `string` — Website of the address — example: `https://elonmusk.com`
      - `notes` `string` — Additional notes — example: `Address notes or delivery instructions.`
      - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
    - `phone_numbers` `array of object`
      - `id` `string` — Unique identifier of the phone number — example: `12345`
      - `country_code` `string` — The country code of the phone number, e.g. +1 — example: `1`
      - `area_code` `string` — The area code of the phone number, e.g. 323 — example: `323`
      - `number` `string` **required** — The phone number — example: `111-111-1111`
      - `extension` `string` — The extension of the phone number — example: `105`
      - `type` `string` — The type of phone number — enum: `primary`, `secondary`, `home`, `work`, `office`, `mobile`, `assistant`, `fax`, `direct-dial-in`, `personal`, `billing`, `other` — example: `primary`
    - `emails` `array of object`
      - `id` `string` — Unique identifier for the email address — example: `123`
      - `email` `string` **required** — Email address — format: `email` — example: `elon@musk.com`
      - `type` `string` — Email type — enum: `primary`, `secondary`, `work`, `personal`, `billing`, `other` — example: `primary`
    - `websites` `array of object`
      - `id` `string` — Unique identifier for the website — example: `12345`
      - `url` `string` **required** — The website URL — example: `http://example.com`
      - `type` `string` — The type of website — enum: `primary`, `secondary`, `work`, `personal`, `other` — example: `primary`
    - `bank_accounts` `array of object`
      - `bank_name` `string` — The name of the bank or financial institution — example: `Chase Bank`
      - `account_number` `string` — The bank account number — example: `123465`
      - `account_name` `string` — The name of the bank account — example: `Main Operating Account`
      - `account_type` `string` — The type of bank account. — enum: `bank_account`, `credit_card`, `other` — example: `credit_card`
      - `iban` `string` — International Bank Account Number — example: `GB33BUKB20201555555555`
      - `bic` `string` — Bank Identifier Code / SWIFT Code — example: `CHASUS33`
      - `routing_number` `string` — Bank routing number (US) — example: `021000021`
      - `bsb_number` `string` — Bank State Branch number (Australia/New Zealand) — example: `062-001`
      - `branch_identifier` `string` — Bank branch identifier — example: `001`
      - `bank_code` `string` — Bank code assigned by central bank — example: `BNH`
      - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
      - `country` `string` — Country code according to ISO 3166-1 alpha-2. — example: `US`
    - `notes` `string` — Some notes about this customer — example: `Some notes about this customer`
    - `tax_rate` `object`
      - `id` `string` — The ID of the object. — example: `123456`
      - `code` `string` — Tax rate code — example: `N-T`
      - `name` `string` — Name of the tax rate — example: `GST on Purchases`
      - `rate` `number` — Rate of the tax rate — example: `10`
    - `tax_number` `string` — example: `US123945459`
    - `taxable` `boolean` — Whether the entity is subject to taxation — example: `true`
    - `currency` `string` — Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). — enum: `UNKNOWN_CURRENCY`, `AED`, `AFN`, `ALL`, `AMD`, `ANG`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BGN`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BOV`, `BRL`, `BSD`, `BTN`, `BWP`, `BYR`, `BZD`, `CAD`, `CDF`, `CHE`, `CHF`, `CHW`, `CLF`, `CLP`, `CNY`, `COP`, `COU`, `CRC`, `CUC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HRK`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LTL`, `LVL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRO`, `MUR`, `MVR`, `MWK`, `MXN`, `MXV`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLL`, `SOS`, `SRD`, `SSP`, `STD`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRC`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `USN`, `USS`, `UYI`, `UYU`, `UZS`, `VEF`, `VND`, `VUV`, `WST`, `XAF`, `XAG`, `XAU`, `XBA`, `XBB`, `XBC`, `XBD`, `XCD`, `XDR`, `XOF`, `XPD`, `XPF`, `XPT`, `XTS`, `XXX`, `YER`, `ZAR`, `ZMK`, `ZMW`, `BTC`, `ETH` — example: `USD`
    - `account` `object`
      - `id` `string` — The unique identifier for the account. — example: `123456`
      - `name` `string` — The name of the account. — example: `Bank account`
      - `nominal_code` `string` — The nominal code of the account. — example: `N091`
      - `code` `string` — The code assigned to the account. — example: `453`
      - `parent_id` `string` — The parent ID of the account. — example: `123456`
      - `display_id` `string` — The display ID of the account. — example: `123456`
    - `parent` `object` — The parent customer this entity is linked to.
      - `id` `string` **required** — The parent ID of the customer this entity is linked to. — example: `12345`
      - `name` `string` — The name of the parent customer. — example: `Windsurf Shop`
    - `status` `string` — Customer status — enum: `active`, `inactive`, `archived`, `gdpr-erasure-request`, `unknown` — example: `active`
    - `payment_method` `string` — Payment method used for the transaction, such as cash, credit card, bank transfer, or check — example: `cash`
    - `terms` `string` — Terms of payment. — example: `Net 30 days`
    - `terms_id` `string` — The ID of the payment terms — example: `12345`
    - `channel` `string` — The channel through which the transaction is processed. — example: `email`
    - `custom_fields` `array of object`
      - `id` `string` — Unique identifier for the custom field. — example: `2389328923893298`
      - `name` `string` — Name of the custom field. — example: `employee_level`
      - `ref_name` `string` — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it. — example: `Marketing`
      - `description` `string` — More information about the custom field — example: `Employee Level`
      - `value` `string | number | boolean | object | array of string | number | boolean | object`
        - One of:
          - Option 1: string
          - Option 2: number
          - Option 3: boolean
          - Option 4: object
            - _(schema continues — truncated at depth 6)_

          - Option 5: array of string | number | boolean | object
    - `row_version` `string` — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. — example: `1-12345`
    - `pass_through` `array of object` — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
      - `service_id` `string` **required** — Identifier for the service to which this pass_through should be applied.
      - `operation_id` `string` — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
      - `extend_object` `object` — Simple object allowing any properties for direct extension.
      - `extend_paths` `array of object` — Array of objects for structured data modifications via paths.
        - `path` `string` **required** — JSONPath string specifying where to apply the value. — example: `$.nested.property`
        - `value` `any` **required** — The value to set at the specified path, can be any type.

### Responses

#### 200 — Customers batch processed

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `service` `string` **required** — Apideck ID of service provider — example: `quickbooks`
- `resource` `string` **required** — Unified API resource name — example: `customers`
- `operation` `string` **required** — Operation performed — example: `add`
- `data` `array of object` **required** — One result per item in the request, in the order the items were sent.
  - `_ref` `string` — A caller-supplied reference for this item, echoed back on the matching result so each outcome can be tied to the record it came from. Must be unique within the request. Never sent to the connector. — example: `item-1`
  - `id` `string` — A unique identifier for an object. — example: `12345`
  - `downstream_id` `string` — The third-party API ID of original entity — example: `12345`
  - `status` `string` **required** — The outcome for this item. - `created` / `updated` — the record was written. - `failed` — it was not written, and `error` says why. - `uncertain` — the request to the connector did not complete (typically a timeout), so whether this record was written is genuinely unknown. Do not blindly retry: list the resource to find what exists first, or a retry may duplicate it. A `created` or `updated` result can also carry an `error`: the record was written, but work that runs after the write did not complete. Read this rather than `id` to decide what happened. `id` is present when the identifier could also be read back, which is not the same question — a written record whose id could not be parsed still reports `created`. — enum: `created`, `updated`, `failed`, `uncertain` — example: `created`
  - `error` `object` — Why this item did not complete. Present when `status` is `failed`, meaning the record was not written, and when `status` is `uncertain`, meaning it is unknown whether it was. Also present, more rarely, alongside `created`/`updated`: the record WAS written and post-write processing failed, so the item reports the error beside its success status. Per-item failures are independent — one item's rejection says nothing about the others. The exception is a failure of the request itself, such as a timeout: where a connector writes the whole batch in one call, every item shares that outcome and carries the same error.
    - `status_code` `number` — HTTP status code — example: `502`
    - `error` `string` — Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231) — example: `Bad Gateway`
    - `type_name` `string` — The type of error returned — example: `PostWriteProcessingError`
    - `message` `string` — A human-readable message providing more details about the error. — example: `The record was written, but processing its response failed.`
    - `detail` `string | object` — Contains parameter or domain specific information related to the error and why it occurred. — example: `The record was written, but processing its response failed.`
      - One of:
        - Option 1: string
        - Option 2: object
    - `ref` `string` — Link to documentation of error type — example: `https://developers.apideck.com/errors#postwriteprocessingerror`
  - `warnings` `array of object` — Non-fatal problems with THIS item — a currency the connector could not match, for example, which is sent without it. Present per item rather than per request, because a caller with twenty records needs to know which one was affected. A warning does not imply the record was written: some are raised while preparing the item, before the write is attempted, so they can appear on a `failed` item too. Read `status` for what happened.
    - `type` `string` — example: `currency_not_configured`
    - `operation` `string` — example: `invoicesAdd`
    - `message` `string` — example: `Currency "CAD" is not configured for this organization -- the request was sent without currency_id.`
    - `status_code` `number` — example: `200`
    - `error` `string`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---
