# Customers

Customers are entities used to organize and manage saved payment methods.
These include billing details, transaction history, and recurring payments.
A customer record may contain their name, email address, phone number, billing, and shipping addresses.
Having a customer association is not required to pay for transactions.
**Creating a customer**
Customers may be created in the following ways:
* Explicitly with `POST /pay-api/v1/customers`.
This includes full customer details and optional payment methods.
* The Merchant Portal. Merchants and their partner can create customers through this portal.
* Implicitly with `POST /pay-int-api/payment-sessions`.
When this endpoint's `mode` is either `SaveMethod` or `PaymentAndSave`, if `customerId` is not provided, one will be created.
* Implicitly with `POST /pay-int-api/invoices/publish`.
If `customerId` is not provided, one will be created.

New `customerId` values can be reviewed with `GET /v2/customers`.
**Pay transactions**
Customers may pay transactions in one of three ways:
* Vaulted payments
* Standalone tokenization, also known as orphan vaulted payment
* Account supported

**Vaulted payments**
Customers can be associated with one or more vaulted payment methods.
A vaulted payment method is a securely stored payment credential.
This applies to credit card or bank account payments.
A vaulted payment method is a securely stored payment credential.
This is considered a more secure method rather than storing the card number directly.
That information has previously been tokenized and saved for future use.
Vaulted information can be safely accessed through a payment identifier.
This is typically used for recurring billing, subscriptions, saved checkout experiences, and card-on-file transactions.
In the transaction payment, the field `customerId` is provided.
The customer's vaulted payment methods are available for selection.
**Standalone tokenization**
Clients may use standalone tokenization, also known as an orphan vaulted payment.
This allows a payment method to be vaulted even when the payer has not been recognized as a customer entity.
The transaction proceeds using a previously established payment method identifier.
Standalone tokenization is useful when a payment method must be vaulted before a customer profile exists.
This includes guest checkouts, delayed onboarding, account setup, or card-on-file collection before registration is complete.
In the transaction payment, the field `customerId` is omitted but `paymentMethodId` is provided.
This indicates the merchant's orphan vaulted payment method is used.
**Accounts Supported**
Clients may use accounts supporting orphan payments.
This is a form of a payment method that temporarily exists without a customer association.
In the transaction payment, both fields `customerId` and `paymentMethodId` are omitted.
The transaction uses the credit or debit card, or bank account data supplied in the request.

 - [GET /v2/customers](https://developer.flute.com/api-reference/v2/flute-v2/customers/flute-v2-get-customers.md): GET {{baseURL}}/v2/customers This endpoint lists customers. Results are returned in pages of `pageSize` items, with a default of 20 and a maximum of 100 per page. The `pageIndex` parameter selects whi
 - [POST /v2/customers](https://developer.flute.com/api-reference/v2/flute-v2/customers/flute-v2-post-customers.md): POST {{baseURL}}/v2/customers This endpoint creates a customer record for the authenticated merchant. Only `firstName` and `lastName` are required. Everything else, such as company name, email, mobile
 - [GET /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/flute-v2/customers/flute-v2-get-customers-customerid.md): GET {{baseURL}}/v2/customers/{{customerId}} This endpoint retrieves a customer by ID. See Also: To create a new customer, see POST /v2/customers. To list customers, see GET /v2/customers. To update a
 - [PATCH /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/flute-v2/customers/flute-v2-patch-customers-customerid.md): PATCH {{baseURL}}/v2/customers/{{customerId}} This endpoint performs a partial update to an existing customer's record. Send only the fields needed to be changed. Any field left out of the request is
 - [DELETE /v2/customers/{customerId}](https://developer.flute.com/api-reference/v2/flute-v2/customers/flute-v2-delete-customers-customerid.md): DELETE {{baseURL}}/v2/customers/{{customerId}} This endpoint deletes the customer identified by `customerId`. The deletion is permanent. A later call to this customer's `customerId`, such as `GET /v2/
