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

# Junction API

> Overview of the Junction API including production and sandbox environments, regional endpoints, authentication methods, and core API capabilities.

You use Junction API to:

* manage users and demographics information in your Team with the [Core API](/api-reference/user/create-user);
* manage user connections, pull ingested device data, inspect connection backfill statuses through the [Devices API](/wearables/connecting-providers/introduction);
* order lab tests, manage appointments and pull the results through the [Lab Testing API](/lab/overview/introduction); and
* aggregate ingested device data with the [Junction Sense API](/sense/overview).

<Info>
  For managing Team configuration and Org resources programmatically, see [Junction Management API](/api-details/junction-management-api).
</Info>

## Environments

Junction provides two Sandbox environments and two Production environments today:

| Environment        | Base URL                               | Team API Key Prefix |
| ------------------ | -------------------------------------- | ------------------- |
| 🇺🇸 Production US | `https://api.us.junction.com/`         | `pk_us_*`           |
| 🇪🇺 Production EU | `https://api.eu.junction.com/`         | `pk_eu_*`           |
| 🇺🇸 Sandbox US    | `https://api.sandbox.us.junction.com/` | `sk_us_*`           |
| 🇪🇺 Sandbox EU    | `https://api.sandbox.eu.junction.com/` | `sk_eu_*`           |

<Note>
  If you are using a `*.tryvital.io` Base URL, they are still supported alongside `*.junction.com`.
</Note>

Sandbox environments are functionally identical to Production environments, except that:

1. Each Team can have only up to 50 Users in Sandbox;
2. You can create [Synthetic Device connections](/wearables/providers/test_data); and
3. You can [simulate and transition an order through its lifecycle](/lab/overview/sandbox).

## Authentication

Junction API accepts a **Team API Key**. You can provision a Team API Key through:

1. the Team Config page in the [Junction Dashboard](https://app.junction.com); or
2. the [Create Team API Key](/api-reference/org-management/team-api-keys/create-team-api-key) endpoint of the
   [Junction Management API](/api-details/junction-management-api).

Your API requests should present the Team API Key under the `X-Vital-API-Key` header. For example:

```bash cURL theme={null}
curl --request GET \
  --url 'https://api.tryvital.io/v2/providers' \
  --header 'X-Vital-API-Key: <YOUR-TEAM-API-KEY>'
```

<Note>
  A [Management Key](/api-details/junction-management-api) used by Junction Management API does not function as a Team API Key.
  However, you can manage Team API Keys through a Management Key.
</Note>

## Junction Mobile SDKs

[Junction Mobile SDKs](/wearables/sdks/) support two authentication methods:

| Scheme                                                                 | Authorization         | Recommended use case   |
| ---------------------------------------------------------------------- | --------------------- | ---------------------- |
| [Sign-In Token](/wearables/sdks/authentication#junction-sign-in-token) | User-scoped access    | Production mobile apps |
| [Team API Keys](/wearables/sdks/authentication#junction-team-api-keys) | Full Team data access | Proof-of-concept       |

Refer to the [Mobile SDK Authentication](/wearables/sdks/authentication) documentation for more information.
