---
title: "Changes to Add a new customer"
method: POST
path: "/customers"
---

# Changes to Add a new customer

`POST /customers`

> Every recorded change to this operation, newest first.
> 115 revisions in range; 2 not diffed.

## Timeline

Changed in 24 of 115 revisions.

- **2026-10-28** `d996ddfb9d2b`: 5 info
- **2026-10-28** `5abf2bb56bcb`: 1 warning
- **2026-10-26** `f11f1e76bdd7`: 1 warning
- **2026-10-26** `0a6dad5815c7`: 1 warning
- **2026-10-24** `715332dcb111`: 1 warning
- **2026-10-20** `761d1d030cb5`: 2 warning
- **2026-10-18** `add40cac0f84`: 1 warning
- **2026-10-13** `ddcb4ec73fd0`: 1 warning, 1 info
- **2026-10-09** `36ec020f29da`: 1 warning
- **2026-10-06** `f9f8b23a99ba`: 2 info
- **2026-10-05** `6d67fe99049c`: 3 info
- **2026-10-05** `32bcbd4023e4`: 3 warning
- **2026-10-02** `dfe5a02f2fee`: 20 breaking, 80 warning, 71 info
- **2026-05-28** `d0bce562bffd`: 2 breaking, 8 warning, 1 info
- **2026-04-27** `5b8a8161eeb3`: 12 warning, 63 info
- **2026-03-03** `efe0d983985f`: 5 breaking, 25 info
- **2026-02-25** `c62cf646aaeb`: 25 breaking, 5 warning, 4 info
- **2026-02-19** `55dc3fc30633`: 5 breaking, 25 info
- **2026-02-13** `ecd31fe01b4e`: 25 breaking, 5 warning
- **2026-02-13** `2055da1ed488`: 5 breaking, 25 info
- **2026-02-07** `e951665c552d`: 4 breaking, 2 warning, 2 info
- **2026-02-06** `9d1655bef82d`: 2 breaking, 2 info
- **2026-02-05** `fbe3619b0b02`: 2 breaking
- **2026-02-05** `42f104b10868`: 37 breaking, 38 warning, 6 info

## Changes

- **2026-10-28** `d996ddfb9d2b`: 5 info
  - added the optional property `details/missingFields` to the response with the `400` status
  - added the optional property `details/permission` to the response with the `403` status
  - added the optional property `details/policyDenialReason` to the response with the `403` status
  - added the optional property `details/refusalReason` to the response with the `400` status
  - added the optional property `details/refusalReason` to the response with the `403` status
- **2026-10-28** `5abf2bb56bcb`: 1 warning
  - added the new `CORRIDOR_UNDER_MAINTENANCE` enum value to the `code` response property for the response status `403`
- **2026-10-26** `f11f1e76bdd7`: 1 warning
  - added the new `PURCHASE_CARD_LIMIT_REACHED` enum value to the `code` response property for the response status `409`
- **2026-10-26** `0a6dad5815c7`: 1 warning
  - added the new `INVOICE_ALREADY_USED` enum value to the `code` response property for the response status `409`
- **2026-10-24** `715332dcb111`: 1 warning
  - added the new `EXACT_AMOUNT_UNAVAILABLE` enum value to the `code` response property for the response status `400`
- **2026-10-20** `761d1d030cb5`: 2 warning
  - added the new `AGENT_CARD_EXISTS` enum value to the `code` response property for the response status `409`
  - added the new `CARDHOLDER_AGREEMENT_NOT_ACCEPTED` enum value to the `code` response property for the response status `400`
- **2026-10-18** `add40cac0f84`: 1 warning
  - added the new `DESTINATION_NOT_ALLOWED` enum value to the `code` response property for the response status `403`
- **2026-10-13** `ddcb4ec73fd0`: 1 warning, 1 info
  - added the new `ACCOUNTHOLDER_AGREEMENT_NOT_ACCEPTED` enum value to the `code` response property for the response status `400`
  - added the non-success response with the status `403`
- **2026-10-09** `36ec020f29da`: 1 warning
  - added the new `PIN_CHANGE_REQUIRED` enum value to the `code` response property for the response status `409`
- **2026-10-06** `f9f8b23a99ba`: 2 info
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/incorporatedOn` became optional
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/taxId` became optional
- **2026-10-05** `6d67fe99049c`: 3 info
  - removed the `INVALID_PAYREQ_RESPONSE` enum value from the `code` response property for the response status `400`
  - removed the `LOOKUP_REQUEST_FAILED` enum value from the `code` response property for the response status `400`
  - removed the `QUOTE_REQUEST_FAILED` enum value from the `code` response property for the response status `400`
- **2026-10-05** `32bcbd4023e4`: 3 warning
  - added the new `AUTH_CREDENTIAL_VERIFICATION_EXPIRED` enum value to the `code` response property for the response status `400`
  - added the new `AUTH_CREDENTIAL_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `400`
  - added the new `OPERATION_IN_PROGRESS` enum value to the `code` response property for the response status `409`
- **2026-10-02** `dfe5a02f2fee`: 20 breaking, 80 warning, 71 info
  - added the new required request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/customerType`
  - added the new required request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/customerType`
  - added `#/components/schemas/CustomerEdd, subschema #1` to the `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/` request property `allOf` list
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo` became required
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/country` became required
  - the `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/` request property type changed from `object` to no type
  - the `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/` response's property type changed from `object` to no type for status `201`
  - removed the required property `message` from the response with the `400` status
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `405` status
  - removed the required property `message` from the response with the `409` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `message` from the response with the `501` status
  - removed the required property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/customerType` from the response with the `201` status
  - removed the required property `status` from the response with the `400` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `405` status
  - removed the required property `status` from the response with the `409` status
  - removed the required property `status` from the response with the `500` status
  - removed the required property `status` from the response with the `501` status
  - the `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/email` request property's maxLength was set to `255`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/doingBusinessAs` request property's maxLength was set to `250`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/legalName` request property's maxLength was set to `250`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/registrationNumber` request property's maxLength was set to `100`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/sourceOfFunds` request property's maxLength was set to `500`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/taxId` request property's maxLength was set to `100`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/email` request property's maxLength was set to `255`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/doingBusinessAs` request property's maxLength was set to `250`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/legalName` request property's maxLength was set to `250`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/registrationNumber` request property's maxLength was set to `100`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/sourceOfFunds` request property's maxLength was set to `500`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/taxId` request property's maxLength was set to `100`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/address`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/birthDate`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/customerType`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/fullName`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/kycStatus`
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/nationality`
  - removed the optional property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/address` from the response with the `201` status
  - removed the optional property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/birthDate` from the response with the `201` status
  - …131 more
- **2026-05-28** `d0bce562bffd`: 2 breaking, 8 warning, 1 info
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/incorporatedOn` became required
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/taxId` became required
  - added the new `CONFLICT` enum value to the `code` response property for the response status `409`
  - added the new `EMAIL_OTP_CREDENTIAL_SET_CHANGED` enum value to the `code` response property for the response status `409`
  - added the new `EMAIL_OTP_EMAIL_ALREADY_EXISTS` enum value to the `code` response property for the response status `409`
  - added the new `REQUEST_ID_MISSING` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_BODY_MISMATCH` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_INVALID` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_MALFORMED` enum value to the `code` response property for the response status `401`
  - added the new `WALLET_SIGNATURE_MISSING` enum value to the `code` response property for the response status `401`
  - added the non-success response with the status `405`
- **2026-04-27** `5b8a8161eeb3`: 12 warning, 63 info
  - removed the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/beneficialOwners`
  - removed the optional property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/Customer]/kycStatus` from the response with the `201` status
  - removed the optional property `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/BusinessCustomerFields]/beneficialOwners` from the response with the `201` status
  - removed the optional property `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/Customer]/kycStatus` from the response with the `201` status
  - added the new `DATA_MISMATCH` enum value to the `code` response property for the response status `400`
  - added the new `EMAIL_OTP_CREDENTIAL_ALREADY_EXISTS` enum value to the `code` response property for the response status `400`
  - added the new `EXPIRED` enum value to the `code` response property for the response status `400`
  - added the new `INCOMPLETE` enum value to the `code` response property for the response status `400`
  - added the new `LOW_QUALITY` enum value to the `code` response property for the response status `400`
  - added the new `PASSKEY_CREDENTIAL_ALREADY_EXISTS` enum value to the `code` response property for the response status `400`
  - added the new `SUSPECTED_FRAUD` enum value to the `code` response property for the response status `400`
  - added the new `UNSUITABLE_DOCUMENT` enum value to the `code` response property for the response status `400`
  - added the new optional request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/currencies`
  - added the new optional request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/email`
  - added the new optional request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/region`
  - added the new optional request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/kycStatus`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/businessType`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/countriesOfOperation`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/country`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/doingBusinessAs`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/entityType`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/expectedMonthlyTransactionCount`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/expectedMonthlyTransactionVolume`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/expectedRecipientJurisdictions`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/incorporatedOn`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/purposeOfAccount`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/businessInfo/sourceOfFunds`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/kybStatus`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/currencies`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/email`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/region`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/businessType`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/countriesOfOperation`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/country`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/doingBusinessAs`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/entityType`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/expectedMonthlyTransactionCount`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/expectedMonthlyTransactionVolume`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/expectedRecipientJurisdictions`
  - added the new optional request property `oneOf[subschema #2: Business Customer Create Request]/allOf[subschema #3]/businessInfo/incorporatedOn`
  - …35 more
- **2026-03-03** `efe0d983985f`: 5 breaking, 25 info
  - the response's body type changed from no type to `object` for status `400`
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `409`
  - the response's body type changed from no type to `object` for status `500`
  - the response's body type changed from no type to `object` for status `501`
  - removed `#/components/schemas/Error400_INVALID_INPUT, #/components/schemas/Error400_MISSING_MANDATORY_USER_INFO, #/components/schemas/Error400_INVITATION_ALREADY_CLAIMED, #/components/schemas/Error400_INVITATIONS_NOT_CONFIGURED, #/components/schemas/Error400_INVALID_UMA_ADDRESS, #/components/schemas/Error400_INVITATION_CANCELLED, #/components/schemas/Error400_QUOTE_REQUEST_FAILED, #/components/schemas/Error400_INVALID_PAYREQ_RESPONSE, #/components/schemas/Error400_INVALID_RECEIVER, #/components/schemas/Error400_PARSE_PAYREQ_RESPONSE_ERROR, #/components/schemas/Error400_CERT_CHAIN_INVALID, #/components/schemas/Error400_CERT_CHAIN_EXPIRED, #/components/schemas/Error400_INVALID_PUBKEY_FORMAT, #/components/schemas/Error400_MISSING_REQUIRED_UMA_PARAMETERS, #/components/schemas/Error400_SENDER_NOT_ACCEPTED, #/components/schemas/Error400_AMOUNT_OUT_OF_RANGE, #/components/schemas/Error400_INVALID_CURRENCY, #/components/schemas/Error400_INVALID_TIMESTAMP, #/components/schemas/Error400_INVALID_NONCE, #/components/schemas/Error400_INVALID_REQUEST_FORMAT, #/components/schemas/Error400_INVALID_BANK_ACCOUNT, #/components/schemas/Error400_SELF_PAYMENT, #/components/schemas/Error400_LOOKUP_REQUEST_FAILED, #/components/schemas/Error400_PARSE_LNURLP_RESPONSE_ERROR, #/components/schemas/Error400_INVALID_AMOUNT, #/components/schemas/Error400_WEBHOOK_ENDPOINT_NOT_SET, #/components/schemas/Error400_WEBHOOK_DELIVERY_ERROR` from the response body `oneOf` list for the response status `400`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error409_TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL, #/components/schemas/Error409_UMA_ADDRESS_EXISTS` from the response body `oneOf` list for the response status `409`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - removed `#/components/schemas/Error501_UNRECOGNIZED_MANDATORY_PAYEE_DATA_KEY, #/components/schemas/Error501_NOT_IMPLEMENTED` from the response body `oneOf` list for the response status `501`
  - added the optional property `details` to the response with the `400` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `409` status
  - added the optional property `details` to the response with the `500` status
  - added the optional property `details` to the response with the `501` status
  - added the required property `code` to the response with the `400` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `409` status
  - added the required property `code` to the response with the `500` status
  - added the required property `code` to the response with the `501` status
  - added the required property `message` to the response with the `400` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `409` status
  - added the required property `message` to the response with the `500` status
  - added the required property `message` to the response with the `501` status
  - added the required property `status` to the response with the `400` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `409` status
  - added the required property `status` to the response with the `500` status
  - added the required property `status` to the response with the `501` status
- **2026-02-25** `c62cf646aaeb`: 25 breaking, 5 warning, 4 info
  - added `#/components/schemas/Error400_INVALID_INPUT, #/components/schemas/Error400_MISSING_MANDATORY_USER_INFO, #/components/schemas/Error400_INVITATION_ALREADY_CLAIMED, #/components/schemas/Error400_INVITATIONS_NOT_CONFIGURED, #/components/schemas/Error400_INVALID_UMA_ADDRESS, #/components/schemas/Error400_INVITATION_CANCELLED, #/components/schemas/Error400_QUOTE_REQUEST_FAILED, #/components/schemas/Error400_INVALID_PAYREQ_RESPONSE, #/components/schemas/Error400_INVALID_RECEIVER, #/components/schemas/Error400_PARSE_PAYREQ_RESPONSE_ERROR, #/components/schemas/Error400_CERT_CHAIN_INVALID, #/components/schemas/Error400_CERT_CHAIN_EXPIRED, #/components/schemas/Error400_INVALID_PUBKEY_FORMAT, #/components/schemas/Error400_MISSING_REQUIRED_UMA_PARAMETERS, #/components/schemas/Error400_SENDER_NOT_ACCEPTED, #/components/schemas/Error400_AMOUNT_OUT_OF_RANGE, #/components/schemas/Error400_INVALID_CURRENCY, #/components/schemas/Error400_INVALID_TIMESTAMP, #/components/schemas/Error400_INVALID_NONCE, #/components/schemas/Error400_INVALID_REQUEST_FORMAT, #/components/schemas/Error400_INVALID_BANK_ACCOUNT, #/components/schemas/Error400_SELF_PAYMENT, #/components/schemas/Error400_LOOKUP_REQUEST_FAILED, #/components/schemas/Error400_PARSE_LNURLP_RESPONSE_ERROR, #/components/schemas/Error400_INVALID_AMOUNT, #/components/schemas/Error400_WEBHOOK_ENDPOINT_NOT_SET, #/components/schemas/Error400_WEBHOOK_DELIVERY_ERROR` to the response body `oneOf` list for the response status `400`
  - added `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` to the response body `oneOf` list for the response status `401`
  - added `#/components/schemas/Error409_TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL, #/components/schemas/Error409_UMA_ADDRESS_EXISTS` to the response body `oneOf` list for the response status `409`
  - added `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` to the response body `oneOf` list for the response status `500`
  - added `#/components/schemas/Error501_UNRECOGNIZED_MANDATORY_PAYEE_DATA_KEY, #/components/schemas/Error501_NOT_IMPLEMENTED` to the response body `oneOf` list for the response status `501`
  - the response's body type changed from `object` to no type for status `400`
  - the response's body type changed from `object` to no type for status `401`
  - the response's body type changed from `object` to no type for status `409`
  - the response's body type changed from `object` to no type for status `500`
  - the response's body type changed from `object` to no type for status `501`
  - removed the required property `code` from the response with the `400` status
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `409` status
  - removed the required property `code` from the response with the `500` status
  - removed the required property `code` from the response with the `501` status
  - removed the required property `message` from the response with the `400` status
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `409` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `message` from the response with the `501` status
  - removed the required property `status` from the response with the `400` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `409` status
  - removed the required property `status` from the response with the `500` status
  - removed the required property `status` from the response with the `501` status
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `401` status
  - removed the optional property `details` from the response with the `409` status
  - removed the optional property `details` from the response with the `500` status
  - removed the optional property `details` from the response with the `501` status
  - removed discriminator from `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/` request property
  - removed discriminator from `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/` request property
  - removed discriminator from `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/Customer]/` response property for the response status `201`
  - removed discriminator from `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/Customer]/` response property for the response status `201`
- **2026-02-19** `55dc3fc30633`: 5 breaking, 25 info
  - the response's body type changed from no type to `object` for status `400`
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `409`
  - the response's body type changed from no type to `object` for status `500`
  - the response's body type changed from no type to `object` for status `501`
  - removed `#/components/schemas/Error400_INVALID_INPUT, #/components/schemas/Error400_MISSING_MANDATORY_USER_INFO, #/components/schemas/Error400_INVITATION_ALREADY_CLAIMED, #/components/schemas/Error400_INVITATIONS_NOT_CONFIGURED, #/components/schemas/Error400_INVALID_UMA_ADDRESS, #/components/schemas/Error400_INVITATION_CANCELLED, #/components/schemas/Error400_QUOTE_REQUEST_FAILED, #/components/schemas/Error400_INVALID_PAYREQ_RESPONSE, #/components/schemas/Error400_INVALID_RECEIVER, #/components/schemas/Error400_PARSE_PAYREQ_RESPONSE_ERROR, #/components/schemas/Error400_CERT_CHAIN_INVALID, #/components/schemas/Error400_CERT_CHAIN_EXPIRED, #/components/schemas/Error400_INVALID_PUBKEY_FORMAT, #/components/schemas/Error400_MISSING_REQUIRED_UMA_PARAMETERS, #/components/schemas/Error400_SENDER_NOT_ACCEPTED, #/components/schemas/Error400_AMOUNT_OUT_OF_RANGE, #/components/schemas/Error400_INVALID_CURRENCY, #/components/schemas/Error400_INVALID_TIMESTAMP, #/components/schemas/Error400_INVALID_NONCE, #/components/schemas/Error400_INVALID_REQUEST_FORMAT, #/components/schemas/Error400_INVALID_BANK_ACCOUNT, #/components/schemas/Error400_SELF_PAYMENT, #/components/schemas/Error400_LOOKUP_REQUEST_FAILED, #/components/schemas/Error400_PARSE_LNURLP_RESPONSE_ERROR, #/components/schemas/Error400_INVALID_AMOUNT, #/components/schemas/Error400_WEBHOOK_ENDPOINT_NOT_SET, #/components/schemas/Error400_WEBHOOK_DELIVERY_ERROR` from the response body `oneOf` list for the response status `400`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error409_TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL, #/components/schemas/Error409_UMA_ADDRESS_EXISTS` from the response body `oneOf` list for the response status `409`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - removed `#/components/schemas/Error501_UNRECOGNIZED_MANDATORY_PAYEE_DATA_KEY, #/components/schemas/Error501_NOT_IMPLEMENTED` from the response body `oneOf` list for the response status `501`
  - added the optional property `details` to the response with the `400` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `409` status
  - added the optional property `details` to the response with the `500` status
  - added the optional property `details` to the response with the `501` status
  - added the required property `code` to the response with the `400` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `409` status
  - added the required property `code` to the response with the `500` status
  - added the required property `code` to the response with the `501` status
  - added the required property `message` to the response with the `400` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `409` status
  - added the required property `message` to the response with the `500` status
  - added the required property `message` to the response with the `501` status
  - added the required property `status` to the response with the `400` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `409` status
  - added the required property `status` to the response with the `500` status
  - added the required property `status` to the response with the `501` status
- **2026-02-13** `ecd31fe01b4e`: 25 breaking, 5 warning
  - added `#/components/schemas/Error400_INVALID_INPUT, #/components/schemas/Error400_MISSING_MANDATORY_USER_INFO, #/components/schemas/Error400_INVITATION_ALREADY_CLAIMED, #/components/schemas/Error400_INVITATIONS_NOT_CONFIGURED, #/components/schemas/Error400_INVALID_UMA_ADDRESS, #/components/schemas/Error400_INVITATION_CANCELLED, #/components/schemas/Error400_QUOTE_REQUEST_FAILED, #/components/schemas/Error400_INVALID_PAYREQ_RESPONSE, #/components/schemas/Error400_INVALID_RECEIVER, #/components/schemas/Error400_PARSE_PAYREQ_RESPONSE_ERROR, #/components/schemas/Error400_CERT_CHAIN_INVALID, #/components/schemas/Error400_CERT_CHAIN_EXPIRED, #/components/schemas/Error400_INVALID_PUBKEY_FORMAT, #/components/schemas/Error400_MISSING_REQUIRED_UMA_PARAMETERS, #/components/schemas/Error400_SENDER_NOT_ACCEPTED, #/components/schemas/Error400_AMOUNT_OUT_OF_RANGE, #/components/schemas/Error400_INVALID_CURRENCY, #/components/schemas/Error400_INVALID_TIMESTAMP, #/components/schemas/Error400_INVALID_NONCE, #/components/schemas/Error400_INVALID_REQUEST_FORMAT, #/components/schemas/Error400_INVALID_BANK_ACCOUNT, #/components/schemas/Error400_SELF_PAYMENT, #/components/schemas/Error400_LOOKUP_REQUEST_FAILED, #/components/schemas/Error400_PARSE_LNURLP_RESPONSE_ERROR, #/components/schemas/Error400_INVALID_AMOUNT, #/components/schemas/Error400_WEBHOOK_ENDPOINT_NOT_SET, #/components/schemas/Error400_WEBHOOK_DELIVERY_ERROR` to the response body `oneOf` list for the response status `400`
  - added `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` to the response body `oneOf` list for the response status `401`
  - added `#/components/schemas/Error409_TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL, #/components/schemas/Error409_UMA_ADDRESS_EXISTS` to the response body `oneOf` list for the response status `409`
  - added `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` to the response body `oneOf` list for the response status `500`
  - added `#/components/schemas/Error501_UNRECOGNIZED_MANDATORY_PAYEE_DATA_KEY, #/components/schemas/Error501_NOT_IMPLEMENTED` to the response body `oneOf` list for the response status `501`
  - the response's body type changed from `object` to no type for status `400`
  - the response's body type changed from `object` to no type for status `401`
  - the response's body type changed from `object` to no type for status `409`
  - the response's body type changed from `object` to no type for status `500`
  - the response's body type changed from `object` to no type for status `501`
  - removed the required property `code` from the response with the `400` status
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `409` status
  - removed the required property `code` from the response with the `500` status
  - removed the required property `code` from the response with the `501` status
  - removed the required property `message` from the response with the `400` status
  - removed the required property `message` from the response with the `401` status
  - removed the required property `message` from the response with the `409` status
  - removed the required property `message` from the response with the `500` status
  - removed the required property `message` from the response with the `501` status
  - removed the required property `status` from the response with the `400` status
  - removed the required property `status` from the response with the `401` status
  - removed the required property `status` from the response with the `409` status
  - removed the required property `status` from the response with the `500` status
  - removed the required property `status` from the response with the `501` status
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `401` status
  - removed the optional property `details` from the response with the `409` status
  - removed the optional property `details` from the response with the `500` status
  - removed the optional property `details` from the response with the `501` status
- **2026-02-13** `2055da1ed488`: 5 breaking, 25 info
  - the response's body type changed from no type to `object` for status `400`
  - the response's body type changed from no type to `object` for status `401`
  - the response's body type changed from no type to `object` for status `409`
  - the response's body type changed from no type to `object` for status `500`
  - the response's body type changed from no type to `object` for status `501`
  - removed `#/components/schemas/Error400_INVALID_INPUT, #/components/schemas/Error400_MISSING_MANDATORY_USER_INFO, #/components/schemas/Error400_INVITATION_ALREADY_CLAIMED, #/components/schemas/Error400_INVITATIONS_NOT_CONFIGURED, #/components/schemas/Error400_INVALID_UMA_ADDRESS, #/components/schemas/Error400_INVITATION_CANCELLED, #/components/schemas/Error400_QUOTE_REQUEST_FAILED, #/components/schemas/Error400_INVALID_PAYREQ_RESPONSE, #/components/schemas/Error400_INVALID_RECEIVER, #/components/schemas/Error400_PARSE_PAYREQ_RESPONSE_ERROR, #/components/schemas/Error400_CERT_CHAIN_INVALID, #/components/schemas/Error400_CERT_CHAIN_EXPIRED, #/components/schemas/Error400_INVALID_PUBKEY_FORMAT, #/components/schemas/Error400_MISSING_REQUIRED_UMA_PARAMETERS, #/components/schemas/Error400_SENDER_NOT_ACCEPTED, #/components/schemas/Error400_AMOUNT_OUT_OF_RANGE, #/components/schemas/Error400_INVALID_CURRENCY, #/components/schemas/Error400_INVALID_TIMESTAMP, #/components/schemas/Error400_INVALID_NONCE, #/components/schemas/Error400_INVALID_REQUEST_FORMAT, #/components/schemas/Error400_INVALID_BANK_ACCOUNT, #/components/schemas/Error400_SELF_PAYMENT, #/components/schemas/Error400_LOOKUP_REQUEST_FAILED, #/components/schemas/Error400_PARSE_LNURLP_RESPONSE_ERROR, #/components/schemas/Error400_INVALID_AMOUNT, #/components/schemas/Error400_WEBHOOK_ENDPOINT_NOT_SET, #/components/schemas/Error400_WEBHOOK_DELIVERY_ERROR` from the response body `oneOf` list for the response status `400`
  - removed `#/components/schemas/Error401_UNAUTHORIZED, #/components/schemas/Error401_INVALID_SIGNATURE` from the response body `oneOf` list for the response status `401`
  - removed `#/components/schemas/Error409_TRANSACTION_NOT_PENDING_PLATFORM_APPROVAL, #/components/schemas/Error409_UMA_ADDRESS_EXISTS` from the response body `oneOf` list for the response status `409`
  - removed `#/components/schemas/Error500_GRID_SWITCH_ERROR, #/components/schemas/Error500_INTERNAL_ERROR` from the response body `oneOf` list for the response status `500`
  - removed `#/components/schemas/Error501_UNRECOGNIZED_MANDATORY_PAYEE_DATA_KEY, #/components/schemas/Error501_NOT_IMPLEMENTED` from the response body `oneOf` list for the response status `501`
  - added the optional property `details` to the response with the `400` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `details` to the response with the `409` status
  - added the optional property `details` to the response with the `500` status
  - added the optional property `details` to the response with the `501` status
  - added the required property `code` to the response with the `400` status
  - added the required property `code` to the response with the `401` status
  - added the required property `code` to the response with the `409` status
  - added the required property `code` to the response with the `500` status
  - added the required property `code` to the response with the `501` status
  - added the required property `message` to the response with the `400` status
  - added the required property `message` to the response with the `401` status
  - added the required property `message` to the response with the `409` status
  - added the required property `message` to the response with the `500` status
  - added the required property `message` to the response with the `501` status
  - added the required property `status` to the response with the `400` status
  - added the required property `status` to the response with the `401` status
  - added the required property `status` to the response with the `409` status
  - added the required property `status` to the response with the `500` status
  - added the required property `status` to the response with the `501` status
- **2026-02-07** `e951665c552d`: 4 breaking, 2 warning, 2 info
  - the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/customerType` became required
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/customerType` became required
  - removed the required property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/Customer]/customerType` from the response with the `201` status
  - removed the required property `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/Customer]/customerType` from the response with the `201` status
  - removed the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/customerType`
  - removed the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/customerType`
  - the response property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/customerType` became required for the status `201`
  - the response property `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/BusinessCustomerFields]/customerType` became required for the status `201`
- **2026-02-06** `9d1655bef82d`: 2 breaking, 2 info
  - the response property `oneOf[subschema #1: Individual Customer]/allOf[#/components/schemas/IndividualCustomerFields]/customerType` became optional for the status `201`
  - the response property `oneOf[subschema #2: Business Customer]/allOf[#/components/schemas/BusinessCustomerFields]/customerType` became optional for the status `201`
  - the request property `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/IndividualCustomerFields]/customerType` became optional
  - the request property `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/BusinessCustomerFields]/customerType` became optional
- **2026-02-05** `fbe3619b0b02`: 2 breaking
  - the `oneOf[subschema #1: Individual Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/umaAddress` request property type changed from `String` to `string`
  - the `oneOf[subschema #2: Business Customer Create Request]/allOf[#/components/schemas/CustomerCreateRequest]/umaAddress` request property type changed from `String` to `string`
- **2026-02-05** `42f104b10868`: 37 breaking, 38 warning, 6 info
  - removed `#/components/schemas/IndividualCustomerUpdate, #/components/schemas/BusinessCustomerUpdate` from the request body `oneOf` list
  - the request's body type changed from `object` to no type
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `400` was removed for the status `400`
  - the `status` response property const value `401` was removed for the status `401`
  - the `status` response property const value `401` was removed for the status `401`
  - the `status` response property const value `409` was removed for the status `409`
  - the `status` response property const value `409` was removed for the status `409`
  - the `status` response property const value `500` was removed for the status `500`
  - the `status` response property const value `500` was removed for the status `500`
  - the `status` response property const value `501` was removed for the status `501`
  - the `status` response property const value `501` was removed for the status `501`
  - removed the request property `customerType`
  - removed the optional property `oneOf[subschema #2: Business Customer]/allOf[subschema #2 -> subschema #3]/address` from the response with the `201` status
  - removed the optional property `oneOf[subschema #2: Business Customer]/allOf[subschema #2 -> subschema #3]/beneficialOwners` from the response with the `201` status
  - …41 more

---

[Operation](https://skmtc.dev/lightsparkdev/apis/grid-api/docs/customers/post.md) - [API](https://skmtc.dev/lightsparkdev/apis/grid-api.md) - [Page](https://skmtc.dev/lightsparkdev/apis/grid-api/changes/customers/post)
