# Going live

You build and test your integration in our test environment first. Going live means a second, separate setup in
production: a production sign-in and a production API key.

## Before you ask

- Your integration works end to end in the test environment (`https://tmstest.reconex.io`): the calls you'll use in
  production succeed, and you handle errors as described in [Errors](/errors).
- You know which TMS accounts your integration will create and look up loads for in production. Account and location
  ids can differ between test and production; confirm the production ones with your Reconex contact.
- Your system can switch base URL and API key by configuration, so the change to production is a setting, not a code
  change.

## How it works

1. **Contact your Reconex contact** and tell them you're ready to go live.
2. **We invite you to production.** The invitation goes to the address you use in test (or another you give us).
3. **Sign in to production for the first time:** confirm your email, choose your password (your production sign-in is
   separate from your test one), and **generate your production API key** on Your Profile.
4. **Switch your integration** to the production base URL, `https://tms.reconex.io`, with your production key.

:::caution{title="Your test key won't work in production"}
Keys belong to one environment. Using your test key against production (or the other way round) gets `403 Forbidden`.
:::

## After you're live

- Keep your test setup. Build and try changes there first, with your test key, before they reach production.
- Your production key is on Your Profile in production. To replace it, see [Authentication](/authentication).
