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

# Changes to Create a customer

`POST /customers`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 11 of 14 revisions.

- **2026-11-03** `5d26657495a3`: 3 breaking, 15 warning, 33 info
- **2026-10-16** `fce1879654d8`: 6 breaking, 9 warning, 23 info
- **2026-07-26** `6e969ef3bb45`: 1 warning
- **2026-05-20** `24e860ade740`: 1 info
- **2026-01-16** `7bf10db291f4`: 2 breaking, 6 warning, 14 info
- **2025-06-09** `083d895c3f8e`: 1 info
- **2025-05-15** `daeeac722d10`: 1 breaking
- **2025-04-25** `86ccaf2d7c61`: 27 breaking, 9 info
- **2025-01-21** `36901519eb83`: 4 info
- **2024-12-22** `e1b7ed77904e`: 1 breaking, 3 warning
- **2024-12-09** `d7f5a2be797e`: 15 breaking, 26 warning, 781 info

## Changes

- **2026-11-03** `5d26657495a3`: 3 breaking, 15 warning, 33 info
  - added `#/components/schemas/Address, subschema #2` to the `customer/shipping_address` request property `allOf` list
  - the `customer/shipping_address` request property type changed from `object` to no type
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/external_customer_id` became nullable for the status `200`
  - the `customer/address_line1` request property's maxLength was set to `500`
  - the `customer/address_line2` request property's maxLength was set to `500`
  - the `customer/city` request property's maxLength was set to `255`
  - the `customer/firstname` request property's maxLength was set to `255`
  - the `customer/lastname` request property's maxLength was set to `255`
  - the `customer/legal_name` request property's maxLength was set to `255`
  - the `customer/state` request property's maxLength was set to `255`
  - the `customer/tax_identification_number` request property's maxLength was set to `255`
  - the `customer/zipcode` request property's maxLength was set to `255`
  - removed the request property `customer/shipping_address/address_line1`
  - removed the request property `customer/shipping_address/address_line2`
  - removed the request property `customer/shipping_address/city`
  - removed the request property `customer/shipping_address/country`
  - removed the request property `customer/shipping_address/state`
  - removed the request property `customer/shipping_address/zipcode`
  - added the non-success response with the status `404`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/account_type` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/address_line1` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/address_line2` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_entity_code` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/city` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/country` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/currency` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/customer_type` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/email` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/external_salesforce_id` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/finalize_zero_amount_invoice` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/firstname` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/lastname` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/legal_name` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/legal_number` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/logo_url` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/metadata` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/name` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/net_payment_term` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/phone` became required for the status `200`
  - …11 more
- **2026-10-16** `fce1879654d8`: 6 breaking, 9 warning, 23 info
  - the request property `customer/account_type` became not nullable
  - removed the enum value `undefined` of the request property `customer/account_type`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/document_locale` became nullable for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/invoice_grace_period` became nullable for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider` became nullable for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider_code` became nullable for the status `200`
  - the `customer/metadata/items/key` request property's maxLength was set to `20`
  - the `customer/metadata/items/value` request property's maxLength was set to `100`
  - added the new `SYP` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/currency` response property for the response status `200`
  - added the new `TND` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/currency` response property for the response status `200`
  - added the new `avalara` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/type` response property for the response status `200`
  - added the new `cashfree` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider` response property for the response status `200`
  - added the new `flutterwave` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider` response property for the response status `200`
  - added the new `moneyhash` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider` response property for the response status `200`
  - added the new `undefined` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/payment_provider` response property for the response status `200`
  - added the new optional request property `customer/external_salesforce_id`
  - added the new optional request property `customer/integration_customers/items/code`
  - added the new optional request property `customer/integration_customers/items/targeted_object`
  - the request property `customer/billing_configuration/document_locale` became nullable
  - the request property `customer/billing_configuration/invoice_grace_period` became nullable
  - the request property `customer/billing_configuration/payment_provider` became nullable
  - the request property `customer/billing_configuration/payment_provider_code` became nullable
  - the request property `customer/metadata/items/display_in_invoice` became optional
  - added the new `SYP` enum value to the request property `customer/currency`
  - added the new `TND` enum value to the request property `customer/currency`
  - added the new `avalara` enum value to the request property `customer/integration_customers/items/integration_type`
  - added the new `cashfree` enum value to the request property `customer/billing_configuration/payment_provider`
  - added the new `flutterwave` enum value to the request property `customer/billing_configuration/payment_provider`
  - added the new `hubspot` enum value to the request property `customer/integration_customers/items/integration_type`
  - added the new `moneyhash` enum value to the request property `customer/billing_configuration/payment_provider`
  - added the new `salesforce` enum value to the request property `customer/integration_customers/items/integration_type`
  - added the new `undefined` enum value to the request property `customer/billing_configuration/payment_provider`
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/external_salesforce_id` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/category` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/code` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/is_default` to the response with the `200` status
  - added the optional property `customer/allOf[subschema #2]/taxes/items/applied_to_billing_entities_codes` to the response with the `200` status
  - the response property `customer/allOf[subschema #2]/taxes/items/description` became required for the status `200`
- **2026-07-26** `6e969ef3bb45`: 1 warning
  - the `customer/name` request property's maxLength was set to `255`
- **2026-05-20** `24e860ade740`: 1 info
  - added the optional property `customer/allOf[subschema #2]/error_details` to the response with the `200` status
- **2026-01-16** `7bf10db291f4`: 2 breaking, 6 warning, 14 info
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/sync_with_provider` became nullable for the status `200`
  - the response property `customer/allOf[subschema #2]/taxes/items/description` became nullable for the status `200`
  - added the new `America/Nuuk` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
  - added the new `Asia/Yangon` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
  - added the new `Europe/Kyiv` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
  - added the new `hubspot` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/type` response property for the response status `200`
  - added the new `salesforce` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/type` response property for the response status `200`
  - added the new `xero` enum value to the `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/type` response property for the response status `200`
  - added the new optional request property `customer/billing_configuration/subscription_invoice_issuing_date_adjustment`
  - added the new optional request property `customer/billing_configuration/subscription_invoice_issuing_date_anchor`
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/subscription_invoice_issuing_date_adjustment` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/billing_configuration/subscription_invoice_issuing_date_anchor` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/email` to the response with the `200` status
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/targeted_object` to the response with the `200` status
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/external_customer_id` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/integration_code` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/lago_id` became required for the status `200`
  - the response property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #2]/integration_customers/items/type` became required for the status `200`
  - response property `customer/allOf[subschema #2]/applicable_invoice_custom_sections/items/applied_to_organization` deprecated
  - removed the `America/Godthab` enum value from the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
  - removed the `Asia/Rangoon` enum value from the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
  - removed the `Europe/Kiev` enum value from the `customer/allOf[#/components/schemas/CustomerObject]/allOf[#/components/schemas/CustomerBaseObject]/applicable_timezone` response property for the response status `200`
- **2025-06-09** `083d895c3f8e`: 1 info
  - response property `customer/allOf[subschema #2]/taxes/items/applied_to_organization` deprecated
- **2025-05-15** `daeeac722d10`: 1 breaking
  - the request property `customer/billing_entity_code` became not nullable
- **2025-04-25** `86ccaf2d7c61`: 27 breaking, 9 info
  - the request property `customer/address_line1` became not nullable
  - the request property `customer/address_line2` became not nullable
  - the request property `customer/billing_configuration/provider_payment_methods` became not nullable
  - the request property `customer/city` became not nullable
  - the request property `customer/country` became not nullable
  - the request property `customer/currency` became not nullable
  - the request property `customer/customer_type` became not nullable
  - the request property `customer/email` became not nullable
  - the request property `customer/firstname` became not nullable
  - the request property `customer/lastname` became not nullable
  - the request property `customer/legal_name` became not nullable
  - the request property `customer/legal_number` became not nullable
  - the request property `customer/logo_url` became not nullable
  - the request property `customer/name` became not nullable
  - the request property `customer/net_payment_term` became not nullable
  - the request property `customer/phone` became not nullable
  - the request property `customer/shipping_address/address_line1` became not nullable
  - the request property `customer/shipping_address/address_line2` became not nullable
  - the request property `customer/shipping_address/city` became not nullable
  - the request property `customer/shipping_address/country` became not nullable
  - the request property `customer/shipping_address/state` became not nullable
  - the request property `customer/shipping_address/zipcode` became not nullable
  - the request property `customer/state` became not nullable
  - the request property `customer/tax_identification_number` became not nullable
  - the request property `customer/timezone` became not nullable
  - the request property `customer/url` became not nullable
  - the request property `customer/zipcode` became not nullable
  - added the new optional request property `customer/account_type`
  - added the new optional request property `customer/billing_entity_code`
  - added the new `undefined` enum value to the request property `customer/country`
  - added the new `undefined` enum value to the request property `customer/currency`
  - added the new `undefined` enum value to the request property `customer/customer_type`
  - added the new `undefined` enum value to the request property `customer/shipping_address/country`
  - added the new `undefined` enum value to the request property `customer/timezone`
  - added `#/components/schemas/CustomerBaseObject` to the `customer/allOf[#/components/schemas/CustomerObject]/` response property `allOf` list for the response status `200`
  - removed `subschema #1` from the `customer/allOf[#/components/schemas/CustomerObject]/` response property `allOf` list for the response status `200`
- **2025-01-21** `36901519eb83`: 4 info
  - added the new optional request property `customer/invoice_custom_section_codes`
  - added the new optional request property `customer/skip_invoice_custom_sections`
  - added the optional property `customer/allOf[#/components/schemas/CustomerObject]/allOf[subschema #1]/skip_invoice_custom_sections` to the response with the `200` status
  - added the optional property `customer/allOf[subschema #2]/applicable_invoice_custom_sections` to the response with the `200` status
- **2024-12-22** `e1b7ed77904e`: 1 breaking, 3 warning
  - removed the required property `customer/allOf[subschema #2]/taxes/items/customers_count` from the response with the `200` status
  - removed the optional property `customer/allOf[subschema #2]/taxes/items/add_ons_count` from the response with the `200` status
  - removed the optional property `customer/allOf[subschema #2]/taxes/items/charges_count` from the response with the `200` status
  - removed the optional property `customer/allOf[subschema #2]/taxes/items/plans_count` from the response with the `200` status
- **2024-12-09** `d7f5a2be797e`: 15 breaking, 26 warning, 781 info
  - request property `customer/country` was restricted to a list of enum values
  - request property `customer/currency` was restricted to a list of enum values
  - request property `customer/shipping_address/country` was restricted to a list of enum values
  - request property `customer/timezone` was restricted to a list of enum values
  - the `customer/country` request property type changed from no type to `string`
  - the `customer/currency` request property type changed from no type to `string`
  - the `customer/shipping_address/country` request property type changed from no type to `string`
  - the `customer/timezone` request property type changed from no type to `string`
  - the `customer/allOf[#/components/schemas/CustomerObject]/` response's property type changed from `object` to no type for status `200`
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/applicable_timezone` from the response with the `200` status
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/created_at` from the response with the `200` status
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/external_id` from the response with the `200` status
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/lago_id` from the response with the `200` status
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/sequential_id` from the response with the `200` status
  - removed the required property `customer/allOf[#/components/schemas/CustomerObject]/slug` from the response with the `200` status
  - removed `#/components/schemas/Country, subschema #2` from the `customer/country` request property `allOf` list
  - removed `#/components/schemas/Country, subschema #2` from the `customer/shipping_address/country` request property `allOf` list
  - removed `#/components/schemas/Currency, subschema #2` from the `customer/currency` request property `allOf` list
  - removed `#/components/schemas/Timezone, subschema #2` from the `customer/timezone` request property `allOf` list
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/address_line1` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/address_line2` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/billing_configuration` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/city` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/country` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/currency` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/email` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/integration_customers` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/legal_name` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/legal_number` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/logo_url` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/metadata` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/name` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/net_payment_term` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/phone` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/shipping_address` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/state` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/tax_identification_number` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/timezone` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/updated_at` from the response with the `200` status
  - removed the optional property `customer/allOf[#/components/schemas/CustomerObject]/url` from the response with the `200` status
  - …782 more

---

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