PHPackages                             vivahr/vivahr-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. vivahr/vivahr-php

ActiveLibrary[API Development](/categories/api)

vivahr/vivahr-php
=================

A PHP SDK for integrating with the VIVAHR API, supporting job posting, candidate management, and more.

1.0.1(10mo ago)038MITPHPPHP &gt;=7.0

Since Nov 19Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/c-alen/vivahr-php)[ Packagist](https://packagist.org/packages/vivahr/vivahr-php)[ RSS](/packages/vivahr-vivahr-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

VIVAHR PHP SDK
==============

[](#vivahr-php-sdk)

A PHP SDK for integrating with the VIVAHR API, supporting job posting, candidate management, and more.

Installation
------------

[](#installation)

To install the VIVAHR PHP SDK, ensure you have Composer installed. Then, run the following command:

```
composer require vivahr/vivahr-php
```

Requirements
------------

[](#requirements)

Make sure you have:

- PHP 7.0 or higher
- Composer

Usage
-----

[](#usage)

Here’s how to initialize the SDK and perform various operations:

```
require 'vendor/autoload.php';
```

### Step 1: Authenticate and get an access token

[](#step-1-authenticate-and-get-an-access-token)

```
use VIVAHR\Auth\Authentication;

$client_id = 'XXXXXXXXXX';
$client_secret = 'XXXXXXXXXXXXXXXX';

// Use this for Production
$api_url = 'https://auth.vivahr.com';

// Use this for Sandbox testing
$api_url = 'https://api-sandbox.vivahr.com';

$auth_token_path = '/oauth/token';

$auth = new Authentication($client_id , $client_secret, $api_url . $auth_token_path);
$accessTokenData = $auth->generateAccessToken();
$accessToken = $accessTokenData['access_token'];
```

### Step 2: Initialize the client

[](#step-2-initialize-the-client)

```
use VIVAHR\VivahrClient;

$vivahrClient = new VivahrClient($accessToken, $api_url);
```

### Now you can make calls to the endpoints

[](#now-you-can-make-calls-to-the-endpoints)

```
$jobs = $vivahrClient->jobs()->list([
    "offset"=> "",
    "limit"=> "",
    "keyword"=> "",
    "department_id"=> "",
    "location_id"=> "",
    "sort_field"=> "",
    "sort_direction"=> "",
    "hide_inactive"=> ""
]);
echo json_encode($jobs);
```

Available Endpoints
-------------------

[](#available-endpoints)

### **Jobs**

[](#jobs)

The Jobs endpoint allows you to manage job postings within the VIVAHR API. You can create, retrieve, update, close, and delete job postings. Below are the available methods:

Create Job Posting API Call**Purpose**
-----------

[](#purpose)

This API call is used to **create a new job posting** in the VIVAHR system. It sends job details to the server and returns a response confirming the creation or indicating any errors.

---

**Endpoint**
------------

[](#endpoint)

- **URL:** `https://auth.vivahr.com/v1/jobs`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers)

**Header****Value****Description**`Content-Type``application/x-www-form-urlencoded`Specifies the format of the request payload.`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Payload**
-------------------

[](#request-payload)

Below are the fields included in the request payload:

**Parameter****Type****Required****Description**`job_title``string`YesThe title of the job posting (e.g., "API DEVELOPER").`job_type``string`YesThe type of job (`1 = Full-time`, `2 = Part-time`).`skill_level``string`YesRequired skill level (`1 = Beginner`, `5 = Expert`).`remote_id``string`YesIndicates if the job is remote (`0 = No`, `1 = Yes`).`location_id``string`YesLocation ID (e.g., `rem` for remote).`visibility_id``string`YesVisibility (`1 = Public`, `2 = Private`).`salary_type``string`YesSalary type (`hour`, `annual`, `monthly`).`salary_range[from]``string`YesMinimum salary.`salary_range[to]``string`YesMaximum salary.`industry``string`YesIndustry ID.`department_id``string`YesID of the department the job belongs to.`job_functions[]``array`YesFunctions or roles associated with the job.`profile_id``string`YesProfile ID associated with the job posting.`form_id``string`YesApplication form ID for this job.`description``string`YesDetailed description of the job posting.`hiring_team``string`YesHiring team ID responsible for the job.`pipeline_id``string`YesPipeline ID to track candidates for this job.`scorecard_id``string`YesScorecard ID used for evaluating candidates.`application_form[resume][required]``string`NoIf the resume is required (`0 = No`, `1 = Yes`).`application_form[resume][disabled]``string`NoIf the resume is disabled (`0 = No`, `1 = Yes`).`application_form[coverletter][required]``string`NoIf the cover letter is required (`0 = No`, `1 = Yes`).`application_form[coverletter][disabled]``string`NoIf the cover letter is disabled (`0 = No`, `1 = Yes`).`application_form[phone][required]``string`NoIf the phone number is required (`0 = No`, `1 = Yes`).`application_form[phone][disabled]``string`NoIf the phone number is disabled (`0 = No`, `1 = Yes`).`application_form[applicant_address][required]``string`NoIf the address is required (`0 = No`, `1 = Yes`).`application_form[applicant_address][disabled]``string`NoIf the address is disabled (`0 = No`, `1 = Yes`).`application_form[linkedin][required]``string`NoIf LinkedIn is required (`0 = No`, `1 = Yes`).`application_form[linkedin][disabled]``string`NoIf LinkedIn is disabled (`0 = No`, `1 = Yes`).`application_form[portfolio][required]``string`NoIf a portfolio is required (`0 = No`, `1 = Yes`).`application_form[portfolio][disabled]``string`NoIf a portfolio is disabled (`0 = No`, `1 = Yes`).`application_form[website][required]``string`NoIf a website is required (`0 = No`, `1 = Yes`).`application_form[website][disabled]``string`NoIf a website is disabled (`0 = No`, `1 = Yes`).`default_application_form``string`NoIf the default application form is used (`0 = No`, `1 = Yes`).---

Update Job Posting API Call**Purpose**
-----------

[](#purpose-1)

This API call is used to **update an existing job posting** in the VIVAHR system. It modifies the job details by sending updated information to the server.

---

**Endpoint**
------------

[](#endpoint-1)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id`
- **Method:** `PUT`
- **Note:** Replace `:id` with the ID of the job you want to update.

---

**Headers**
-----------

[](#headers-1)

**Header****Value****Description**`Content-Type``application/x-www-form-urlencoded`Specifies the format of the request payload.`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Payload**
-------------------

[](#request-payload-1)

Below are the fields included in the request payload:

**Parameter****Type****Required****Description**`job_title``string`NoThe title of the job posting (e.g., "API DEVELOPER").`job_type``string`NoThe type of job (`1 = Full-time`, `2 = Part-time`).`skill_level``string`NoRequired skill level (`1 = Beginner`, `5 = Expert`).`remote_id``string`NoIndicates if the job is remote (`0 = No`, `1 = Yes`).`location_id``string`NoLocation ID (e.g., `rem` for remote).`visibility_id``string`NoVisibility (`1 = Public`, `2 = Private`).`salary_type``string`NoSalary type (`hour`, `annual`, `monthly`).`salary_range[from]``string`NoMinimum salary.`salary_range[to]``string`NoMaximum salary.`industry``string`NoIndustry ID.`department_id``string`NoID of the department the job belongs to.`job_functions[]``array`NoFunctions or roles associated with the job.`profile_id``string`NoProfile ID associated with the job posting.`form_id``string`NoApplication form ID for this job.`description``string`NoDetailed description of the job posting.`hiring_team``string`NoHiring team ID responsible for the job.`pipeline_id``string`NoPipeline ID to track candidates for this job.`scorecard_id``string`NoScorecard ID used for evaluating candidates.`application_form[resume][required]``string`NoIf the resume is required (`0 = No`, `1 = Yes`).`application_form[resume][disabled]``string`NoIf the resume is disabled (`0 = No`, `1 = Yes`).`application_form[coverletter][required]``string`NoIf the cover letter is required (`0 = No`, `1 = Yes`).`application_form[coverletter][disabled]``string`NoIf the cover letter is disabled (`0 = No`, `1 = Yes`).`application_form[phone][required]``string`NoIf the phone number is required (`0 = No`, `1 = Yes`).`application_form[phone][disabled]``string`NoIf the phone number is disabled (`0 = No`, `1 = Yes`).`application_form[applicant_address][required]``string`NoIf the address is required (`0 = No`, `1 = Yes`).`application_form[applicant_address][disabled]``string`NoIf the address is disabled (`0 = No`, `1 = Yes`).`application_form[linkedin][required]``string`NoIf LinkedIn is required (`0 = No`, `1 = Yes`).`application_form[linkedin][disabled]``string`NoIf LinkedIn is disabled (`0 = No`, `1 = Yes`).`application_form[portfolio][required]``string`NoIf a portfolio is required (`0 = No`, `1 = Yes`).`application_form[portfolio][disabled]``string`NoIf a portfolio is disabled (`0 = No`, `1 = Yes`).`application_form[website][required]``string`NoIf a website is required (`0 = No`, `1 = Yes`).`application_form[website][disabled]``string`NoIf a website is disabled (`0 = No`, `1 = Yes`).`default_application_form``string`NoIf the default application form is used (`0 = No`, `1 = Yes`).---

Retrieve Job Details API Call**Purpose**
-----------

[](#purpose-2)

This API call is used to **retrieve details of a specific job posting** from the VIVAHR system.

---

**Endpoint**
------------

[](#endpoint-2)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id`
- **Method:** `GET`
- **Note:** Replace `:id` with the unique ID of the job you want to fetch.

---

**Headers**
-----------

[](#headers-2)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

Retrieve Job Listings API Call**Purpose**
-----------

[](#purpose-3)

This API call is used to **fetch a list of job postings** from the VIVAHR system. It supports filtering, sorting, and pagination.

---

**Endpoint**
------------

[](#endpoint-3)

- **URL:** `https://auth.vivahr.com/v1/jobs`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-3)

**Header****Value****Description**`Content-Type``application/json`Specifies the media type of the resource.`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body)

The request body is a JSON object that allows you to filter, paginate, and sort job listings.

### **Parameters**

[](#parameters)

**Parameter****Type****Description****Example**`offset``string`The starting point for pagination.`"0"``limit``string`The maximum number of results to return.`"10"``keyword``string`A keyword to search for jobs (e.g., job title, description).`"developer"``department_id``string`Filter jobs by department ID.`"1234"``location_id``string`Filter jobs by location ID.`"remote"``sort_field``string`Field by which to sort the results.`"created_at"``sort_direction``string`Sort direction (`asc` or `desc`).`"asc"``hide_inactive``string`Hide inactive jobs (`1` to hide, `0` to include inactive jobs).`"1"`---

Create Draft Job Posting API Call**Purpose**
-----------

[](#purpose-4)

This API call is used to **create a draft job posting** within the VIVAHR system. This draft job posting can later be reviewed, edited, and published as an active job.

---

**Endpoint**
------------

[](#endpoint-4)

- **URL:** `https://auth.vivahr.com/v1/jobs/draft`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-4)

**Header****Value****Description**`Content-Type``application/x-www-form-urlencoded`Specifies the media type of the resource.`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-1)

The request body is used to define the details of the draft job posting.

### **Parameters**

[](#parameters-1)

**Parameter****Type****Description****Example**`job_title``string`The title of the job posting.`"API DEVELOPER"``job_type``string`Type of job (e.g., full-time, part-time).`"1"``skill_level``string`The required skill level for the job.`"5"``remote_id``string`Indicator if the job is remote. (`0` for no, `1` for yes).`"0"``location_id``string`The location identifier for the job.`"rem"``visibility_id``string`Visibility of the job (`1` for public).`"1"``salary_type``string`The type of salary for the job (`hour`, `annual`, etc.).`"hour"``salary_range[from]``string`The lower bound of the salary range.`"20"``salary_range[to]``string`The upper bound of the salary range.`"30"``industry``string`The industry ID for the job.`"20"``department_id``string`The department ID associated with the job.`"3404"``job_functions[]``array`Array of job functions (e.g., `["1", "2"]`).`["1", "2"]``profile_id``string`The ID of the profile to associate with the job.`"772"``form_id``string`The form ID associated with the job application.`"2922"``description``string`A description of the job posting.`"Test Description"``hiring_team``string`The hiring team ID for the job posting.`"10280"``pipeline_id``string`The pipeline ID associated with the job.`"4908"``scorecard_id``string`The scorecard ID used for evaluating candidates.`"2460"``application_form[resume][required]``string`Whether a resume is required for the application (`0` for no, `1` for yes).`"0"``application_form[resume][disabled]``string`Whether the resume field is disabled (`0` for no, `1` for yes).`"0"``application_form[coverletter][required]``string`Whether a cover letter is required (`0` for no, `1` for yes).`"0"``application_form[coverletter][disabled]``string`Whether the cover letter field is disabled (`0` for no, `1` for yes).`"0"``application_form[phone][required]``string`Whether a phone number is required (`0` for no, `1` for yes).`"0"``application_form[phone][disabled]``string`Whether the phone number field is disabled (`0` for no, `1` for yes).`"0"``application_form[applicant_address][required]``string`Whether the applicant's address is required (`0` for no, `1` for yes).`"0"``application_form[applicant_address][disabled]``string`Whether the applicant address field is disabled (`0` for no, `1` for yes).`"0"``application_form[linkedin][required]``string`Whether a LinkedIn profile is required (`0` for no, `1` for yes).`"0"``application_form[linkedin][disabled]``string`Whether the LinkedIn field is disabled (`0` for no, `1` for yes).`"0"``application_form[portfolio][required]``string`Whether a portfolio is required (`0` for no, `1` for yes).`"0"``application_form[portfolio][disabled]``string`Whether the portfolio field is disabled (`0` for no, `1` for yes).`"0"``application_form[website][required]``string`Whether a website is required (`0` for no, `1` for yes).`"0"``application_form[website][disabled]``string`Whether the website field is disabled (`0` for no, `1` for yes).`"0"``default_application_form``string`Whether this is the default application form (`1` for yes).`"1"`---

Refresh a Job API Call**Purpose**
-----------

[](#purpose-5)

This API call is used to **refresh an existing job posting** in the VIVAHR system. The job posting can be updated with new information, such as job title, salary range, location, and more.

---

**Endpoint**
------------

[](#endpoint-5)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id`
    - Replace `:id` with the actual job ID to refresh the corresponding job posting.
- **Method:** `PATCH`

---

**Headers**
-----------

[](#headers-5)

**Header****Value****Description**`Content-Type``application/x-www-form-urlencoded`Specifies the media type of the resource.`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-2)

The request body is used to define the details of the job posting to be refreshed.

### **Parameters**

[](#parameters-2)

**Parameter****Type****Description****Example**`job_title``string`The title of the job posting.`"API DEVELOPER"``job_type``string`Type of job (e.g., full-time, part-time).`"1"``skill_level``string`The required skill level for the job.`"5"``remote_id``string`Indicator if the job is remote. (`0` for no, `1` for yes).`"0"``location_id``string`The location identifier for the job.`"rem"``visibility_id``string`Visibility of the job (`1` for public).`"1"``salary_type``string`The type of salary for the job (`hour`, `annual`, etc.).`"hour"``salary_range[from]``string`The lower bound of the salary range.`"20"``salary_range[to]``string`The upper bound of the salary range.`"30"``industry``string`The industry ID for the job.`"20"``department_id``string`The department ID associated with the job.`"3404"``job_functions[]``array`Array of job functions (e.g., `["1", "2"]`).`["1", "2"]``profile_id``string`The ID of the profile to associate with the job.`"772"``form_id``string`The form ID associated with the job application.`"2922"``description``string`A description of the job posting.`"Test Description"``hiring_team``string`The hiring team ID for the job posting.`"10280"``pipeline_id``string`The pipeline ID associated with the job.`"4908"``scorecard_id``string`The scorecard ID used for evaluating candidates.`"2460"``application_form[resume][required]``string`Whether a resume is required for the application (`0` for no, `1` for yes).`"0"``application_form[resume][disabled]``string`Whether the resume field is disabled (`0` for no, `1` for yes).`"0"``application_form[coverletter][required]``string`Whether a cover letter is required (`0` for no, `1` for yes).`"0"``application_form[coverletter][disabled]``string`Whether the cover letter field is disabled (`0` for no, `1` for yes).`"0"``application_form[phone][required]``string`Whether a phone number is required (`0` for no, `1` for yes).`"0"``application_form[phone][disabled]``string`Whether the phone number field is disabled (`0` for no, `1` for yes).`"0"``application_form[applicant_address][required]``string`Whether the applicant's address is required (`0` for no, `1` for yes).`"0"``application_form[applicant_address][disabled]``string`Whether the applicant address field is disabled (`0` for no, `1` for yes).`"0"``application_form[linkedin][required]``string`Whether a LinkedIn profile is required (`0` for no, `1` for yes).`"0"``application_form[linkedin][disabled]``string`Whether the LinkedIn field is disabled (`0` for no, `1` for yes).`"0"``application_form[portfolio][required]``string`Whether a portfolio is required (`0` for no, `1` for yes).`"0"``application_form[portfolio][disabled]``string`Whether the portfolio field is disabled (`0` for no, `1` for yes).`"0"``application_form[website][required]``string`Whether a website is required (`0` for no, `1` for yes).`"0"``application_form[website][disabled]``string`Whether the website field is disabled (`0` for no, `1` for yes).`"0"``default_application_form``string`Whether this is the default application form (`1` for yes).`"1"``move_candidates``string`Whether to move candidates to the next stage in the hiring process (`1` for yes).`"1"`---

Close a Job API Call**Purpose**
-----------

[](#purpose-6)

This API call is used to **close a job posting** in the VIVAHR system, meaning that no more candidates can apply for this job.

---

**Endpoint**
------------

[](#endpoint-6)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id/close`
    - Replace `:id` with the actual job ID to close the corresponding job posting.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-6)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-3)

There is no request body required for this API call. The job is simply closed by sending a `POST` request to the endpoint with the job ID.

---

Pause a Job API Call**Purpose**
-----------

[](#purpose-7)

This API call is used to **pause a job posting**, making it inactive and preventing new candidates from applying for the job. The job remains in the system, but applications are not accepted during the paused state.

---

**Endpoint**
------------

[](#endpoint-7)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id/pause`
    - Replace `:id` with the actual job ID to pause the corresponding job posting.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-7)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-4)

There is no request body required for this API call. The job is simply paused by sending a `POST` request to the endpoint with the job ID.

---

Unpause a Job API Call**Purpose**
-----------

[](#purpose-8)

This API call is used to **unpause a previously paused job posting**, making it active again and allowing candidates to apply for the job.

---

**Endpoint**
------------

[](#endpoint-8)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id/unpause`
    - Replace `:id` with the actual job ID to unpause the corresponding job posting.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-8)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-5)

There is no request body required for this API call. The job is simply unpaused by sending a `POST` request to the endpoint with the job ID.

---

Share a Job API Call**Purpose**
-----------

[](#purpose-9)

This API call allows you to **share a job posting** on external platforms, such as LinkedIn. By sending the request, you can share a job posting with the specified source.

---

**Endpoint**
------------

[](#endpoint-9)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id/share`
    - Replace `:id` with the actual job ID to share the corresponding job posting.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-9)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Specifies that the request body is encoded as `x-www-form-urlencoded`.---

**Request Body**
----------------

[](#request-body-6)

The body of the request includes the following parameter:

**Field****Type****Description****Example**`source`StringThe source platform where the job is shared.`"linkedin"`---

This API will share the job to the specified platform (`linkedin` in this case). You can modify the `source` to match the platform you want to use.

Delete a Job API Call**Purpose**
-----------

[](#purpose-10)

This API call allows you to **delete a job posting** from the VIVAHR system. Once the job is deleted, it is permanently removed and cannot be recovered.

---

**Endpoint**
------------

[](#endpoint-10)

- **URL:** `https://auth.vivahr.com/v1/jobs/:id`
    - Replace `:id` with the actual job ID you wish to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-10)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description)

- This request allows you to delete a specific job posting from the system using its `job_id`.
- Once deleted, the job posting is permanently removed from the VIVAHR platform.

### **Job Helpers**

[](#job-helpers)

Utilize helper methods to assist in job-related functionalities.

Get Position Type Helper API Call**Purpose**
-----------

[](#purpose-11)

This API call allows you to retrieve the available **position types** for job postings from the VIVAHR platform. It provides a list of predefined position types that can be used when creating or updating job postings.

---

**Endpoint**
------------

[](#endpoint-11)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/position_type`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-11)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-1)

- This request fetches the list of available position types that can be assigned to a job.
- Position types refer to the various categories or classifications for roles, such as Full-Time, Part-Time, Internship, etc.

Get Skill Level Helper API Call**Purpose**
-----------

[](#purpose-12)

This API call allows you to retrieve the available **skill levels** for job postings from the VIVAHR platform. It provides a list of predefined skill levels that can be assigned to job candidates.

---

**Endpoint**
------------

[](#endpoint-12)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/skill_level`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-12)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-2)

- This request fetches the list of available skill levels that can be assigned to a job.
- Skill levels are used to categorize job candidates based on their expertise or proficiency in the role, such as Beginner, Intermediate, or Expert.

Get Visibility Helper API Call**Purpose**
-----------

[](#purpose-13)

This API call allows you to retrieve the available **visibility options** for job postings from the VIVAHR platform. It provides a list of predefined visibility settings that can be applied to job postings.

---

**Endpoint**
------------

[](#endpoint-13)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/visibility`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-13)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-3)

- This request fetches the list of available visibility options for job postings.
- Visibility settings are used to control how and to whom a job posting is visible on the VIVAHR platform. For example, you can set a job posting to be visible only to specific departments or to the public.

Get Company Industry Helper API Call**Purpose**
-----------

[](#purpose-14)

This API call allows you to retrieve the available **company industry options** for job postings from the VIVAHR platform. It provides a list of predefined industries that can be associated with a job posting.

---

**Endpoint**
------------

[](#endpoint-14)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/company_industry`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-14)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-4)

- This request fetches the list of available industries for job postings.
- Industries are used to classify job postings by the type of business or sector, such as technology, healthcare, etc.

Get Job Functions Helper API Call**Purpose**
-----------

[](#purpose-15)

This API call allows you to retrieve the available **job functions** for job postings on the VIVAHR platform. It provides a list of predefined job functions that can be associated with a job posting.

---

**Endpoint**
------------

[](#endpoint-15)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/job_functions`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-15)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-5)

- This request fetches the list of available job functions for job postings.
- Job functions represent the roles or tasks that a job entails, such as marketing, software development, or sales.

Get Remote Job Options API Call**Purpose**
-----------

[](#purpose-16)

This API call allows you to retrieve the available options for **remote work** when creating or updating a job posting on the VIVAHR platform. It returns the different remote work types (e.g., fully remote, hybrid, etc.) that can be associated with a job.

---

**Endpoint**
------------

[](#endpoint-16)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/remote`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-16)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-6)

- This request fetches the available remote job options, which can be used when creating or updating job postings.
- It helps define whether a job is remote, hybrid, or requires in-office presence.

Get Salary Type Options API Call**Purpose**
-----------

[](#purpose-17)

This API call retrieves the available **salary types** that can be assigned to a job posting. It helps to define how the salary for the position is structured (e.g., hourly, salary, commission-based, etc.).

---

**Endpoint**
------------

[](#endpoint-17)

- **URL:** `https://auth.vivahr.com/v1/job-helpers/salary_type`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-17)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-7)

- This request fetches the available salary types for job postings, which can be used to specify how compensation is structured for a particular role.
- It provides options like hourly, annual salary, commission-based pay, and more.

### **Candidates**

[](#candidates)

Handle candidate information such as creating new candidates, updating existing records, and retrieving candidate details.

Create Candidate API Call**Purpose**
-----------

[](#purpose-18)

This API call allows you to **create a new candidate** in the VIVAHR system. The candidate is associated with a specific position, and additional metadata such as action and source can be provided.

---

**Endpoint**
------------

[](#endpoint-18)

- **URL:** `https://auth.vivahr.com/v1/candidates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-18)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Specifies the format of the request body.---

**Request Body**
----------------

[](#request-body-7)

**Field****Type****Description**`action``string`Specifies the action type (e.g., `"manual"`).`first_name``string`Candidate's first name.`last_name``string`Candidate's last name.`phone_number``string`Candidate's phone number.`email``string`Candidate's email address.`position_id``string`The ID of the job position associated with the candidate.`source``string`Source of the candidate's application.`social[Facebook]``string`Candidate's Facebook profile link (optional).`social[LinkedIn]``string`Candidate's LinkedIn profile link (optional).`social[Pinterest]``string`Candidate's Pinterest profile link (optional).`social[X]``string`Candidate's X (formerly Twitter) profile link (optional).`social[Website]``string`Candidate's website link (optional).`social[Other]``string`Any other social profile link (optional).---

**Description**
---------------

[](#description-8)

- This API call creates a new candidate in the VIVAHR system with the provided details and associates them with a specific job position.
- The `position_id` is mandatory and must correspond to the job position for which the candidate is being considered.
- Optional fields like social links can be omitted if not applicable.

**Note:**

- Ensure that all required fields are provided in the request body for successful candidate creation.

Create Candidate with Resume API Call**Purpose**
-----------

[](#purpose-19)

This API call allows you to **create a new candidate** in the VIVAHR system by uploading their resume. The candidate is associated with a specific position, and additional metadata such as action and source can be provided.

---

**Endpoint**
------------

[](#endpoint-19)

- **URL:** `https://auth.vivahr.com/v1/candidates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-19)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-8)

The request body should be sent as `multipart/form-data` with the following fields:

**Field****Type****Description**`action``string`Specifies the action type (e.g., `"manual"`).`source``string`Source of the candidate's application.`resume``file`The candidate's resume file (e.g., `.pdf`, `.docx`, `.txt`).`position_id``string`The ID of the job position associated with the candidate.**Note:**

- Use the `FormData` object to construct the request body and append the resume file.
- Ensure the `resume` field contains a valid file from the user's input.

---

**Description**
---------------

[](#description-9)

- This API call allows you to upload a candidate's resume and associate the candidate with a specific job position in the VIVAHR system.
- The `position_id` is mandatory and must correspond to the job position for which the candidate is being considered.
- Additional metadata such as `action` and `source` can provide context about how the candidate is being added.

**Important Notes:**

- Ensure the file input in your application correctly references the resume file.
- Supported file formats for resumes include `.pdf`, `.docx`, and `.txt`.

Update Candidate API Call**Purpose**
-----------

[](#purpose-20)

This API call allows you to **update an existing candidate's information** in the VIVAHR system. It lets you modify the candidate's personal details, job position, and associated metadata.

---

**Endpoint**
------------

[](#endpoint-20)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-20)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-9)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The candidate's full name.`phone``string`The candidate's phone number.`email``string`The candidate's email address.`position_id``string`The ID of the job position associated with the candidate.`source``string`The source of the candidate's application.`social[Facebook]``string`URL to the candidate's Facebook profile (optional).`social[LinkedIn]``string`URL to the candidate's LinkedIn profile (optional).`social[Pinterest]``string`URL to the candidate's Pinterest profile (optional).`social[X]``string`URL to the candidate's X (formerly Twitter) profile (optional).`social[Website]``string`URL to the candidate's personal website (optional).`social[Other]``string`URL to any other relevant social media profile.**Note:**

- Fields that are not provided will remain unchanged for the candidate.

---

**Description**
---------------

[](#description-10)

- This API call allows updating specific details about an existing candidate in the VIVAHR system, such as their name, contact information, and job position.
- It also supports updating associated social media links for a more complete candidate profile.

**Important Notes:**

- Ensure that the `candidate_id` in the URL corresponds to the candidate you intend to update.
- Provide only the fields you wish to modify; others can be left blank or excluded.
- Validate all input data to ensure accuracy and compliance with the system's requirements.

Get Candidate Details API Call**Purpose**
-----------

[](#purpose-21)

This API call allows you to **retrieve the details of a specific candidate** from the VIVAHR system using their unique candidate ID.

---

**Endpoint**
------------

[](#endpoint-21)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-21)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-10)

This request does not require a body.

---

**Description**
---------------

[](#description-11)

- This API call retrieves the full details of a candidate based on their unique ID.
- The response includes information such as the candidate's name, contact details, job position, application source, and any associated social media links.

**Important Notes:**

- Ensure the `candidate_id` in the URL corresponds to the candidate whose details you wish to fetch.
- The request requires a valid access token for authentication.

Get Candidate List API Call**Purpose**
-----------

[](#purpose-22)

This API call allows you to **retrieve a list of candidates** from the VIVAHR system. The results can be filtered and paginated using various optional parameters.

---

**Endpoint**
------------

[](#endpoint-22)

- **URL:** `https://auth.vivahr.com/v1/candidates`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-22)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Indicates the request body format.---

**Request Body**
----------------

[](#request-body-11)

- The request body is optional and can include the following parameters in JSON format:
    - **`limit`**: The maximum number of candidates to return.
    - **`offset`**: The number of candidates to skip before starting to return results.
    - **`job_id`**: Filter candidates by a specific job ID.
    - **`name_token`**: Search for candidates using a partial name match.

**Example Request Body:**

```
{
  "limit": "10",
  "offset": "0",
  "job_id": "32761",
  "name_token": "John"
}
```

Share Candidate Internally with Team API Call**Purpose**
-----------

[](#purpose-23)

This API call allows you to **share a candidate's information** with team members within the VIVAHR platform, facilitating collaboration during the evaluation process.

---

**Endpoint**
------------

[](#endpoint-23)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/share/internal`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-23)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-12)

The request body must be sent as `application/x-www-form-urlencoded` with the following field:

**Field****Type****Description**`members[]``string`The team member's ID(s) who will receive the shared candidate information. Multiple member IDs can be provided in an array.**Note:**

- Ensure the `members[]` field contains valid team member IDs from the VIVAHR system.
- The `candidate_id` in the URL must correspond to the candidate whose information is being shared.

---

**Description**
---------------

[](#description-12)

- This API call facilitates sharing a candidate's details with internal team members, allowing them to review and evaluate the candidate.
- The shared information includes all publicly available details about the candidate, but does not include any sensitive or private data.

**Important Notes:**

- Replace `:candidate_id` with the candidate's unique ID in the URL.
- Provide valid team member IDs in the `members[]` field for the sharing action to be successful.
- Ensure the `Authorization` header contains a valid access token for authentication.

Share Candidate via Email API Call**Purpose**
-----------

[](#purpose-24)

This API call allows you to **share a candidate's profile via email** by sending their information along with a custom message to the specified recipients.

---

**Endpoint**
------------

[](#endpoint-24)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/share/email`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-24)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-13)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The name of the person sharing the candidate's profile.`email``string`The email address of the recipient.`message``string`The custom message that will be included in the email.**Note:**

- Ensure the recipient's email address is valid and properly formatted.

---

**Description**
---------------

[](#description-13)

- This API allows you to share a candidate's profile via email with a personalized message.
- The `candidate_id` should be replaced with the actual ID of the candidate whose profile is being shared.

**Important Notes:**

- Make sure the `candidate_id` is correctly replaced with the candidate’s ID.
- Validate the recipient's email and message content for accuracy before sending.
- This API is useful for sharing candidate details directly with team members or external contacts.

Share Candidate via Link API Call**Purpose**
-----------

[](#purpose-25)

This API call allows you to **share a candidate's profile via a link**, making it easy to send the candidate's profile to others directly.

---

**Endpoint**
------------

[](#endpoint-25)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/share/link`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-25)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-14)

This API call does not require a request body.

**Note:**

- The API will generate a link to share the candidate's profile. No additional data is required in the request body.

---

**Description**
---------------

[](#description-14)

- This API call generates a shareable link to a candidate's profile, allowing you to share the candidate's details quickly and easily.
- The `candidate_id` in the URL must be replaced with the actual candidate's ID whose profile you want to share.

**Important Notes:**

- Ensure the `candidate_id` is correctly replaced with the candidate’s ID.
- This API is particularly useful when you need to send a quick link to the candidate's profile without manually sharing any details.

Send Candidate Questionnaire API Call**Purpose**
-----------

[](#purpose-26)

This API call allows you to **send a questionnaire** to a candidate, allowing them to fill it out and submit their responses. It includes options for a subject, body, and selecting specific questionnaire templates.

---

**Endpoint**
------------

[](#endpoint-26)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/send-questionnaire`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-26)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-15)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`subject``string`The subject of the questionnaire email.`body``string`The body of the email to be sent with the questionnaire.`questionnaire_id``string`The ID of the questionnaire to send to the candidate.`template_id``string`The ID of the template to be used for the questionnaire.**Note:**

- Ensure that the `questionnaire_id` and `template_id` correspond to valid entries in the system.
- The `subject` and `body` can be customized to tailor the message sent to the candidate.

---

**Description**
---------------

[](#description-15)

- This API sends a questionnaire to the specified candidate via email.
- The email includes a subject, body, and a link to the questionnaire, allowing the candidate to fill it out.

**Important Notes:**

- Make sure to replace the `candidate_id` with the actual ID of the candidate you want to send the questionnaire to.
- Both `questionnaire_id` and `template_id` must be valid to ensure that the correct questionnaire and template are sent.
- The `Authorization` header must contain a valid access token.

Decline Candidate API Call**Purpose**
-----------

[](#purpose-27)

This API call allows you to **decline a candidate** by updating their disposition status in the VIVAHR system. This is typically used when a candidate is not moving forward in the hiring process.

---

**Endpoint**
------------

[](#endpoint-27)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/decline`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-27)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-16)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`disposition``string`The disposition reason for declining the candidate (e.g., "rejected", "not suitable").**Note:**

- The `disposition` field is required to specify why the candidate is being declined.

---

**Description**
---------------

[](#description-16)

- This API call updates the candidate’s status to "declined" and sets the disposition reason in the system.
- You must provide the `disposition` reason when calling this API, which explains why the candidate is not being moved forward.

**Important Notes:**

- Make sure to replace the `candidate_id` in the URL with the actual ID of the candidate being declined.
- Ensure the `disposition` value is appropriate for the context (e.g., "rejected", "not suitable").

List Candidate Status Stages API Call**Purpose**
-----------

[](#purpose-28)

This API call allows you to **retrieve the status stages** for a specific candidate in the VIVAHR system. This helps track the different stages a candidate goes through in the hiring process.

---

**Endpoint**
------------

[](#endpoint-28)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/status-stages`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-28)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-17)

This API call does not require a request body.

---

**Description**
---------------

[](#description-17)

- This API call retrieves the available status stages for a candidate.
- The status stages are the various points or phases in the hiring process that the candidate progresses through.

**Important Notes:**

- Ensure that the `candidate_id` is correctly provided in the URL to fetch the correct status stages for that candidate.
- You do not need to provide any request body for this call.

Set Candidate Status API Call**Purpose**
-----------

[](#purpose-29)

This API call allows you to **set or update the status** of a specific candidate in the VIVAHR system. It allows you to assign the candidate a new status based on predefined status options.

---

**Endpoint**
------------

[](#endpoint-29)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/set-status`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-29)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-18)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`status_id``string`The ID of the status to be assigned to the candidate.**Note:**

- Ensure that the `status_id` corresponds to a valid status in the system.

---

**Description**
---------------

[](#description-18)

- This API call assigns a new status to the candidate, updating their progress in the hiring process.
- The `status_id` provided should match an existing status in the VIVAHR system.

**Important Notes:**

- Ensure that the `candidate_id` and `status_id` are correctly provided in the request.
- Only valid status IDs will be accepted by the system.

Assign Tag to Candidate API Call**Purpose**
-----------

[](#purpose-30)

This API call allows you to **assign a tag** to a specific candidate in the VIVAHR system. Tags help categorize candidates based on different criteria or characteristics for easier management and searching.

---

**Endpoint**
------------

[](#endpoint-30)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id/tag`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-30)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-19)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`tag``string`The tag to be assigned to the candidate.**Note:**

- Ensure that the `tag` is a valid string and matches your tagging conventions.

---

**Description**
---------------

[](#description-19)

- This API call is used to assign a tag to a candidate, helping to categorize and filter candidates within the system.
- The tag can represent different attributes of the candidate, such as skills, source, or stage in the hiring process.

**Important Notes:**

- Ensure the `candidate_id` in the URL is correct.
- Tags should be meaningful and standardized for better candidate tracking.

Delete Candidate API Call**Purpose**
-----------

[](#purpose-31)

This API call allows you to **delete a specific candidate** from the VIVAHR system. Once deleted, the candidate's information will be permanently removed.

---

**Endpoint**
------------

[](#endpoint-31)

- **URL:** `https://auth.vivahr.com/v1/candidates/:candidate_id`
    - Replace `:candidate_id` with the actual candidate ID.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-31)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-20)

This API call does not require a request body.

**Note:**

- No additional data needs to be provided in the request body.

---

**Description**
---------------

[](#description-20)

- This API call deletes a candidate's profile from the VIVAHR system.
- Once a candidate is deleted, their information is permanently removed and cannot be recovered.

**Important Notes:**

- Ensure that the `candidate_id` in the URL corresponds to the correct candidate you want to delete.
- This action is irreversible, so double-check before sending the request.

### **Candidate Notes**

[](#candidate-notes)

Manage notes related to candidates, allowing for tracking of interactions and observations.

Add Candidate Note API Call**Purpose**
-----------

[](#purpose-32)

This API call allows you to **add a note** to a specific candidate's profile in the VIVAHR system. The note can include any additional information or comments related to the candidate.

---

**Endpoint**
------------

[](#endpoint-32)

- **URL:** `https://auth.vivahr.com/v1/candidate-notes`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-32)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-21)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`candidate_id``string`The ID of the candidate to whom the note will be added.`note``string`The content of the note to be added to the candidate's profile.**Note:**

- Ensure that both the `candidate_id` and the `note` are provided in the request.

---

**Description**
---------------

[](#description-21)

- This API call allows adding notes to a candidate's profile, which can be used for tracking or adding additional details about the candidate.
- You can add any relevant information, such as interview feedback, comments, or observations.

**Important Notes:**

- The `candidate_id` should correspond to a valid candidate in the system.
- The note field should not be left empty and should contain relevant information about the candidate.

Get Candidate Note API Call**Purpose**
-----------

[](#purpose-33)

This API call allows you to **retrieve a specific candidate's note** by using the candidate note ID. It returns the details of the note associated with a candidate in the VIVAHR system.

---

**Endpoint**
------------

[](#endpoint-33)

- **URL:** `https://auth.vivahr.com/v1/candidate-notes/:candidate_note_id`
    - Replace `:candidate_note_id` with the actual candidate note ID.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-33)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-22)

This request does not require a body.

---

**Description**
---------------

[](#description-22)

- This API call retrieves the details of a specific candidate's note using the note ID.
- The response includes information about the note, such as its content and the candidate it is associated with.

**Important Notes:**

- Ensure that the `candidate_note_id` in the URL corresponds to an existing note in the system.
- Only valid access tokens can be used to access this endpoint.

List Candidate Notes API Call**Purpose**
-----------

[](#purpose-34)

This API call allows you to **retrieve a list of candidate notes**. You can filter the notes by candidate ID and paginate through them by specifying the limit and offset.

---

**Endpoint**
------------

[](#endpoint-34)

- **URL:** `https://auth.vivahr.com/v1/candidate-notes`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-34)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-23)

The request body must be sent as `application/json` with the following fields:

**Field****Type****Description**`limit``string`The maximum number of notes to retrieve.`offset``string`The starting point for pagination (use to skip records).`candidate_id``string`The ID of the candidate whose notes you want to retrieve.**Note:**

- You can adjust the `limit` and `offset` to control the number of notes returned and to paginate through the results.

---

**Description**
---------------

[](#description-23)

- This API call retrieves a paginated list of notes associated with a specific candidate in the VIVAHR system.
- The list can be filtered by `candidate_id` and can include additional pagination parameters (`limit` and `offset`).

**Important Notes:**

- Ensure the `candidate_id` is valid and corresponds to an existing candidate in the system.
- The `limit` parameter determines how many notes to retrieve per request, and the `offset` allows you to skip records for pagination.

Delete Candidate Note API Call**Purpose**
-----------

[](#purpose-35)

This API call allows you to **delete a specific candidate note** by its ID.

---

**Endpoint**
------------

[](#endpoint-35)

- **URL:** `https://auth.vivahr.com/v1/candidate-notes/:candidate_note_id`
    - Replace `:candidate_note_id` with the actual ID of the candidate note you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-35)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-24)

This API call does **not** require a request body.

---

**Description**
---------------

[](#description-24)

- This API call deletes a candidate note identified by its `candidate_note_id`.
- It is useful for removing notes that are no longer relevant or need to be cleared from the system.

**Important Notes:**

- Ensure that the `candidate_note_id` in the URL corresponds to an existing note.
- Once deleted, the note cannot be recovered, so proceed with caution.

### **Compliance**

[](#compliance)

Access compliance-related functionalities to ensure that your hiring practices adhere to relevant regulations.

Get Compliance API Call**Purpose**
-----------

[](#purpose-36)

This API call retrieves **compliance information** from the VIVAHR system. It provides details on the compliance status and other related information.

---

**Endpoint**
------------

[](#endpoint-36)

- **URL:** `https://auth.vivahr.com/v1/compliance`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-36)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-25)

This API call does not require a request body.

---

**Description**
---------------

[](#description-25)

- This API call fetches the compliance data for the VIVAHR system.
- It returns details about the system’s compliance status, including any necessary actions or updates.

**Important Notes:**

- Ensure you provide a valid access token in the `Authorization` header.
- No request body is required for this GET request.

Update EEO Survey Compliance API Call**Purpose**
-----------

[](#purpose-37)

This API call allows you to **update EEO (Equal Employment Opportunity) survey compliance** data in the VIVAHR system. It lets you modify or add the EEO survey information and associated dispositions.

---

**Endpoint**
------------

[](#endpoint-37)

- **URL:** `https://auth.vivahr.com/v1/compliance/eeo-survey`
- **Method:** `PATCH`

---

**Headers**
-----------

[](#headers-37)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-26)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`eeo_survey``string`The data related to the EEO survey.`eeo_dispositions``string`The dispositions related to the EEO survey data.**Note:**

- Both fields should contain valid information as required by the system.

---

**Description**
---------------

[](#description-26)

- This API call updates the EEO survey data and its associated dispositions in the VIVAHR system.
- The data is essential for maintaining compliance with EEO regulations.

**Important Notes:**

- Ensure that the request body contains valid survey and disposition data.
- Only provide the fields that need to be updated. Other data will remain unchanged.
- Ensure the `Authorization` header contains a valid access token for authentication.

#### **Disposition Reasons**

[](#disposition-reasons)

Create Disposition Reason API Call**Purpose**
-----------

[](#purpose-38)

This API call allows you to **create a new disposition reason** for a candidate in the VIVAHR system. Disposition reasons are used to categorize the outcome of a candidate's status or hiring process.

---

**Endpoint**
------------

[](#endpoint-38)

- **URL:** `https://auth.vivahr.com/v1/disposition-reasons`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-38)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-27)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`disposition``string`The name or description of the disposition reason.**Note:**

- The `disposition` field is required to provide the reason for the disposition.

---

**Description**
---------------

[](#description-27)

- This API call creates a new disposition reason, which can then be used when setting the status of candidates in the VIVAHR system.
- Disposition reasons help categorize and track the progress of candidates through the hiring pipeline.

**Important Notes:**

- Ensure that the `disposition` value is valid and descriptive of the outcome.
- This API call is essential for improving candidate tracking and workflow management.

Update Disposition Reason API Call**Purpose**
-----------

[](#purpose-39)

This API call allows you to **update an existing disposition reason** in the VIVAHR system. Disposition reasons are used to categorize the outcome of a candidate's status or hiring process, and this call allows modification of the name or description of an existing reason.

---

**Endpoint**
------------

[](#endpoint-39)

- **URL:** `https://auth.vivahr.com/v1/disposition-reasons/:id`
    - Replace `:id` with the actual ID of the disposition reason you want to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-39)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-28)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`disposition``string`The new name or description for the disposition reason.**Note:**

- The `disposition` field is required to specify the new description or name for the disposition reason.

---

**Description**
---------------

[](#description-28)

- This API call updates the name or description of an existing disposition reason in the VIVAHR system.
- You must specify the `id` of the disposition reason you want to modify in the URL.

**Important Notes:**

- Ensure that the `disposition` value is descriptive and correctly reflects the intended outcome.
- The `id` in the URL must correspond to an existing disposition reason in the system.

Get Disposition Reason API Call**Purpose**
-----------

[](#purpose-40)

This API call allows you to **retrieve an existing disposition reason** from the VIVAHR system by its unique ID. It provides the details associated with the specified disposition reason.

---

**Endpoint**
------------

[](#endpoint-40)

- **URL:** `https://auth.vivahr.com/v1/disposition-reasons/:id`
    - Replace `:id` with the actual ID of the disposition reason you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-40)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-29)

This API call does not require a request body.

---

**Description**
---------------

[](#description-29)

- This API call retrieves the details of a disposition reason in the VIVAHR system using its unique ID.
- The returned data will include the name and description of the disposition reason.

**Important Notes:**

- Ensure the `id` in the URL corresponds to an existing disposition reason in the system.
- No request body is required for this GET request.

Get All Disposition Reasons API Call**Purpose**
-----------

[](#purpose-41)

This API call allows you to **retrieve all the disposition reasons** available in the VIVAHR system. It returns a list of all the disposition reasons defined in the system.

---

**Endpoint**
------------

[](#endpoint-41)

- **URL:** `https://auth.vivahr.com/v1/disposition-reasons`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-41)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-30)

This API call does not require a request body.

---

**Description**
---------------

[](#description-30)

- This API call retrieves a list of all disposition reasons defined in the VIVAHR system.
- It provides information such as the name and description for each disposition reason.

**Important Notes:**

- Ensure that you have a valid access token in the `Authorization` header.
- No request body is required for this GET request.

Delete Disposition Reason API Call**Purpose**
-----------

[](#purpose-42)

This API call allows you to **delete an existing disposition reason** from the VIVAHR system. It requires the `id` of the disposition reason you wish to delete.

---

**Endpoint**
------------

[](#endpoint-42)

- **URL:** `https://auth.vivahr.com/v1/disposition-reasons/:id`
    - Replace `:id` with the actual disposition reason ID to be deleted.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-42)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-31)

This API call does not require a request body.

---

**Description**
---------------

[](#description-31)

- This API call deletes a specific disposition reason from the system based on the provided `id`.
- Once deleted, the disposition reason will no longer be available for use.

**Important Notes:**

- Ensure the `id` in the URL is the valid ID of the disposition reason you want to delete.
- Ensure that you have the appropriate permissions to delete disposition reasons.
- No request body is required for this DELETE request.

### Departments

[](#departments)

Interact with departments within your organization for job postings and candidate tracking.

Create Department API Call**Purpose**
-----------

[](#purpose-43)

This API call allows you to **create a new department** in the VIVAHR system. It enables the addition of a department along with the associated team members.

---

**Endpoint**
------------

[](#endpoint-43)

- **URL:** `https://auth.vivahr.com/v1/departments`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-43)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-32)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The name of the department.`team_members[]``array`A list of team member IDs to associate with the department.**Note:**

- Provide the department's name and the team members to be included.

---

**Description**
---------------

[](#description-32)

- This API call creates a new department in the system and assigns specified team members to it.
- The `team_members[]` field accepts multiple team member IDs to be added to the department.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- Validate that the team member IDs are correct and exist in the system.
- The department name must be unique.

Update Department API Call**Purpose**
-----------

[](#purpose-44)

This API call allows you to **update a department** by modifying its name and associated team members.

---

**Endpoint**
------------

[](#endpoint-44)

- **URL:** `https://auth.vivahr.com/v1/departments/:department_id`
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-44)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-33)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The name of the department.`team_member[]``array`A list of team member IDs to be added to the department.**Note:**

- The `department_id` must be specified in the URL to target the department to be updated.
- If no team members are to be updated, the `team_member[]` field can be omitted.

---

**Description**
---------------

[](#description-33)

- This API call updates the details of a specified department.
- You can modify the department's name and the team members associated with it.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The department ID must be valid and exist in the system.

Get Department API Call**Purpose**
-----------

[](#purpose-45)

This API call allows you to **retrieve details of a specific department** by its ID.

---

**Endpoint**
------------

[](#endpoint-45)

- **URL:** `https://auth.vivahr.com/v1/departments/:department_id`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-45)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-34)

- This API call retrieves the details of a department by its unique ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The department ID must be valid.

Get All Departments API Call**Purpose**
-----------

[](#purpose-46)

This API call allows you to **retrieve a list of departments**, with optional pagination.

---

**Endpoint**
------------

[](#endpoint-46)

- **URL:** `https://auth.vivahr.com/v1/departments`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-46)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Indicates that the body is in JSON format.---

**Request Body**
----------------

[](#request-body-34)

The request body must be sent as `application/json` with the following fields:

**Field****Type****Description**`limit``string`The maximum number of departments to return.`offset``string`The offset for pagination.**Note:**

- `limit` and `offset` are optional parameters to paginate the results.

---

**Description**
---------------

[](#description-35)

- This API call retrieves a list of departments with an optional limit and offset for pagination.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Delete Department API Call**Purpose**
-----------

[](#purpose-47)

This API call allows you to **delete a department** by its ID.

---

**Endpoint**
------------

[](#endpoint-47)

- **URL:** `https://auth.vivahr.com/v1/departments/:department_id`
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-47)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-36)

- This API call deletes a specific department identified by its `department_id`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The department ID must be valid and exist in the system.
- Deleting a department is a permanent action.

### Locations

[](#locations)

Manage and retrieve location information for job postings and candidate applications.

Create Location API Call**Purpose**
-----------

[](#purpose-48)

This API call allows you to **create a new location** in the system, providing details such as the location's name, address, country, city, state, and associated team members.

---

**Endpoint**
------------

[](#endpoint-48)

- **URL:** `https://auth.vivahr.com/v1/locations`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-48)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-35)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`location_name``string`The name of the location.`street_address``string`The street address of the location.`country``string`The country of the location.`city``string`The city of the location.`state``string`The state of the location.`zipcode``string`The zip code of the location.`team_members[]``array`A list of team member IDs to be associated with the location.**Note:**

- The location’s address details must be provided.
- If no team members are to be added, the `team_members[]` field can be omitted.

---

**Description**
---------------

[](#description-37)

- This API call creates a new location and associates it with specified team members.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Update Location API Call**Purpose**
-----------

[](#purpose-49)

This API call allows you to **update an existing location** by modifying its name, address, and team members.

---

**Endpoint**
------------

[](#endpoint-49)

- **URL:** `https://auth.vivahr.com/v1/locations/:locationID`
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-49)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-36)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`location_name``string`The name of the location.`street_address``string`The street address of the location.`country``string`The country of the location.`city``string`The city of the location.`state``string`The state of the location.`zipcode``string`The zip code of the location.`team_members[]``array`A list of team member IDs to be associated with the location.**Note:**

- The `locationID` must be specified in the URL to target the location to be updated.
- If no team members are to be updated, the `team_members[]` field can be omitted.

---

**Description**
---------------

[](#description-38)

- This API call updates the details of a specific location identified by its ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The location ID must be valid and exist in the system.

Get Location API Call**Purpose**
-----------

[](#purpose-50)

This API call allows you to **retrieve details of a specific location** using its ID.

---

**Endpoint**
------------

[](#endpoint-50)

- **URL:** `https://auth.vivahr.com/v1/locations/:locationID`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-50)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-39)

- This API call retrieves the details of a location identified by its unique ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The location ID must be valid.

Get All Locations API Call**Purpose**
-----------

[](#purpose-51)

This API call allows you to **retrieve a list of locations** with optional pagination parameters.

---

**Endpoint**
------------

[](#endpoint-51)

- **URL:** `https://auth.vivahr.com/v1/locations`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-51)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Indicates that the body is in JSON format.---

**Request Body**
----------------

[](#request-body-37)

The request body must be sent as `application/json` with the following fields:

**Field****Type****Description**`limit``string`The maximum number of locations to return.`offset``string`The offset for pagination.**Note:**

- `limit` and `offset` are optional parameters to paginate the results.

---

**Description**
---------------

[](#description-40)

- This API call retrieves a list of locations with optional parameters to limit the results.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Delete Location API Call**Purpose**
-----------

[](#purpose-52)

This API call allows you to **delete a location** by its ID.

---

**Endpoint**
------------

[](#endpoint-52)

- **URL:** `https://auth.vivahr.com/v1/locations/:locationID`
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-52)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-41)

- This API call deletes a specific location identified by its `locationID`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The location ID must be valid.
- Deleting a location is permanent and cannot be undone.

Reactivate Location API Call**Purpose**
-----------

[](#purpose-53)

This API call allows you to **reactivate a previously deleted location** by its ID.

---

**Endpoint**
------------

[](#endpoint-53)

- **URL:** `https://auth.vivahr.com/v1/locations/:locationID/reactivate`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-53)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Description**
---------------

[](#description-42)

- This API call reactivates a location that was previously deleted.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The location ID must be valid and previously deleted.

### Team Members

[](#team-members)

Handle information related to team members who participate in the hiring process.

Create Team Member API Call**Purpose**
-----------

[](#purpose-54)

This API call allows you to **create a new team member** in the system, providing details such as their name, email, password, profile photo, associated locations, job openings, and additional settings.

---

**Endpoint**
------------

[](#endpoint-54)

- **URL:** `https://auth.vivahr.com/v1/team-members`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-54)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-38)

The request body must be sent as `multipart/form-data` with the following fields:

**Field****Type****Description**`email_user``boolean`Indicates if the team member should receive an email invite (`1` or `0`).`first_name``string`The first name of the team member.`last_name``string`The last name of the team member.`profile_photo``file`A file representing the team member's profile photo.`remove_image``boolean`Indicates if the profile photo should be removed (`1` or `0`).`member_status``integer`The status of the team member (`1` for active).`email``string`The team member's email address.`password``string`The team member's password.`location_ids[]``array`An array of location IDs the team member will be associated with.`job_openings[]``array`An array of job opening IDs the team member will be associated with.`profile_id``string`The ID of the profile (optional, can be left empty).**Note:**

- Use the `fileInput.files[0]` reference to upload the profile photo file.
- You can specify multiple job openings using repeated `job_openings[]` fields.

---

**Description**
---------------

[](#description-43)

- This API call creates a new team member with the specified details.
- If `email_user` is set to `1`, the new team member will receive an email invitation.
- `remove_image` allows you to specify whether to remove an existing profile image for updates.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `profile_photo` file should be uploaded as part of the `multipart/form-data`.

Update Team Member API Call**Purpose**
-----------

[](#purpose-55)

This API call allows you to **update an existing team member's details** in the system, such as their name, email, profile photo, associated locations, and job openings.

---

**Endpoint**
------------

[](#endpoint-55)

- **URL:** `https://auth.vivahr.com/v1/team-members/:employer_id`
    - Replace `:employer_id` with the ID of the employer or team member to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-55)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-39)

The request body must be sent as `multipart/form-data` with the following fields:

**Field****Type****Description**`email_user``boolean`Indicates if the team member should receive an email invite (`1` or `0`).`first_name``string`The first name of the team member.`last_name``string`The last name of the team member.`profile_photo``file`A file representing the team member's profile photo.`remove_image``boolean`Indicates if the profile photo should be removed (`1` or `0`).`member_status``integer`The status of the team member (`1` for active).`email``string`The team member's email address.`password``string`The team member's password.`location_ids[]``array`An array of location IDs the team member will be associated with.`job_openings[]``array`An array of job opening IDs the team member will be associated with.`profile_id``string`The ID of the profile (optional, can be left empty).**Note:**

- Use the `fileInput.files[0]` reference to upload the profile photo file.
- You can specify multiple job openings using repeated `job_openings[]` fields.

---

**Description**
---------------

[](#description-44)

- This API call updates the details of an existing team member.
- If `email_user` is set to `1`, the team member will receive an email notification about the updates.
- `remove_image` allows you to specify whether to remove an existing profile image.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `profile_photo` file should be uploaded as part of the `multipart/form-data`.

Get Team Member by ID API Call**Purpose**
-----------

[](#purpose-56)

This API call allows you to **retrieve details of a specific team member** by their unique ID.

---

**Endpoint**
------------

[](#endpoint-56)

- **URL:** `https://auth.vivahr.com/v1/team-members/:employer_id`
    - Replace `:employer_id` with the ID of the team member to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-56)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-40)

This request does not require a body.

---

**Description**
---------------

[](#description-45)

- This API retrieves detailed information about a team member identified by their `employer_id`.
- Use this endpoint to fetch data such as the team member's name, email, profile details, and associated locations or job openings.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token.
- Replace `:employer_id` in the URL with the actual ID of the team member whose details you want to fetch.

List Team Members API Call**Purpose**
-----------

[](#purpose-57)

This API call allows you to **retrieve a list of all team members** within the organization.

---

**Endpoint**
------------

[](#endpoint-57)

- **URL:** `https://auth.vivahr.com/v1/team-members`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-57)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-41)

This request does not require a body.

---

**Description**
---------------

[](#description-46)

- This API returns a list of all team members, including their details such as names, emails, roles, associated locations, and job openings.
- Use this endpoint to manage or display the list of team members in your application.

**Important Notes:**

- Ensure the `Authorization` header contains a valid access token.
- This endpoint supports pagination. If additional parameters like `limit` or `offset` are required, they can be appended as query parameters to the URL (e.g., `https://auth.vivahr.com/v1/team-members?limit=10&offset=0`).

Activate Custom Roles API Call**Purpose**
-----------

[](#purpose-58)

This API is used to **activate custom roles** for team members. No additional values need to be provided in the request body.

---

**Endpoint**
------------

[](#endpoint-58)

- **URL:** `https://auth.vivahr.com/v1/team-members`
- **Method:** `PATCH`

---

**Headers**
-----------

[](#headers-58)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-42)

This request does **not require any specific values** in the body.

**Note:**

- No fields need to be sent in the body for this operation.

---

**Description**
---------------

[](#description-47)

- This endpoint is specifically designed to **activate custom roles** for team members without requiring additional input.
- Ensure that your authorization token has sufficient permissions to perform this action.

**Important Notes:**

- The activation process applies to custom roles already configured within the system.
- Contact the support team if roles do not activate as expected.

### Embed Careers

[](#embed-careers)

Embed career opportunities into your website or platform, allowing candidates to apply directly.

Get Embedded Career Jobs API Call**Purpose**
-----------

[](#purpose-59)

This API retrieves the embedded job postings configured for a specific career page.

---

**Endpoint**
------------

[](#endpoint-59)

- **URL:** `https://auth.vivahr.com/v1/embed/career-jobs`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-59)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-43)

This request does **not require a body**.

---

**Description**
---------------

[](#description-48)

- The API is used to retrieve a list of embedded job postings associated with a company's career page.
- This call fetches job details as configured and displayed on the career page.

**Important Notes:**

- The authorization token must have sufficient access rights to retrieve career job postings.
- Ensure that the embedded configuration for the career page is properly set up within the system.

Get Embedded Jobs API Call**Purpose**
-----------

[](#purpose-60)

This API retrieves the embedded job postings available for external integrations or career page displays.

---

**Endpoint**
------------

[](#endpoint-60)

- **URL:** `https://auth.vivahr.com/v1/embed/jobs`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-60)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-44)

This request does **not require a body**.

---

**Description**
---------------

[](#description-49)

- The API fetches job postings configured for embedding via external systems or career page widgets.
- The retrieved data includes job details that are optimized for integration purposes.

**Important Notes:**

- Ensure your access token has sufficient permissions to access the embedded jobs data.
- The endpoint provides jobs intended for external systems or career page embeds.

### Pipelines

[](#pipelines)

Manage the various stages of the candidate pipeline throughout the hiring process.

Create Pipeline API Call**Purpose**
-----------

[](#purpose-61)

Creates a new pipeline for organizing and managing candidates or job processes.

---

**Endpoint**
------------

[](#endpoint-61)

- **URL:** `https://auth.vivahr.com/v1/pipelines`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-61)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-45)

The request body must include the following fields:

**Field****Type****Description**`pipeline_name``string`The name of the new pipeline.**Note:**

- No additional fields are required to be added.

---

**Description**
---------------

[](#description-50)

- This API creates a new pipeline to organize the hiring or job processes.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.

Update Pipeline API Call**Purpose**
-----------

[](#purpose-62)

Updates an existing pipeline with a new name.

---

**Endpoint**
------------

[](#endpoint-62)

- **URL:** `https://auth.vivahr.com/v1/pipelines/{pipeline_id}`
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-62)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-46)

The request body must include the following fields:

**Field****Type****Description**`pipeline_name``string`The updated name of the pipeline.**Note:**

- No additional fields are required to be added.

---

**Description**
---------------

[](#description-51)

- This API updates an existing pipeline with the specified pipeline ID.

**Important Notes:**

- Replace `{pipeline_id}` in the URL with the actual pipeline ID to update.

Get Pipeline API Call**Purpose**
-----------

[](#purpose-63)

Retrieves information about a specific pipeline.

---

**Endpoint**
------------

[](#endpoint-63)

- **URL:** `https://auth.vivahr.com/v1/pipelines/{pipeline_id}`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-63)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-47)

This API does not require a request body.

---

**Description**
---------------

[](#description-52)

- This API retrieves details of a pipeline using the pipeline ID.

**Important Notes:**

- Replace `{pipeline_id}` in the URL with the actual pipeline ID to retrieve.

Get Pipelines API Call**Purpose**
-----------

[](#purpose-64)

Retrieves a list of pipelines with optional pagination.

---

**Endpoint**
------------

[](#endpoint-64)

- **URL:** `https://auth.vivahr.com/v1/pipelines`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-64)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-48)

The request body must include the following fields:

**Field****Type****Description**`limit``integer`The number of pipelines to retrieve.`offset``integer`The starting point for pagination.**Note:**

- Both `limit` and `offset` are optional for pagination.

---

**Description**
---------------

[](#description-53)

- This API retrieves a list of pipelines with pagination support.

**Important Notes:**

- Provide `limit` and `offset` values to control the number of pipelines returned.

Delete Pipeline API Call**Purpose**
-----------

[](#purpose-65)

Deletes a specific pipeline.

---

**Endpoint**
------------

[](#endpoint-65)

- **URL:** `https://auth.vivahr.com/v1/pipelines/{pipeline_id}`
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-65)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-49)

This API does not require a request body.

---

**Description**
---------------

[](#description-54)

- This API deletes a specific pipeline using its pipeline ID.

**Important Notes:**

- Replace `{pipeline_id}` in the URL with the actual pipeline ID to delete.

### Pipeline Stages

[](#pipeline-stages)

Create Pipeline Stage API Call**Purpose**
-----------

[](#purpose-66)

Creates a new pipeline stage within a specified pipeline.

---

**Endpoint**
------------

[](#endpoint-66)

- **URL:** `https://auth.vivahr.com/v1/pipeline-stages`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-66)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-50)

The request body must include the following fields:

**Field****Type****Description**`pipeline_id``integer`The ID of the pipeline where the stage will be added.`stage_type_id``integer`The ID for the type of stage (e.g., initial stage, interview stage).`name``string`The name of the stage.`sort``integer`The sort order for the stage.**Note:**

- All fields are required to properly define the new pipeline stage.

---

**Description**
---------------

[](#description-55)

- This API creates a new stage for the specified pipeline with the given stage type.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.
- Replace the fields `pipeline_id` and `stage_type_id` with valid IDs from your system.

Update Pipeline Stage API Call**Purpose**
-----------

[](#purpose-67)

Updates an existing pipeline stage within a specified pipeline.

---

**Endpoint**
------------

[](#endpoint-67)

- **URL:** `https://auth.vivahr.com/v1/pipeline-stages/:stage_id`
    - Replace `:stage_id` with the ID of the pipeline stage to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-67)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-51)

The request body must include the following fields:

**Field****Type****Description**`pipeline_id``integer`The ID of the pipeline where the stage exists.`stage_type_id``integer`The ID for the type of stage (e.g., interview, disqualified).`name``string`The name of the stage.`sort``integer`The sort order for the stage.**Note:**

- Replace `:stage_id` with the specific ID of the pipeline stage you want to update.
- All fields are required to update the pipeline stage.

---

**Description**
---------------

[](#description-56)

- This API updates the details of an existing pipeline stage. You must specify the pipeline stage ID and provide the new details for the stage.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.
- Replace the `pipeline_id` and `stage_type_id` with valid IDs from your system.

Get Pipeline Stage API Call**Purpose**
-----------

[](#purpose-68)

Fetches the details of a specific pipeline stage by its ID.

---

**Endpoint**
------------

[](#endpoint-68)

- **URL:** `https://auth.vivahr.com/v1/pipeline-stages/:stage_id`
    - Replace `:stage_id` with the ID of the pipeline stage you wish to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-68)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-52)

This API call does not require a request body.

---

**Description**
---------------

[](#description-57)

- This API retrieves the details of a specific pipeline stage, identified by its `stage_id`. The response will contain the information for the stage, such as the pipeline it belongs to, its type, name, and sort order.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.
- Replace `:stage_id` with the specific ID of the pipeline stage you want to fetch.

Delete Pipeline Stage API Call**Purpose**
-----------

[](#purpose-69)

Deletes a specific pipeline stage identified by its `stage_id`.

---

**Endpoint**
------------

[](#endpoint-69)

- **URL:** `https://auth.vivahr.com/v1/pipeline-stages/:stage_id`
    - Replace `:stage_id` with the ID of the pipeline stage you wish to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-69)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-53)

This API call does not require a request body.

---

**Description**
---------------

[](#description-58)

- This API deletes a pipeline stage identified by its `stage_id`. After a successful deletion, the stage will no longer be part of the pipeline.
- The response will indicate the success or failure of the deletion request.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.
- Replace `:stage_id` with the specific ID of the pipeline stage you want to delete.

List Pipeline Stage Types API Call**Purpose**
-----------

[](#purpose-70)

Retrieves a list of all available pipeline stage types.

---

**Endpoint**
------------

[](#endpoint-70)

- **URL:** `https://auth.vivahr.com/v1/pipeline-stages/types`
    - No dynamic variables in the URL.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-70)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-54)

This API call does not require a request body.

---

**Description**
---------------

[](#description-59)

- This API retrieves a list of all available pipeline stage types. It is useful for understanding the different stage types that can be used in pipeline stages.
- A successful response will include the details of the available pipeline stage types.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.

### Scorecards

[](#scorecards)

Utilize scorecards for evaluating candidates during the interview and hiring process.

Create Scorecard API Call**Purpose**
-----------

[](#purpose-71)

Creates a new scorecard with sections and fields.

---

**Endpoint**
------------

[](#endpoint-71)

- **URL:** `https://auth.vivahr.com/v1/scorecards`
    - No dynamic variables in the URL.
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-71)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-55)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`scorecard_name``string`The name of the scorecard.`section[0][name]``string`The name of the first section.`section[0][fields][]``array`The list of fields for the first section.**Note:**

- The number of sections and fields may vary. In this case, only the first section is shown as an example.
- Ensure the request body is properly encoded in `application/x-www-form-urlencoded`.

---

**Description**
---------------

[](#description-60)

- This API call is used to create a new scorecard that can be used for evaluating candidates.
- You can include multiple sections, and each section can contain various fields.
- The response will include the details of the newly created scorecard.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.

Update Scorecard API Call**Purpose**
-----------

[](#purpose-72)

Updates an existing scorecard with new sections and fields.

---

**Endpoint**
------------

[](#endpoint-72)

- **URL:** `https://auth.vivahr.com/v1/scorecards/:scorecard_id`
    - Replace `:scorecard_id` with the ID of the scorecard to be updated.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-72)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-56)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`scorecard_name``string`The name of the scorecard.`section[0][name]``string`The name of the first section.`section[0][fields][]``array`The list of fields for the first section.**Note:**

- The number of sections and fields may vary. In this case, only the first section is shown as an example.
- Ensure the request body is properly encoded in `application/x-www-form-urlencoded`.
- Replace `:scorecard_id` with the actual ID of the scorecard you want to update.

---

**Description**
---------------

[](#description-61)

- This API call is used to update an existing scorecard, including its name, sections, and fields.
- You can modify the sections and fields of the scorecard to reflect the most recent changes.
- The response will include the updated scorecard details.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token.

Retrieve Scorecard API Call**Purpose**
-----------

[](#purpose-73)

Retrieves an existing scorecard by its ID.

---

**Endpoint**
------------

[](#endpoint-73)

- **URL:** `https://auth.vivahr.com/v1/scorecards/:scorecard_id`
    - Replace `:scorecard_id` with the ID of the scorecard you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-73)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-57)

No request body is required for this API call.

---

**Description**
---------------

[](#description-62)

- This API call retrieves the details of an existing scorecard, including its sections and fields, based on the provided `scorecard_id`.
- The response will contain the scorecard's details, including the name, sections, and the fields within each section.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:scorecard_id` with the actual ID of the scorecard you want to retrieve.

List Scorecards API Call**Purpose**
-----------

[](#purpose-74)

Retrieves a list of all scorecards.

---

**Endpoint**
------------

[](#endpoint-74)

- **URL:** `https://auth.vivahr.com/v1/scorecards`
    - This endpoint lists all available scorecards.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-74)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-58)

No request body is required for this API call.

---

**Description**
---------------

[](#description-63)

- This API call retrieves all scorecards available within the system, including their sections and fields.
- The response will contain a list of scorecards with relevant details such as their names, sections, and field data.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Delete Scorecard API Call**Purpose**
-----------

[](#purpose-75)

Deletes a specific scorecard by its ID.

---

**Endpoint**
------------

[](#endpoint-75)

- **URL:** `https://auth.vivahr.com/v1/scorecards/:scorecard_id`
    - Replace `:scorecard_id` with the actual scorecard ID you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-75)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-59)

No request body is required for this API call.

---

**Description**
---------------

[](#description-64)

- This API call deletes the scorecard specified by the `scorecard_id`.
- Once the scorecard is deleted, it will no longer be available for retrieval or editing.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Once a scorecard is deleted, it cannot be undone, so use with caution.

### Templates

[](#templates)

Manage various templates used in job postings, emails, and other communications.

#### Email Templates

[](#email-templates)

Create Email Template API Call**Purpose**
-----------

[](#purpose-76)

Creates a new email template with a name, subject, and body content.

---

**Endpoint**
------------

[](#endpoint-76)

- **URL:** `https://auth.vivahr.com/v1/email-templates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-76)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-60)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`template_name``string`The name of the email template.`template_subject``string`The subject of the email template.`template_body``string`The body content of the email template, in HTML format.**Note:**

- Ensure the `template_body` is properly formatted in HTML.

---

**Description**
---------------

[](#description-65)

- This API call creates a new email template with the provided name, subject, and body content.
- The `template_body` can contain HTML elements such as ``, ``, etc.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Any script tags or unsafe content should be properly sanitized before being sent.

Update Email Template API Call**Purpose**
-----------

[](#purpose-77)

Updates an existing email template with new values for the template name, subject, and body content.

---

**Endpoint**
------------

[](#endpoint-77)

- **URL:** `https://auth.vivahr.com/v1/email-templates/:email_template_id`
    - Replace `:email_template_id` with the ID of the email template you want to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-77)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-61)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`template_name``string`The new name of the email template.`template_subject``string`The new subject of the email template.`template_body``string`The new body content of the email template, in HTML format.**Note:**

- Ensure the `template_body` is properly formatted in HTML.

---

**Description**
---------------

[](#description-66)

- This API call updates an existing email template with the provided name, subject, and body content.
- The `template_body` should be properly sanitized to avoid XSS vulnerabilities, especially if it includes script tags.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:email_template_id` with the actual ID of the email template you want to update.

Get Email Template API Call**Purpose**
-----------

[](#purpose-78)

Fetches an existing email template by its ID, providing details like the template's name, subject, and body content.

---

**Endpoint**
------------

[](#endpoint-78)

- **URL:** `https://auth.vivahr.com/v1/email-templates/:email_template_id`
    - Replace `:email_template_id` with the ID of the email template you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-78)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-62)

- This API call does not require a request body.

---

**Description**
---------------

[](#description-67)

- This API call retrieves the details of a specific email template by its ID.
- The response will include the `template_name`, `template_subject`, and `template_body`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:email_template_id` with the actual ID of the email template you want to fetch.

List Email Templates API Call**Purpose**
-----------

[](#purpose-79)

Fetches a list of all available email templates in the system, including their details such as name, subject, and body content.

---

**Endpoint**
------------

[](#endpoint-79)

- **URL:** `https://auth.vivahr.com/v1/email-templates`
    - No template ID is required in the URL.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-79)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-63)

- This API call does not require a request body.

---

**Description**
---------------

[](#description-68)

- This API call retrieves a list of all email templates available in the system.
- The response will include an array of email templates with their `template_name`, `template_subject`, and `template_body`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Delete Email Template API Call**Purpose**
-----------

[](#purpose-80)

Deletes a specific email template by its ID.

---

**Endpoint**
------------

[](#endpoint-80)

- **URL:** `https://auth.vivahr.com/v1/email-templates/:email_template_id`
    - Replace `:email_template_id` with the ID of the email template you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-80)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-64)

- This API call does not require a request body.

---

**Description**
---------------

[](#description-69)

- This API call deletes an email template based on the specified template ID.
- Ensure the template ID in the URL is correct before making the request.

**Important Notes:**

- Only the email template with the specified ID will be deleted.
- Ensure the `Authorization` header contains a valid token for authentication.

#### SMS Templates

[](#sms-templates)

Create SMS Template API Call**Purpose**
-----------

[](#purpose-81)

Creates a new SMS template with the provided name and content.

---

**Endpoint**
------------

[](#endpoint-81)

- **URL:** `https://auth.vivahr.com/v1/sms-templates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-81)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-65)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The name of the SMS template.`content``string`The content (body) of the SMS template.**Note:**

- `name` and `content` are required fields.

---

**Description**
---------------

[](#description-70)

- This API call creates a new SMS template in the system with the specified `name` and `content`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Make sure that both `name` and `content` are properly populated.

Update SMS Template API Call**Purpose**
-----------

[](#purpose-82)

Updates an existing SMS template with the provided `name` and `content`.

---

**Endpoint**
------------

[](#endpoint-82)

- **URL:** `https://auth.vivahr.com/v1/sms-templates/:id`
    - Replace `:id` with the ID of the SMS template to be updated.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-82)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-66)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`name``string`The new name of the SMS template.`content``string`The new content (body) of the SMS template.**Note:**

- `name` and `content` are required fields for the update.

---

**Description**
---------------

[](#description-71)

- This API call updates the SMS template with the specified `id` by modifying its `name` and `content`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- The `id` parameter should be replaced with the ID of the SMS template you wish to update.

Get SMS Template by ID API Call**Purpose**
-----------

[](#purpose-83)

Retrieves an SMS template by its unique ID.

---

**Endpoint**
------------

[](#endpoint-83)

- **URL:** `https://auth.vivahr.com/v1/sms-templates/:id`
    - Replace `:id` with the ID of the SMS template you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-83)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-67)

This request does not require a request body.

---

**Description**
---------------

[](#description-72)

- This API call retrieves the SMS template with the specified `id`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- The `id` parameter should be replaced with the ID of the SMS template you wish to retrieve.

List All SMS Templates API Call**Purpose**
-----------

[](#purpose-84)

Retrieves a list of all SMS templates.

---

**Endpoint**
------------

[](#endpoint-84)

- **URL:** `https://auth.vivahr.com/v1/sms-templates`
    - This endpoint fetches all SMS templates.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-84)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-68)

This request does not require a request body.

---

**Description**
---------------

[](#description-73)

- This API call retrieves a list of all SMS templates.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Delete SMS Template API Call**Purpose**
-----------

[](#purpose-85)

Deletes an existing SMS template by its ID.

---

**Endpoint**
------------

[](#endpoint-85)

- **URL:** `https://auth.vivahr.com/v1/sms-templates/:id`
    - Replace `:id` with the actual ID of the SMS template you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-85)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-69)

This request does not require a request body.

---

**Description**
---------------

[](#description-74)

- This API call deletes the SMS template with the specified ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

#### Offer Templates

[](#offer-templates)

Create Offer Template API Call**Purpose**
-----------

[](#purpose-86)

Creates a new offer template.

---

**Endpoint**
------------

[](#endpoint-86)

- **URL:** `https://auth.vivahr.com/v1/offer-templates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-86)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-70)

This request does not require a request body.

---

**Description**
---------------

[](#description-75)

- This API call creates a new offer template. No specific data fields are provided in the request body in the example.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Update Offer Template API Call**Purpose**
-----------

[](#purpose-87)

Updates an existing offer template with new values.

---

**Endpoint**
------------

[](#endpoint-87)

- **URL:** `https://auth.vivahr.com/v1/offer-templates/:id`
    - Replace `:id` with the offer template ID.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-87)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-71)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`template_name``string`The updated name of the offer template.`template_subject``string`The updated subject for the offer template.`template_body``string`The updated body content for the offer template.---

**Description**
---------------

[](#description-76)

- This API call updates the existing offer template with the new name, subject, and body.
- You must provide the template ID in the URL and include the updated fields in the request body.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Get Offer Template API Call**Purpose**
-----------

[](#purpose-88)

Retrieves details of a specific offer template based on the provided template ID.

---

**Endpoint**
------------

[](#endpoint-88)

- **URL:** `https://auth.vivahr.com/v1/offer-templates/:id`
    - Replace `:id` with the offer template ID.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-88)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-72)

- **This request does not require a body.**

---

**Description**
---------------

[](#description-77)

- This API call retrieves an offer template by its ID, returning the details of the template, including its name, subject, and body.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

List Offer Templates API Call**Purpose**
-----------

[](#purpose-89)

Retrieves a list of all available offer templates.

---

**Endpoint**
------------

[](#endpoint-89)

- **URL:** `https://auth.vivahr.com/v1/offer-templates`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-89)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-73)

- **This request does not require a body.**

---

**Description**
---------------

[](#description-78)

- This API call fetches all available offer templates from the system. It returns a list of templates, each containing details such as the name, subject, and body of the offer.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Delete Offer Template API Call**Purpose**
-----------

[](#purpose-90)

Deletes a specific offer template identified by its `id`.

---

**Endpoint**
------------

[](#endpoint-90)

- **URL:** `https://auth.vivahr.com/v1/offer-templates/:id`
    - Replace `:id` with the unique identifier of the offer template to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-90)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-74)

- **This request does not require a body.**

---

**Description**
---------------

[](#description-79)

- This API call removes the offer template with the specified `id` from the system.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Deleting an offer template is permanent and cannot be undone.

#### Job Description Templates

[](#job-description-templates)

Create Job Description Template API Call**Purpose**
-----------

[](#purpose-91)

Creates a new job description template with a specified job title and description.

---

**Endpoint**
------------

[](#endpoint-91)

- **URL:** `https://auth.vivahr.com/v1/job-description-templates`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-91)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-75)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`job_title``string`The title of the job for the job description template.`job_description``string`The detailed description of the job for the template.**Note:**

- Make sure the `job_title` and `job_description` fields are provided.

---

**Description**
---------------

[](#description-80)

- This API call creates a job description template with the provided title and description, which can be used for job postings and other recruitment purposes.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- The `Content-Type` header must be set to `application/x-www-form-urlencoded`.

Update Job Description Template API Call**Purpose**
-----------

[](#purpose-92)

Updates an existing job description template with a new job title and description.

---

**Endpoint**
------------

[](#endpoint-92)

- **URL:** `https://auth.vivahr.com/v1/job-description-templates/:id`
    - Replace `:id` with the unique ID of the job description template you want to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-92)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-76)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`job_title``string`The updated job title for the job description template.`job_description``string`The updated detailed description of the job for the template.**Note:**

- Make sure the `job_title` and `job_description` fields are provided to successfully update the template.

---

**Description**
---------------

[](#description-81)

- This API call updates an existing job description template using the provided job title and description.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- The `Content-Type` header must be set to `application/x-www-form-urlencoded`.
- Replace `:id` in the URL with the ID of the job description template you wish to update.

Get Job Description Template API Call**Purpose**
-----------

[](#purpose-93)

Retrieves the details of a specific job description template based on its ID.

---

**Endpoint**
------------

[](#endpoint-93)

- **URL:** `https://auth.vivahr.com/v1/job-description-templates/:id`
    - Replace `:id` with the unique ID of the job description template you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-93)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-77)

This request does not require a body.

---

**Description**
---------------

[](#description-82)

- This API call retrieves a job description template by its unique ID.
- You will get the job title and job description associated with the given template ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:id` in the URL with the ID of the job description template you wish to retrieve.

List Job Description Templates API Call**Purpose**
-----------

[](#purpose-94)

Retrieves a list of all available job description templates.

---

**Endpoint**
------------

[](#endpoint-94)

- **URL:** `https://auth.vivahr.com/v1/job-description-templates`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-94)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-78)

This request does not require a body.

---

**Description**
---------------

[](#description-83)

- This API call retrieves a list of all job description templates.
- The response includes the job title and job description for each template.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.

Delete Job Description Template API Call**Purpose**
-----------

[](#purpose-95)

Deletes a specific job description template by its ID.

---

**Endpoint**
------------

[](#endpoint-95)

- **URL:** `https://auth.vivahr.com/v1/job-description-templates/:id`
    - Replace `:id` with the ID of the job description template you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-95)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-79)

This request does not require a body.

---

**Description**
---------------

[](#description-84)

- This API call deletes a specific job description template identified by its unique `id`.
- Upon success, the template will be removed from the system.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:id` in the URL with the ID of the job description template you wish to delete.

#### System Email Templates

[](#system-email-templates)

Update System Template API Call**Purpose**
-----------

[](#purpose-96)

Updates the subject and body content of a specific system template by its ID.

---

**Endpoint**
------------

[](#endpoint-96)

- **URL:** `https://auth.vivahr.com/v1/system-templates/:template_id`
    - Replace `:template_id` with the ID of the system template you want to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-96)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-80)

The request body must be sent as `application/x-www-form-urlencoded` with the following fields:

**Field****Type****Description**`template_subject``string`The subject line for the template.`template_body``string`The body content for the template. You can use placeholders like `%first-name%`, `%job-title%`, and `%company-name%`.**Note:**

- Ensure that the template contains placeholders (e.g., `%first-name%`) for dynamic values.
- Replace the placeholders with the actual values when using the template.

---

**Description**
---------------

[](#description-85)

- This API call updates an existing system template identified by its `template_id`.
- The template's subject and body are updated with the new values provided in the request.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid token for authentication.
- Replace `:template_id` in the URL with the ID of the template you wish to update.

Get System Template API Call**Purpose**
-----------

[](#purpose-97)

This API call retrieves a specific system template by its ID.

---

**Endpoint**
------------

[](#endpoint-97)

- **URL:** `https://auth.vivahr.com/v1/system-templates/:template_id`
    - Replace `:template_id` with the actual ID of the system template you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-97)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-81)

This request does not require a body.

---

**Description**
---------------

[](#description-86)

- This endpoint allows you to retrieve a system template by its unique template ID.
- The response will contain the details of the template if it exists and is accessible with the provided access token.

**Important Notes:**

- Replace `:template_id` in the URL with the actual template ID you wish to retrieve.

Get All System Templates API Call**Purpose**
-----------

[](#purpose-98)

This API call retrieves all system templates available.

---

**Endpoint**
------------

[](#endpoint-98)

- **URL:** `https://auth.vivahr.com/v1/system-templates`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-98)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-82)

This request does not require a body.

---

**Description**
---------------

[](#description-87)

- This endpoint retrieves all system templates that are available within the VIVAHR system.
- The response will return a list of templates if they exist and are accessible with the provided access token.

**Important Notes:**

- Ensure that a valid access token is used to authenticate the request.

### Culture Profiles

[](#culture-profiles)

Access and manage culture profiles to help candidates understand your organization's culture.

Create Culture Profile API Call**Purpose**
-----------

[](#purpose-99)

This API call creates a new culture profile, including attributes like the profile name, type, hero image, and other related details.

---

**Endpoint**
------------

[](#endpoint-99)

- **URL:** `https://auth.vivahr.com/v1/culture-profile`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-99)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``multipart/form-data`Specifies that the request body contains form data.---

**Request Body**
----------------

[](#request-body-83)

The request body must include form data with the following fields:

**Field****Type****Description**`culture_profile_name`StringThe name of the culture profile.`culture_profile_type`StringType of the culture profile (e.g., Hero Image or Photo).`video_url`StringA URL for the video (if applicable).`hero_image`FileA file representing the hero image (uploaded via form).`about_us`StringA description of the company or organization.---

**Description**
---------------

[](#description-88)

- This endpoint allows you to create a culture profile by submitting the relevant details via a `POST` request.
- The profile includes fields such as name, type, a hero image, a video URL, and an "about us" description.
- The request requires the use of `multipart/form-data` to handle the file upload for `hero_image`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `hero_image` should be a file input field containing a valid image file.

Create Culture Profile - Expanded API Call**Purpose**
-----------

[](#purpose-100)

This API call creates a new culture profile with additional expanded image options, such as large and small images, along with the profile name, type, hero image, and other related details.

---

**Endpoint**
------------

[](#endpoint-100)

- **URL:** `https://auth.vivahr.com/v1/culture-profile`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-100)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``multipart/form-data`Specifies that the request body contains form data.---

**Request Body**
----------------

[](#request-body-84)

The request body must include form data with the following fields:

**Field****Type****Description**`culture_profile_name`StringThe name of the culture profile.`culture_profile_type`StringType of the culture profile (e.g., Expanded).`video_url`StringA URL for the video (if applicable).`hero_image`FileA file representing the hero image (uploaded via form).`about_us`StringA description of the company or organization.`expanded_image_large`FileA large image used for the expanded profile.`expanded_image_small_1`FileA small image used for the expanded profile (small 1).`expanded_image_small_2`FileA small image used for the expanded profile (small 2).---

**Description**
---------------

[](#description-89)

- This endpoint allows you to create a culture profile with an expanded set of images, including large and small images, by submitting the relevant details via a `POST` request.
- The profile includes fields such as name, type, hero image, a video URL, "about us" description, and additional expanded images for visual representation.
- The request requires the use of `multipart/form-data` to handle the file uploads for `hero_image`, `expanded_image_large`, and the small images.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `hero_image`, `expanded_image_large`, `expanded_image_small_1`, and `expanded_image_small_2` fields should contain valid image file inputs.

Create Culture Profile - Expanded Plus API Call**Purpose**
-----------

[](#purpose-101)

This API call creates a new culture profile with an extended set of attributes, including testimonials, additional text, executive profiles, and expanded image options such as large and small images. The profile can also include a hero image, video URL, and company description.

---

**Endpoint**
------------

[](#endpoint-101)

- **URL:** `https://auth.vivahr.com/v1/culture-profile`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-101)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``multipart/form-data`Specifies that the request body contains form data.---

**Request Body**
----------------

[](#request-body-85)

The request body must include form data with the following fields:

**Field****Type****Description**`culture_profile_name`StringThe name of the culture profile.`culture_profile_type`StringType of the culture profile (e.g., Expanded Plus).`video_url`StringA URL for the video (if applicable).`hero_image`FileA file representing the hero image (uploaded via form).`about_us`StringA description of the company or organization.`expanded_image_large`FileA large image used for the expanded profile.`expanded_image_small_1`FileA small image used for the expanded profile (small 1).`expanded_image_small_2`FileA small image used for the expanded profile (small 2).`testimonial[0][name]`StringName of the first testimonial.`testimonial[0][body]`StringBody of the first testimonial.`testimonial[1][name]`StringName of the second testimonial.`testimonial[1][body]`StringBody of the second testimonial.`testimonial[2][name]`StringName of the third testimonial.`testimonial[2][body]`StringBody of the third testimonial.`additional_text`StringAdditional text to be included in the profile.`executive_profile[name]`StringName of the executive profile (optional).`executive_profile[summary]`StringSummary of the executive profile.`executive_profile[image]`FileA file representing the executive's image (uploaded via form).---

**Description**
---------------

[](#description-90)

- This endpoint allows you to create a culture profile with a rich set of attributes, including testimonials, executive profiles, images, and additional text fields.
- The profile includes fields such as the profile name, type, hero image, expanded images, video URL, testimonials, executive profile, and a description of the company or organization.
- The request requires the use of `multipart/form-data` to handle file uploads for `hero_image`, `expanded_image_large`, `expanded_image_small_1`, `expanded_image_small_2`, and the `executive_profile[image]`.
- The testimonials are submitted as an array of objects, and the executive profile includes a name, summary, and an image.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `hero_image`, `expanded_image_large`, `expanded_image_small_1`, `expanded_image_small_2`, and `executive_profile[image]` fields should contain valid image file inputs.
- The `testimonial` fields should be provided as an array of name and body pairs.

Get Culture Profile API Call**Purpose**
-----------

[](#purpose-102)

This API call retrieves details for an existing culture profile using its unique profile ID. The profile includes various attributes like name, type, images, testimonials, and executive profiles.

---

**Endpoint**
------------

[](#endpoint-102)

- **URL:** `https://auth.vivahr.com/v1/culture-profile/:profileID`
    - Replace `:profileID` with the ID of the culture profile you want to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-102)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-86)

This request does not require a body.

---

**Description**
---------------

[](#description-91)

- This endpoint allows you to retrieve the details of a specific culture profile using the profile's unique ID.
- The profile includes attributes such as the profile name, type, hero image, expanded images, video URL, testimonials, executive profiles, and additional information.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- Replace `:profileID` in the URL with the actual culture profile ID you wish to retrieve.

Get All Culture Profiles API Call**Purpose**
-----------

[](#purpose-103)

This API call retrieves a list of all culture profiles available. It returns details for each profile, including the profile name, type, images, video URL, testimonials, executive profiles, and more.

---

**Endpoint**
------------

[](#endpoint-103)

- **URL:** `https://auth.vivahr.com/v1/culture-profile`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-103)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-87)

This request does not require a body.

---

**Description**
---------------

[](#description-92)

- This endpoint allows you to retrieve a list of all culture profiles available in the system.
- The response will include the details of each profile, such as name, type, images, video URL, testimonials, and executive profile data.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Delete Culture Profile API Call**Purpose**
-----------

[](#purpose-104)

This API call deletes a specific culture profile by its ID.

---

**Endpoint**
------------

[](#endpoint-104)

- **URL:** `https://auth.vivahr.com/v1/culture-profile/:profileID`
    - Replace `:profileID` with the ID of the culture profile you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-104)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-88)

This request does not require a body.

---

**Description**
---------------

[](#description-93)

- This endpoint allows you to delete a culture profile by providing its `profileID` in the URL.
- Upon successful deletion, the profile will no longer be available in the system.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The `profileID` should be a valid culture profile ID that exists in the system.

### **Questionnaires**

[](#questionnaires)

Create and manage questionnaires for candidates to gather more detailed information.

Create Questionnaire API Call**Purpose**
-----------

[](#purpose-105)

This API call creates a new questionnaire with a set of questions, including various types of question formats like essay, multiple-choice, and yes/no questions.

---

**Endpoint**
------------

[](#endpoint-105)

- **URL:** `https://auth.vivahr.com/v1/questionnaires`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-105)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Specifies that the request body is sent as URL-encoded form data.---

**Request Body**
----------------

[](#request-body-89)

The request body should contain the questionnaire name and an array of questions with their respective types, questions, and options.

**Field****Type****Description**`name`StringThe name of the questionnaire.`questions[x][type]`StringThe type of the question (e.g., Essay Question - Short, Multiple Choice).`questions[x][question]`StringThe text of the question.`questions[x][option][]`ArrayThe available options for multiple-choice or yes/no questions.`questions[x][knockout][]`ArrayThe knockout condition for each option.**Note:**

- Replace `x` with the appropriate index for each question in the `questions` array.
- The `questions` array can contain various question types (e.g., Essay, Multiple Choice, Yes/No) with their corresponding options and knockout values.

---

**Description**
---------------

[](#description-94)

- This endpoint creates a questionnaire by submitting the name and a series of questions in various formats.
- Each question can have different options and knockout conditions depending on its type.
- The request body must be sent as `application/x-www-form-urlencoded`.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The questions must be correctly formatted with the appropriate `type`, `question`, `option`, and `knockout` values.

Update Questionnaire API Call**Purpose**
-----------

[](#purpose-106)

This API call updates an existing questionnaire with new details, including the name of the questionnaire and its questions.

---

**Endpoint**
------------

[](#endpoint-106)

- **URL:** `https://auth.vivahr.com/v1/questionnaires/:form_id`
    - Replace `:form_id` with the ID of the questionnaire you wish to update.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-106)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Specifies that the request body is sent as URL-encoded form data.---

**Request Body**
----------------

[](#request-body-90)

The request body should contain the updated questionnaire name and an array of questions, which can be modified or added.

**Field****Type****Description**`name`StringThe updated name of the questionnaire.`questions[x][type]`StringThe type of the question (e.g., Essay Question - Short, Essay Question - Long).`questions[x][question]`StringThe updated text of the question.**Note:**

- Replace `x` with the appropriate index for each question in the `questions` array.
- You can update existing questions or add new ones by adjusting the array.

---

**Description**
---------------

[](#description-95)

- This endpoint allows you to update an existing questionnaire by modifying its name and questions.
- The request body must be sent as `application/x-www-form-urlencoded` to update the questionnaire.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- You need to specify the correct questionnaire ID in the URL by replacing `:form_id` with the actual form ID.
- If the question index (`x`) doesn't exist, it will be treated as a new question.

Get Questionnaire API Call**Purpose**
-----------

[](#purpose-107)

This API call retrieves the details of an existing questionnaire, including its name and all associated questions.

---

**Endpoint**
------------

[](#endpoint-107)

- **URL:** `https://auth.vivahr.com/v1/questionnaires/:form_id`
    - Replace `:form_id` with the ID of the questionnaire you wish to retrieve.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-107)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-91)

This request does not require a body.

---

**Description**
---------------

[](#description-96)

- This endpoint retrieves the details of an existing questionnaire by its ID.
- The response will include the questionnaire's name and a list of all questions associated with the questionnaire.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- You need to specify the correct questionnaire ID in the URL by replacing `:form_id` with the actual form ID.

Get All Questionnaires API Call**Purpose**
-----------

[](#purpose-108)

This API call retrieves a list of all available questionnaires.

---

**Endpoint**
------------

[](#endpoint-108)

- **URL:** `https://auth.vivahr.com/v1/questionnaires`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-108)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-92)

This request does not require a body.

---

**Description**
---------------

[](#description-97)

- This endpoint returns a list of all questionnaires available in the system.
- The response includes details such as the questionnaire name, questions, and their respective types.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Delete a Questionnaire API Call**Purpose**
-----------

[](#purpose-109)

This API call deletes a specific questionnaire by its ID.

---

**Endpoint**
------------

[](#endpoint-109)

- **URL:** `https://auth.vivahr.com/v1/questionnaires/:form_id`
    - Replace `:form_id` with the actual ID of the questionnaire you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-109)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-93)

This request does not require a body.

---

**Description**
---------------

[](#description-98)

- This endpoint allows you to delete a specific questionnaire from the system by providing its unique ID.
- Make sure to replace `:form_id` with the correct questionnaire ID in the URL.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- Deleting a questionnaire is a permanent action and cannot be undone.

### Candidate Tags

[](#candidate-tags)

Utilize tags to organize and categorize candidates for easier management.

Create Tag API Call**Purpose**
-----------

[](#purpose-110)

This API call creates a new tag with a specified name.

---

**Endpoint**
------------

[](#endpoint-110)

- **URL:** `https://auth.vivahr.com/v1/tags`
- **Method:** `POST`

---

**Headers**
-----------

[](#headers-110)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-94)

The request body must include the following fields:

**Field****Type****Description**`tag`StringThe name of the tag to be created.**Note:**

- The `tag` field should contain a valid name for the tag, such as "api-test".

---

**Description**
---------------

[](#description-99)

- This endpoint allows you to create a new tag by submitting the name of the tag via a `POST` request.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Update Tag API Call**Purpose**
-----------

[](#purpose-111)

This API call updates an existing tag by modifying its name.

---

**Endpoint**
------------

[](#endpoint-111)

- **URL:** `https://auth.vivahr.com/v1/tags/:tag_id`
    - Replace `:tag_id` with the ID of the tag to be updated.
- **Method:** `PUT`

---

**Headers**
-----------

[](#headers-111)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/x-www-form-urlencoded`Indicates the content type of the request body.---

**Request Body**
----------------

[](#request-body-95)

The request body must include the following fields:

**Field****Type****Description**`tag`StringThe new name of the tag.**Note:**

- The `tag` field should contain the updated name for the tag.

---

**Description**
---------------

[](#description-100)

- This endpoint allows you to update an existing tag by submitting the new tag name via a `PUT` request.
- The `:tag_id` placeholder in the URL must be replaced with the ID of the tag you wish to update.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Get Tag API Call**Purpose**
-----------

[](#purpose-112)

This API call retrieves details of a specific tag by its ID.

---

**Endpoint**
------------

[](#endpoint-112)

- **URL:** `https://auth.vivahr.com/v1/tags/:tag_id`
    - Replace `:tag_id` with the ID of the tag to be retrieved.
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-112)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-96)

This request does not require a body.

---

**Description**
---------------

[](#description-101)

- This endpoint allows you to retrieve the details of a specific tag by specifying its ID in the URL.
- The `:tag_id` placeholder in the URL must be replaced with the actual tag ID.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Get Tags API Call**Purpose**
-----------

[](#purpose-113)

This API call retrieves a list of tags with optional filtering, sorting, and pagination. You can specify the number of results to return (`limit`), the starting point of results (`offset`), and the sorting direction (`sort_direction`).

---

**Endpoint**
------------

[](#endpoint-113)

- **URL:** `https://auth.vivahr.com/v1/tags`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-113)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.`Content-Type``application/json`Specifies that the request body is in JSON format.---

**Request Body**
----------------

[](#request-body-97)

The request body must include the following fields as JSON:

**Field****Type****Description**`limit`StringThe number of tags to retrieve (e.g., `"10"`).`offset`StringThe offset to start retrieving tags from (e.g., `"0"`).`sort_direction`StringThe direction to sort the tags, either `"asc"` or `"desc"`.---

**Description**
---------------

[](#description-102)

- This endpoint retrieves tags based on specified pagination, sorting, and filtering parameters.
- The `limit` specifies the number of tags to return, while `offset` helps to paginate through results.
- The `sort_direction` controls whether the results are sorted in ascending (`asc`) or descending (`desc`) order.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- The request body must be sent as a JSON string.

Delete Tag API Call**Purpose**
-----------

[](#purpose-114)

This API call deletes a specific tag by its unique `tag_id`. It is used to remove a tag from the system.

---

**Endpoint**
------------

[](#endpoint-114)

- **URL:** `https://auth.vivahr.com/v1/tags/:tag_id`
    - Replace `:tag_id` with the actual tag ID that you want to delete.
- **Method:** `DELETE`

---

**Headers**
-----------

[](#headers-114)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-98)

- No request body is required for this API call.

---

**Description**
---------------

[](#description-103)

- This endpoint deletes a tag identified by its unique `tag_id`. Once the tag is deleted, it cannot be recovered.
- You must specify the correct `tag_id` in the URL path to target the specific tag.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.
- Deleting a tag is permanent and cannot be undone.

### Helpers

[](#helpers)

Access helper functions that assist with various functionalities across the SDK.

Get Countries API Call**Purpose**
-----------

[](#purpose-115)

This API call retrieves a list of all available countries from the system. It is useful for populating country selection fields in applications.

---

**Endpoint**
------------

[](#endpoint-115)

- **URL:** `https://auth.vivahr.com/v1/helpers/countries`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-115)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-99)

- No request body is required for this API call.

---

**Description**
---------------

[](#description-104)

- This endpoint retrieves a list of countries that can be used in forms or applications where a country field is needed.
- The response typically contains country names along with any associated data such as country codes.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Get States API Call**Purpose**
-----------

[](#purpose-116)

This API call retrieves a list of all available states, typically useful for populating state selection fields in forms or applications.

---

**Endpoint**
------------

[](#endpoint-116)

- **URL:** `https://auth.vivahr.com/v1/helpers/states`
- **Method:** `GET`

---

**Headers**
-----------

[](#headers-116)

**Header****Value****Description**`Authorization``Bearer YOUR_ACCESS_TOKEN`A valid access token for authentication.---

**Request Body**
----------------

[](#request-body-100)

- No request body is required for this API call.

---

**Description**
---------------

[](#description-105)

- This endpoint retrieves a list of states, which can be used for form fields such as state dropdowns.
- The list may include states or regions within a country, depending on the geographic context.

**Important Notes:**

- Ensure that the `Authorization` header contains a valid access token for authentication.

Reporting Issues
----------------

[](#reporting-issues)

Found a bug or have a suggestion? Please [open an issue](https://github.com/c-alen/vivahr-php/issues) on our GitHub repository.

Versioning
----------

[](#versioning)

This SDK follows Semantic Versioning. Check the [changelog](https://github.com/c-alen/vivahr-php/releases) for updates.

Documentation
-------------

[](#documentation)

For detailed API specifications, visit the [VIVAHR API Documentation](https://developer.vivahr.com).

Error Handling
--------------

[](#error-handling)

This SDK provides a custom ApiException class for handling API-related errors. You can catch this exception to handle errors gracefully:

```
try {
    // Your API call here
} catch (\VIVHAR\Exceptions\ApiException $e) {
    echo "Error: " . $e->getMessage();
}
```

Contributing
------------

[](#contributing)

Contributions are welcome! Please submit a pull request or open an issue for any enhancements, bug fixes, or suggestions. Make sure to follow the coding standards and include tests for new features.

License
-------

[](#license)

This project is licensed under the MIT License. See the LICENSE file for details.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance53

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~211 days

Total

2

Last Release

327d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/257d78c7970356e42cef1b815899d61f9297a21cf3543c142e9cb9cc6de14c1d?d=identicon)[alen-celic](/maintainers/alen-celic)

---

Top Contributors

[![c-alen](https://avatars.githubusercontent.com/u/117380026?v=4)](https://github.com/c-alen "c-alen (11 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/vivahr-vivahr-php/health.svg)

```
[![Health](https://phpackages.com/badges/vivahr-vivahr-php/health.svg)](https://phpackages.com/packages/vivahr-vivahr-php)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
