> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# xero-contacts

> Xero Contacts — manage contacts, contact groups, and tracking categories

**Server path:** `/xero-contacts` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                          | Description                                                                            |
| --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [`xero_contacts_create_contact_group`](#xero_contacts_create_contact_group)                   | Creates a contact group                                                                |
| [`xero_contacts_create_contact_group_contacts`](#xero_contacts_create_contact_group_contacts) | Creates contacts to a specific contact group                                           |
| [`xero_contacts_create_contacts`](#xero_contacts_create_contacts)                             | Creates multiple contacts (bulk) in a Xero organisation                                |
| [`xero_contacts_create_tracking_category`](#xero_contacts_create_tracking_category)           | Create tracking categories                                                             |
| [`xero_contacts_create_tracking_options`](#xero_contacts_create_tracking_options)             | Creates options for a specific tracking category                                       |
| [`xero_contacts_delete_contact_group_contact`](#xero_contacts_delete_contact_group_contact)   | Deletes a specific contact from a contact group using a unique contact Id              |
| [`xero_contacts_delete_contact_group_contacts`](#xero_contacts_delete_contact_group_contacts) | Deletes all contacts from a specific contact group                                     |
| [`xero_contacts_delete_tracking_category`](#xero_contacts_delete_tracking_category)           | Deletes a specific tracking category                                                   |
| [`xero_contacts_delete_tracking_options`](#xero_contacts_delete_tracking_options)             | Deletes a specific option for a specific tracking category                             |
| [`xero_contacts_get_contact`](#xero_contacts_get_contact)                                     | Retrieves a specific contacts in a Xero organisation using a unique contact Id         |
| [`xero_contacts_get_contact_by_contact_number`](#xero_contacts_get_contact_by_contact_number) | Retrieves a specific contact by contact number in a Xero organisation                  |
| [`xero_contacts_get_contact_cissettings`](#xero_contacts_get_contact_cissettings)             | Retrieves CIS settings for a specific contact in a Xero organisation                   |
| [`xero_contacts_get_contact_group`](#xero_contacts_get_contact_group)                         | Retrieves a specific contact group by using a unique contact group Id                  |
| [`xero_contacts_get_contact_groups`](#xero_contacts_get_contact_groups)                       | Retrieves the contact Id and name of each contact group                                |
| [`xero_contacts_get_contacts`](#xero_contacts_get_contacts)                                   | Retrieves all contacts in a Xero organisation                                          |
| [`xero_contacts_get_tracking_categories`](#xero_contacts_get_tracking_categories)             | Retrieves tracking categories and options                                              |
| [`xero_contacts_get_tracking_category`](#xero_contacts_get_tracking_category)                 | Retrieves specific tracking categories and options using a unique tracking category Id |
| [`xero_contacts_update_contact`](#xero_contacts_update_contact)                               | Updates a specific contact in a Xero organisation                                      |
| [`xero_contacts_update_contact_group`](#xero_contacts_update_contact_group)                   | Updates a specific contact group                                                       |
| [`xero_contacts_update_or_create_contacts`](#xero_contacts_update_or_create_contacts)         | Updates or creates one or more contacts in a Xero organisation                         |
| [`xero_contacts_update_tracking_category`](#xero_contacts_update_tracking_category)           | Updates a specific tracking category                                                   |
| [`xero_contacts_update_tracking_options`](#xero_contacts_update_tracking_options)             | Updates a specific option for a specific tracking category                             |

***

## xero\_contacts\_create\_contact\_group

Creates a contact group

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `ContactGroups`   | object\[] | No       | —       | Contact Groups                                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "ContactGroups": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Name": {
              "type": "string",
              "description": "The Name of the contact group. Required when creating a new contact  group"
            },
            "Status": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "DELETED"
              ],
              "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
            },
            "ContactGroupID": {
              "type": "string",
              "format": "uuid",
              "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
            },
            "Contacts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "ContactID": {
                    "type": "string",
                    "description": "Xero identifier"
                  },
                  "MergedToContactID": {
                    "type": "string",
                    "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
                  },
                  "ContactNumber": {
                    "type": "string",
                    "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
                  },
                  "AccountNumber": {
                    "type": "string",
                    "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
                  },
                  "ContactStatus": {
                    "type": "string",
                    "description": "Current status of a contact – see contact status types"
                  },
                  "Name": {
                    "type": "string",
                    "description": "Full name of contact/organisation (max length = 255)"
                  },
                  "FirstName": {
                    "type": "string",
                    "description": "First name of contact person (max length = 255)"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of contact person (max length = 255)"
                  },
                  "CompanyNumber": {
                    "type": "string",
                    "description": "Company registration number (max length = 50)"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
                  },
                  "ContactPersons": {
                    "type": "array",
                    "description": "See contact persons"
                  },
                  "BankAccountDetails": {
                    "type": "string",
                    "description": "Bank account number of contact"
                  },
                  "TaxNumber": {
                    "type": "string",
                    "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
                  },
                  "TaxNumberType": {
                    "type": "string",
                    "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
                  },
                  "AccountsReceivableTaxType": {
                    "type": "string",
                    "description": "The tax type from TaxRates"
                  },
                  "AccountsPayableTaxType": {
                    "type": "string",
                    "description": "The tax type from TaxRates"
                  },
                  "Addresses": {
                    "type": "array",
                    "description": "Store certain address types for a contact – see address types"
                  },
                  "Phones": {
                    "type": "array",
                    "description": "Store certain phone types for a contact – see phone types"
                  },
                  "IsSupplier": {
                    "type": "boolean",
                    "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
                  },
                  "IsCustomer": {
                    "type": "boolean",
                    "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
                  },
                  "SalesDefaultLineAmountType": {
                    "type": "string",
                    "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
                  },
                  "PurchasesDefaultLineAmountType": {
                    "type": "string",
                    "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
                  },
                  "DefaultCurrency": {
                    "type": "string",
                    "description": "3 letter alpha code for the currency – see list of currency codes"
                  },
                  "XeroNetworkKey": {
                    "type": "string",
                    "description": "Store XeroNetworkKey for contacts."
                  },
                  "SalesDefaultAccountCode": {
                    "type": "string",
                    "description": "The default sales account code for contacts"
                  },
                  "PurchasesDefaultAccountCode": {
                    "type": "string",
                    "description": "The default purchases account code for contacts"
                  },
                  "SalesTrackingCategories": {
                    "type": "array",
                    "description": "The default sales tracking categories for contacts"
                  },
                  "PurchasesTrackingCategories": {
                    "type": "array",
                    "description": "The default purchases tracking categories for contacts"
                  },
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
                  },
                  "TrackingCategoryOption": {
                    "type": "string",
                    "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
                  },
                  "PaymentTerms": {
                    "type": "object"
                  },
                  "UpdatedDateUTC": {
                    "type": "string",
                    "description": "UTC timestamp of last update to contact"
                  },
                  "ContactGroups": {
                    "type": "array",
                    "description": "Displays which contact groups a contact is included in"
                  },
                  "Website": {
                    "type": "string",
                    "description": "Website address for contact (read only)"
                  },
                  "BrandingTheme": {
                    "type": "object"
                  },
                  "BatchPayments": {
                    "description": "Bank details for use on a batch payment stored with each contact"
                  },
                  "Discount": {
                    "type": "number",
                    "description": "The default discount rate for the contact (read only)"
                  },
                  "Balances": {
                    "type": "object",
                    "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
                  },
                  "Attachments": {
                    "type": "array",
                    "description": "Displays array of attachments from the API"
                  },
                  "HasAttachments": {
                    "type": "boolean",
                    "description": "A boolean to indicate if a contact has an attachment"
                  },
                  "ValidationErrors": {
                    "type": "array",
                    "description": "Displays validation errors returned from the API"
                  },
                  "HasValidationErrors": {
                    "type": "boolean",
                    "description": "A boolean to indicate if a contact has an validation errors"
                  },
                  "StatusAttributeString": {
                    "type": "string",
                    "description": "Status of object"
                  }
                }
              },
              "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
            }
          }
        },
        "description": "Contact Groups"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_create\_contact\_group\_contacts

Creates contacts to a specific contact group

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `ContactGroupID`  | string    | Yes      | —       | Unique identifier for a Contact Group                                                                 |
| `Contacts`        | object\[] | No       | —       | The contacts value                                                                                    |
| `pagination`      | object    | No       | —       | The pagination value                                                                                  |
| `Warnings`        | object\[] | No       | —       | Displays array of warning messages from the API                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "ContactGroupID": {
        "type": "string",
        "description": "Unique identifier for a Contact Group"
      },
      "Contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ContactID": {
              "type": "string",
              "format": "uuid",
              "description": "Xero identifier"
            },
            "MergedToContactID": {
              "type": "string",
              "format": "uuid",
              "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
            },
            "ContactNumber": {
              "type": "string",
              "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
            },
            "AccountNumber": {
              "type": "string",
              "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
            },
            "ContactStatus": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "GDPRREQUEST"
              ],
              "description": "Current status of a contact – see contact status types"
            },
            "Name": {
              "type": "string",
              "description": "Full name of contact/organisation (max length = 255)"
            },
            "FirstName": {
              "type": "string",
              "description": "First name of contact person (max length = 255)"
            },
            "LastName": {
              "type": "string",
              "description": "Last name of contact person (max length = 255)"
            },
            "CompanyNumber": {
              "type": "string",
              "description": "Company registration number (max length = 50)"
            },
            "EmailAddress": {
              "type": "string",
              "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
            },
            "ContactPersons": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "description": "First name of person"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of person"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of person"
                  },
                  "IncludeInEmails": {
                    "type": "boolean",
                    "description": "boolean to indicate whether contact should be included on emails with invoices etc."
                  }
                }
              },
              "description": "See contact persons"
            },
            "BankAccountDetails": {
              "type": "string",
              "description": "Bank account number of contact"
            },
            "TaxNumber": {
              "type": "string",
              "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
            },
            "TaxNumberType": {
              "type": "string",
              "enum": [
                "SSN",
                "EIN",
                "ITIN",
                "ATIN"
              ],
              "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
            },
            "AccountsReceivableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "AccountsPayableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "Addresses": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AddressType": {
                    "type": "string",
                    "description": "define the type of address"
                  },
                  "AddressLine1": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine2": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine3": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine4": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "City": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "Region": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "PostalCode": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "Country": {
                    "type": "string",
                    "description": "max length = 50, [A-Z], [a-z] only"
                  },
                  "AttentionTo": {
                    "type": "string",
                    "description": "max length = 255"
                  }
                }
              },
              "description": "Store certain address types for a contact – see address types"
            },
            "Phones": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "PhoneType": {
                    "type": "string"
                  },
                  "PhoneNumber": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "PhoneAreaCode": {
                    "type": "string",
                    "description": "max length = 10"
                  },
                  "PhoneCountryCode": {
                    "type": "string",
                    "description": "max length = 20"
                  }
                }
              },
              "description": "Store certain phone types for a contact – see phone types"
            },
            "IsSupplier": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
            },
            "IsCustomer": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
            },
            "SalesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "PurchasesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "DefaultCurrency": {
              "type": "string",
              "enum": [
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ANG",
                "AOA",
                "ARS",
                "AUD",
                "AWG",
                "AZN",
                "BAM",
                "BBD",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BMD",
                "BND",
                "BOB",
                "BRL",
                "BSD",
                "BTN",
                "BWP",
                "BYN",
                "BYR",
                "BZD",
                "CAD",
                "CDF",
                "CHF",
                "CLF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CUC",
                "CUP",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "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",
                "MRU",
                "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",
                "SKK",
                "SLE",
                "SLL",
                "SOS",
                "SRD",
                "STD",
                "STN",
                "SVC",
                "SYP",
                "SZL",
                "THB",
                "TJS",
                "TMT",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "USD",
                "UYU",
                "UZS",
                "VEF",
                "VES",
                "VND",
                "VUV",
                "WST",
                "XAF",
                "XCD",
                "XOF",
                "XPF",
                "YER",
                "ZAR",
                "ZMW",
                "ZMK",
                "ZWD"
              ],
              "description": "3 letter alpha code for the currency – see list of currency codes"
            },
            "XeroNetworkKey": {
              "type": "string",
              "description": "Store XeroNetworkKey for contacts."
            },
            "SalesDefaultAccountCode": {
              "type": "string",
              "description": "The default sales account code for contacts"
            },
            "PurchasesDefaultAccountCode": {
              "type": "string",
              "description": "The default purchases account code for contacts"
            },
            "SalesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default sales tracking categories for contacts"
            },
            "PurchasesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default purchases tracking categories for contacts"
            },
            "TrackingCategoryName": {
              "type": "string",
              "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "TrackingCategoryOption": {
              "type": "string",
              "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "PaymentTerms": {
              "type": "object",
              "description": "Payment Terms"
            },
            "UpdatedDateUTC": {
              "type": "string",
              "description": "UTC timestamp of last update to contact"
            },
            "ContactGroups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Name": {
                    "type": "string",
                    "description": "The Name of the contact group. Required when creating a new contact  group"
                  },
                  "Status": {
                    "type": "string",
                    "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
                  },
                  "ContactGroupID": {
                    "type": "string",
                    "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
                  },
                  "Contacts": {
                    "type": "array",
                    "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
                  }
                }
              },
              "description": "Displays which contact groups a contact is included in"
            },
            "Website": {
              "type": "string",
              "description": "Website address for contact (read only)"
            },
            "BrandingTheme": {
              "type": "object",
              "description": "Branding Theme"
            },
            "BatchPayments": {
              "description": "Bank details for use on a batch payment stored with each contact"
            },
            "Discount": {
              "type": "number",
              "format": "double",
              "description": "The default discount rate for the contact (read only)"
            },
            "Balances": {
              "type": "object",
              "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
            },
            "Attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AttachmentID": {
                    "type": "string",
                    "description": "Unique ID for the file"
                  },
                  "FileName": {
                    "type": "string",
                    "description": "Name of the file"
                  },
                  "Url": {
                    "type": "string",
                    "description": "URL to the file on xero.com"
                  },
                  "MimeType": {
                    "type": "string",
                    "description": "Type of file"
                  },
                  "ContentLength": {
                    "type": "integer",
                    "description": "Length of the file content"
                  },
                  "IncludeOnline": {
                    "type": "boolean",
                    "description": "Include the file with the online invoice"
                  }
                }
              },
              "description": "Displays array of attachments from the API"
            },
            "HasAttachments": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an attachment"
            },
            "ValidationErrors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Message": {
                    "type": "string",
                    "description": "Validation error message"
                  }
                }
              },
              "description": "Displays validation errors returned from the API"
            },
            "HasValidationErrors": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an validation errors"
            },
            "StatusAttributeString": {
              "type": "string",
              "description": "Status of object"
            }
          }
        },
        "description": "The contacts value"
      },
      "pagination": {
        "type": "object",
        "description": "The pagination value",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Page number for pagination"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of results per page"
          },
          "pageCount": {
            "type": "integer",
            "description": "Page Count"
          },
          "itemCount": {
            "type": "integer",
            "description": "Item Count"
          }
        }
      },
      "Warnings": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Message": {
              "type": "string",
              "description": "Validation error message"
            }
          }
        },
        "description": "Displays array of warning messages from the API"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactGroupID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_create\_contacts

Creates multiple contacts (bulk) in a Xero organisation

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `summarizeErrors` | boolean   | No       | —       | If false return 200 OK and mix of successfully created objects and any with validation errors         |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `Contacts`        | object\[] | No       | —       | The contacts value                                                                                    |
| `pagination`      | object    | No       | —       | The pagination value                                                                                  |
| `Warnings`        | object\[] | No       | —       | Displays array of warning messages from the API                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "summarizeErrors": {
        "type": "boolean",
        "description": "If false return 200 OK and mix of successfully created objects and any with validation errors"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "Contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ContactID": {
              "type": "string",
              "format": "uuid",
              "description": "Xero identifier"
            },
            "MergedToContactID": {
              "type": "string",
              "format": "uuid",
              "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
            },
            "ContactNumber": {
              "type": "string",
              "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
            },
            "AccountNumber": {
              "type": "string",
              "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
            },
            "ContactStatus": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "GDPRREQUEST"
              ],
              "description": "Current status of a contact – see contact status types"
            },
            "Name": {
              "type": "string",
              "description": "Full name of contact/organisation (max length = 255)"
            },
            "FirstName": {
              "type": "string",
              "description": "First name of contact person (max length = 255)"
            },
            "LastName": {
              "type": "string",
              "description": "Last name of contact person (max length = 255)"
            },
            "CompanyNumber": {
              "type": "string",
              "description": "Company registration number (max length = 50)"
            },
            "EmailAddress": {
              "type": "string",
              "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
            },
            "ContactPersons": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "description": "First name of person"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of person"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of person"
                  },
                  "IncludeInEmails": {
                    "type": "boolean",
                    "description": "boolean to indicate whether contact should be included on emails with invoices etc."
                  }
                }
              },
              "description": "See contact persons"
            },
            "BankAccountDetails": {
              "type": "string",
              "description": "Bank account number of contact"
            },
            "TaxNumber": {
              "type": "string",
              "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
            },
            "TaxNumberType": {
              "type": "string",
              "enum": [
                "SSN",
                "EIN",
                "ITIN",
                "ATIN"
              ],
              "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
            },
            "AccountsReceivableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "AccountsPayableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "Addresses": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AddressType": {
                    "type": "string",
                    "description": "define the type of address"
                  },
                  "AddressLine1": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine2": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine3": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine4": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "City": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "Region": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "PostalCode": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "Country": {
                    "type": "string",
                    "description": "max length = 50, [A-Z], [a-z] only"
                  },
                  "AttentionTo": {
                    "type": "string",
                    "description": "max length = 255"
                  }
                }
              },
              "description": "Store certain address types for a contact – see address types"
            },
            "Phones": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "PhoneType": {
                    "type": "string"
                  },
                  "PhoneNumber": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "PhoneAreaCode": {
                    "type": "string",
                    "description": "max length = 10"
                  },
                  "PhoneCountryCode": {
                    "type": "string",
                    "description": "max length = 20"
                  }
                }
              },
              "description": "Store certain phone types for a contact – see phone types"
            },
            "IsSupplier": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
            },
            "IsCustomer": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
            },
            "SalesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "PurchasesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "DefaultCurrency": {
              "type": "string",
              "enum": [
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ANG",
                "AOA",
                "ARS",
                "AUD",
                "AWG",
                "AZN",
                "BAM",
                "BBD",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BMD",
                "BND",
                "BOB",
                "BRL",
                "BSD",
                "BTN",
                "BWP",
                "BYN",
                "BYR",
                "BZD",
                "CAD",
                "CDF",
                "CHF",
                "CLF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CUC",
                "CUP",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "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",
                "MRU",
                "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",
                "SKK",
                "SLE",
                "SLL",
                "SOS",
                "SRD",
                "STD",
                "STN",
                "SVC",
                "SYP",
                "SZL",
                "THB",
                "TJS",
                "TMT",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "USD",
                "UYU",
                "UZS",
                "VEF",
                "VES",
                "VND",
                "VUV",
                "WST",
                "XAF",
                "XCD",
                "XOF",
                "XPF",
                "YER",
                "ZAR",
                "ZMW",
                "ZMK",
                "ZWD"
              ],
              "description": "3 letter alpha code for the currency – see list of currency codes"
            },
            "XeroNetworkKey": {
              "type": "string",
              "description": "Store XeroNetworkKey for contacts."
            },
            "SalesDefaultAccountCode": {
              "type": "string",
              "description": "The default sales account code for contacts"
            },
            "PurchasesDefaultAccountCode": {
              "type": "string",
              "description": "The default purchases account code for contacts"
            },
            "SalesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default sales tracking categories for contacts"
            },
            "PurchasesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default purchases tracking categories for contacts"
            },
            "TrackingCategoryName": {
              "type": "string",
              "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "TrackingCategoryOption": {
              "type": "string",
              "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "PaymentTerms": {
              "type": "object",
              "description": "Payment Terms"
            },
            "UpdatedDateUTC": {
              "type": "string",
              "description": "UTC timestamp of last update to contact"
            },
            "ContactGroups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Name": {
                    "type": "string",
                    "description": "The Name of the contact group. Required when creating a new contact  group"
                  },
                  "Status": {
                    "type": "string",
                    "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
                  },
                  "ContactGroupID": {
                    "type": "string",
                    "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
                  },
                  "Contacts": {
                    "type": "array",
                    "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
                  }
                }
              },
              "description": "Displays which contact groups a contact is included in"
            },
            "Website": {
              "type": "string",
              "description": "Website address for contact (read only)"
            },
            "BrandingTheme": {
              "type": "object",
              "description": "Branding Theme"
            },
            "BatchPayments": {
              "description": "Bank details for use on a batch payment stored with each contact"
            },
            "Discount": {
              "type": "number",
              "format": "double",
              "description": "The default discount rate for the contact (read only)"
            },
            "Balances": {
              "type": "object",
              "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
            },
            "Attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AttachmentID": {
                    "type": "string",
                    "description": "Unique ID for the file"
                  },
                  "FileName": {
                    "type": "string",
                    "description": "Name of the file"
                  },
                  "Url": {
                    "type": "string",
                    "description": "URL to the file on xero.com"
                  },
                  "MimeType": {
                    "type": "string",
                    "description": "Type of file"
                  },
                  "ContentLength": {
                    "type": "integer",
                    "description": "Length of the file content"
                  },
                  "IncludeOnline": {
                    "type": "boolean",
                    "description": "Include the file with the online invoice"
                  }
                }
              },
              "description": "Displays array of attachments from the API"
            },
            "HasAttachments": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an attachment"
            },
            "ValidationErrors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Message": {
                    "type": "string",
                    "description": "Validation error message"
                  }
                }
              },
              "description": "Displays validation errors returned from the API"
            },
            "HasValidationErrors": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an validation errors"
            },
            "StatusAttributeString": {
              "type": "string",
              "description": "Status of object"
            }
          }
        },
        "description": "The contacts value"
      },
      "pagination": {
        "type": "object",
        "description": "The pagination value",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Page number for pagination"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of results per page"
          },
          "pageCount": {
            "type": "integer",
            "description": "Page Count"
          },
          "itemCount": {
            "type": "integer",
            "description": "Item Count"
          }
        }
      },
      "Warnings": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Message": {
              "type": "string",
              "description": "Validation error message"
            }
          }
        },
        "description": "Displays array of warning messages from the API"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_create\_tracking\_category

Create tracking categories

**Parameters:**

| Parameter            | Type      | Required | Default | Description                                                                                           |
| -------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`     | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key`    | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `Name`               | string    | No       | —       | The name of the tracking category e.g. Department, Region (max length = 100)                          |
| `Option`             | string    | No       | —       | The option name of the tracking option e.g. East, West (max length = 100)                             |
| `Options`            | object\[] | No       | —       | See Tracking Options                                                                                  |
| `Status`             | string    | No       | —       | The status of a tracking category                                                                     |
| `TrackingCategoryID` | string    | No       | —       | The Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9                 |
| `TrackingOptionID`   | string    | No       | —       | The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "Name": {
        "type": "string",
        "description": "The name of the tracking category e.g. Department, Region (max length = 100)"
      },
      "Option": {
        "type": "string",
        "description": "The option name of the tracking option e.g. East, West (max length = 100)"
      },
      "Options": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "TrackingOptionID": {
              "type": "string",
              "format": "uuid",
              "description": "The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a"
            },
            "Name": {
              "type": "string",
              "description": "The name of the tracking option e.g. Marketing, East (max length = 100)"
            },
            "Status": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "DELETED"
              ],
              "description": "The status of a tracking option"
            },
            "TrackingCategoryID": {
              "type": "string",
              "format": "uuid",
              "description": "Filter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9"
            }
          }
        },
        "description": "See Tracking Options"
      },
      "Status": {
        "type": "string",
        "description": "The status of a tracking category",
        "enum": [
          "ACTIVE",
          "ARCHIVED",
          "DELETED"
        ]
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "The Xero identifier for a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9"
      },
      "TrackingOptionID": {
        "type": "string",
        "description": "The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_create\_tracking\_options

Creates options for a specific tracking category

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                                                                           |
| -------------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`     | string | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key`    | string | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `TrackingCategoryID` | string | Yes      | —       | Unique identifier for a TrackingCategory                                                              |
| `Name`               | string | No       | —       | The name of the tracking option e.g. Marketing, East (max length = 100)                               |
| `Status`             | string | No       | —       | The status of a tracking option                                                                       |
| `TrackingOptionID`   | string | No       | —       | The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      },
      "Name": {
        "type": "string",
        "description": "The name of the tracking option e.g. Marketing, East (max length = 100)"
      },
      "Status": {
        "type": "string",
        "description": "The status of a tracking option",
        "enum": [
          "ACTIVE",
          "ARCHIVED",
          "DELETED"
        ]
      },
      "TrackingOptionID": {
        "type": "string",
        "description": "The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_delete\_contact\_group\_contact

Deletes a specific contact from a contact group using a unique contact Id

**Parameters:**

| Parameter        | Type   | Required | Default | Description                           |
| ---------------- | ------ | -------- | ------- | ------------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant            |
| `ContactGroupID` | string | Yes      | —       | Unique identifier for a Contact Group |
| `ContactID`      | string | Yes      | —       | Unique identifier for a Contact       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactGroupID": {
        "type": "string",
        "description": "Unique identifier for a Contact Group"
      },
      "ContactID": {
        "type": "string",
        "description": "Unique identifier for a Contact"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactGroupID",
      "ContactID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_delete\_contact\_group\_contacts

Deletes all contacts from a specific contact group

**Parameters:**

| Parameter        | Type   | Required | Default | Description                           |
| ---------------- | ------ | -------- | ------- | ------------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant            |
| `ContactGroupID` | string | Yes      | —       | Unique identifier for a Contact Group |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactGroupID": {
        "type": "string",
        "description": "Unique identifier for a Contact Group"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactGroupID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_delete\_tracking\_category

Deletes a specific tracking category

**Parameters:**

| Parameter            | Type   | Required | Default | Description                              |
| -------------------- | ------ | -------- | ------- | ---------------------------------------- |
| `xero-tenant-id`     | string | Yes      | —       | Xero identifier for Tenant               |
| `TrackingCategoryID` | string | Yes      | —       | Unique identifier for a TrackingCategory |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_delete\_tracking\_options

Deletes a specific option for a specific tracking category

**Parameters:**

| Parameter            | Type   | Required | Default | Description                              |
| -------------------- | ------ | -------- | ------- | ---------------------------------------- |
| `xero-tenant-id`     | string | Yes      | —       | Xero identifier for Tenant               |
| `TrackingCategoryID` | string | Yes      | —       | Unique identifier for a TrackingCategory |
| `TrackingOptionID`   | string | Yes      | —       | Unique identifier for a Tracking Option  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      },
      "TrackingOptionID": {
        "type": "string",
        "description": "Unique identifier for a Tracking Option"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID",
      "TrackingOptionID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contact

Retrieves a specific contacts in a Xero organisation using a unique contact Id

**Parameters:**

| Parameter        | Type   | Required | Default | Description                     |
| ---------------- | ------ | -------- | ------- | ------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant      |
| `ContactID`      | string | Yes      | —       | Unique identifier for a Contact |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactID": {
        "type": "string",
        "description": "Unique identifier for a Contact"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contact\_by\_contact\_number

Retrieves a specific contact by contact number in a Xero organisation

**Parameters:**

| Parameter        | Type   | Required | Default | Description                                                                                                          |
| ---------------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant                                                                                           |
| `ContactNumber`  | string | Yes      | —       | This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactNumber": {
        "type": "string",
        "description": "This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50)."
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactNumber"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contact\_cissettings

Retrieves CIS settings for a specific contact in a Xero organisation

**Parameters:**

| Parameter        | Type   | Required | Default | Description                     |
| ---------------- | ------ | -------- | ------- | ------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant      |
| `ContactID`      | string | Yes      | —       | Unique identifier for a Contact |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactID": {
        "type": "string",
        "description": "Unique identifier for a Contact"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contact\_group

Retrieves a specific contact group by using a unique contact group Id

**Parameters:**

| Parameter        | Type   | Required | Default | Description                           |
| ---------------- | ------ | -------- | ------- | ------------------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant            |
| `ContactGroupID` | string | Yes      | —       | Unique identifier for a Contact Group |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "ContactGroupID": {
        "type": "string",
        "description": "Unique identifier for a Contact Group"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactGroupID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contact\_groups

Retrieves the contact Id and name of each contact group

**Parameters:**

| Parameter        | Type   | Required | Default | Description                |
| ---------------- | ------ | -------- | ------- | -------------------------- |
| `xero-tenant-id` | string | Yes      | —       | Xero identifier for Tenant |
| `where`          | string | No       | —       | Filter by an any element   |
| `order`          | string | No       | —       | Order by an any element    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "where": {
        "type": "string",
        "description": "Filter by an any element"
      },
      "order": {
        "type": "string",
        "description": "Order by an any element"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_contacts

Retrieves all contacts in a Xero organisation

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                                                                                                                                                                                            |
| ------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `xero-tenant-id`    | string    | Yes      | —       | Xero identifier for Tenant                                                                                                                                                                                                                             |
| `If-Modified-Since` | string    | No       | —       | Only records created or modified since this timestamp will be returned                                                                                                                                                                                 |
| `where`             | string    | No       | —       | Filter by an any element                                                                                                                                                                                                                               |
| `order`             | string    | No       | —       | Order by an any element                                                                                                                                                                                                                                |
| `IDs`               | string\[] | No       | —       | Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call.                                                                                                                                    |
| `page`              | integer   | No       | —       | e.g. page=1 - Up to 100 contacts will be returned in a single API call.                                                                                                                                                                                |
| `includeArchived`   | boolean   | No       | —       | e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response                                                                                                                                                        |
| `summaryOnly`       | boolean   | No       | —       | Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient. |
| `searchTerm`        | string    | No       | —       | Search parameter that performs a case-insensitive text search across the Name, FirstName, LastName, ContactNumber and EmailAddress fields.                                                                                                             |
| `pageSize`          | integer   | No       | —       | Number of records to retrieve per page                                                                                                                                                                                                                 |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "If-Modified-Since": {
        "type": "string",
        "description": "Only records created or modified since this timestamp will be returned"
      },
      "where": {
        "type": "string",
        "description": "Filter by an any element"
      },
      "order": {
        "type": "string",
        "description": "Order by an any element"
      },
      "IDs": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uuid"
        },
        "description": "Filter by a comma separated list of ContactIDs. Allows you to retrieve a specific set of contacts in a single call."
      },
      "page": {
        "type": "integer",
        "description": "e.g. page=1 - Up to 100 contacts will be returned in a single API call."
      },
      "includeArchived": {
        "type": "boolean",
        "description": "e.g. includeArchived=true - Contacts with a status of ARCHIVED will be included in the response"
      },
      "summaryOnly": {
        "type": "boolean",
        "description": "Use summaryOnly=true in GET Contacts and Invoices endpoint to retrieve a smaller version of the response object. This returns only lightweight fields, excluding computation-heavy fields from the response, making the API calls quick and efficient."
      },
      "searchTerm": {
        "type": "string",
        "description": "Search parameter that performs a case-insensitive text search across the Name, FirstName, LastName, ContactNumber and EmailAddress fields."
      },
      "pageSize": {
        "type": "integer",
        "description": "Number of records to retrieve per page"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_tracking\_categories

Retrieves tracking categories and options

**Parameters:**

| Parameter         | Type    | Required | Default | Description                                                                                                   |
| ----------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string  | Yes      | —       | Xero identifier for Tenant                                                                                    |
| `where`           | string  | No       | —       | Filter by an any element                                                                                      |
| `order`           | string  | No       | —       | Order by an any element                                                                                       |
| `includeArchived` | boolean | No       | —       | e.g. includeArchived=true - Categories and options with a status of ARCHIVED will be included in the response |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "where": {
        "type": "string",
        "description": "Filter by an any element"
      },
      "order": {
        "type": "string",
        "description": "Order by an any element"
      },
      "includeArchived": {
        "type": "boolean",
        "description": "e.g. includeArchived=true - Categories and options with a status of ARCHIVED will be included in the response"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_get\_tracking\_category

Retrieves specific tracking categories and options using a unique tracking category Id

**Parameters:**

| Parameter            | Type   | Required | Default | Description                              |
| -------------------- | ------ | -------- | ------- | ---------------------------------------- |
| `xero-tenant-id`     | string | Yes      | —       | Xero identifier for Tenant               |
| `TrackingCategoryID` | string | Yes      | —       | Unique identifier for a TrackingCategory |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_update\_contact

Updates a specific contact in a Xero organisation

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `ContactID`       | string    | Yes      | —       | Unique identifier for a Contact                                                                       |
| `Contacts`        | object\[] | No       | —       | The contacts value                                                                                    |
| `pagination`      | object    | No       | —       | The pagination value                                                                                  |
| `Warnings`        | object\[] | No       | —       | Displays array of warning messages from the API                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "ContactID": {
        "type": "string",
        "description": "Unique identifier for a Contact"
      },
      "Contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ContactID": {
              "type": "string",
              "format": "uuid",
              "description": "Xero identifier"
            },
            "MergedToContactID": {
              "type": "string",
              "format": "uuid",
              "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
            },
            "ContactNumber": {
              "type": "string",
              "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
            },
            "AccountNumber": {
              "type": "string",
              "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
            },
            "ContactStatus": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "GDPRREQUEST"
              ],
              "description": "Current status of a contact – see contact status types"
            },
            "Name": {
              "type": "string",
              "description": "Full name of contact/organisation (max length = 255)"
            },
            "FirstName": {
              "type": "string",
              "description": "First name of contact person (max length = 255)"
            },
            "LastName": {
              "type": "string",
              "description": "Last name of contact person (max length = 255)"
            },
            "CompanyNumber": {
              "type": "string",
              "description": "Company registration number (max length = 50)"
            },
            "EmailAddress": {
              "type": "string",
              "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
            },
            "ContactPersons": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "description": "First name of person"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of person"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of person"
                  },
                  "IncludeInEmails": {
                    "type": "boolean",
                    "description": "boolean to indicate whether contact should be included on emails with invoices etc."
                  }
                }
              },
              "description": "See contact persons"
            },
            "BankAccountDetails": {
              "type": "string",
              "description": "Bank account number of contact"
            },
            "TaxNumber": {
              "type": "string",
              "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
            },
            "TaxNumberType": {
              "type": "string",
              "enum": [
                "SSN",
                "EIN",
                "ITIN",
                "ATIN"
              ],
              "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
            },
            "AccountsReceivableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "AccountsPayableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "Addresses": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AddressType": {
                    "type": "string",
                    "description": "define the type of address"
                  },
                  "AddressLine1": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine2": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine3": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine4": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "City": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "Region": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "PostalCode": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "Country": {
                    "type": "string",
                    "description": "max length = 50, [A-Z], [a-z] only"
                  },
                  "AttentionTo": {
                    "type": "string",
                    "description": "max length = 255"
                  }
                }
              },
              "description": "Store certain address types for a contact – see address types"
            },
            "Phones": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "PhoneType": {
                    "type": "string"
                  },
                  "PhoneNumber": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "PhoneAreaCode": {
                    "type": "string",
                    "description": "max length = 10"
                  },
                  "PhoneCountryCode": {
                    "type": "string",
                    "description": "max length = 20"
                  }
                }
              },
              "description": "Store certain phone types for a contact – see phone types"
            },
            "IsSupplier": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
            },
            "IsCustomer": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
            },
            "SalesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "PurchasesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "DefaultCurrency": {
              "type": "string",
              "enum": [
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ANG",
                "AOA",
                "ARS",
                "AUD",
                "AWG",
                "AZN",
                "BAM",
                "BBD",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BMD",
                "BND",
                "BOB",
                "BRL",
                "BSD",
                "BTN",
                "BWP",
                "BYN",
                "BYR",
                "BZD",
                "CAD",
                "CDF",
                "CHF",
                "CLF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CUC",
                "CUP",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "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",
                "MRU",
                "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",
                "SKK",
                "SLE",
                "SLL",
                "SOS",
                "SRD",
                "STD",
                "STN",
                "SVC",
                "SYP",
                "SZL",
                "THB",
                "TJS",
                "TMT",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "USD",
                "UYU",
                "UZS",
                "VEF",
                "VES",
                "VND",
                "VUV",
                "WST",
                "XAF",
                "XCD",
                "XOF",
                "XPF",
                "YER",
                "ZAR",
                "ZMW",
                "ZMK",
                "ZWD"
              ],
              "description": "3 letter alpha code for the currency – see list of currency codes"
            },
            "XeroNetworkKey": {
              "type": "string",
              "description": "Store XeroNetworkKey for contacts."
            },
            "SalesDefaultAccountCode": {
              "type": "string",
              "description": "The default sales account code for contacts"
            },
            "PurchasesDefaultAccountCode": {
              "type": "string",
              "description": "The default purchases account code for contacts"
            },
            "SalesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default sales tracking categories for contacts"
            },
            "PurchasesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default purchases tracking categories for contacts"
            },
            "TrackingCategoryName": {
              "type": "string",
              "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "TrackingCategoryOption": {
              "type": "string",
              "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "PaymentTerms": {
              "type": "object",
              "description": "Payment Terms"
            },
            "UpdatedDateUTC": {
              "type": "string",
              "description": "UTC timestamp of last update to contact"
            },
            "ContactGroups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Name": {
                    "type": "string",
                    "description": "The Name of the contact group. Required when creating a new contact  group"
                  },
                  "Status": {
                    "type": "string",
                    "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
                  },
                  "ContactGroupID": {
                    "type": "string",
                    "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
                  },
                  "Contacts": {
                    "type": "array",
                    "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
                  }
                }
              },
              "description": "Displays which contact groups a contact is included in"
            },
            "Website": {
              "type": "string",
              "description": "Website address for contact (read only)"
            },
            "BrandingTheme": {
              "type": "object",
              "description": "Branding Theme"
            },
            "BatchPayments": {
              "description": "Bank details for use on a batch payment stored with each contact"
            },
            "Discount": {
              "type": "number",
              "format": "double",
              "description": "The default discount rate for the contact (read only)"
            },
            "Balances": {
              "type": "object",
              "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
            },
            "Attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AttachmentID": {
                    "type": "string",
                    "description": "Unique ID for the file"
                  },
                  "FileName": {
                    "type": "string",
                    "description": "Name of the file"
                  },
                  "Url": {
                    "type": "string",
                    "description": "URL to the file on xero.com"
                  },
                  "MimeType": {
                    "type": "string",
                    "description": "Type of file"
                  },
                  "ContentLength": {
                    "type": "integer",
                    "description": "Length of the file content"
                  },
                  "IncludeOnline": {
                    "type": "boolean",
                    "description": "Include the file with the online invoice"
                  }
                }
              },
              "description": "Displays array of attachments from the API"
            },
            "HasAttachments": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an attachment"
            },
            "ValidationErrors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Message": {
                    "type": "string",
                    "description": "Validation error message"
                  }
                }
              },
              "description": "Displays validation errors returned from the API"
            },
            "HasValidationErrors": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an validation errors"
            },
            "StatusAttributeString": {
              "type": "string",
              "description": "Status of object"
            }
          }
        },
        "description": "The contacts value"
      },
      "pagination": {
        "type": "object",
        "description": "The pagination value",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Page number for pagination"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of results per page"
          },
          "pageCount": {
            "type": "integer",
            "description": "Page Count"
          },
          "itemCount": {
            "type": "integer",
            "description": "Item Count"
          }
        }
      },
      "Warnings": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Message": {
              "type": "string",
              "description": "Validation error message"
            }
          }
        },
        "description": "Displays array of warning messages from the API"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_update\_contact\_group

Updates a specific contact group

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `ContactGroupID`  | string    | Yes      | —       | Unique identifier for a Contact Group                                                                 |
| `ContactGroups`   | object\[] | No       | —       | Contact Groups                                                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "ContactGroupID": {
        "type": "string",
        "description": "Unique identifier for a Contact Group"
      },
      "ContactGroups": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Name": {
              "type": "string",
              "description": "The Name of the contact group. Required when creating a new contact  group"
            },
            "Status": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "DELETED"
              ],
              "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
            },
            "ContactGroupID": {
              "type": "string",
              "format": "uuid",
              "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
            },
            "Contacts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "ContactID": {
                    "type": "string",
                    "description": "Xero identifier"
                  },
                  "MergedToContactID": {
                    "type": "string",
                    "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
                  },
                  "ContactNumber": {
                    "type": "string",
                    "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
                  },
                  "AccountNumber": {
                    "type": "string",
                    "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
                  },
                  "ContactStatus": {
                    "type": "string",
                    "description": "Current status of a contact – see contact status types"
                  },
                  "Name": {
                    "type": "string",
                    "description": "Full name of contact/organisation (max length = 255)"
                  },
                  "FirstName": {
                    "type": "string",
                    "description": "First name of contact person (max length = 255)"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of contact person (max length = 255)"
                  },
                  "CompanyNumber": {
                    "type": "string",
                    "description": "Company registration number (max length = 50)"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
                  },
                  "ContactPersons": {
                    "type": "array",
                    "description": "See contact persons"
                  },
                  "BankAccountDetails": {
                    "type": "string",
                    "description": "Bank account number of contact"
                  },
                  "TaxNumber": {
                    "type": "string",
                    "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
                  },
                  "TaxNumberType": {
                    "type": "string",
                    "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
                  },
                  "AccountsReceivableTaxType": {
                    "type": "string",
                    "description": "The tax type from TaxRates"
                  },
                  "AccountsPayableTaxType": {
                    "type": "string",
                    "description": "The tax type from TaxRates"
                  },
                  "Addresses": {
                    "type": "array",
                    "description": "Store certain address types for a contact – see address types"
                  },
                  "Phones": {
                    "type": "array",
                    "description": "Store certain phone types for a contact – see phone types"
                  },
                  "IsSupplier": {
                    "type": "boolean",
                    "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
                  },
                  "IsCustomer": {
                    "type": "boolean",
                    "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
                  },
                  "SalesDefaultLineAmountType": {
                    "type": "string",
                    "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
                  },
                  "PurchasesDefaultLineAmountType": {
                    "type": "string",
                    "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
                  },
                  "DefaultCurrency": {
                    "type": "string",
                    "description": "3 letter alpha code for the currency – see list of currency codes"
                  },
                  "XeroNetworkKey": {
                    "type": "string",
                    "description": "Store XeroNetworkKey for contacts."
                  },
                  "SalesDefaultAccountCode": {
                    "type": "string",
                    "description": "The default sales account code for contacts"
                  },
                  "PurchasesDefaultAccountCode": {
                    "type": "string",
                    "description": "The default purchases account code for contacts"
                  },
                  "SalesTrackingCategories": {
                    "type": "array",
                    "description": "The default sales tracking categories for contacts"
                  },
                  "PurchasesTrackingCategories": {
                    "type": "array",
                    "description": "The default purchases tracking categories for contacts"
                  },
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
                  },
                  "TrackingCategoryOption": {
                    "type": "string",
                    "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
                  },
                  "PaymentTerms": {
                    "type": "object"
                  },
                  "UpdatedDateUTC": {
                    "type": "string",
                    "description": "UTC timestamp of last update to contact"
                  },
                  "ContactGroups": {
                    "type": "array",
                    "description": "Displays which contact groups a contact is included in"
                  },
                  "Website": {
                    "type": "string",
                    "description": "Website address for contact (read only)"
                  },
                  "BrandingTheme": {
                    "type": "object"
                  },
                  "BatchPayments": {
                    "description": "Bank details for use on a batch payment stored with each contact"
                  },
                  "Discount": {
                    "type": "number",
                    "description": "The default discount rate for the contact (read only)"
                  },
                  "Balances": {
                    "type": "object",
                    "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
                  },
                  "Attachments": {
                    "type": "array",
                    "description": "Displays array of attachments from the API"
                  },
                  "HasAttachments": {
                    "type": "boolean",
                    "description": "A boolean to indicate if a contact has an attachment"
                  },
                  "ValidationErrors": {
                    "type": "array",
                    "description": "Displays validation errors returned from the API"
                  },
                  "HasValidationErrors": {
                    "type": "boolean",
                    "description": "A boolean to indicate if a contact has an validation errors"
                  },
                  "StatusAttributeString": {
                    "type": "string",
                    "description": "Status of object"
                  }
                }
              },
              "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
            }
          }
        },
        "description": "Contact Groups"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "ContactGroupID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_update\_or\_create\_contacts

Updates or creates one or more contacts in a Xero organisation

**Parameters:**

| Parameter         | Type      | Required | Default | Description                                                                                           |
| ----------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`  | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `summarizeErrors` | boolean   | No       | —       | If false return 200 OK and mix of successfully created objects and any with validation errors         |
| `Idempotency-Key` | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `Contacts`        | object\[] | No       | —       | The contacts value                                                                                    |
| `pagination`      | object    | No       | —       | The pagination value                                                                                  |
| `Warnings`        | object\[] | No       | —       | Displays array of warning messages from the API                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "summarizeErrors": {
        "type": "boolean",
        "description": "If false return 200 OK and mix of successfully created objects and any with validation errors"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "Contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "ContactID": {
              "type": "string",
              "format": "uuid",
              "description": "Xero identifier"
            },
            "MergedToContactID": {
              "type": "string",
              "format": "uuid",
              "description": "ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber."
            },
            "ContactNumber": {
              "type": "string",
              "description": "This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero."
            },
            "AccountNumber": {
              "type": "string",
              "description": "A user defined account number. This can be updated via the API and the Xero UI (max length = 50)"
            },
            "ContactStatus": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "GDPRREQUEST"
              ],
              "description": "Current status of a contact – see contact status types"
            },
            "Name": {
              "type": "string",
              "description": "Full name of contact/organisation (max length = 255)"
            },
            "FirstName": {
              "type": "string",
              "description": "First name of contact person (max length = 255)"
            },
            "LastName": {
              "type": "string",
              "description": "Last name of contact person (max length = 255)"
            },
            "CompanyNumber": {
              "type": "string",
              "description": "Company registration number (max length = 50)"
            },
            "EmailAddress": {
              "type": "string",
              "description": "Email address of contact person (umlauts not supported) (max length  = 255)"
            },
            "ContactPersons": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "FirstName": {
                    "type": "string",
                    "description": "First name of person"
                  },
                  "LastName": {
                    "type": "string",
                    "description": "Last name of person"
                  },
                  "EmailAddress": {
                    "type": "string",
                    "description": "Email address of person"
                  },
                  "IncludeInEmails": {
                    "type": "boolean",
                    "description": "boolean to indicate whether contact should be included on emails with invoices etc."
                  }
                }
              },
              "description": "See contact persons"
            },
            "BankAccountDetails": {
              "type": "string",
              "description": "Bank account number of contact"
            },
            "TaxNumber": {
              "type": "string",
              "description": "Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)"
            },
            "TaxNumberType": {
              "type": "string",
              "enum": [
                "SSN",
                "EIN",
                "ITIN",
                "ATIN"
              ],
              "description": "Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers"
            },
            "AccountsReceivableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "AccountsPayableTaxType": {
              "type": "string",
              "description": "The tax type from TaxRates"
            },
            "Addresses": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AddressType": {
                    "type": "string",
                    "description": "define the type of address"
                  },
                  "AddressLine1": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine2": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine3": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "AddressLine4": {
                    "type": "string",
                    "description": "max length = 500"
                  },
                  "City": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "Region": {
                    "type": "string",
                    "description": "max length = 255"
                  },
                  "PostalCode": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "Country": {
                    "type": "string",
                    "description": "max length = 50, [A-Z], [a-z] only"
                  },
                  "AttentionTo": {
                    "type": "string",
                    "description": "max length = 255"
                  }
                }
              },
              "description": "Store certain address types for a contact – see address types"
            },
            "Phones": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "PhoneType": {
                    "type": "string"
                  },
                  "PhoneNumber": {
                    "type": "string",
                    "description": "max length = 50"
                  },
                  "PhoneAreaCode": {
                    "type": "string",
                    "description": "max length = 10"
                  },
                  "PhoneCountryCode": {
                    "type": "string",
                    "description": "max length = 20"
                  }
                }
              },
              "description": "Store certain phone types for a contact – see phone types"
            },
            "IsSupplier": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact that has any AP  invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact."
            },
            "IsCustomer": {
              "type": "boolean",
              "description": "true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact."
            },
            "SalesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "PurchasesDefaultLineAmountType": {
              "type": "string",
              "enum": [
                "INCLUSIVE",
                "EXCLUSIVE",
                "NONE"
              ],
              "description": "The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber."
            },
            "DefaultCurrency": {
              "type": "string",
              "enum": [
                "AED",
                "AFN",
                "ALL",
                "AMD",
                "ANG",
                "AOA",
                "ARS",
                "AUD",
                "AWG",
                "AZN",
                "BAM",
                "BBD",
                "BDT",
                "BGN",
                "BHD",
                "BIF",
                "BMD",
                "BND",
                "BOB",
                "BRL",
                "BSD",
                "BTN",
                "BWP",
                "BYN",
                "BYR",
                "BZD",
                "CAD",
                "CDF",
                "CHF",
                "CLF",
                "CLP",
                "CNY",
                "COP",
                "CRC",
                "CUC",
                "CUP",
                "CVE",
                "CZK",
                "DJF",
                "DKK",
                "DOP",
                "DZD",
                "EEK",
                "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",
                "MRU",
                "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",
                "SKK",
                "SLE",
                "SLL",
                "SOS",
                "SRD",
                "STD",
                "STN",
                "SVC",
                "SYP",
                "SZL",
                "THB",
                "TJS",
                "TMT",
                "TND",
                "TOP",
                "TRY",
                "TTD",
                "TWD",
                "TZS",
                "UAH",
                "UGX",
                "USD",
                "UYU",
                "UZS",
                "VEF",
                "VES",
                "VND",
                "VUV",
                "WST",
                "XAF",
                "XCD",
                "XOF",
                "XPF",
                "YER",
                "ZAR",
                "ZMW",
                "ZMK",
                "ZWD"
              ],
              "description": "3 letter alpha code for the currency – see list of currency codes"
            },
            "XeroNetworkKey": {
              "type": "string",
              "description": "Store XeroNetworkKey for contacts."
            },
            "SalesDefaultAccountCode": {
              "type": "string",
              "description": "The default sales account code for contacts"
            },
            "PurchasesDefaultAccountCode": {
              "type": "string",
              "description": "The default purchases account code for contacts"
            },
            "SalesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default sales tracking categories for contacts"
            },
            "PurchasesTrackingCategories": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "TrackingCategoryName": {
                    "type": "string",
                    "description": "The default sales tracking category name for contacts"
                  },
                  "TrackingOptionName": {
                    "type": "string",
                    "description": "The default purchase tracking category name for contacts"
                  }
                }
              },
              "description": "The default purchases tracking categories for contacts"
            },
            "TrackingCategoryName": {
              "type": "string",
              "description": "The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "TrackingCategoryOption": {
              "type": "string",
              "description": "The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories"
            },
            "PaymentTerms": {
              "type": "object",
              "description": "Payment Terms"
            },
            "UpdatedDateUTC": {
              "type": "string",
              "description": "UTC timestamp of last update to contact"
            },
            "ContactGroups": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Name": {
                    "type": "string",
                    "description": "The Name of the contact group. Required when creating a new contact  group"
                  },
                  "Status": {
                    "type": "string",
                    "description": "The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs."
                  },
                  "ContactGroupID": {
                    "type": "string",
                    "description": "The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9"
                  },
                  "Contacts": {
                    "type": "array",
                    "description": "The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL."
                  }
                }
              },
              "description": "Displays which contact groups a contact is included in"
            },
            "Website": {
              "type": "string",
              "description": "Website address for contact (read only)"
            },
            "BrandingTheme": {
              "type": "object",
              "description": "Branding Theme"
            },
            "BatchPayments": {
              "description": "Bank details for use on a batch payment stored with each contact"
            },
            "Discount": {
              "type": "number",
              "format": "double",
              "description": "The default discount rate for the contact (read only)"
            },
            "Balances": {
              "type": "object",
              "description": "The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)"
            },
            "Attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "AttachmentID": {
                    "type": "string",
                    "description": "Unique ID for the file"
                  },
                  "FileName": {
                    "type": "string",
                    "description": "Name of the file"
                  },
                  "Url": {
                    "type": "string",
                    "description": "URL to the file on xero.com"
                  },
                  "MimeType": {
                    "type": "string",
                    "description": "Type of file"
                  },
                  "ContentLength": {
                    "type": "integer",
                    "description": "Length of the file content"
                  },
                  "IncludeOnline": {
                    "type": "boolean",
                    "description": "Include the file with the online invoice"
                  }
                }
              },
              "description": "Displays array of attachments from the API"
            },
            "HasAttachments": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an attachment"
            },
            "ValidationErrors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "Message": {
                    "type": "string",
                    "description": "Validation error message"
                  }
                }
              },
              "description": "Displays validation errors returned from the API"
            },
            "HasValidationErrors": {
              "type": "boolean",
              "description": "A boolean to indicate if a contact has an validation errors"
            },
            "StatusAttributeString": {
              "type": "string",
              "description": "Status of object"
            }
          }
        },
        "description": "The contacts value"
      },
      "pagination": {
        "type": "object",
        "description": "The pagination value",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Page number for pagination"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of results per page"
          },
          "pageCount": {
            "type": "integer",
            "description": "Page Count"
          },
          "itemCount": {
            "type": "integer",
            "description": "Item Count"
          }
        }
      },
      "Warnings": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Message": {
              "type": "string",
              "description": "Validation error message"
            }
          }
        },
        "description": "Displays array of warning messages from the API"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_update\_tracking\_category

Updates a specific tracking category

**Parameters:**

| Parameter            | Type      | Required | Default | Description                                                                                           |
| -------------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`     | string    | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key`    | string    | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `TrackingCategoryID` | string    | Yes      | —       | Unique identifier for a TrackingCategory                                                              |
| `Name`               | string    | No       | —       | The name of the tracking category e.g. Department, Region (max length = 100)                          |
| `Option`             | string    | No       | —       | The option name of the tracking option e.g. East, West (max length = 100)                             |
| `Options`            | object\[] | No       | —       | See Tracking Options                                                                                  |
| `Status`             | string    | No       | —       | The status of a tracking category                                                                     |
| `TrackingOptionID`   | string    | No       | —       | The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      },
      "Name": {
        "type": "string",
        "description": "The name of the tracking category e.g. Department, Region (max length = 100)"
      },
      "Option": {
        "type": "string",
        "description": "The option name of the tracking option e.g. East, West (max length = 100)"
      },
      "Options": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "TrackingOptionID": {
              "type": "string",
              "format": "uuid",
              "description": "The Xero identifier for a tracking option e.g. ae777a87-5ef3-4fa0-a4f0-d10e1f13073a"
            },
            "Name": {
              "type": "string",
              "description": "The name of the tracking option e.g. Marketing, East (max length = 100)"
            },
            "Status": {
              "type": "string",
              "enum": [
                "ACTIVE",
                "ARCHIVED",
                "DELETED"
              ],
              "description": "The status of a tracking option"
            },
            "TrackingCategoryID": {
              "type": "string",
              "format": "uuid",
              "description": "Filter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9"
            }
          }
        },
        "description": "See Tracking Options"
      },
      "Status": {
        "type": "string",
        "description": "The status of a tracking category",
        "enum": [
          "ACTIVE",
          "ARCHIVED",
          "DELETED"
        ]
      },
      "TrackingOptionID": {
        "type": "string",
        "description": "The Xero identifier for a tracking option e.g. dc54c220-0140-495a-b925-3246adc0075f"
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID"
    ]
  }
  ```
</Expandable>

***

## xero\_contacts\_update\_tracking\_options

Updates a specific option for a specific tracking category

**Parameters:**

| Parameter            | Type   | Required | Default | Description                                                                                           |
| -------------------- | ------ | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `xero-tenant-id`     | string | Yes      | —       | Xero identifier for Tenant                                                                            |
| `Idempotency-Key`    | string | No       | —       | This allows you to safely retry requests without the risk of duplicate processing. 128 character max. |
| `TrackingCategoryID` | string | Yes      | —       | Unique identifier for a TrackingCategory                                                              |
| `TrackingOptionID`   | string | Yes      | —       | Unique identifier for a Tracking Option                                                               |
| `Name`               | string | No       | —       | The name of the tracking option e.g. Marketing, East (max length = 100)                               |
| `Status`             | string | No       | —       | The status of a tracking option                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "xero-tenant-id": {
        "type": "string",
        "description": "Xero identifier for Tenant"
      },
      "Idempotency-Key": {
        "type": "string",
        "description": "This allows you to safely retry requests without the risk of duplicate processing. 128 character max."
      },
      "TrackingCategoryID": {
        "type": "string",
        "description": "Unique identifier for a TrackingCategory"
      },
      "TrackingOptionID": {
        "type": "string",
        "description": "Unique identifier for a Tracking Option"
      },
      "Name": {
        "type": "string",
        "description": "The name of the tracking option e.g. Marketing, East (max length = 100)"
      },
      "Status": {
        "type": "string",
        "description": "The status of a tracking option",
        "enum": [
          "ACTIVE",
          "ARCHIVED",
          "DELETED"
        ]
      }
    },
    "required": [
      "PCID",
      "xero-tenant-id",
      "TrackingCategoryID",
      "TrackingOptionID"
    ]
  }
  ```
</Expandable>
