For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DashboardGet an API key
Get StartedGuidesAPI ReferenceSDKsChangelog
Get StartedGuidesAPI ReferenceSDKsChangelog
  • Meta
    • GETGet current identity
    • GETLiveness probe
  • Customers
    • GETList customers
    • POSTCreate a customer
    • GETRetrieve a customer
    • DELDelete a customer
    • PATCHUpdate a customer
  • Contacts
    • GETList a customer's contacts
    • POSTAdd a contact to a customer
    • GETRetrieve a contact
    • DELDelete a contact
    • PATCHUpdate a contact
  • Onboardings
    • GETList onboardings
    • POSTCreate an onboarding
    • GETList a customer's onboardings
    • GETRetrieve an onboarding
    • DELDelete an onboarding
    • PATCHUpdate an onboarding
LogoLogo
DashboardGet an API key
Customers

Create a customer

|View as Markdown|Open in Claude|
POST
https://my.pivotal.app/api/v1/customers
POST
/api/v1/customers
1const url = 'https://my.pivotal.app/api/v1/customers';
2const options = {
3 method: 'POST',
4 headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
5 body: '{"name":"Bright Future Tech"}'
6};
7
8try {
9 const response = await fetch(url, options);
10 const data = await response.json();
11 console.log(data);
12} catch (error) {
13 console.error(error);
14}
1{
2 "object": "customer",
3 "id": "clx9f8b2d7e3a4",
4 "display_id": 128,
5 "name": "Bright Future Tech",
6 "slug": "bright-future-tech",
7 "domain": "brightfuturetech.com",
8 "status": "active",
9 "plan": "enterprise",
10 "mrr": 150000,
11 "monthly_orders": 75,
12 "hubspot_company_id": "HS123456789",
13 "hubspot_deal_id": "HD987654321",
14 "stripe_customer_id": "cus_J5K8L9M0N1O2P3",
15 "intercom_company_id": "IC456789123",
16 "slack_channel_id": "C01ABCD2EFG",
17 "created_at": "2024-04-10T14:22:00Z",
18 "updated_at": "2024-04-10T14:22:00Z"
19}

Adds a customer to the calling org. name is the only required field; slug must be unique within the org and shows up in human-facing URLs.

Was this page helpful?
Previous

List customers

Next

Retrieve a customer

Built with

Authentication

AuthorizationBearer

Send your key in the Authorization header. Keys start with pivotal_ (production) or pivotal_test_ (test mode, no side effects on integrations). Rotate keys from /admin/api-keys — old keys 401 instantly when revoked.

Request

This endpoint expects an object.
namestringRequired1-255 characters
slugstringOptional1-120 characters
domainstringOptional<=255 characters
statusenumOptional
Allowed values:
planstringOptional<=120 characters
mrrintegerOptional>=0
monthly_ordersintegerOptional>=0
hubspot_company_idstringOptional
hubspot_deal_idstringOptional
stripe_customer_idstringOptional
intercom_company_idstringOptional
slack_channel_idstringOptional

Response

Created
objectenum
Allowed values:
idstring
display_idinteger
namestring
slugstring or null
domainstring or null
statusstring
planstring or null
mrrinteger or null
Monthly recurring revenue in cents.
monthly_ordersinteger or null
hubspot_company_idstring or null
hubspot_deal_idstring or null
stripe_customer_idstring or null
intercom_company_idstring or null
slack_channel_idstring or null
created_atdatetime
updated_atdatetime

Errors

400
Bad Request Error
401
Unauthorized Error
409
Conflict Error