Skip to main content
Customers represent billable accounts or workspaces. Entities represent children such as users, agents, projects, or environments.

Upsert a customer

customers.upsert() sends the merchant’s secret key directly to Nozle Core. Core derives the owning organization from that key; the SDK never provisions a customer through a global or master organization.
external_id is required. name, email and billing_configuration are optional. Pass billing_configuration with the Stripe customer ID to link it in the same call (requires nozle-sdk 0.12.0). Nozle stores the link and does not create a new Stripe customer. Sending the same upsert again is safe.
payment_provider is required inside billing_configuration. payment_provider_code, provider_customer_id, sync_with_provider and provider_payment_methods are optional. Nozle keeps the assignment with or without sync_with_provider, and checkout charges only through the assigned connection. See Assign the connection to customers.

Read Entities

Entity status accepts active, suspended, or deleted. List limits must be integers from 1 to 100.

Upsert an Entity

Entity IDs and idempotency keys are limited to 255 UTF-8 bytes. Retry an uncertain mutation with the same key and payload.

Suspend and activate

These helpers first fetch the Entity and preserve its current name and metadata.

Bulk upsert

Each bulk call accepts 1–500 unique Entity IDs.

Seat billing is explicit

Entity lifecycle methods do not emit Feature seat events. Track seat additions and removals separately when your catalog bills seats.
Use the same Entity ID with nozle.credits and nozle.usage for per-Entity balances and attribution.