Update Customer

Updates a customer.

🚧

PUT vs PATCH

PUT is used to fully update an existing resource. It replaces the entire resource with the data provided.
🔸 Any fields not included in the request body will be overwritten to null or their default value.
🔹 Use PUT when you are sending the complete updated object.

PATCH is used to partially update a resource. It modifies only the specified fields without affecting others.
🔸 Fields not included in the PATCH request body will be left unchanged.
🔹 Use PATCH when you only need to update a few fields.

✅ Tip: Always double-check which method to use based on your update logic. Use PUT carefully to avoid unintentionally nulling out data.

Endpoint URL

https://{{base_url}}/api/v2/customer

Authentication and rate limits

Authentication methodOAuth 2.0 Bearer token
Rate limitRate Limit

Requests Example

curl --request PUT \
  --url "https://{{base_url}}/api/v2/customer/{id}" \
  --header "Authorization: Bearer $BEARER_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw "$JSON"

Request Syntax

{
  "company": integer,
  "name": "string",
  "category": integer,
  "contact_person": {
    "name": "string",
    "email": "string",
    "type": "account_management"|"billing"|"executive"|"sales"|"support"|"technical"
  },
  "address_line_1": "string",
  "address_line_2": "string",
  "city": "string",
  "state_province": "string",
  "zip_postal_code": "string",
  "country": integer,
  "phone": "string",
  "mobile": "string",
  "fax": "string",
  "website": "string",
  "general_description": "string",
  "nda_signed": true|false,
  "nda_signed_date": "string",
  "msa_signed": true|false,
  "msa_signed_date": "string",
  "supplementary_description": "string",
  "additional_description": "string",
  "template":
  {
    "id": integer,
      "fields": [
        {
          "id": integer,
          "value": decimal | integer | "string"
        }, 
      ]
  }
}

Body Parameters

  • id (integer) --

    [REQUIRED] The ID of the customer.
    The id parameter is passed as part of the request url /customer/$id.
    To lookup a specific customer ID, see the List Customer API.

  • company (integer) --

    [REQUIRED]
    The ID of the specific company your API is calling. For accounts with only one company, the default value is 1.
    To lookup a specific company ID, see the List Company API.

  • name (string) --

    [REQUIRED]
    The name of the customer.
    Max characters = 50
    The name of the customer must be unique per account.

  • category (integer) --

    The ID of the category.
    To lookup a specific category ID, see the List Category API.

  • contact_person (dict) --
    • name (string) --

      [REQUIRED] if email is defined
      The name of the contact person.
      Max characters = 50

    • email (string) --

      [REQUIRED] if name is defined
      The email of the contact person.
      Max characters = 254

    • type (string) --

      The type of the contact person.
      Options: account_management | billing | executive | sales | support | technical

  • address_line_1 (string) --

    The address line 1 of the customer.
    Max characters = 50

  • address_line_2 (string) --

    The address line 2 of the customer.
    Max characters = 50

  • city (string) --

    The city associated to the customer.
    Max characters = 50

  • state_province (string) --

    The state/province associated to the customer.
    Max characters = 50

  • zip_postal_code (string) --

    The zip/postal code associated to the customer.
    Max characters = 20

  • country (integer) --

    The numeric code of the country.
    To lookup a specific country numeric code, see the List Country API.

  • phone (string) --

    The phone of the customer.
    Max characters = 20

  • mobile (string) --

    The mobile of the customer.
    Max characters = 20

  • fax (string) --

    The fax of the customer.
    Max characters = 20

  • website (string) --

    The website of the customer.
    Max characters = 50

  • general_description (string) --

    The general description of the customer.
    Max characters = 1000

  • nda_signed (boolean) --

    Whether the NDA has been signed by the customer.
    Options: true | false

  • nda_signed_date (string) --

    The NDA signed date by the customer.
    Format = yyyy-MM-dd

  • msa_signed (boolean) --

    Whether the MSA has been signed by the customer.
    Options: true | false

  • msa_signed_date (string) --

    The MSA signed date by the customer.
    Format = yyyy-MM-dd

  • supplementary_description (string) --

    The supplementary description of the customer.
    Max characters = 1000

  • additional_description (string) --

    The additional description of the customer.
    Max characters = 1000

  • template (dict) --
    • id (integer) --

      The ID of the custom field template.
      To lookup a specific custom field template ID, see the List Custom Field Template API.

    • fields (dict) --
      • id (integer) --

        The ID of the custom field.
        To lookup a specific field ID, see the List Custom Field Template API.

      • value (decimal | integer | string) --

        The value of the custom field.

        • If the value data-type is money (decimal) --

          Min value = 0.00
          Max value = 999999999999999.00

        • If the value data-type is number (integer) --

          Min value = -999999999999999
          Max value = 999999999999999

        • If the value data-type is date (string) --

          Format = yyyy-MM-dd

        • If the value data-type is text (string) --

          Max characters = 50

Language
Click Try It! to start a request and see the response here!