POST /customers

Creates a new customer and customer ID.

The customer's primary address is used as the default address for payment instruments, subscriptions, and invoices if none are provided.

If the customer already has an identifier within your system, and you want to create customer with a predefined ID — to prevent duplicate customers, use the Upsert a customer with predefined ID operation. For more information, see Prevent duplicate customers.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
defaultPaymentInstrument Object No
createdTime String No

Date and time when the resource is created. This value is set automatically when the resource is created.

isEddRequired Boolean No

Specifies if Enhanced Due Diligence (EDD) is enabled for this customer. For more information, see Enhanced Due Diligence.

Default value: false

paymentCount Integer No

Total number of approved payments made by the customer. Payments are the result of sale or capture transactions.

paymentToken String No

Write-only payment token. If supplied, the token is converted into a payment instrument and set as the defaultPaymentInstrument value. If both are supplied, the value of this property overrides the defaultPaymentInstrument value. The token expires after first use.

websiteId Object No
id String No

ID of the customer.

_links[] Array No

Related links.

_links[].href String No

Link URL.

_links[].rel String No

Type of link.

Valid values:

  • "website"
  • "defaultPaymentInstrument"
  • "attachments"
  • "self"
  • "leadSource"
email String No

Customer's email address.

updatedTime String No

Date and time when the resource is updated. This value is set automatically when the resource is updated.

company Object No

Company information that is associated with the customer's primary email address domain.

This is a paid feature, to enable it contact Rebilly.

company._links[] Array No
company._links[].href String No

Link URL.

company._links[].rel String No

Type of link.

Valid values:

  • "linkedin"
company.yearFounded Number No

Founding year of the company.

company.name String No

Name of the company.

company.employeesCount Number No

Number of employees in the company.

company.locality String No

Locality or region where the company is based.

company.industry String No

Industry the company is associated with.

company.domain String No

Website domain of the company.

company.country String No

Country where the company is based.

locale String No

Language locale identifier in RFC 5646 format.

lifetimeRevenue Object No

Customer's lifetime revenue.

lifetimeRevenue.amount Number No

Revenue amount in the merchant's reporting currency.

lifetimeRevenue.currency String No

Merchant's reporting currency.

lifetimeRevenue.amountUsd Number No

Revenue amount in USD.

invoiceCount Integer No

Total number of invoices issued to the customer. This value is auto-incrementing. If this value is 0, the record relates to a lead. A lead is a customer who has not made a payment yet. If this value is greater than or equal to 1 the record relates to a customer.

organizationId Object No
hasFulfilledKyc Boolean No

Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document.

_embedded Object No

Embedded objects that are requested using the expand query string parameter.

_embedded.defaultPaymentInstrument Object No
_embedded.website Object No
_embedded.leadSource Object No
revision Integer No

Number of times the customer's data has been modified.

Use this value when analyzing webhook data to determine if a change must take precedence over the current representation.

taxNumbers[] Array No

Tax numbers of the customer.

taxNumbers[].isValid Boolean No

Determines if the tax number passed the EU official VIES validation.

taxNumbers[].type String Yes

Type of the tax number.

Valid values:

  • "eu-vat"
  • "other"
taxNumbers[].isDefault Boolean No

Determines if the tax number is selected as default to display on invoices.

taxNumbers[].value String Yes

Value of the tax number.

averageValue Object No

Average customer value.

averageValue.amount Number No

Average amount of approved payments in the merchant's reporting currency.

averageValue.currency String No

Merchant's reporting currency.

averageValue.amountUsd Number No

Average approved payment amount in USD.

primaryAddress Object No

Customer's primary address.

notificationEmails[] Array No

Additional email addresses for notification delivery.

personId String No

ID of the associated person.

customFields Object No

Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see Custom fields.

lastName String No

Customer's last name.

tags[] Array No

List of customer tags.

tags[].id String No

ID of the tag.

tags[]._links[] Array No

Related links.

tags[]._links[].href String No

Link URL.

tags[]._links[].rel String No

Type of link.

Valid values:

  • "self"
tags[].name String Yes

Unique name for the tag. Tag names are not case-sensitive.

tags[].updatedTime String No

Date and time when the resource is updated. This value is set automatically when the resource is updated.

tags[].createdTime String No

Date and time when the resource is created. This value is set automatically when the resource is created.

tags[].type String Yes

Type of tag. Tags of a specific type can only be assigned to corresponding entity types. For example, you can only use customer tags on customers.

Valid values:

  • "kyc-document"
  • "customer"
  • "aml-check"
firstName String No

Customer's first name.

lastPaymentTime String No

Date and time when the customer made their last approved payment. Payments are the result of sale or capture transactions.

preferredPayoutInstrumentId String No

ID of the customer's preferred payment instrument for payouts.

leadSource Object No

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.