Skip to main content
PUT
Update customer by external ID

Authorizations

Authorization
string
header
required

API Keys can be issued in the Orb's web application.

Path Parameters

external_customer_id
string
required

Body

application/json
metadata
Metadata · object | null

User-specified key/value pairs for the resource. Individual keys can be removed by setting the value to null, and the entire metadata mapping can be cleared by setting metadata to null.

name
string | null

The full name of the customer

email
string<email> | null

A valid customer email, to be used for invoicing and notifications.

payment_provider_id
string | null

The ID of this customer in an external payments solution, such as Stripe. This is used for creating charges or invoices in the external system via Orb.

payment_provider
enum<string> | null

This is used for creating charges or invoices in an external system via Orb. When not in test mode:

  • the connection must first be configured in the Orb webapp.
  • if the provider is an invoicing provider (stripe_invoice, quickbooks, bill.com, netsuite), any product mappings must first be configured with the Orb team.
Available options:
quickbooks,
bill.com,
stripe_charge,
stripe_invoice,
netsuite,
adyen
shipping_address
AddressInput · object | null
billing_address
AddressInput · object | null
currency
string | null

An ISO 4217 currency string used for the customer's invoices and balance. This can only be set if the customer does not already have a currency configured. If not set at creation or update time, it will be set at subscription creation time.

tax_id
CustomerTaxId · object | null

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

Supported Tax ID Countries and Types

auto_collection
boolean | null

Used to determine if invoices for this customer will automatically attempt to charge a saved payment method, if available. This parameter defaults to True when a payment provider is provided on customer creation.

auto_issuance
boolean | null

Used to determine if invoices for this customer will be automatically issued. If true, invoices will be automatically issued. If false, invoices will require manual approval.If null is specified, the customer's auto issuance setting will be inherited from the account-level setting.

additional_emails
string[] | null

Additional email addresses for this customer. If populated, these email addresses will be CC'd for customer communications. The total number of email addresses (including the primary email) cannot exceed 50.

email_delivery
boolean | null
tax_configuration
NewAvalaraTaxConfiguration · object
reporting_configuration
NewReportingConfiguration · object | null
accounting_sync_configuration
NewAccountingSyncConfiguration · object | null
external_customer_id
string | null

The external customer ID. This can only be set if the customer has no existing external customer ID. Since this action may change usage quantities for all existing subscriptions, it is disallowed if the customer has issued invoices with usage line items and subject to the same restrictions as backdated subscription creation.

hierarchy
CustomerHierarchyConfig · object | null

The hierarchical relationships for this customer.

payment_configuration
PaymentConfiguration · object | null

Payment configuration for the customer, applicable when using Orb Invoicing with a supported payment provider such as Stripe.

default_payment_method_id
string | null

The Orb ID of the payment method to set as this customer's default. Pass null to clear the customer's default payment method.

Response

OK

A customer is a buyer of your products, and the other party to the billing relationship.

In Orb, customers are assigned system generated identifiers automatically, but it's often desirable to have these match existing identifiers in your system. To avoid having to denormalize Orb ID information, you can pass in an external_customer_id with your own identifier. See Customer ID Aliases for further information about how these aliases work in Orb.

In addition to having an identifier in your system, a customer may exist in a payment provider solution like Stripe. Use the payment_provider_id and the payment_provider enum field to express this mapping.

A customer also has a timezone (from the standard IANA timezone database), which defaults to your account's timezone. See Timezone localization for information on what this timezone parameter influences within Orb.

metadata
Metadata · object
required

User specified key-value pairs for the resource. If not present, this defaults to an empty dictionary. Individual keys can be removed by setting the value to null, and the entire metadata mapping can be cleared by setting metadata to null.

id
string
required
external_customer_id
string | null
required

An optional user-defined ID for this customer resource, used throughout the system as an alias for this Customer. Use this field to identify a customer by an existing identifier in your system.

name
string
required

The full name of the customer

email
string
required

A valid customer email, to be used for notifications. When Orb triggers payment through a payment gateway, this email will be used for any automatically issued receipts.

timezone
string
required

A timezone identifier from the IANA timezone database, such as "America/Los_Angeles". This "defaults to your account's timezone if not set. This cannot be changed after customer creation.

payment_provider_id
string | null
required

The ID of this customer in an external payments solution, such as Stripe. This is used for creating charges or invoices in the external system via Orb.

payment_provider
enum<string> | null
required

This is used for creating charges or invoices in an external system via Orb. When not in test mode, the connection must first be configured in the Orb webapp.

Available options:
quickbooks,
bill.com,
stripe_charge,
stripe_invoice,
netsuite,
adyen
created_at
string<date-time>
required
shipping_address
Address · object | null
required
billing_address
Address · object | null
required
balance
string
required

The customer's current balance in their currency.

currency
string | null
required
tax_id
CustomerTaxId · object | null
required

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

Supported Tax ID Countries and Types

auto_collection
boolean
required
exempt_from_automated_tax
boolean | null
required
email_delivery
boolean
required
auto_issuance
boolean | null
required

Whether invoices for this customer should be automatically issued. If true, invoices will be automatically issued. If false, invoices will require manual approval. If null, inherits the account-level setting.

additional_emails
string[]
required
portal_url
string | null
required

Deprecated. Returns the URL of the most recent non-expired portal link, or null. When the account has opted into customer portal sessions, this field always returns null. Use POST /v1/customers/{id}/portal_sessions to mint short-lived portal session URLs.

hierarchy
CustomerHierarchy · object
required

The hierarchical relationships for this customer.

accounting_sync_configuration
AccountingSyncConfiguration · object | null
reporting_configuration
ReportingConfiguration · object | null
payment_configuration
PaymentConfiguration · object | null

Payment configuration for the customer, applicable when using Orb Invoicing with a supported payment provider such as Stripe.

default_payment_method
PaymentMethod · object | null

The customer's default payment method, or null if none is set.

automatic_tax_enabled
boolean | null

Whether automatic tax calculation is enabled for this customer. This field is nullable for backwards compatibility but will always return a boolean value.