Customers
Provision and manage end customers under your partner account. A single atomic call creates the customer account, organization, plan, add-ons, and (optionally) sends the welcome email.
/v1/customersCreate a customer with a plan, optional add-ons, and account focus mode. Deducts wholesale cost from your credits.
Request body
| Name | Type | Description |
|---|---|---|
emailrequired | string | Customer email. Must be unique within your partner account. |
name | string | Customer full name. |
companyName | string | Customer company / organization name. |
phone | string | Customer phone number. |
planIdrequired | string | BigMind plan ID you have enabled in your retail pricing. |
seats | integer (1–1000) | Number of user seats. Defaults to 1. |
addOns | object | Extra storage / servers / databases (see below). |
accountFocusMode | "generic" | "medical" | View type. Defaults to "generic". |
aiLensMedical | boolean | Enable AI Lens Medical add-on. Per-seat. |
sendWelcomeEmail | boolean | Send branded welcome email to the customer. Defaults to true. |
language | string (max 10) | ISO language code for emails and UI (e.g. "en", "es"). |
trialDays | integer (0–90) | Optional trial period in days. |
Add-on units
| Name | Type | Description |
|---|---|---|
hotStorageUnits | integer | Extra hot storage. Each unit = 500 GB. |
coldStorageUnits | integer | Extra cold storage. Each unit = 1 TB. |
deepFreezeUnits | integer | Extra deep-freeze storage. Each unit = 1 TB. |
extraServers | integer | Extra server seats beyond plan. |
mysqlDatabases | integer | MySQL backup databases. |
mssqlDatabases | integer | MSSQL backup databases. |
extraWorkspaces | integer | Extra workspaces. |
Example
curl -X POST https://app.bigmind.com/api/partner/v1/customers \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "acme@example.com",
"name": "Acme Co",
"planId": "bigmind-standard-yearly",
"seats": 5,
"addOns": { "coldStorageUnits": 2, "extraServers": 3 },
"accountFocusMode": "generic",
"sendWelcomeEmail": true
}'Common error codes: VALIDATION_FAILED, CUSTOMER_EXISTS (409), INVALID_PLAN, PLAN_NOT_ENABLED, INSUFFICIENT_CREDITS (returns required + current + cost breakdown), TRIAL_EXPIRED.
/v1/customersList your customers, paginated and filterable.
| Name | Type | Description |
|---|---|---|
page | integer | Page number (1-indexed). Defaults to 1. |
limit | integer (1–200) | Items per page. Defaults to 20. |
status | string | Filter by status: "active", "suspended", "deleted". |
planId | string | Filter by plan ID. |
search | string | Partial match on email, name, or companyName. |
curl -H "Authorization: Bearer sk_live_..." \
"https://app.bigmind.com/api/partner/v1/customers?status=active&limit=50"/v1/customers/{id}Get a single customer with full billing config, credit history, and recent support tickets.
curl -H "Authorization: Bearer sk_live_..." \
https://app.bigmind.com/api/partner/v1/customers/pc_42_1715600000000Returns CUSTOMER_NOT_FOUND (404) if the customer doesn't belong to your partner account.
/v1/customers/{id}Change plan, seats, or add-ons. Charges or refunds prorated credit based on remaining days in the current billing period.
| Name | Type | Description |
|---|---|---|
name | string | Update customer display name. |
companyName | string | |
phone | string | |
planId | string | Switch to a different enabled plan. Prorated. |
seats | integer | Change seat count. Prorated. Storage quotas scale proportionally. |
addOns | object | Replace the add-on quantities. Prorated. |
accountFocusMode | "generic" | "medical" | Switch view type. |
aiLensMedicalEnabled | boolean | Toggle AI Lens Medical. |
language | string | Update customer language. |
calculateProrating | boolean | Set false to skip prorated credit adjustment (rare). Defaults to true. |
Add-on input fields
Update uses a slightly different add-on shape than create: hotStorage500GBUnits (500 GB blocks) and hotStorageUnits (1 TB blocks) are separate fields.
curl -X PATCH https://app.bigmind.com/api/partner/v1/customers/pc_42_... \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "seats": 10, "addOns": { "coldStorageUnits": 5 } }'Returns INSUFFICIENT_CREDITS (400) if the partner balance is below the prorated charge.
/v1/customers/{id}/suspendReversibly suspend a customer. Disables login + suspends their organization. No data is deleted, no refund issued.
curl -X POST https://app.bigmind.com/api/partner/v1/customers/pc_42_.../suspend \
-H "Authorization: Bearer sk_live_..."Idempotent — re-suspending a suspended customer is a no-op.
/v1/customers/{id}/reactivateReverse a suspension. Cannot reactivate deleted customers.
curl -X POST https://app.bigmind.com/api/partner/v1/customers/pc_42_.../reactivate \
-H "Authorization: Bearer sk_live_..."/v1/customers/{id}Soft-delete the customer. Suspends their organization, revokes access tokens, cancels the subscription, and refunds the prorated unused wholesale cost back to your partner credits.
curl -X DELETE https://app.bigmind.com/api/partner/v1/customers/pc_42_... \
-H "Authorization: Bearer sk_live_..."/v1/customers/{id}/send-welcomeResend the branded welcome email to the customer.
curl -X POST https://app.bigmind.com/api/partner/v1/customers/pc_42_.../send-welcome \
-H "Authorization: Bearer sk_live_..."/v1/customers/{id}/usageStorage used / quotas / device + file counts for a single customer.
{
"success": true,
"data": {
"customerId": "pc_42_...",
"storage": {
"usedGB": 214.5,
"hotQuotaGB": 2500,
"coldQuotaGB": 2000,
"deepFreezeQuotaGB": 0
},
"deviceCount": 8,
"fileCount": 124803
}
}/v1/customers/{id}/devicesList the customer's backup devices (read-only).
{
"success": true,
"data": {
"devices": [
{
"id": "bd_...",
"name": "DESKTOP-ACME-01",
"platform": "windows",
"status": "active",
"lastBackup": "2026-05-12T18:42:11.000Z",
"createdAt": "2026-04-02T10:11:30.000Z"
}
]
}
}