Ingestion API
Identify customers
Create or update a customer by external id or email.
Endpoint
POST/api/v1/customers
Body
| Field | Type | Description |
|---|---|---|
externalCustomerId | string | Your id for the customer (preferred). Alias: customerId. |
email | string | Customer email. Used when there's no external id. |
name | string | Customer name. |
company | string | Customer's company. |
plan | string | Plan name, e.g. "pro". |
mrr | number | Monthly revenue from this customer (major units). |
currency | string | 3-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 }