## Create `client.v1.customers.create(CustomerCreateParamsbody, RequestOptionsoptions?): CustomerCreateResponse` **post** `/v1/customers` Create a new customer ### Parameters - **body:** `CustomerCreateParams` - **name:** `string` This will be truncated to 160 characters if the provided name is longer. - **billing\_config:** `BillingConfig` - **billing\_provider\_customer\_id:** `string` - **billing\_provider\_type:** `"aws_marketplace" | "stripe" | "netsuite" | 5 more` - `"aws_marketplace"` - `"stripe"` - `"netsuite"` - `"custom"` - `"azure_marketplace"` - `"quickbooks_online"` - `"workday"` - `"gcp_marketplace"` - **aws\_is\_subscription\_product:** `boolean` True if the aws_product_code is a SAAS subscription product, false otherwise. - **aws\_product\_code:** `string` - **aws\_region:** `"af-south-1" | "ap-east-1" | "ap-northeast-1" | 22 more` - `"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\_method:** `"charge_automatically" | "send_invoice"` - `"charge_automatically"` - `"send_invoice"` - **custom\_fields:** `Record` - **customer\_billing\_provider\_configurations:** `Array` - **billing\_provider:** `"aws_marketplace" | "azure_marketplace" | "gcp_marketplace" | 2 more` The billing provider set for this configuration. - `"aws_marketplace"` - `"azure_marketplace"` - `"gcp_marketplace"` - `"stripe"` - `"netsuite"` - **configuration:** `Record` 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\_method:** `"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. - `"direct_to_billing_provider"` - `"aws_sqs"` - `"tackle"` - `"aws_sns"` - **delivery\_method\_id:** `string` ID of the delivery method to use for this customer. If not provided, the `delivery_method` must be provided. - **external\_id:** `string` (deprecated, use ingest_aliases instead) an alias that can be used to refer to this customer in usage events - **ingest\_aliases:** `Array` Aliases that can be used to refer to this customer in usage events ### Returns - `CustomerCreateResponse` - **data:** `Customer` ### Example ```node import Metronome from '@metronome/sdk'; const client = new Metronome({ bearerToken: 'My Bearer Token', }); const customer = await 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: ['team@example.com'], }); console.log(customer.data); ```