# Fountain Public API API

> Fountain Public API API on Apizie: 80 endpoints (List All Applicants, Create an Applicant, Get Applicant Info, Update Applicant Info, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/analytics:fountain/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:fountain`
- Category: Analytics
- Status: byok
- Source: https://fountain.com
- Page: https://www.apizie.tech/api/analytics/fountain
- OpenAPI: https://www.apizie.tech/api/analytics/fountain/openapi.json

Fountain's all-in-one high volume hiring platform empowers the world's leading enterprises to find the right people through smart, fast, and seamless recruiting. Candidates can apply anytime, anywhere in minutes, right…

## Endpoints

### List All Applicants
`GET https://www.apizie.tech/v1/analytics:fountain/applicants-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| funnel_id | string | no |  |
| location_id | string | no |  |
| stage_id | string | no |  |
| stage | string | no |  |
| labels | string | no |  |
| cursor | string | no |  |
| created_at | string | no |  |
| last_transitioned_at | string | no |  |
| updated_at | string | no |  |
| custom_data_field[key] | string | no | The key of the custom data field to filter by. Used with `custom_data_field[value]`. Must also use one of created_at,… |
| custom_data_field[value] | string | no | The value of the custom data field to filter by. Used with `custom_data_field[key]`. |

### Create an Applicant
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-create-new-applicant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Applicant Info
`GET https://www.apizie.tech/v1/analytics:fountain/applicants-get-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Update Applicant Info
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-update-info` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | no | JSON request body |

### Delete an Applicant
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Advance an Applicant
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-advance-applicant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | no | JSON request body |

### Bulk Advance Multiple Applicants
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-bulk-advance-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| stage_id | string | yes | Destination stage's external id. All specified applicants will advance to this stage. |
| body | object | no | JSON request body |

### Get Transition History
`GET https://www.apizie.tech/v1/analytics:fountain/applicants-get-transition-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| page | number | no |  |

### Bulk Transition History for Multiple Applicants
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-bulk-transition-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Interview Sesssions
`GET https://www.apizie.tech/v1/analytics:fountain/applicants-get-interview-sessions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Bulk Interview Sessions for Multiple Applicants
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-bulk-interview-sessions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### List Labels for Applicant
`GET https://www.apizie.tech/v1/analytics:fountain/labels-list-for-applicant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Update Label for Applicant
`POST https://www.apizie.tech/v1/analytics:fountain/labels-update-for-applicant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| title | string | yes |  |
| completed | boolean | no |  |
| completed_at | string | no |  |

### Get Applicant Notes
`GET https://www.apizie.tech/v1/analytics:fountain/notes-get-applicant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Create Applicant Note
`POST https://www.apizie.tech/v1/analytics:fountain/notes-create-applicant-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | yes | JSON request body |

### Update Applicant Note
`POST https://www.apizie.tech/v1/analytics:fountain/notes-update-applicant-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| note_id | string | yes |  |
| body | object | yes | JSON request body |

### Delete Applicant Note
`POST https://www.apizie.tech/v1/analytics:fountain/notes-delete-applicant-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| note_id | string | yes |  |

### Get Applicant Files
`GET https://www.apizie.tech/v1/analytics:fountain/applicants-get-secure-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### File Upload to S3
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-upload-secure-document-to-s3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | no | JSON request body |

### Link Applicant to Files in S3
`POST https://www.apizie.tech/v1/analytics:fountain/applicants-link-upload` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | no | JSON request body |

### Create Calendar Slots
`POST https://www.apizie.tech/v1/analytics:fountain/calendar-slots-create-new-available` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Book an Available Slot
`POST https://www.apizie.tech/v1/analytics:fountain/calendar-slots-confirm-booking` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Available Slot ID |
| applicant_id | string | no | The unique identifier for the applicant to be associated with the booked slot |

### Delete Calendar Slots
`POST https://www.apizie.tech/v1/analytics:fountain/calendar-slots-destroy-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Available Slot ID |
| delete_all_siblings | boolean | no | If set, will destroy all slots with the same key |

### Cancel a booked slot
`POST https://www.apizie.tech/v1/analytics:fountain/calendar-slots-cancel-slot` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Identifier of the booked slot to cancel |
| page | integer | no | The page of results to view |

### List data keys
`GET https://www.apizie.tech/v1/analytics:fountain/data-keys-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page of results to retrieve. |
| per_page | integer | no | The number of results to retrieve per page. The endpoint returns 20 results per page by default. |
| updated_at | string | no | A filter to limit which data_keys will be returned based on the last_updated_at data on the data_key. |

### List all Custom Exports
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-list-custom-exports` (byok)

### Create Custom Export
`POST https://www.apizie.tech/v1/analytics:fountain/export-management-create-custom-export` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| template_id | string | yes |  |

### Download Custom Export
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-download-custom-export` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### List all Custom Export Templates
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-list-custom-templates` (byok)

### List All Openings
`GET https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page of results to view |
| per_page | integer | no | The number of results to return per page |
| sort_by | string | no | The field by which to sort results |
| sort_direction | string | no | The direction in which results are sorted |
| active | boolean | no | Filter by whether the opening is active or not |
| brand_name | string | no | Filter by the name of the brand |
| location_address | string | no | Filter by the address associated with the opening |
| location_name | string | no | Filter by the name of the location associated with the opening |
| location_group_name | string | no | Filter by the name of the location group associated with the opening |
| query | string | no | Text-based query of the opening attributes |
| shift_name | string | no | Filter by the name of the shift associated with the opening |
| shift_days[] | array | no | Filter by the days of the shift associated with the opening |
| shift_start_time | string | no | Filter by the start time of the shift associated with the opening using the 24 hour clock (i.e. 10 PM is 2200) |
| shift_end_time | string | no | Filter by the end time of the shift associated with the opening using the 24 hour clock (i.e. 10 PM is 2200) |
| sourcing_purchase_type | string | no | Filter by the sourcing type of the opening |
| title | string | no | Filter by the title of the opening |
| updated_at_gt | string | no | Filter for funnels updated after this |
| updated_at_lt | string | no | Filter for funnels updated before this |
| user_openings | boolean | no | Filter to account owner |
| workflow_id | string | no | Filter for funnels with a specific workflow identifier |

### Create a new opening
`POST https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-create-opening` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve Opening
`GET https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-get-opening-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Opening ID |

### Update opening
`POST https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-update-opening` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Opening ID |
| body | object | yes | JSON request body |

### Delete an opening
`POST https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-delete-opening` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Opening ID |

### List Hiring Goals
`GET https://www.apizie.tech/v1/analytics:fountain/hiring-goals-list-goals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| opening_id | integer | no | Filter by a particular Opening (also known as Funnel) |
| page | integer | no | The page of results to view |
| per_page | integer | no | The number of results to return per page |
| sort_by | string | no | The field by which to sort results |
| sort_direction | string | no | The direction in which results are sorted |
| status | string | no | Filter by the Hiring Goal status |
| current | boolean | no | Filter to current Hiring Goals. Current is defined by Hiring Goals with a `hire_by` date greater and or equal to today. |
| past | boolean | no | Filter to past Hiring Goals. Current is defined by Hiring Goals with a `hire_by` date before today. |
| open | boolean | no | Filter to open Hiring Goals. Open Hiring Goals are Hiring Goals who have not been closed (`closed_at == nil`) |

### Create a new hiring goal
`POST https://www.apizie.tech/v1/analytics:fountain/hiring-goals-create-new-goal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update Hiring Goal
`POST https://www.apizie.tech/v1/analytics:fountain/hiring-goals-update-existing-goal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Hiring Goal ID |
| body | object | yes | JSON request body |

### Delete a Hiring Goal
`POST https://www.apizie.tech/v1/analytics:fountain/hiring-goals-delete-goal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Hiring Goal ID |

### List Location Groups
`GET https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-list` (byok)

### Create a new Location Group
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-create-location-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve Location Group
`GET https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-get-location-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location Group ID |

### Update Location Group
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-update-location-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location Group ID |
| body | object | yes | JSON request body |

### Delete a Location Group
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-delete-location-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location Group ID |

### List Locations
`GET https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-list-locations` (byok)

### Create a new Location
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-create-new-location` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve Location
`GET https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-get-location-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location ID |

### Update Location
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-update-location` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location ID |
| body | object | yes | JSON request body |

### Delete a Location
`POST https://www.apizie.tech/v1/analytics:fountain/locations-and-location-groups-delete-location` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Location ID |

### Reassign Opening to Different Workflow (Alpha)
`POST https://www.apizie.tech/v1/analytics:fountain/openings-reassign-to-workflow` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get Option Bank
`GET https://www.apizie.tech/v1/analytics:fountain/option-bank-get-option-bank-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Replace Option Bank
`POST https://www.apizie.tech/v1/analytics:fountain/option-bank-replace-bank` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| body | object | yes | JSON request body |

### Delete Option Bank
`POST https://www.apizie.tech/v1/analytics:fountain/option-bank-delete-bank` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### Remove from Option Bank
`POST https://www.apizie.tech/v1/analytics:fountain/option-bank-remove-option` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| options | object | yes |  |

### Append to Option Bank
`POST https://www.apizie.tech/v1/analytics:fountain/option-bank-append-option` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| options | object | yes |  |

### List Positions
`GET https://www.apizie.tech/v1/analytics:fountain/positions-list-all` (byok)

### Create a new Position
`POST https://www.apizie.tech/v1/analytics:fountain/positions-create-new-position` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve Position
`GET https://www.apizie.tech/v1/analytics:fountain/positions-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Position ID |

### Update Position
`POST https://www.apizie.tech/v1/analytics:fountain/positions-update-existing-position` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Position ID |
| body | object | yes | JSON request body |

### Delete a Position
`POST https://www.apizie.tech/v1/analytics:fountain/positions-delete-position` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Position ID |

### List calendar slots
`GET https://www.apizie.tech/v1/analytics:fountain/calendar-slots-list-booked` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| funnel_id | string | no | Identifier of opening to filter calendar slots on |
| with_unbooked | boolean | no | Indicates whether to include available slots in response |
| stage_id | string | no | Identifier of stage to filter slots on |
| cursor | string | no | Cursor for the next page to view |
| time | string | no | Filter by date, options are past, upcoming, a specific date with date=, or a date range with range= |
| page | boolean | no | The page results to retrieve. The endpoint returns 10 results per page. Use the cursor option to view very old results. |

### List shifts
`GET https://www.apizie.tech/v1/analytics:fountain/shifts-list-shifts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page of results to retrieve. |
| per_page | integer | no | The number of results to retrieve per page. The endpoint returns 20 results per page by default. |

### List available slots
`GET https://www.apizie.tech/v1/analytics:fountain/calendar-slots-get-available-slots` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Identifier of stage to list available slots for |
| page | integer | no | The page of results to view |

### List All Labels in Stage
`GET https://www.apizie.tech/v1/analytics:fountain/labels-list-in-stage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| stage_id | string | yes |  |
| funnel_id | string | no |  |

### List All Opening Stages
`GET https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-list-opening-stages` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| funnel_id | string | yes | The Opening ID |

### Retrieve stage
`GET https://www.apizie.tech/v1/analytics:fountain/openings-and-stages-get-stage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Stage ID |

### List All Timestamped Export Templates
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-list-timestamped-export-templates` (byok)

### Download Timestamped Export
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-download-timestamped-export` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### List all Timestamped Exports
`GET https://www.apizie.tech/v1/analytics:fountain/export-management-list-all-timestamped-exports` (byok)

### Create Timestamped Exports
`POST https://www.apizie.tech/v1/analytics:fountain/export-management-create-timestamped-exports` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| template_id | string | yes |  |

### Get User Activities
`GET https://www.apizie.tech/v1/analytics:fountain/users-get-activities` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The User ID |
| start_time | string | yes | Start must be within 30 days of End Time |
| end_time | string | yes | The end date of the activities |
| activity_type | string | no | The key describing the activity |
| per_page | integer | no |  |
| page | integer | no |  |

### Get Users
`GET https://www.apizie.tech/v1/analytics:fountain/users-list-accessed-all` (byok)

### Get Workers
`GET https://www.apizie.tech/v1/analytics:fountain/posthire-worker-management-list-workers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| funnel_id | string | no | The opening ID |
| is_active | boolean | no |  |
| page | integer | no | Optional integer to indicate the page of pagination |

### Get A Worker
`GET https://www.apizie.tech/v1/analytics:fountain/posthire-worker-management-get-worker-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Worker ID |

### Update A Worker
`POST https://www.apizie.tech/v1/analytics:fountain/posthire-worker-management-update-worker` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Worker ID |
| body | object | no | JSON request body |

### Activate A Worker
`POST https://www.apizie.tech/v1/analytics:fountain/posthire-worker-management-activate-worker` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Worker ID |

### Deactivate A Worker
`POST https://www.apizie.tech/v1/analytics:fountain/posthire-worker-management-deactivate-worker` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The Worker ID |

### List all Workflows
`GET https://www.apizie.tech/v1/analytics:fountain/workflows-get-all-workflows` (byok)

### Delete a Workflow
`POST https://www.apizie.tech/v1/analytics:fountain/workflows-delete-workflow` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### List All Option Banks
`GET https://www.apizie.tech/v1/analytics:fountain/option-bank-list-all-banks` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | string | no | Optional integer to indicate the page of pagination |
| per_page | string | no | Optional integer to define page size for pagination |

### Create Option Bank
`POST https://www.apizie.tech/v1/analytics:fountain/option-bank-create-applicant-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

## Example
```
curl "https://www.apizie.tech/v1/analytics:fountain/applicants-list-all" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Fountain Public API API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/analytics:fountain/applicants-list-all with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Fountain Public API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Fountain Public API itself also needs your own key from api.fountain.com.

### Can AI agents use the Fountain Public API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:fountain.

### What is the status of the Fountain Public API API?
Needs your own provider key (bring your own key)
