> ## Documentation Index
> Fetch the complete documentation index at: https://tapace.lk/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Test and live

> Build in test mode, then switch to live keys.

Every organization has two separate environments, **test** and **live**. Your API key picks one:

| Key prefix | Environment |
| - | - |
| `tapace_test_` | Test |
| `tapace_live_` | Live |

Passes belong to the environment they were issued in. A test key can't read or change live passes, and a live key can't touch test passes. Templates and assets are shared by both environments.

## Test mode

Test passes use TapAce's demo certificate and demo Google issuer by default. You can also select your organization's signers for test passes. You can add test passes to a real phone before you have your own Apple or Google credentials.

Your API key selects the pass environment, but templates, assets and event details are shared. Use a dedicated template for tests that change a design or event. Signing assignments and webhook endpoints are separate for test and live.

The Node.js SDK exposes the key prefix through `tapace.environment`; confirm the authenticated organization and environment with `tapace.me.retrieve()`. See [SDK configuration](https://tapace.lk/docs/sdk/node/configuration.md).

## Going live

Live passes must be signed with your organization's own credentials:

1. Add your Apple certificate and connect your Google Wallet issuer in the dashboard under **Settings → Certificates**.
2. Open each template's **Settings** tab and choose the live certificate and issuer it signs with.
3. Create a live key under **Developers → API keys** and use it in production.

Issuing a live pass from a template with no live certificate or issuer returns a `422` error that says what to choose.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.