nomiDocumentation
SupportBack to site
  • Getting started

    • Introduction
    • What is Nomi?
    • Quick start
    • Concepts
    • Authentication
  • Credentials

    • Create a credential
    • Issue a credential
    • Credential lifecycle
    • Revoke a credential
    • Verify a credential
    • QR verification
  • Distribution

    • Apple Wallet
    • Google Wallet
    • Email
    • Credential delivery
    • Bulk issuance
  • API

    • API overview
    • Authentication
    • Credentials API
    • Recipients
    • Verification
    • Revocation
    • Webhooks
    • Errors
  • Integrations

    • Moodle
    • WordPress
    • REST API
    • Webhooks
  • Security

    • Authentication
    • API keys
    • Webhook security
    • Data protection
    • Best practices
  • Resources

    • FAQ
    • Glossary
    • Changelog
  1. Documentation
  2. /
  3. Credentials
  4. /
  5. Create a credential

Create a credential

Templates, versions and fields — defining what a credential says before anybody holds one.

Before a credential can be issued, something has to say what it contains. For wallet credentials that is a template; for diplomas and certificates it is an achievement. Both work the same way: a definition with versions, where publishing a version freezes what it means for everyone who receives it.

POST/v1/templates

Creates the template and its first draft version.

POST /v1/templates

curl -X POST https://api.nomi-tech.com/v1/templates \
  -H "Authorization: Bearer nomi_sk_live_EXAMPLE" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "membership_platinum",
    "name": "Platinum membership",
    "kind": "membership",
    "definition": {
      "fields": [
        { "key": "tier",   "label": "Tier",   "source": "attributes.tier",        "placement": "primary" },
        { "key": "member", "label": "Member", "source": "displayName",            "placement": "secondary" },
        { "key": "since",  "label": "Since",  "source": "attributes.memberSince", "placement": "auxiliary", "format": "date" }
      ],
      "style": {
        "backgroundColor": "#0A0A0A",
        "foregroundColor": "#FFFFFF",
        "labelColor": "#DFFF00"
      },
      "barcode": { "format": "qr", "source": "serial" },
      "validity": { "duration": "P1Y" }
    }
  }'

Fields come from the subject

Each field names a source — a path on the subject, such as displayName or attributes.tier. That is what makes a credential follow a record instead of freezing a copy of it: correct somebody's tier on the subject and every credential of theirs shows the new one.

PropertyValuesNotes
kindmembership, employee_id, student_id, loyalty, event, benefit, access, genericWhat sort of credential this is. Drives the wallet's own pass style.
placementheader, primary, secondary, auxiliary, backWhere the field sits on the pass.
formattext, date, number, currencyHow the value is rendered, in the holder's locale.
barcode.formatqr, code128, pdf417, aztecWhat the scanner at the door reads.
validity.durationAn ISO-8601 duration, e.g. P1YHow long a credential issued from this version lasts.

Versions

A template is created as a draft. POST /v1/templates/{id}/versions/{versionId}/publish is what makes it issuable, and it is a separate act on purpose: what a published version says is what a credential will show for years, so nothing publishes it by accident. Editing a published version means creating a new one — credentials already issued keep the version they were issued against.

Issue a credential

Hand it to a person.

Credentials API

Every endpoint in the family.

PreviousAuthenticationNextIssue a credential

Still stuck?

If this page did not answer it, the Help Center has the operational side of the same question — and a person reads what you send.

Go to the Help Center →

On this page

  • Fields come from the subject
  • Versions
nomi

Digital credential infrastructure. Create, issue and manage credentials from the systems you already use.

Operated by

Country and currency

Platform

  • How it works
  • Templates
  • Lifecycle
  • Developers
  • Pricing
  • FAQ
  • Nomi Academic

Credentials

  • Memberships
  • Employee IDs
  • Student IDs
  • Events & loyalty

Developers

  • Documentation
  • Quick start
  • API reference
  • Webhooks
  • Integrations

Support

  • Help Center
  • Apple & Google Wallet
  • Verification
  • Contact support

Company

  • Request a demo
  • Talk to Nomi
  • Legal
  • Codingraph
PrivacyTermsCookiesSecurityContact

© 2026 Codingraph S.A. All rights reserved.

Nomi is a registered trademark used by Codingraph S.A. under licence.

Billed in USD

Apple Wallet and Google Wallet are trademarks of their respective owners.