UpsertCustomer sends the merchant secret key to Core, which derives the owning organization from that key.
Upsert a customer and Entity
Link a customer that already exists in Stripe
SetBillingConfiguration with the Stripe customer ID to link it in the same call (requires v0.11.0). Nozle stores the link and does not create a new Stripe customer. Sending the same upsert again is safe.
PaymentProvider is required when BillingConfiguration is set. Nozle keeps the assignment with or without SyncWithProvider, and checkout charges only through the assigned connection. A returned Customer without a provider has a nil BillingConfiguration, so it can be passed back to UpsertCustomer unchanged. See Assign the connection to customers.
Use GetEntity, ListEntities, ActivateEntity, SuspendEntity, and BulkUpsertEntities for the Entity lifecycle. List pages accept PageOptions with status, limit (1–100), and cursor. Bulk upsert accepts 1–500 distinct IDs. Mutations use caller-supplied idempotency keys of at most 255 UTF-8 bytes. Entity lifecycle changes do not emit seat billing events automatically.
Read and update Entities
active, suspended, or deleted. Status helpers read the Entity first and preserve its name and metadata. Retry an uncertain mutation with the same key and payload.