# Getting Your API Credentials

Before you can make API calls or run SDK integrations, you need an Incode API key and a Client ID. How you get them depends on where you are in the process with Incode.

***

## If your organization is not yet a contracted customer

New prospects typically start in the **Demo environment**. This is Incode's shared, multitenant evaluation environment. Demo gives you full access to the Omni API for testing and proof-of-concept work without a production commitment.

{/* When self serve (free trial) is up and running, link to it here. */}

To request Demo environment access, contact your Incode representative or reach out through [the Incode website](https://incode.com). Once your access is set up, you'll receive a credentials bundle (see [What's in the credentials bundle](#whats-in-the-credentials-bundle) below).

### What to expect during evaluation

Demo access typically comes with the following constraints:

- **Time-limited access**: evaluation periods are time-boxed. Your Incode contact can confirm the duration for your engagement
- **Synthetic data only**: use sample or test data during integration work. Avoid real end-user data in the Demo environment
- **Volume and cost controls**: some verification checks in Demo may have usage limits, particularly those that involve third-party data providers
- **Happy-path configuration**: Demo may require specific allowlist settings to test successfully with synthetic IDs. Your Incode contact can assist with this setup

<Callout icon="📘" theme="info">
  ### Note

  Access to a production environment before an MSA is signed is handled on a case-by-case basis and requires explicit approval. If you need production access during your evaluation, discuss this with your Incode contact early in the process.
</Callout>

***

## If your organization is a contracted customer

Once your contract is in place, you'll typically have access to two environments:

| Environment        | Purpose                                                                                                                                              |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Demo (Sandbox)** | Integration development, testing, CI pipelines. Use synthetic data.                                                                                  |
| **Production**     | Live customer verifications. Your production environment may be SaaS multitenant or a dedicated single-tenant deployment depending on your contract. |

Each environment has its own set of credentials. Keep them separate and never use production credentials in development or test code paths.

{/* SME REVIEW: Is there a standard onboarding step where the customer receives both sets of credentials at once, or are they provisioned separately at different stages? */}

***

## What's in the credentials bundle

When your environments are provisioned, Incode shares a credentials bundle as described in this table.

| Item           | Description                                              |
| -------------- | -------------------------------------------------------- |
| `clientId`     | Identifies your organization's account in Incode Omni    |
| `apiKey`       | Authenticates your API requests (keep this secret)       |
| API base URL   | The root endpoint for Omni API calls in this environment |
| Onboarding URL | The entry point for hosted onboarding flows              |
| Dashboard URL  | The URL for your Omni Dashboard instance                 |

Credentials are typically shared via a secure link using 1Password. Do not share API keys over email, Slack, or other unencrypted channels.

***

## Managing your API keys in Dashboard

Once you have Dashboard access, you can [view and manage your API keys](https://developer.incode.com/docs/configuration-api-keys-tab) under **Configuration > API Keys**.

***

## Next steps

With your credentials in hand:

- See [API Authentication Overview](/docs/reference/authentication) for how to use your credentials in API requests — required headers, token types, and session management
- See [Quick Start](/docs/get-started/quickstart) to run your first verification end to end

<br />
