Skip to main content
Version: v0.25.0 (Latest)

Onboard a tenant

A tenant is an isolated organization on the platform: its own routing host, authorization server, key store, and (when you enable them) issuer and verifier. Onboarding creates that isolation and starts the default services your product needs before anyone configures keys, credential designs, or protocols for that organization.

What actually gets created depends on the capabilities you select and on how your product implements onboarding. This guide covers the Admin Console wizard and the matching Platform Admin REST calls. It is not a commercial packaging recipe.

Audience: platform operator.

Prerequisites: Platform setup finished (license active, setup gate closed). Operator access to the Admin Console and/or a platform operator bearer token. See Open the console and Operator sign-in.

Related: Tenants reference, deployment walkthrough First tenant.

Connect an environment (bottom-right) if you want to Run Platform Admin calls live or open the console against a connected host.

Before you start

Decide these before you open the wizard:

  • Slug: short, stable host label (lowercase letters, digits, hyphens). Many deployments publish the tenant at https://{slug}.{base-domain}. The slug is hard to change later; treat it as permanent.
  • Display name: human-readable organization name for operators and invitations.
  • Technical contact: person who receives operational notices for this tenant.
  • Owner/admin: the account that will sign in to administer the tenant (often the same person as the technical contact).
  • Capabilities: whether this tenant needs a credential issuer, a presentation verifier, automatic keys/DIDs, and sample designs/data for lab or demos. Sample data also provisions the docs-playground OAuth client as a side effect when that feature is enabled on the platform.

List tenants

Navigation: Platform > Tenants (operator landing after sign-in).

Use the list to see which customer organizations already exist, their lifecycle status, and to start registration. An empty list only means no customer tenants yet; the platform management entry remains available.

Platform tenants list

Register a tenant

Register tenant opens a stepped wizard. Each step gathers a different decision; the platform does not create the tenant until you confirm on Review and choose Provision tenant. Registration then starts an asynchronous setup workflow. Keep the returned tenant id and correlation id (for live docs Run, store tenantId as a guide variable).

Tenant URL

The first step defines how the tenant is named and addressed.

  • Name appears in the operator UI and in invitations.
  • Slug is the durable URL segment. Subdomain products resolve the tenant from {slug}.<platform-domain>. Reject UUID-shaped slugs; stick to lowercase labels.
  • Description is optional internal context for other operators.

Pick a slug that will still make sense months later. Renaming host labels after issuance and client configuration is painful.

Register tenant: Tenant URL

People

This step records who is accountable for the tenant:

  • Technical contact: operational and service notifications.
  • Administrative contact: contractual or account matters. Small teams usually keep this the same person as technical.
  • Owner/admin person: the natural person behind the first admin account. Reuse technical or administrative contact, or enter a different person.

Wrong contact data here means invitations and support routing go to the wrong people. Fix it before provision when you can.

Register tenant: People

Login

Controls whether the owner gets a usable admin login after setup.

  • When Owner/admin login is on and email is healthy, the platform sends an activation message after provisioning.
  • When email is unavailable, provisioning can return a one-time manual activation link for explicit handoff (lab and break-glass cases).
  • The default authorization server and key store are always required for a tenant that can sign in and use crypto; the product does not offer turning those off in this wizard.

Turn login off only when another process will create the first admin identity.

Register tenant: Login

Capabilities

These flags choose which protocol and resource defaults the setup workflow creates:

FlagMeaning
Credential issuerOID4VCI issuer instance and public endpoints for this tenant
Presentation verifierOID4VP verifier instance and public endpoints
Keys and DIDsDefault key material and identifiers used by issuer/verifier/AS (only meaningful if a protocol is selected)
Sample dataLab designs, status/testing seeds, and related demo fixtures. Not production content. Also seeds the docs-playground client when sample data is selected

Disable issuer/verifier for pure relying-party or admin-only tenants. Leave sample data off for production onboarding.

Register tenant: Capabilities

Review and provision

Review is the last chance to correct name, slug, contacts, and capabilities before anything is written. Provision tenant posts the registration and moves into progress tracking on the same step.

If registration fails with east-west or service-identity errors (REMOTE_PLATFORM_CONFIG_UNAVAILABLE, missing internal client secret), fix deployment secrets first. See First tenant.

Register tenant: Review

Wait for setup

Setup is asynchronous. Status COMPLETED means the defaults you requested (AS, contacts, owner account, optional issuer/verifier/keys/sample data) finished successfully. Until then, do not assume issuer metadata or public endpoints are ready.

In the console, the review step shows delivery outcome and a step timeline. Wait for the tenant list refresh note, then Done.

Over REST, poll onboarding status with the correlation id from registration.

Register tenant: provisioning complete

Confirm the tenant

Confirm the tenant is visible and usable before you hand work to tenant admins or start KMS/DID work.

  • Lifecycle should progress to ACTIVE (or your product's ready state) once onboarding completes.
  • Open the tenant to enter tenant context. Resource and protocol screens are scoped to that selection.

Open the tenant from the list after Done. Check name, slug, and status, then select the tenant context for Resources and Protocols.

Public endpoints and runtime discovery

Products publish protocol surfaces (authorization server, issuer, verifier, DID resolution) on the tenant public host. Setup creates those bindings when you enabled the matching capabilities. Operators rarely edit them by hand.

REST can list public endpoint bindings and resolve browser-safe runtime-config (base URLs for later KMS, DID, and design calls).

After activation, open the tenant product overview. Protocol instances appear under Protocols when provisioned. Resource products appear under Resources.

After onboarding

  1. Keys and DID: confirm or create cryptographic keys and identifiers
  2. Credential designs: define what you issue
  3. Status lists and revocation: if credentials are revocable
  4. Issue credentials / Verify credentials

If sample data was selected, designs and related seeds may already exist. Review them before production use.

Next