Ingestion API

Identify customers

Create or update a customer by external id or email.

Endpoint

POST/api/v1/customers

Body

FieldTypeDescription
externalCustomerIdstringYour id for the customer (preferred). Alias: customerId.
emailstringCustomer email. Used when there's no external id.
namestringCustomer name.
companystringCustomer's company.
planstringPlan name, e.g. "pro".
mrrnumberMonthly revenue from this customer (major units).
currencystring3-letter code for mrr, e.g. USD.

How customers are matched

CorvaneOS looks up the customer by externalCustomerId first, then by email. It returns 201 with "created": true for a new customer and 200 for an update.

Example

Response · 201
{ "success": true, "customerId": "d93e…", "created": true }