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

# Gem

## Overview

<CardGroup cols={3}>
  <Card title="Pre-built tooling" icon="screwdriver-wrench" href="#pre-built-tooling" />

  <Card title="Pre-built integrations" icon="square-check" href="#pre-built-integrations" />

  <Card title="Access requirements" icon="triangle-exclamation" href="#access-requirements" />

  <Card title="Setup guide" icon="rocket" href="#setup-guide" />

  <Card title="Useful links" icon="circle-info" href="#useful-links" />

  <Card title="API gotchas" icon="biohazard" href="#api-gotchas" />
</CardGroup>

## Pre-built tooling

<AccordionGroup>
  <Accordion title="✅ Authorization">
    | Tools                             | Status |
    | --------------------------------- | ------ |
    | Pre-built authorization (API Key) | ✅      |
    | Pre-built authorization UI        | ✅      |
    | Custom authorization UI           | ✅      |
    | End-user authorization guide      | ✅      |
    | Expired credentials detection     | ✅      |
  </Accordion>

  <Accordion title="✅ Read & write data">
    | Tools                                     | Status                         |
    | ----------------------------------------- | ------------------------------ |
    | Pre-built integrations                    | ✅                              |
    | API unification                           | ✅                              |
    | 2-way sync                                | ✅                              |
    | Webhooks from Nango on data modifications | ✅                              |
    | Real-time webhooks from 3rd-party API     | 🚫 (time to contribute: \<48h) |
    | Proxy requests                            | ✅                              |
  </Accordion>

  <Accordion title="✅ Observability & data quality">
    | Tools                   | Status |
    | ----------------------- | ------ |
    | HTTP request logging    | ✅      |
    | End-to-end type safety  | ✅      |
    | Data runtime validation | ✅      |
    | OpenTelemetry export    | ✅      |
    | Slack alerts on errors  | ✅      |
    | Integration status API  | ✅      |
  </Accordion>

  <Accordion title="✅ Customization">
    | Tools                              | Status                         |
    | ---------------------------------- | ------------------------------ |
    | Create or customize use-cases      | ✅                              |
    | Pre-configured pagination          | 🚫 (time to contribute: \<48h) |
    | Pre-configured rate-limit handling | 🚫 (time to contribute: \<48h) |
    | Per-customer configurations        | ✅                              |
  </Accordion>
</AccordionGroup>

### Applications

| Function name        | Description                                 | Type                                           | Source code                                                                                                            |
| -------------------- | ------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `update-application` | Update an application's source              | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/actions/update-application.ts) |
| `applications`       | Get a list of all applications from Gem ATS | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/applications.ts)         |

### Candidates

| Function name      | Description                                                                                                   | Type                                           | Source code                                                                                                          |
| ------------------ | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `create-candidate` | Create a new candidate in Gem                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/actions/create-candidate.ts) |
| `create-note`      | Create a note for a candidate                                                                                 | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/actions/create-note.ts)      |
| `upload-resume`    | Upload a resume for a candidate. Allowed formats are .pdf, .doc, or .docx. The file size must not exceed 2MB. | [Action](/guides/functions/action-functions)   | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/actions/upload-resume.ts)    |
| `candidates`       | Get all candidates from Gem ATS                                                                               | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/candidates.ts)         |

### Job Posts

| Function name | Description                              | Type                                           | Source code                                                                                                 |
| ------------- | ---------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `job-posts`   | Get a list of all job posts from Gem ATS | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/job-posts.ts) |

### Job Stages

| Function name | Description                               | Type                                           | Source code                                                                                                  |
| ------------- | ----------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `job-stages`  | Get a list of all job stages from Gem ATS | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/job-stages.ts) |

### Jobs

| Function name | Description                         | Type                                           | Source code                                                                                            |
| ------------- | ----------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `jobs`        | Get a list of all jobs from Gem ATS | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/jobs.ts) |

### Locations

| Function name | Description                              | Type                                           | Source code                                                                                                 |
| ------------- | ---------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `locations`   | Get a list of all locations from Gem ATS | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/locations.ts) |

### Users

| Function name | Description                      | Type                                           | Source code                                                                                             |
| ------------- | -------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `users`       | Get a list of all users from Gem | [Sync](/guides/functions/syncs/sync-functions) | [🔗 Github](https://github.com/NangoHQ/integration-templates/blob/main/integrations/gem/syncs/users.ts) |

## Access requirements

| Pre-Requisites    | Status         | Comment                                                                                                    |
| ----------------- | -------------- | ---------------------------------------------------------------------------------------------------------- |
| Paid dev account  | ✅ Not required | To request access, reach out to your Gem point of contact (Customer Success Manager or Account Executive). |
| Paid test account | ✅ Not required | To request access, reach out to your Gem point of contact (Customer Success Manager or Account Executive). |
| Partnership       | ✅ Not required |                                                                                                            |
| App review        | ✅ Not required |                                                                                                            |
| Security audit    | ✅ Not required |                                                                                                            |

## Setup guide

*No setup guide yet.*

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

<Note>Contribute improvements to the setup guide by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gem.mdx)</Note>

## Useful links

* [How to generate an API key within your Account](https://support.gem.com/hc/en-us/articles/5352576189591-Gem-s-API)
* [Gem API docs](https://api.gem.com/v0/reference)
* [Gem API Authentication](https://api.gem.com/v0/reference#section/Authentication)

<Note>Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gem.mdx)</Note>

## API gotchas

* Gem uses API\_KEY auth mode with `x-api-key: API_KEY` and `x-application-secret: Application Secret` in the request header to access different endpoints.
* By default, each API key is subject to a rate limit of 20 requests per second, for more on this check [Rate Limits](https://api.gem.com/v0/reference#section/Rate-Limits) section.
  <Note>Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/gem.mdx)</Note>

## Going further

<Card title="Connect to Gem" icon="link" href="/integrations/all/gem/connect" horizontal>
  Guide to connect to Gem using Connect UI
</Card>
