E-Commerce & tokenized transactionsCustomer Management

Edit Customer

API Explorer
https://api.ipospays.tech/invoice-service/v1/customers/{customer_id}
PUT

Updates an existing customer belonging to the authenticated merchant.

Updates only the fields that are sent. A field sent empty ("" or null) is cleared; a field that is not in the request keeps its stored value. Send at least one field.

Not allowed while one of the customer's invoices has an active payment link.

A customer who has invoices cannot be moved to another store. create a new customer under that store instead.

Path Parameters

customer_id*string

Unique identifier of the consumer to update.

Public customer id returned by Create Customer

Steps to find the customer_id:

  1. Login to the iPOSpays portal using a Merchant account.
  2. Navigate to the My Customers section.
  3. Search for the customer using their name, email, or phone number.
  4. Copy the Consumer ID from the customer details page.

Header Parameters

token*string

Authentication token generated using the API Key and Secret Key of the Merchant credentials. Required for all API requests.

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com" \  -H "token: your-access-token-here" \  -H "Content-Type: application/json" \  -d '{    "customer_externalRefId": "CRM-1258819-B",    "email": "docs.full.1258819@example.com",    "phone": "+14041258819",    "firstName": "Jane",    "lastName": "Smith",    "Dba": "Jane Cakes",    "Zipcode": "34343",    "City": "New Town",    "State": "FL"  }'
{
  "data": {
    "customer_id": "LMPD9SWTTI1LI05",
    "customer_externalRefId": "CRM-1258819-B",
    "email": "docs.full.1258819@example.com",
    "phone": "+14041258819",
    "firstName": "Jane",
    "lastName": "Smith",
    "Dba": "Jane Cakes",
    "Zipcode": "34343",
    "City": "New Town",
    "State": "FL",
    "storeId": "05cbaac8502f"
  },
  "message": "Customer updated successfully",
  "response_code": "SUCCESS",
  "status_code": 200,
  "request_id": "TEST-20261008183423-CPEXH9",
  "timestamp": "2026-10-08T13:04:23.307Z"
}

{
  "data": null,
  "message": "The request contains invalid input parameters.",
  "response_code": "BAD_REQUEST",
  "status_code": 400,
  "request_id": "TEST-20261008183425-CP8XIZ",
  "timestamp": "2026-10-08T13:04:25.885Z",
  "errors": [
    {
      "field": "customer_id",
      "messages": [
        "customer_id must be a valid customer id"
      ]
    }
  ]
}

{
  "data": null,
  "message": "Missing authentication token. Please include a valid API token in your request.",
  "response_code": "TOKEN_MISSING",
  "status_code": 401,
  "request_id": "TEST-20261022075139-ZTUYSV",
  "timestamp": "2026-10-22T07:51:39.697Z"
}

{
  "data": null,
  "message": "Customer not found",
  "response_code": "NOT_FOUND",
  "status_code": 404,
  "request_id": "TEST-20261008183432-WB-IEL",
  "timestamp": "2026-10-08T13:04:32.317Z"
}

{
  "data": [
    {
      "customer_id": "L5F0EM0GSPOZ4O5",
      "customer_externalRefId": null,
      "email": "docs.email.1258819@example.com",
      "phone": null,
      "firstName": "Email Only",
      "lastName": null,
      "Dba": null,
      "Zipcode": null,
      "City": null,
      "State": null,
      "storeId": "05cbaac8502f"
    }
  ],
  "message": "Customer with same email and different phone found",
  "response_code": "CONFLICT",
  "status_code": 409,
  "request_id": "TEST-20261012160458-7MSGDT",
  "timestamp": "2026-10-12T10:34:58.671Z"
}

{
  "data": null,
  "message": "Unsupported content type",
  "response_code": "BAD_REQUEST",
  "status_code": 415,
  "request_id": "<generated per request>",
  "timestamp": "<ISO 8601 time>",
  "errors": [
    {
      "field": "body",
      "messages": [
        "Content-Type must be application/json"
      ]
    }
  ]
}
{
  "data": null,
  "message": "Too many requests, please try again in a minute",
  "response_code": "RATE_LIMITED",
  "status_code": 429,
  "timestamp": "<ISO 8601 time>"
}

{
  "data": null,
  "message": "An error occurred while processing your request. Please try again later.",
  "response_code": "INTERNAL_ERROR",
  "status_code": 500,
  "request_id": "<generated per request>",
  "timestamp": "<ISO 8601 time>"
}