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. Security
  4. /
  5. API keys

API keys

What a key can do, where it should live, and how to rotate one without an outage.

An API key is a bearer token: whoever holds it is the organisation, for everything that key is allowed to do. That single sentence decides everything else on this page.

Where a key lives

  • On a server you control, read from your own configuration or secret store.
  • Never in a browser, a mobile app, a desktop app or anything else a user can open.
  • Never in a repository, a build log, a screenshot or a support ticket.
  • One key per integration, so a rotation affects one system and a leak has a known blast radius.
A key is shown once, when it is created, and stored only as a hash. There is no endpoint that returns it again — a lost key is replaced, not recovered.

Rotating one

  1. 1

    Create the new key

    In the console, under Settings. Two keys can be live at once, which is what makes this safe.

  2. 2

    Deploy it

    Update your configuration and let the new key take traffic.

  3. 3

    Delete the old one

    DELETE it in the console once nothing is using it. From that moment it answers 401.

If a key has leaked, do it in the opposite order: delete first and accept the short outage. An hour of failed requests costs less than an unknown party holding your organisation.

Or use tokens instead

For a long-running integration, POST /oauth/token with the client_credentials grant exchanges a client id and secret for a short-lived access token. The static secret stays in your configuration and never travels on a request, and a token that leaks expires on its own.

Webhook security

The inbound direction.

Best practices

The rest of it.

PreviousREST APINextWebhook security

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

  • Where a key lives
  • Rotating one
  • Or use tokens instead
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.