# Integrations

Create API-access integration accounts.

Updated this week

## Table of contents
- [Create an Integration](https://support.fountain.com/en/articles/12814668-integrations#h_9721fd4493)
- [Create API Keys](https://support.fountain.com/en/articles/12814668-integrations#h_8152f958b7)
- [Manage Integrations](https://support.fountain.com/en/articles/12814668-integrations#h_822aecebaf)
- [Using Integrations with the API](https://support.fountain.com/en/articles/12814668-integrations#h_7d93517b9d)

**Integrations** are special accounts designed exclusively for API access. Integrations cannot be used to log in to the Fountain platform through the web interface - they can only authenticate and interact with Fountain via API.

## Create an Integration

1. Navigate to **Settings** in the Fountain platform
2. Scroll to the **Workflows** section
3. Click on **Integrations & API Keys**
4. Click **Add an integration**

5. Provide a name for the integration
6. Assign an appropriate role
7. Click **Add**

## Create API Keys

Once you have created an integration, you can create a set of **API Keys** (consisting of an OAuth client ID and client secret).

**How the Pieces Fit Together**

An Integration is an API-only account. Its API Key is an OAuth client ID + client secret pair used to authenticate. You exchange that key pair through the OAuth flow for a short-lived access token, which you then send as the Bearer token in the Authorization header on each request.

To create API keys:

- Click on the **More actions (…)** dropdown menu next to the integration you want to create API keys for
- Select **Manage API Keys**
- In the panel that opens, click **Add**

- Provide a name for your key and click **Create**
- Take note of both the **Client ID and Client Secret**

- Follow the instructions in the [OAuth flow documentation](https://developer.fountain.com/reference/overview#/fountain-one-oauth-flow) to use the keys in an OAuth flow and generate an authentication token

**Unlimited Integrations**

You can create as many integrations as needed. Each integration can have its own dedicated, fine-grained role and can contain multiple API keys, making it easy to rotate secrets regularly for stronger security.

## Manage Integrations

Integrations behave like regular user accounts in terms of:
- Role assignment
- Permission management
- Audit logging

However, they differ in that:
- They cannot log in through the web interface
- They are designed solely for programmatic API access
- They appear in the Integrations section rather than the Users list

## Using Integrations with the API

Integrations authenticate using the `Authorization: Bearer XXX` header format with the unified `services.fountain.com` base URL.

**Unified API Access:** The `services.fountain.com` base URL provides access to both Fountain platform and Fountain Hire endpoints:
- **Fountain platform endpoints:** Call directly at `services.fountain.com`
- **Hire endpoints:** Call through `services.fountain.com/api/servicehire`

**Example - Accessing Hire API:**

```
GET https://services.fountain.com/api/servicehire/v2/applicants Authorization: Bearer YOUR_ACCESS_TOKEN
```

Use the same request body, query parameters, and additional headers that you would use with the standard Hire API endpoints.

**Environment-specific URLs**

You can continue using environment-specific URLs (e.g., `services.yourcompany.fountain.com`) if preferred, but the unified `services.fountain.com` URL simplifies cross-platform API access.

**Use Cases for Integrations**

Integrations are ideal for:
- Integration workflows that need continuous API access
- Automated processes that sync data between Fountain and external systems
- Third-party applications that need to interact with Fountain on behalf of your organization

* * *
