> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/api-reference/open-api-references/customer/get-update-delete-customer.md).

# Get\Update\Delete Customer

These endpoints operate on a specific customer record identified by its UUID (`customerId`). Use **Get Customer** to retrieve the current state, **Update Customer** to replace the record's fields, and **Delete Customer** to permanently remove it.

## Get Customer

Retrieves the full customer record for a given UUID.

## GET /v2/customer/{customerId}

> Get Customer

```json
{"openapi":"3.0.1","info":{"title":"Customer API","version":"1.17.0"},"tags":[{"name":"Customer","description":"Operations for creating, retrieving, updating, and deleting customer records."}],"servers":[{"url":"https://emea.gsc.verifone.cloud/oidc/customer-service","description":"EMEA Production"},{"url":"https://us.gsc.verifone.cloud/oidc/customer-service","description":"Americas Production"},{"url":"https://nz.gsc.verifone.cloud/oidc/customer-service","description":"New Zealand Production"},{"url":"https://cst.test-gsc.vfims.com/oidc/customer-service","description":"Global Sandbox"},{"url":"https://uscst-gb.gsc.vficloud.net/oidc/customer-service","description":"US Sandbox"}],"security":[{"BearerAuth":[]},{"BasicAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"CustomerResponse":{"required":["created_at","entity_id","id","updated_at"],"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Customer UUID."},"billing":{"$ref":"#/components/schemas/Billing"},"company_name":{"maxLength":100,"type":"string","description":"Company name of the customer. **Required** when `billing.first_name` and `billing.last_name` are not provided."},"company_registration_number":{"maxLength":24,"type":"string","description":"Unique identifier of the company recognised by the government. Known as CoC (Chamber of Commerce) number in some countries."},"email_address":{"maxLength":255,"type":"string","format":"email","description":"Consumer's email address.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"entity_id":{"type":"string","description":"Entity ID on which the customer is created."},"phone_number":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Cardholder's phone number."},"shipping":{"$ref":"#/components/schemas/Shipping"},"title":{"pattern":"^[a-zA-Z\\-\\s.]+$","maxLength":120,"type":"string","description":"Customer's title (e.g. `Mr`, `Mrs`, `Dr`)."},"work_phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Consumer's work phone number."},"tax":{"$ref":"#/components/schemas/Tax"},"language":{"type":"string","description":"Customer language preference for Invoice documents. See [Localisation](https://docs.verifone.com/online-payments/checkout/localization) for details."},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this customer was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when this customer was last updated."}}},"Billing":{"type":"object","properties":{"address_1":{"maxLength":40,"type":"string","description":"Customer's primary billing address information.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"address_2":{"maxLength":40,"type":"string","description":"Customer's secondary billing address information."},"address_3":{"maxLength":40,"type":"string","description":"Customer's third billing address information."},"city":{"maxLength":28,"type":"string","description":"Customer's city on their billing address.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"country_code":{"type":"string","description":"Customer's alpha-2 ISO 3166 country code (e.g. `US` for United States).\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"first_name":{"maxLength":22,"type":"string","description":"Customer's first name. **Required** when `company_name` is not provided.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"middle_name":{"maxLength":22,"type":"string","description":"Customer's middle name."},"last_name":{"maxLength":22,"type":"string","description":"Customer's last name. **Required** when `company_name` is not provided.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Customer's phone number for the billing address."},"postal_code":{"maxLength":10,"type":"string","description":"Customer's postal code for their billing address.\n\n**Note:** Required for 3DS unless a market or regional mandate restricts sending this information."},"state":{"maxLength":35,"type":"string","description":"Customer's state or province for their billing address (e.g. `OH` for Ohio, `TX` for Texas)."}}},"Shipping":{"type":"object","properties":{"address_1":{"maxLength":40,"type":"string","description":"Consumer's primary shipping address information.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"address_2":{"maxLength":40,"type":"string","description":"Consumer's secondary shipping address information.\n\n**Field required for:** PayPal"},"address_3":{"maxLength":40,"type":"string","description":"Consumer's third shipping address information."},"city":{"maxLength":28,"type":"string","description":"Consumer's city on their shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"first_name":{"maxLength":22,"type":"string","description":"Consumer's first name.\n\n**Field required for:** Klarna, Vipps, MobilePay"},"middle_name":{"maxLength":22,"type":"string","description":"Consumer's middle name."},"last_name":{"maxLength":22,"type":"string","description":"Consumer's last name.\n\n**Field required for:** Klarna, Vipps, MobilePay"},"phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Consumer's phone number for the shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay"},"country_code":{"type":"string","description":"Consumer's alpha-2 ISO 3166 country code (e.g. `US` for United States).\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"postal_code":{"maxLength":10,"type":"string","description":"Consumer's postal code for their shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"state":{"maxLength":35,"type":"string","description":"Consumer's state or province for their shipping address (e.g. `OH` for Ohio, `TX` for Texas).\n\n**Field required for:** Klarna, PayPal"}}},"Tax":{"type":"object","properties":{"identifier":{"pattern":"^[0-9]+$","type":"string","maxLength":9,"description":"An optional identifier of the document recipient:\n\n- Personal ID (for individuals)\n- Tax identification number (for businesses)"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"integer","description":"A 3-digit code that uniquely identifies the error."},"details":{"type":"object","description":"Additional error details."},"message":{"type":"string","description":"A human-readable description of the error."},"timestamp":{"type":"integer","description":"Unix timestamp of when the error occurred."}}}}},"paths":{"/v2/customer/{customerId}":{"get":{"tags":["Customer"],"summary":"Get Customer","operationId":"getV2CustomerById","parameters":[{"name":"customerId","in":"path","description":"Customer UUID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### How It Works

{% stepper %}
{% step %}

### Obtain the customer UUID

The UUID is returned as `id` when the customer record is created. If you need to look up a UUID by email or name, use the [List\Create Customers](/api-reference/open-api-references/customer/list-create-customers.md) endpoint with an appropriate RSQL `search` filter.
{% endstep %}

{% step %}

### Send the GET request

Pass the UUID as the `customerId` path parameter. Authenticate with Bearer or Basic Auth.
{% endstep %}

{% step %}

### Read the response

A `200` response returns a `CustomerResponse` object containing the full record: billing, shipping, contact details, `entity_id`, and timestamps.
{% endstep %}
{% endstepper %}

***

## Update Customer

Replaces the stored fields of an existing customer record. Pass only the fields you wish to change alongside the required `entity_id`.

{% hint style="warning" %}
**Update replaces the record.** Any field not included in the request body will be cleared. Always retrieve the current record first and merge your changes before sending.
{% endhint %}

## POST /v2/customer/{customerId}

> Update Customer

```json
{"openapi":"3.0.1","info":{"title":"Customer API","version":"1.17.0"},"tags":[{"name":"Customer","description":"Operations for creating, retrieving, updating, and deleting customer records."}],"servers":[{"url":"https://emea.gsc.verifone.cloud/oidc/customer-service","description":"EMEA Production"},{"url":"https://us.gsc.verifone.cloud/oidc/customer-service","description":"Americas Production"},{"url":"https://nz.gsc.verifone.cloud/oidc/customer-service","description":"New Zealand Production"},{"url":"https://cst.test-gsc.vfims.com/oidc/customer-service","description":"Global Sandbox"},{"url":"https://uscst-gb.gsc.vficloud.net/oidc/customer-service","description":"US Sandbox"}],"security":[{"BearerAuth":[]},{"BasicAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"CustomerRequest":{"required":["entity_id"],"type":"object","properties":{"billing":{"$ref":"#/components/schemas/Billing"},"company_name":{"maxLength":100,"type":"string","description":"Company name of the customer. **Required** when `billing.first_name` and `billing.last_name` are not provided."},"company_registration_number":{"maxLength":24,"type":"string","description":"Unique identifier of the company recognised by the government. Known as CoC (Chamber of Commerce) number in some countries."},"email_address":{"maxLength":255,"type":"string","format":"email","description":"Consumer's email address.\n\n**Field required for:** Klarna, PayPal\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"entity_id":{"type":"string","description":"Entity ID on which the customer is created. The Entity ID can be found at the organisation level as Organisation ID (`Administration > Organizations > [Organization] > Organisation ID`)."},"phone_number":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Cardholder's phone number."},"shipping":{"$ref":"#/components/schemas/Shipping"},"title":{"pattern":"^[a-zA-Z\\-\\s.]+$","maxLength":120,"type":"string","description":"Customer's title (e.g. `Mr`, `Mrs`, `Dr`)."},"work_phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Consumer's work phone number."},"tax":{"$ref":"#/components/schemas/Tax"},"language":{"type":"string","description":"Customer language preference for Invoice documents. See [Localisation](https://docs.verifone.com/online-payments/checkout/localization) for details."}}},"Billing":{"type":"object","properties":{"address_1":{"maxLength":40,"type":"string","description":"Customer's primary billing address information.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"address_2":{"maxLength":40,"type":"string","description":"Customer's secondary billing address information."},"address_3":{"maxLength":40,"type":"string","description":"Customer's third billing address information."},"city":{"maxLength":28,"type":"string","description":"Customer's city on their billing address.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"country_code":{"type":"string","description":"Customer's alpha-2 ISO 3166 country code (e.g. `US` for United States).\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"first_name":{"maxLength":22,"type":"string","description":"Customer's first name. **Required** when `company_name` is not provided.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"middle_name":{"maxLength":22,"type":"string","description":"Customer's middle name."},"last_name":{"maxLength":22,"type":"string","description":"Customer's last name. **Required** when `company_name` is not provided.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Customer's phone number for the billing address."},"postal_code":{"maxLength":10,"type":"string","description":"Customer's postal code for their billing address.\n\n**Note:** Required for 3DS unless a market or regional mandate restricts sending this information."},"state":{"maxLength":35,"type":"string","description":"Customer's state or province for their billing address (e.g. `OH` for Ohio, `TX` for Texas)."}}},"Shipping":{"type":"object","properties":{"address_1":{"maxLength":40,"type":"string","description":"Consumer's primary shipping address information.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"address_2":{"maxLength":40,"type":"string","description":"Consumer's secondary shipping address information.\n\n**Field required for:** PayPal"},"address_3":{"maxLength":40,"type":"string","description":"Consumer's third shipping address information."},"city":{"maxLength":28,"type":"string","description":"Consumer's city on their shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"first_name":{"maxLength":22,"type":"string","description":"Consumer's first name.\n\n**Field required for:** Klarna, Vipps, MobilePay"},"middle_name":{"maxLength":22,"type":"string","description":"Consumer's middle name."},"last_name":{"maxLength":22,"type":"string","description":"Consumer's last name.\n\n**Field required for:** Klarna, Vipps, MobilePay"},"phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Consumer's phone number for the shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay"},"country_code":{"type":"string","description":"Consumer's alpha-2 ISO 3166 country code (e.g. `US` for United States).\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"postal_code":{"maxLength":10,"type":"string","description":"Consumer's postal code for their shipping address.\n\n**Field required for:** Klarna, PayPal, Vipps, MobilePay, Google Pay, Apple Pay, Affirm, Swish"},"state":{"maxLength":35,"type":"string","description":"Consumer's state or province for their shipping address (e.g. `OH` for Ohio, `TX` for Texas).\n\n**Field required for:** Klarna, PayPal"}}},"Tax":{"type":"object","properties":{"identifier":{"pattern":"^[0-9]+$","type":"string","maxLength":9,"description":"An optional identifier of the document recipient:\n\n- Personal ID (for individuals)\n- Tax identification number (for businesses)"}}},"CustomerResponse":{"required":["created_at","entity_id","id","updated_at"],"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Customer UUID."},"billing":{"$ref":"#/components/schemas/Billing"},"company_name":{"maxLength":100,"type":"string","description":"Company name of the customer. **Required** when `billing.first_name` and `billing.last_name` are not provided."},"company_registration_number":{"maxLength":24,"type":"string","description":"Unique identifier of the company recognised by the government. Known as CoC (Chamber of Commerce) number in some countries."},"email_address":{"maxLength":255,"type":"string","format":"email","description":"Consumer's email address.\n\n**Note:** Required for 3DS. Please refer to the 3D Secure API specification for format requirements."},"entity_id":{"type":"string","description":"Entity ID on which the customer is created."},"phone_number":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Cardholder's phone number."},"shipping":{"$ref":"#/components/schemas/Shipping"},"title":{"pattern":"^[a-zA-Z\\-\\s.]+$","maxLength":120,"type":"string","description":"Customer's title (e.g. `Mr`, `Mrs`, `Dr`)."},"work_phone":{"maxLength":25,"pattern":"^[0-9\\s\\-+().-]+$","type":"string","description":"Consumer's work phone number."},"tax":{"$ref":"#/components/schemas/Tax"},"language":{"type":"string","description":"Customer language preference for Invoice documents. See [Localisation](https://docs.verifone.com/online-payments/checkout/localization) for details."},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this customer was created."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when this customer was last updated."}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"integer","description":"A 3-digit code that uniquely identifies the error."},"details":{"type":"object","description":"Additional error details."},"message":{"type":"string","description":"A human-readable description of the error."},"timestamp":{"type":"integer","description":"Unix timestamp of when the error occurred."}}}}},"paths":{"/v2/customer/{customerId}":{"post":{"tags":["Customer"],"summary":"Update Customer","operationId":"postV2CustomerById","parameters":[{"name":"customerId","in":"path","description":"Customer UUID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerRequest"}}},"required":true},"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

### Update workflow

{% stepper %}
{% step %}

### Retrieve the current record

Call `GET /v2/customer/{customerId}` and capture the full response body.
{% endstep %}

{% step %}

### Merge your changes

Modify the fields you need to update in the captured object. Keep all other existing fields intact to avoid unintended data loss.
{% endstep %}

{% step %}

### Send the POST request

Submit the merged object as the request body to `POST /v2/customer/{customerId}`. The `entity_id` field is required.
{% endstep %}

{% step %}

### Confirm the response

A `200` response returns the updated `CustomerResponse`. Verify the changed fields reflect your intent before continuing.
{% endstep %}
{% endstepper %}

***

## Delete Customer

Permanently removes a customer record. This action cannot be undone.

{% hint style="danger" %}
Deleting a customer record is irreversible. Any downstream services or payment flows that reference this customer UUID will no longer be able to retrieve the associated data.
{% endhint %}

## DELETE /v2/customer/{customerId}

> Delete Customer

```json
{"openapi":"3.0.1","info":{"title":"Customer API","version":"1.17.0"},"tags":[{"name":"Customer","description":"Operations for creating, retrieving, updating, and deleting customer records."}],"servers":[{"url":"https://emea.gsc.verifone.cloud/oidc/customer-service","description":"EMEA Production"},{"url":"https://us.gsc.verifone.cloud/oidc/customer-service","description":"Americas Production"},{"url":"https://nz.gsc.verifone.cloud/oidc/customer-service","description":"New Zealand Production"},{"url":"https://cst.test-gsc.vfims.com/oidc/customer-service","description":"Global Sandbox"},{"url":"https://uscst-gb.gsc.vficloud.net/oidc/customer-service","description":"US Sandbox"}],"security":[{"BearerAuth":[]},{"BasicAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"BasicAuth":{"type":"http","scheme":"basic"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"code":{"type":"integer","description":"A 3-digit code that uniquely identifies the error."},"details":{"type":"object","description":"Additional error details."},"message":{"type":"string","description":"A human-readable description of the error."},"timestamp":{"type":"integer","description":"Unix timestamp of when the error occurred."}}}}},"paths":{"/v2/customer/{customerId}":{"delete":{"tags":["Customer"],"summary":"Delete Customer","operationId":"deleteV2CustomerById","parameters":[{"name":"customerId","in":"path","description":"Customer UUID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Customer successfully deleted"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

A successful delete returns `204 No Content` with an empty body.

***

## Get vs Update — Key Differences

{% columns %}
{% column %}

#### GET /v2/customer/{customerId}

* Read-only — no request body
* Returns the current state of the record
* Safe to call repeatedly without side effects
* Use to look up customer data before an update
  {% endcolumn %}

{% column %}

#### POST /v2/customer/{customerId}

* Writes — request body required
* Replaces the full record
* `entity_id` is required in the body
* Retrieve first, merge changes, then submit
  {% endcolumn %}
  {% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/api-reference/open-api-references/customer/get-update-delete-customer.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
