Skip to content
  • Auto
  • Light
  • Dark
Talk to an expert

Create

Create a customer
v1.customers.create(CustomerCreateParams**kwargs) -> dataCustomerCustomerCreateResponse
post/v1/customers

Create a new customer

Parameters
namestr

This will be truncated to 160 characters if the provided name is longer.

billing_configbilling_provider_customer_idstrbilling_provider_typeliteralaws_is_subscription_productboolaws_product_codestraws_regionliteralstripe_collection_methodliteralBillingConfig
optional
Hide ParametersShow Parameters
billing_provider_customer_idstr
billing_provider_typeliteral
Literal["aws_marketplace", "stripe", "netsuite", 5 more]
Hide ParametersShow Parameters
"aws_marketplace"
"stripe"
"netsuite"
"custom"
"azure_marketplace"
"quickbooks_online"
"workday"
"gcp_marketplace"
aws_is_subscription_productbool
optional

True if the aws_product_code is a SAAS subscription product, false otherwise.

aws_product_codestr
optional
aws_regionliteral
optional
Literal["af-south-1", "ap-east-1", "ap-northeast-1", 22 more]
Hide ParametersShow Parameters
"af-south-1"
"ap-east-1"
"ap-northeast-1"
"ap-northeast-2"
"ap-northeast-3"
"ap-south-1"
"ap-southeast-1"
"ap-southeast-2"
"ca-central-1"
"cn-north-1"
"cn-northwest-1"
"eu-central-1"
"eu-north-1"
"eu-south-1"
"eu-west-1"
"eu-west-2"
"eu-west-3"
"me-south-1"
"sa-east-1"
"us-east-1"
"us-east-2"
"us-gov-east-1"
"us-gov-west-1"
"us-west-1"
"us-west-2"
stripe_collection_methodliteral
optional
Literal["charge_automatically", "send_invoice"]
Hide ParametersShow Parameters
"charge_automatically"
"send_invoice"
custom_fieldsDict[str, str]
optional
Dict[str, str]
customer_billing_provider_configurationsiterable
optional
billing_providerliteralconfigurationDict[str, object]delivery_methodliteraldelivery_method_idstrIterable[CustomerBillingProviderConfiguration]
Hide ParametersShow Parameters
billing_providerliteral
Literal["aws_marketplace", "azure_marketplace", "gcp_marketplace", 2 more]

The billing provider set for this configuration.

Hide ParametersShow Parameters
"aws_marketplace"
"azure_marketplace"
"gcp_marketplace"
"stripe"
"netsuite"
configurationDict[str, object]
optional
Dict[str, object]

Configuration for the billing provider. The structure of this object is specific to the billing provider and delivery provider combination. Defaults to an empty object, however, for most billing provider + delivery method combinations, it will not be a valid configuration.

delivery_methodliteral
optional
Literal["direct_to_billing_provider", "aws_sqs", "tackle", "aws_sns"]

The method to use for delivering invoices to this customer. If not provided, the delivery_method_id must be provided.

Hide ParametersShow Parameters
"direct_to_billing_provider"
"aws_sqs"
"tackle"
"aws_sns"
delivery_method_idstr
optional

ID of the delivery method to use for this customer. If not provided, the delivery_method must be provided.

formatuuid
external_idstr
optional

(deprecated, use ingest_aliases instead) an alias that can be used to refer to this customer in usage events

minLength1
maxLength128
ingest_aliaseslist
optional
List[str]

Aliases that can be used to refer to this customer in usage events

Returns
CustomerCreateResponseclass
Hide ParametersShow Parameters
dataidstrexternal_idstringest_aliaseslistnamestrcustom_fieldsDict[str, str]Customer
from metronome import Metronome

client = Metronome(
    bearer_token="My Bearer Token",
)
customer = client.v1.customers.create(
    name="Example, Inc.",
    customer_billing_provider_configurations=[{
        "billing_provider": "stripe",
        "delivery_method": "direct_to_billing_provider",
        "configuration": {
            "stripe_customer_id": "cus_123",
            "stripe_collection_method": "charge_automatically",
        },
    }],
    ingest_aliases=["[email protected]"],
)
print(customer.data)
200 Example
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "external_id": "external_id",
    "ingest_aliases": [
      "string"
    ],
    "name": "name",
    "custom_fields": {
      "foo": "string"
    }
  }
}