Published definitions are immutable. Create a new version when wallet-visible fields need to change.
Credential-definition lifecycle methods (
createDraft, update, publish, archive, and lifecycle list filters) ship in @authbound/server 0.3.0 and later. Use create() when you want a published definition immediately, or the draft workflow when staging is intentional.Dashboard builder
The dashboard builder starts from a template or custom definition, then walks through Details, Fields, Appearance, and Review. Check the wallet and API previews, save a draft while editing, and publish when ready. Issuance navigation requires enablement for your organization. A new organization may not have it enabled. Ask your Authbound contact if the Credentials section is absent.Create and publish immediately
POST /v1/issuer/credential-definitions
create sends explicit published intent. A published definition must include claims and pass publish-readiness validation.
"lifecycleStatus": "published". If the field is omitted, the backend creates a draft.
Work in a draft
Use a draft when the definition is not ready for issuance.credential_definition_not_publishable with bounded details.issues entries. Reusing a publish idempotency key for a different definition returns HTTP 409.
List definitions
GET /v1/issuer/credential-definitions
?lifecycle_status=draft, published, or archived. Omitting the filter returns the active view, which can include owned drafts. Global definitions are visible only while active and published; archived results are project-owned.
Retrieve and update a draft
published_credential_definition_immutable or archived_credential_definition_immutable. IDs from another project or environment return the same 404 response as an absent ID.
Archive a definition
POST /v1/issuer/credential-definitions/{credentialDefinitionId}/archive
Wallet-visible fields and management metadata
Wallet-visible fields includetitle, aliases, rendering, and claim display names. Definition metadata is authenticated management metadata; wallets do not discover it, and it is not embedded in issued credentials. Keep all these fields free of secrets and unnecessary personal data. Put user-specific data in issuance claims.
Definition metadata accepts JSON values with runtime limits: eight levels, 1,024 total nodes, 128 entries per object or array, and 2,048 characters per string. Prototype-related keys are rejected. Authbound’s structural issuer metadata is never returned through the public metadata field.