BigMindBigMindBigMind
Partner APIBETA
Sign inGet an API key
Partner APIBETA
OverviewAuthenticationCustomersPlansAccount & UsageDICOM ReportsWebhooksError codesChangelog

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.

POST/v1/customers

Create a customer with a plan, optional add-ons, and account focus mode. Deducts wholesale cost from your credits.

Request body

NameTypeDescription
emailrequiredstringCustomer email. Must be unique within your partner account.
namestringCustomer full name.
companyNamestringCustomer company / organization name.
phonestringCustomer phone number.
planIdrequiredstringBigMind plan ID you have enabled in your retail pricing.
seatsinteger (1–1000)Number of user seats. Defaults to 1.
addOnsobjectExtra storage / servers / databases (see below).
accountFocusMode"generic" | "medical"View type. Defaults to "generic".
aiLensMedicalbooleanEnable AI Lens Medical add-on. Per-seat.
sendWelcomeEmailbooleanSend branded welcome email to the customer. Defaults to true.
languagestring (max 10)ISO language code for emails and UI (e.g. "en", "es").
trialDaysinteger (0–90)Optional trial period in days.

Add-on units

NameTypeDescription
hotStorageUnitsintegerExtra hot storage. Each unit = 500 GB.
coldStorageUnitsintegerExtra cold storage. Each unit = 1 TB.
deepFreezeUnitsintegerExtra deep-freeze storage. Each unit = 1 TB.
extraServersintegerExtra server seats beyond plan.
mysqlDatabasesintegerMySQL backup databases.
mssqlDatabasesintegerMSSQL backup databases.
extraWorkspacesintegerExtra 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.

GET/v1/customers

List your customers, paginated and filterable.

NameTypeDescription
pageintegerPage number (1-indexed). Defaults to 1.
limitinteger (1–200)Items per page. Defaults to 20.
statusstringFilter by status: "active", "suspended", "deleted".
planIdstringFilter by plan ID.
searchstringPartial match on email, name, or companyName.
curl -H "Authorization: Bearer sk_live_..." \
  "https://app.bigmind.com/api/partner/v1/customers?status=active&limit=50"
GET/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_1715600000000

Returns CUSTOMER_NOT_FOUND (404) if the customer doesn't belong to your partner account.

PATCH/v1/customers/{id}

Change plan, seats, or add-ons. Charges or refunds prorated credit based on remaining days in the current billing period.

NameTypeDescription
namestringUpdate customer display name.
companyNamestring
phonestring
planIdstringSwitch to a different enabled plan. Prorated.
seatsintegerChange seat count. Prorated. Storage quotas scale proportionally.
addOnsobjectReplace the add-on quantities. Prorated.
accountFocusMode"generic" | "medical"Switch view type.
aiLensMedicalEnabledbooleanToggle AI Lens Medical.
languagestringUpdate customer language.
calculateProratingbooleanSet 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.

POST/v1/customers/{id}/suspend

Reversibly 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.

POST/v1/customers/{id}/reactivate

Reverse 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_..."
DELETE/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_..."
POST/v1/customers/{id}/send-welcome

Resend 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_..."
GET/v1/customers/{id}/usage

Storage 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
  }
}
GET/v1/customers/{id}/devices

List 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"
      }
    ]
  }
}