openapi: 3.0.3
info:
  title: CATS API v3
  version: 1.0.0
  description: >-
    Version 3 of the CATS API s a complete redesign and contains many changes
    from the previous version.


    Feedback and questions can be left on our [community support
    forums](https://groups.google.com/forum/#!forum/cats-api-v3).


    <div class="category-overview">

    <h2 id="host" class="anchor">Host</h2>


    The host for API requests is `https://api.catsone.com/v3`.


    All API requests must be made over HTTPS. HTTP is **not** supported.

    </div>


    <div class="category-overview">

    <h2 id="authentication" class="anchor">Authentication</h2>


    To access the API, you will need a v3 API key. You can create an API key
    from the Administration settings page in CATS.

    Note that Transaction Codes for the previous version of the API will not
    work.


    To authenticate, add an `Authorization` header to your requests that
    contains a value in the form

    `Token <Your API Key>`.


    Example header:


    ```http

    Authorization: Token <Your API Key>

    ```

    </div>


    <div class="category-overview">

    <h2 id="intput-output-format" class="anchor">Input/output format</h2>


    All requests are formatted as JSON. Only JSON request bodies are accepted,
    and response bodies are always JSON.


    You should specify a `Content-Type` header with a value of
    `application/json`.


    ```http

    Content-Type: application/json

    ```


    This header is recommended, though not strictly required as
    `application/json` will always be the default.

    </div>


    <div class="category-overview">

    <h2 id="date-formats" class="anchor">Date formats</h2>


    All timestamps and dates (both those sent in requests and those returned in
    responses) should be formatted according to

    [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt).


    Example:


    ```bash

    2015-12-27T09:14:22-00:00

    ```

    </div>


    <div class="category-overview">

    <h2 id="country-codes" class="anchor">Country Codes</h2>


    Country codes follow the ISO 3166 Alpha-2 format, both in the response and
    when country is being set via POST or PUT.

    This is a two letter format (US, NL, etc.) and information on the various
    codes can be found at the following links:

    [iso.org](https://www.iso.org/obp/ui/#search/code/) or

    [wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)


    <div class="category-overview">

    <h2 id="hal" class="anchor">HAL</h2>


    The CATS API adheres to the [Hypertext Application
    Language](http://stateless.co/hal_specification.html) specification,

    which is a simple format that provides a consistent and easy way to
    represent links between content and data structures.


    Most response objects contain two keys that represent these links: `_links`
    and `_embedded`. The `_links` key consists

    of URI references to other resources that are associated with the object.
    The `_embedded` key contains these links

    embedded into the response object itself, so you can often retrieve the
    associated records without any extra API calls.


    For example, a `candidate` object may contain the following HAL items:


    ```

    {
      "id": 4986,
      "first_name": "Phoebe",
      "last_name": "Anderson",
      "owner_id": 6224,
      ...
      "_links": {
        "self": {
          "href": "/candidates/4986"
        },
        "custom_fields": {
          "href": "/candidates/4986/custom_fields"
        },
        "owner": {
          "href": "/users/6224"
        },
        "activities": {
          "href": "/candidates/4986/activities"
        }
      }
    }

    ```


    These links point to the URIs to access the resources associated with this
    candidate.


    Some associated resources may be included in the `_embedded` key. For
    example:


    ```

    "_embedded": {
      "custom_fields": [
        {
          "id": 170911,
          "value": "german",
          ...
        },
        {...}
      ]
    }

    ```


    In this example, you can access the custom fields attached to the candidate
    without needing to make a separate API call.

    </div>


    <div class="category-overview">

    <h2 id="pagination" class="anchor">Pagination</h2>


    All "List" methods take two pagination parameters: `per_page` and `page`.

    `per_page` signifies how many results to include on each page. It defaults
    to **25** and has a maximum of **100** on

    all endpoints.

    `page` represents which page of results you wish to view and it always
    defaults to **1**.


    ```

    GET https://api.catsone.com/v3/candidates?per_page=100&page=4

    ```


    <div class="category-overview">

    <h2 id="common-data-types" class="anchor">Common data types</h2>


    Many resources share common functionality. For example, [custom
    fields](#custom-fields) can be attached to a

    `candidate`, a `contact`, a `company` or a `job`.


    To represent associations with multiple types of records, some resources
    refer to a `data_item`.


    An example `data_item` object:


    ```

    {
      "id": 2903,
      "type": "candidate"
    }

    ```


    The `id` field is the integer ID of a data item, and the `type` field is the
    name of the data item type. The available

    data item type names are: `candidate`, `contact`, `company` and `job`.

    </div>


    <div class="category-overview">

    <h2 id="search-filters" class="anchor">Search filters</h2>


    There are five endpoints you can run a filtered search on: Activities,
    Candidates, Companies, Contacts, and Jobs.

    Filtering involves posting a json-formatted filter object. At the most basic
    level, this object simply has three keys:

    `filter`, `field`, and `value`. This will do a simple filter on a field
    based on a value. What fields can be filtered

    on and what filters can be used on each filter are described on each of the
    endpoints themselves.


    Beyond the simple filtering, we also offer the ability to chain filters
    together using boolean keywords such as `and`,

    `or`, and `not`. `and` and `or` always contain a list of objects (either a
    list of filters, a list of further booleans,

    or some combination of the two), and `not` always contains a filter.


    The following are a few examples filter structure:



    ```

    // Basic filter

    {"field": "first_name", "filter": "exactly", "value": "Scott"}


    // Basic AND filter

    {
        "and": [
            {"field": "first_name", "filter": "exactly", "value": "Scott"},
            {"field": "last_name", "filter": "exactly", "value": "Summers"}
        ]
    }


    // Basic OR filter

    {
        "or": [
            {"field": "title", "filter": "contains", "value": "team leader"},
            {"field": "title", "filter": "contains", "value": "squad leader"},
        ]
    }


    // Basic NOT filter

    {
        "not": {"field": "key_skills", "filter": "contains", "value": "subtlety"}
    }


    // All together

    {
        "and": [
            {
                "and": [
                    {"field": "first_name", "filter": "exactly", "value": "Scott"},
                    {"field": "last_name", "filter": "exactly", "value": "Summers"},
                    {
                        "not" : {"field": "middle_name", "filter": "exactly", "value": "Joseph"}
                    }
                ]
            },
            {
                "or": [
                        {"field": "title", "filter": "contains", "value": "team leader"},
                        {"field": "title", "filter": "contains", "value": "squad leader"},
                    ]
            },
            {
                "not": {"field": "key_skills", "filter": "contains", "value": "subtlety"}
            }
        ]
    }

    ```


    One final note: every filter allows for different values. Here they are for
    every filter:

    ```md

    `exactly` - string, int, or boolean depending on the type of field

    `contains` - string

    `between` - object containing the following
        `gte` - the int or date string of the smaller end of the range (greater than or equal)
        `lte` - the int or date string of the bigger end of the range (less than or equal)
    `greater_than` - int or date string

    `less_than` - int or date_string

    `is_empty` - Value MUST be the boolean `true`, no other values are supported

    `geo_distance` - object containing the following
        `postal_code` - string
        `distance` - int
        `unit` - string, either `km` or `miles`
    ```


    Custom fields can also be filtered on. The `field` in this case is the id of
    the custom field, and it <i>must</i> be

    an integer. Here are the allowed filters for each custom field type:

    ```md

    `text` - contains, exactly, is_empty

    `number` - exactly, greater_than, less_than, between, is_empty

    `date` - greater_than, less_than, between, is_empty,

    `dropdown` - exactly, is_empty

    `radio` - exactly, is_empty

    `checkboxes` - exactly, is_empty

    `checkbox` - exactly

    `user` - exactly, is_empty

    ```



    <div class="category-overview">

    <h2 id="rate-limiting" class="anchor">Rate limiting</h2>


    All calls to the CATS API are subject to a rate limit of 500 requests per
    hour.

    Rate limits are calculated on a rolling hourly basis.


    Each request returns the following header information regarding rate limits:


    ```http

    X-Rate-Limit-Limit: <Total limit allowed>

    X-Rate-Limit-Remaining: <Remaining requests allowed in the current period>

    ```


    If a request exceeds the rate limit, a `429 Too Many Requests` error will be
    returned, and the response will return the

    following additional header:


    ```http

    Retry-After: <Number of seconds until another request may be made>

    ```

    </div>


    <div class="category-overview">

    <h2 id="webhooks" class="anchor">Webhooks</h2>

    You can subscribe to webhooks via the API or via the CATS Administrative UI.
    A typical webhook will look like the following:


    ```

    {
        "event": "candidate.created",
        "candidate_id": 6089361,
        "_links": {...},
        "_embedded": {...}
    }

    ```


    The `event` key will tell you which event has fired. Following that will be
    the id of the item that triggered the webhook. The name of this key will
    change depending on which type of item the webhook is about (`candidate_id`,
    `job_id`, etc.). Lastly, the `_links` and `_embedded` will have the link and
    the full contents of the the item itself, so you do not have to make any
    extra calls to fetch the item if you need it.


    <i>Note:</i> Unlike all the API endpoints which are limited to 25 of each
    type of embed, webhooks will return up to 1000 of each type automatically.
    Thus, if you have 90 custom fields on a candidate, when a webhook for that
    candidate fires, it will return with all 90 of those custom fields embedded.
    This is to ensure that you get all the data you need without need to make
    any calls back to the API.


    Status Change webhooks include more information than standard webhooks.
    Their fields are as follows:


    ```

    {
        "event": "pipeline.status_changed",
        "pipeline_id": 664681364,
        "previous_status_id": 1343445,
        "new_status_id": 1262311,
        "_links": {...},
        "_embedded": {...}
    }

    ```


    As you can see, in addition to the normal event and id fields, both the
    previous status and the new status ids are included as well as also
    appearing in full in the embeds.


    It should be noted that mass record updates will fire individual webhooks
    for <b>all affected records</b>. Because the UI does not put a cap on how
    many records you can update at once, the could result in a huge number of
    webhooks being set your way in a very short timeframe. If you believe the
    server or service you are using to accept webhooks from us cannot handle
    that bulk, we advise that you a make sure to do any mass actions with
    extreme caution.


    Finally, we keep a tally of all 500 errors (or similar things like timeouts)
    encountered when trying to send a webhook to your specified url. If we
    receive a bad response 50 consecutive times within a 30 minute period, that
    specific webhook will be disabled and an email informing you of that will be
    sent.

    </div>


    <div class="category-overview">

    <h2 id="changelog" class="anchor">Changelog</h2>


    View the <a href="changelog.html" target="_blank">changelog</a> for updates
    and changes to the API.

    </div>


    <div class="category-overview">

    <h2 id="mailing-list" class="anchor">Mailing List</h2>


    <!-- Begin MailChimp Signup Form -->

    <link href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css"
    rel="stylesheet" type="text/css">

    <style type="text/css">

    #mc_embed_signup{background:#fff; clear:left; font:14px
    Helvetica,Arial,sans-serif; }

    /* Add your own MailChimp form style overrides in your site stylesheet or in
    this style block.

    We recommend moving this block and the preceding CSS link to the HEAD of
    your HTML file. */

    </style>

    <div id="mc_embed_signup">

    <form
    action="//catsone.us2.list-manage.com/subscribe/post?u=9014dd81f55f7deef783944da&amp;id=991975f668"
    method="post" id="mc-embedded-subscribe-form"
    name="mc-embedded-subscribe-form" class="validate" target="_blank"
    novalidate>

    <div id="mc_embed_signup_scroll">

    <h2>Sign up to be notified about major changes and updates to the CATS
    API</h2>

    <div class="indicates-required"><span class="asterisk">*</span> indicates
    required</div>

    <div class="mc-field-group">

    <label for="mce-EMAIL">Email Address  <span class="asterisk">*</span>

    </label>

    <input type="email" value="" name="EMAIL" class="required email"
    id="mce-EMAIL">

    </div>


    <div class="mc-field-group">

    <label for="mce-FNAME">First Name </label>

    <input type="text" value="" name="FNAME" class="" id="mce-FNAME">

    </div>


    <div class="mc-field-group">

    <label for="mce-LNAME">Last Name </label>

    <input type="text" value="" name="LNAME" class="" id="mce-LNAME">

    </div>


    <div class="mc-field-group">

    <label for="mce-SUBDOMAIN">Subdomain </label>

    <input type="text" value="" name="SUBDOMAIN" class="" id="mce-SUBDOMAIN">

    </div>


    <div id="mce-responses" class="clear">

    <div class="response" id="mce-error-response" style="display:none"></div>

    <div class="response" id="mce-success-response" style="display:none"></div>

    </div>


    <div style="position: absolute; left: -5000px;" aria-hidden="true"><input
    type="text" name="b_9014dd81f55f7deef783944da_991975f668" tabindex="-1"
    value=""></div>


    <div class="clear"><input type="submit" value="Subscribe" name="subscribe"
    id="mc-embedded-subscribe" class="button"></div>


    </div>

    </form>

    </div>


    <script type='text/javascript'
    src='//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js'></script><script
    type='text/javascript'>(function($) {window.fnames = new Array();
    window.ftypes = new
    Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[3]='SUBDOMAIN';ftypes[3]='text';}(jQuery));var
    $mcj = jQuery.noConflict(true);</script>


    <!--End mc_embed_signup-->


    </div>
servers:
  - url: https://api.catsone.com
paths:
  /activities:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 669
                _links: {}
                _embedded:
                  activities:
                    - id: 5241
                      data_item:
                        id: 5258
                        type: job
                      date: '2025-01-12T20:16:47.136Z'
                      regarding_id: 8865
                      type: call_lvm
                      notes: Left voicemail.
                      annotation: General
                      entered_by_id: 1036
                      date_created: '2025-05-21T18:46:17.992Z'
                      date_modified: '2025-03-13T01:59:09.692Z'
                      _links: {}
                      _embedded: {}
      summary: List all activities
      operationId: List all activities
      description: ''
      tags:
        - Activities
      parameters:
        - name: page
          in: query
          description: The current page number of activities to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of activities to return per page.
          required: true
          example: '25'
          schema:
            type: number
  /activities/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item:
                    type: object
                    properties:
                      id:
                        type: number
                      type:
                        type: string
                  date:
                    type: string
                  regarding_id:
                    type: number
                  type:
                    type: string
                    nullable: true
                  notes:
                    type: string
                  annotation:
                    type: string
                  entered_by_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 5241
                data_item:
                  id: 5258
                  type: job
                date: '2025-01-12T20:16:47.136Z'
                regarding_id: 8865
                type: call_lvm
                notes: Left voicemail.
                annotation: General
                entered_by_id: 1036
                date_created: '2025-05-21T18:46:17.992Z'
                date_modified: '2025-03-13T01:59:09.692Z'
                _links: {}
                _embedded: {}
      summary: Get an activity
      operationId: Get an activity
      description: ''
      tags:
        - Activities
      parameters:
        - name: id
          in: path
          description: The ID of the activity to return.
          required: true
          example: '5241'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update an activity
      operationId: Update an activity
      description: ''
      tags:
        - Activities
      parameters:
        - name: id
          in: path
          description: The ID of the activity to update.
          required: true
          example: '4417'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              type: call_lvm
              regarding_id: 9428
              notes: Quia sed mollitia occaecati ipsum saepe aut illum.
              date: '2025-01-26T17:15:25.924Z'
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: >-
                    One of the following activity types: `email`, `meeting`,
                    `call_talked`, `call_lvm`, `call_missed`, `text_message` or
                    `other`.
                regarding_id:
                  type: number
                  description: >-
                    The ID of the job order that this activity is regarding.
                    Leave `null` for a general activity.
                notes:
                  type: string
                date:
                  type: string
                  description: >-
                    The datetime the activity took place. If not specified it
                    defaults to the current date and time.
              required:
                - type
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete an activity
      operationId: Delete an activity
      description: ''
      tags:
        - Activities
      parameters:
        - name: id
          in: path
          description: The ID of the activity to delete.
          required: true
          example: '42'
          schema:
            type: number
  /activities/search:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 669
                _links: {}
                _embedded:
                  activities:
                    - id: 5241
                      data_item:
                        id: 5258
                        type: job
                      date: '2025-01-12T20:16:47.136Z'
                      regarding_id: 8865
                      type: call_lvm
                      notes: Left voicemail.
                      annotation: General
                      entered_by_id: 1036
                      date_created: '2025-05-21T18:46:17.992Z'
                      date_modified: '2025-03-13T01:59:09.692Z'
                      _links: {}
                      _embedded: {}
      summary: Search activities
      operationId: Search activities
      description: ''
      tags:
        - Activities
      parameters:
        - name: query
          in: query
          description: The string to search within activities for.
          required: true
          example: Carmen
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of activities to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of activities to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 669
                _links: {}
                _embedded:
                  activities:
                    - id: 5241
                      data_item:
                        id: 5258
                        type: job
                      date: '2025-01-12T20:16:47.136Z'
                      regarding_id: 8865
                      type: call_lvm
                      notes: Left voicemail.
                      annotation: General
                      entered_by_id: 1036
                      date_created: '2025-05-21T18:46:17.992Z'
                      date_modified: '2025-03-13T01:59:09.692Z'
                      _links: {}
                      _embedded: {}
      summary: Filter activities
      operationId: Filter activities
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Activity fields that can currently be filtered
        on, and which filters can be used on each:


        ```markdown

        `id` - greater_than, less_than, between, exactly, is_empty

        `data_item.id` - greater_than, less_than, between, exactly, is_empty

        `data_item.type` - exactly, is_empty

        `date - greater_than`, less_than, between, is_empty

        `regarding_id` - greater_than, less_than, between, exactly, is_empty

        `type` - exactly, is_empty

        `notes` - contains, exactly, is_empty

        `entered_by_id` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty

        ```
      tags:
        - Activities
      parameters:
        - name: query
          in: query
          description: The optional string to search within activities for.
          required: true
          example: Madyson
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of activities to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of activities to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /attachments/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  filename:
                    type: string
                  is_resume:
                    type: boolean
                  size:
                    type: string
                  version:
                    type: string
                  data_item:
                    type: object
                    properties:
                      id:
                        type: number
                      type:
                        type: string
              example:
                id: 6202
                filename: readme.txt
                is_resume: true
                size: ''
                version: ''
                data_item:
                  id: 7292
                  type: candidate
      summary: Get an attachment
      operationId: Get an attachment
      description: ''
      tags:
        - Attachments
      parameters:
        - name: id
          in: path
          description: The ID of the attachment to return.
          required: true
          example: '6202'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete an attachment
      operationId: Delete an attachment
      description: ''
      tags:
        - Attachments
      parameters:
        - name: id
          in: path
          description: The ID of the attachment to delete.
          required: true
          example: '5147'
          schema:
            type: number
  /attachments/{id}/download:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
      summary: Download an attachment
      operationId: Download an attachment
      description: ''
      tags:
        - Attachments
      parameters:
        - name: id
          in: path
          description: The ID of the attachment to download.
          required: true
          example: '6202'
          schema:
            type: number
  /attachments/parse:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  first_name:
                    type: string
                  middle_name:
                    type: string
                  last_name:
                    type: string
                  title:
                    type: string
                  emails:
                    type: object
                    properties:
                      primary:
                        type: string
                  address:
                    type: object
                    properties:
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  social_media_urls:
                    type: array
                    items: {}
                  phones:
                    type: object
                    properties:
                      home:
                        type: string
                      cell:
                        type: string
                      work:
                        type: string
                  current_employer:
                    type: string
                  source:
                    type: string
              example:
                first_name: Orlo
                middle_name: Sigurd
                last_name: Gusikowski
                title: National Metrics Supervisor
                emails:
                  primary: Marcelino.Upton@yahoo.com
                address:
                  street: 3896 Elsie Camp
                  city: Rhiannafort
                  state: IN
                  postal_code: 74174-7694
                country_code: US
                social_media_urls: []
                phones:
                  home: (605) 930-8345
                  cell: (474) 736-5528
                  work: (464) 359-3345
                current_employer: Graham - Zemlak
                source: Google
      summary: Parse a resume
      operationId: Parse a resume
      description: >-
        Parses the supplied resume and returns a candidate object. No records
        are created or updated with this call. If you

        want to create or update a candidate with the parsed data, make a second
        call with that returned candidate data,

        usually a POST to `/candidates` with the `check_duplicate` flag set to
        `true`.
      tags:
        - Attachments
      parameters: []
  /backups:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 818
                _links: {}
                _embedded:
                  activities:
                    - id: 1210
                      status: expired
                      url: http://jalyn.info
                      file_size: 294516033
                      started_by_id: 9806
                      date_created: '2025-04-09T20:07:40.550Z'
                      _links: {}
                      _embedded: {}
      summary: List all backups
      operationId: List all backups
      description: ''
      tags:
        - Backups
      parameters:
        - name: page
          in: query
          description: The current page number of backups to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of backups to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a backup
      operationId: Create a backup
      description: >-
        This will initiate the creation of a backup. As with all POST endpoints,
        a location header will be returned for the new

        backup item. You can query that endpoint to learn the status of the
        backup, and once it is completed to get its url.
      tags:
        - Backups
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              include_attachments: false
              include_emails: false
            schema:
              type: object
              properties:
                include_attachments:
                  type: boolean
                  description: >-
                    Whether to include attachments in the backup or not. Running
                    a backup without attachments can greatly speed up the backup
                    time. Defaults to false.
                include_emails:
                  type: boolean
                  description: >-
                    Whether to include emails in the backup or not. Running a
                    backup without emails can greatly speed up the backup time.
                    Defaults to true.
  /backups/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  status:
                    type: string
                    description: '`queued`, `running`, `completed`, `expired`, or `failed`'
                  url:
                    type: string
                    description: url will only be valid for one week after creation.
                  file_size:
                    type: number
                    description: Size of the backup in bytes
                  started_by_id:
                    type: number
                    description: id of the user who initiated the backup
                  date_created:
                    type: string
                    description: Date and time the backup was requested
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1210
                status: expired
                url: http://jalyn.info
                file_size: 294516033
                started_by_id: 9806
                date_created: '2025-04-09T20:07:40.550Z'
                _links: {}
                _embedded: {}
      summary: Get a backup
      operationId: Get a backup
      description: ''
      tags:
        - Backups
      parameters:
        - name: id
          in: path
          description: The ID of the backup to return.
          required: true
          example: '9711'
          schema:
            type: number
  /candidates:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      candidates:
                        type: array
                        items: {}
              example:
                count: 25
                total: 617
                _links: {}
                _embedded:
                  candidates:
                    - id: 3372
                      first_name: Arno
                      middle_name: Skyla
                      last_name: Hintz
                      title: Regional Program Supervisor
                      emails:
                        primary: Idella_Carter58@gmail.com
                        secondary: Donna.Von84@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      website: http://lavada.name
                      best_time_to_call: After 5pm
                      current_employer: Jacobson Group
                      date_available: Next month
                      current_pay: 50k
                      desired_pay: 120k
                      is_willing_to_relocate: false
                      key_skills: Programming, management, fishing
                      notes: >-
                        Alias beatae laudantium corrupti consequatur laboriosam
                        facere labore dolor tempore.
                      source: Google
                      is_hot: true
                      is_active: false
                      is_registered: false
                      contact_id: 1611
                      owner_id: 5676
                      entered_by_id: 3269
                      date_created: '2025-10-27T22:51:17.077Z'
                      date_modified: '2025-03-15T16:35:18.710Z'
                      _links: {}
                      _embedded: {}
      summary: List all candidates
      operationId: List all candidates
      description: ''
      tags:
        - Candidates
      parameters:
        - name: page
          in: query
          description: The current page number of candidates to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of candidates to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate
      operationId: Create a candidate
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Candidates
      parameters:
        - name: check_duplicate
          in: query
          description: >-
            When this flag is set to true, if a duplicate record is found to the
            one being created, an error will be thrown instead of creating a
            duplicate record. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              first_name: Arnaldo
              middle_name: Claudine Bull
              last_name: Adams
              title: Forward Applications Analyst
              emails:
                - email: Meda.Waelchi@hotmail.com
                  is_primary: false
              phones:
                - number: '+16124063451'
                  extension: '8371'
                  type: Mobile
              address:
                street: 046 Zander Unions
                city: Lake Jeramyport
                state: Missouri
                postal_code: 53147-2751
              country_code: US
              social_media_urls: []
              website: http://filiberto.name
              best_time_to_call: ''
              current_employer: ''
              date_available: '2019-04-04'
              current_pay: ''
              desired_pay: ''
              is_willing_to_relocate: false
              key_skills: ''
              notes: ''
              source: Google
              owner_id: 6773
              is_active: true
              is_hot: false
              password: b_EgpXHv_RjPPe8
              custom_fields:
                - id: 7063
                  value: lorem
              work_history:
                - title: International Usability Associate
                  employer:
                    linked: false
                    name: Osinski, Renner and Breitenberg
                    location:
                      city: Jaleelhaven
                      state: NM
                  supervisor:
                    linked: false
                    name: Howell
                    phone: (911) 847-7484
                  is_verified: true
                  is_current: 'false'
                  start_date: '2025-05-04T06:36:34.770Z'
                  end_date: '2025-05-14T03:24:39.664Z'
                  reason_for_leaving: Dolor praesentium delectus ut optio assumenda dolores.
            schema:
              type: object
              properties:
                first_name:
                  type: string
                middle_name:
                  type: string
                last_name:
                  type: string
                title:
                  type: string
                  description: The candidate's job title.
                emails:
                  type: array
                  description: >-
                    An array of email objects. Each email object should contain
                    two keys: `email` and `is_primary`, as described
                    [here](#candidates-create-an-email)


                    ```

                    [
                        {
                            "email": <email>,
                            "is_primary": "<is this the primary email?>"
                        }
                    ]

                    ```
                  items: {}
                phones:
                  type: array
                  description: >-
                    An array of phone objects. Each phone object should contain
                    three keys: `number`, `extension`, and `type`, as described
                    [here](#candidates-create-a-phone)


                    ```

                    [
                        {
                            "number": <phone number with country code>,
                            "extension": "<optional extension>",
                            "type": "<phone number type>",
                        }
                    ]

                    ```
                  items: {}
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the candidate with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                social_media_urls:
                  type: array
                  items: {}
                website:
                  type: string
                best_time_to_call:
                  type: string
                current_employer:
                  type: string
                date_available:
                  type: string
                  description: The date the candidate is available for an opening.
                current_pay:
                  type: string
                desired_pay:
                  type: string
                is_willing_to_relocate:
                  type: boolean
                key_skills:
                  type: string
                notes:
                  type: string
                source:
                  type: string
                owner_id:
                  type: number
                  description: The user id of the record owner
                is_active:
                  type: boolean
                  description: A flag indicating if the candidate is active.
                is_hot:
                  type: boolean
                  description: >-
                    A flag indicating if the candidate should be marked as hot.
                    A hot candidate is highlighted in the candidates view.
                password:
                  type: string
                  description: >-
                    The candidate's password if they are "registering".
                    Registered candidate can be authenticated with
                    `/candidates/authorization`.
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this candidate.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
                work_history:
                  type: array
                  description: >-
                    An array of work history objects. Each work history object
                    should conform to the work history objects passed to the
                    normal work history create endpoint


                    ```

                    [
                        {
                           "title": "Engineer",
                           "employer": {
                                "linked": false,
                                "name": "<employer name>",
                                "location": {
                                    "city": "<employer city>",
                                    "state": "<employer state>"
                                }
                           },
                           "supervisor": {
                                "linked": false,
                                "name": "<supervisor name>",
                                "phone": "<supervisor phone number>"
                           },
                           "is_verified": true,
                           "is_current": false,
                           "start_date": "asdas",
                           "end_date": "asd",
                           "reason_for_leaving": "foo"
                        }
                    ]

                    ```
                  items: {}
              required:
                - first_name
                - last_name
  /candidates/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  first_name:
                    type: string
                  middle_name:
                    type: string
                  last_name:
                    type: string
                  title:
                    type: string
                  emails:
                    type: object
                    properties:
                      primary:
                        type: string
                      secondary:
                        type: string
                  address:
                    type: object
                    properties:
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  social_media_urls:
                    type: array
                    items: {}
                  website:
                    type: string
                  best_time_to_call:
                    type: string
                  current_employer:
                    type: string
                  date_available:
                    type: string
                  current_pay:
                    type: string
                  desired_pay:
                    type: string
                  is_willing_to_relocate:
                    type: boolean
                  key_skills:
                    type: string
                  notes:
                    type: string
                  source:
                    type: string
                  is_hot:
                    type: boolean
                  is_active:
                    type: boolean
                  is_registered:
                    type: boolean
                  contact_id:
                    type: number
                  owner_id:
                    type: number
                  entered_by_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 3372
                first_name: Arno
                middle_name: Skyla
                last_name: Hintz
                title: Regional Program Supervisor
                emails:
                  primary: Idella_Carter58@gmail.com
                  secondary: Donna.Von84@hotmail.com
                address:
                  street: 3896 Elsie Camp
                  city: Rhiannafort
                  state: IN
                  postal_code: 74174-7694
                country_code: US
                social_media_urls: []
                website: http://lavada.name
                best_time_to_call: After 5pm
                current_employer: Jacobson Group
                date_available: Next month
                current_pay: 50k
                desired_pay: 120k
                is_willing_to_relocate: false
                key_skills: Programming, management, fishing
                notes: >-
                  Alias beatae laudantium corrupti consequatur laboriosam facere
                  labore dolor tempore.
                source: Google
                is_hot: true
                is_active: false
                is_registered: false
                contact_id: 1611
                owner_id: 5676
                entered_by_id: 3269
                date_created: '2025-10-27T22:51:17.077Z'
                date_modified: '2025-03-15T16:35:18.710Z'
                _links: {}
                _embedded: {}
      summary: Get a candidate
      operationId: Get a candidate
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return.
          required: true
          example: '3372'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a candidate
      operationId: Update a candidate
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to update.
          required: true
          example: '9424'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              first_name: Arturo
              middle_name: Brock Bull
              last_name: Emard
              title: National Intranet Administrator
              address:
                street: 25849 Hobart Crescent
                city: East Alyssonmouth
                state: New Jersey
                postal_code: '43919'
              country_code: US
              social_media_urls: []
              website: ''
              best_time_to_call: ''
              current_employer: ''
              date_available: ''
              current_pay: ''
              desired_pay: ''
              is_willing_to_relocate: false
              key_skills: ''
              notes: ''
              source: Google
              owner_id: 9945
              is_active: false
              is_hot: true
              password: 3kCgepJkGF4PwYz
              custom_fields:
                - id: 7063
                  value: lorem
            schema:
              type: object
              properties:
                first_name:
                  type: string
                middle_name:
                  type: string
                last_name:
                  type: string
                title:
                  type: string
                  description: The candidate's job title.
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the candidate with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                social_media_urls:
                  type: array
                  items: {}
                website:
                  type: string
                best_time_to_call:
                  type: string
                current_employer:
                  type: string
                date_available:
                  type: string
                  description: The date the candidate is available for an opening.
                current_pay:
                  type: string
                desired_pay:
                  type: string
                is_willing_to_relocate:
                  type: boolean
                key_skills:
                  type: string
                notes:
                  type: string
                source:
                  type: string
                owner_id:
                  type: number
                  description: The user id of the record owner
                is_active:
                  type: boolean
                  description: A flag indicating if the candidate is active.
                is_hot:
                  type: boolean
                  description: >-
                    A flag indicating if the candidate should be marked as hot.
                    A hot candidate is highlighted in the candidates view.
                password:
                  type: string
                  description: >-
                    The candidate's password if they are "registering".
                    Registered candidate can be authenticated with
                    `/candidates/authorization`.
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this candidate.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
              required:
                - first_name
                - last_name
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate
      operationId: Delete a candidate
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to delete.
          required: true
          example: '7830'
          schema:
            type: number
  /candidates/authorization:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  first_name:
                    type: string
                  middle_name:
                    type: string
                  last_name:
                    type: string
                  title:
                    type: string
                  emails:
                    type: object
                    properties:
                      primary:
                        type: string
                      secondary:
                        type: string
                  address:
                    type: object
                    properties:
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  social_media_urls:
                    type: array
                    items: {}
                  website:
                    type: string
                  best_time_to_call:
                    type: string
                  current_employer:
                    type: string
                  date_available:
                    type: string
                  current_pay:
                    type: string
                  desired_pay:
                    type: string
                  is_willing_to_relocate:
                    type: boolean
                  key_skills:
                    type: string
                  notes:
                    type: string
                  source:
                    type: string
                  is_hot:
                    type: boolean
                  is_active:
                    type: boolean
                  is_registered:
                    type: boolean
                  contact_id:
                    type: number
                  owner_id:
                    type: number
                  entered_by_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 3372
                first_name: Arno
                middle_name: Skyla
                last_name: Hintz
                title: Regional Program Supervisor
                emails:
                  primary: Idella_Carter58@gmail.com
                  secondary: Donna.Von84@hotmail.com
                address:
                  street: 3896 Elsie Camp
                  city: Rhiannafort
                  state: IN
                  postal_code: 74174-7694
                country_code: US
                social_media_urls: []
                website: http://lavada.name
                best_time_to_call: After 5pm
                current_employer: Jacobson Group
                date_available: Next month
                current_pay: 50k
                desired_pay: 120k
                is_willing_to_relocate: false
                key_skills: Programming, management, fishing
                notes: >-
                  Alias beatae laudantium corrupti consequatur laboriosam facere
                  labore dolor tempore.
                source: Google
                is_hot: true
                is_active: false
                is_registered: false
                contact_id: 1611
                owner_id: 5676
                entered_by_id: 3269
                date_created: '2025-10-27T22:51:17.077Z'
                date_modified: '2025-03-15T16:35:18.710Z'
                _links: {}
                _embedded: {}
      summary: Authorize a candidate
      operationId: Authorize a candidate
      description: >-
        Check if an email and password match an existing candidate. Returns the
        Candidate if authorized, or a 404 if not.

        You can use this endpoint to allow a user to "log in" and edit their
        contact data.
      tags:
        - Candidates
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              email: Eleanore_White@yahoo.com
              password: 7Yw4t7SpwAF343U
            schema:
              type: object
              properties:
                email:
                  type: string
                password:
                  type: string
  /candidates/{id}/pipelines:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      pipelines:
                        type: array
                        items: {}
              example:
                count: 25
                total: 524
                _links: {}
                _embedded:
                  pipelines:
                    - id: 7847
                      candidate_id: 7057
                      job_id: 8484
                      rating: 0
                      workflow_id: 3189
                      status_id: 6705
                      date_created: '2025-02-06T18:44:24.989Z'
                      date_modified: '2025-08-24T22:11:56.567Z'
                      _links: {}
                      _embedded: {}
      summary: List pipelines by candidate
      operationId: List pipelines by candidate
      description: List all pipelines associated with a candidate.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return pipelines for.
          required: true
          example: '4792'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of pipelines to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of pipelines to return per page.
          required: true
          schema:
            type: number
  /candidates/{id}/tasks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 936
                _links: {}
                _embedded:
                  tasks:
                    - id: 9047
                      data_item:
                        id: 4118
                        type: candidate
                      entered_by_id: 2621
                      assigned_to_id: 2671
                      description: In dolor provident nihil est.
                      priority: 2
                      date_due: '2025-04-16T19:42:22.879Z'
                      is_completed: true
                      date_completed: '2025-06-18T12:41:38.837Z'
                      date_created: '2025-05-28T18:52:48.884Z'
                      date_updated: '2025-01-10T06:54:03.500Z'
                      _links: {}
                      _embedded: {}
      summary: List candidate tasks
      operationId: List candidate tasks
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to fetch tasks concerning.
          required: true
          example: '9890'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tasks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of task items to return per page.
          required: true
          schema:
            type: number
  /candidates/search:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      candidates:
                        type: array
                        items: {}
              example:
                count: 25
                total: 617
                _links: {}
                _embedded:
                  candidates:
                    - id: 3372
                      first_name: Arno
                      middle_name: Skyla
                      last_name: Hintz
                      title: Regional Program Supervisor
                      emails:
                        primary: Idella_Carter58@gmail.com
                        secondary: Donna.Von84@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      website: http://lavada.name
                      best_time_to_call: After 5pm
                      current_employer: Jacobson Group
                      date_available: Next month
                      current_pay: 50k
                      desired_pay: 120k
                      is_willing_to_relocate: false
                      key_skills: Programming, management, fishing
                      notes: >-
                        Alias beatae laudantium corrupti consequatur laboriosam
                        facere labore dolor tempore.
                      source: Google
                      is_hot: true
                      is_active: false
                      is_registered: false
                      contact_id: 1611
                      owner_id: 5676
                      entered_by_id: 3269
                      date_created: '2025-10-27T22:51:17.077Z'
                      date_modified: '2025-03-15T16:35:18.710Z'
                      _links: {}
                      _embedded: {}
      summary: Search candidates
      operationId: Search candidates
      description: ''
      tags:
        - Candidates
      parameters:
        - name: query
          in: query
          description: The string to search within candidates for.
          required: true
          example: Guido
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of candidates to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of candidates to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      candidates:
                        type: array
                        items: {}
              example:
                count: 25
                total: 617
                _links: {}
                _embedded:
                  candidates:
                    - id: 3372
                      first_name: Arno
                      middle_name: Skyla
                      last_name: Hintz
                      title: Regional Program Supervisor
                      emails:
                        primary: Idella_Carter58@gmail.com
                        secondary: Donna.Von84@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      website: http://lavada.name
                      best_time_to_call: After 5pm
                      current_employer: Jacobson Group
                      date_available: Next month
                      current_pay: 50k
                      desired_pay: 120k
                      is_willing_to_relocate: false
                      key_skills: Programming, management, fishing
                      notes: >-
                        Alias beatae laudantium corrupti consequatur laboriosam
                        facere labore dolor tempore.
                      source: Google
                      is_hot: true
                      is_active: false
                      is_registered: false
                      contact_id: 1611
                      owner_id: 5676
                      entered_by_id: 3269
                      date_created: '2025-10-27T22:51:17.077Z'
                      date_modified: '2025-03-15T16:35:18.710Z'
                      _links: {}
                      _embedded: {}
      summary: Filter candidates
      operationId: Filter candidates
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Candidate fields that can currently be
        filtered on, and which filters can be used on each:


        ```asciidoc

        `id` - greater_than, less_than, between, exactly, is_empty

        `first_name` - contains, exactly, is_empty

        `middle_name` - contains, exactly, is_empty

        `last_name` - contains, exactly, is_empty

        `title` - contains, exactly, is_empty

        `emails.primary` - contains, exactly, is_empty

        `emails.secondary` - contains, exactly, is_empty

        `address.street` - contains, exactly, is_empty

        `address.city` - contains, exactly, is_empty

        `address.state` - contains, exactly, is_empty

        `address.postal_code` - geo_distance, contains, exactly, is_empty

        `country_code` - contains, exactly, is_empty

        `phones.home` - contains, exactly, is_empty

        `phones.cell` - contains, exactly, is_empty

        `phones.work` - contains, exactly, is_empty

        `best_time_to_call` - contains, exactly, is_empty

        `current_employer` - contains, exactly, is_empty

        `date_available` - greater_than, less_than, between, is_empty

        `current_pay` - contains, exactly, is_empty

        `desired_pay` - contains, exactly, is_empty

        `is_willing_to_relocate` - exactly, is_empty

        `key_skills` - contains, exactly, is_empty

        `notes` - contains, exactly, is_empty

        `is_hot` - exactly, is_empty

        `contact_id` - greater_than, less_than, between, exactly, is_empty

        `owner_id` - greater_than, less_than, between, exactly, is_empty

        `entered_by_id` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty


        `resumes` - contains

        `resumes.name` - contains, exactly, is_empty

        ```
      tags:
        - Candidates
      parameters:
        - name: query
          in: query
          description: The optional string to search within candidates for.
          required: true
          example: Magdalena
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of candidates to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of candidates to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /candidates/{candidate_id}/phones:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      phones:
                        type: array
                        items: {}
              example:
                count: 25
                total: 237
                _links: {}
                _embedded:
                  phones:
                    - id: 9125
                      number: (370) 640-1826 x64405
                      extension: '612'
                      type: Mobile
                      date_created: '2025-02-26T07:27:02.593Z'
                      date_modified: '2025-02-13T14:39:33.199Z'
                      _links: {}
                      _embedded: {}
      summary: List candidate phones
      operationId: List candidate phones
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to return phones for.
          required: true
          example: '3472'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of phones to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of phones to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate phone
      operationId: Create a candidate phone
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to create the phone for.
          required: true
          example: '8887'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '8371'
              type: Mobile
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `mobile`, `home`, `work`, `fax`, `main`, or `other`.
              required:
                - number
                - type
  /candidates/{candidate_id}/phones/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  number:
                    type: string
                  extension:
                    type: string
                  type:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9125
                number: (370) 640-1826 x64405
                extension: '612'
                type: Mobile
                date_created: '2025-02-26T07:27:02.593Z'
                date_modified: '2025-02-13T14:39:33.199Z'
                _links: {}
                _embedded: {}
      summary: Get a candidate phone
      operationId: Get a candidate phone
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to return the phone for.
          required: true
          example: '3340'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to return.
          required: true
          example: '1262'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a candidate phone
      operationId: Update a candidate phone
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to update the phone for.
          required: true
          example: '9613'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to update.
          required: true
          example: '763'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '8371'
              type: Mobile
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `mobile`, `home`, `work`, `fax`, `main`, or `other`.
              required:
                - number
                - type
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate phone
      operationId: Delete a candidate phone
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to delete the phone from.
          required: true
          example: '6150'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to delete.
          required: true
          example: '1636'
          schema:
            type: number
  /candidates/{candidate_id}/emails:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      emails:
                        type: array
                        items: {}
              example:
                count: 25
                total: 134
                _links: {}
                _embedded:
                  emails:
                    - id: 4997
                      email: Liliana_Moore80@gmail.com
                      is_primary: false
                      date_created: '2025-03-24T23:59:49.751Z'
                      date_modified: '2025-02-27T19:45:15.699Z'
                      _links: {}
      summary: List candidate emails
      operationId: List candidate emails
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to return emails for.
          required: true
          example: '7741'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of emails to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of emails to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate email
      operationId: Create a candidate email
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to create the email for.
          required: true
          example: '9242'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              email: Meda.Waelchi@hotmail.com
              is_primary: false
            schema:
              type: object
              properties:
                email:
                  type: string
                is_primary:
                  type: boolean
                  description: >-
                    If a record has any number of emails, exactly one of them
                    must be marked as primary.
              required:
                - email
  /candidates/{candidate_id}/emails/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  email:
                    type: string
                  is_primary:
                    type: boolean
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4997
                email: Liliana_Moore80@gmail.com
                is_primary: false
                date_created: '2025-03-24T23:59:49.751Z'
                date_modified: '2025-02-27T19:45:15.699Z'
                _links: {}
      summary: Get a candidate email
      operationId: Get a candidate email
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to return the email for.
          required: true
          example: '9548'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to return.
          required: true
          example: '7974'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a candidate email
      operationId: Update a candidate email
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to update the email for.
          required: true
          example: '2249'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to update.
          required: true
          example: '4033'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              email: Meda.Waelchi@hotmail.com
              is_primary: false
            schema:
              type: object
              properties:
                email:
                  type: string
                is_primary:
                  type: boolean
                  description: >-
                    If a record has any number of emails, exactly one of them
                    must be marked as primary.
              required:
                - email
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate email
      operationId: Delete a candidate email
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The candidate to delete the email from.
          required: true
          example: '7602'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to delete.
          required: true
          example: '1253'
          schema:
            type: number
  /candidates/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: 585
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 6623
                      data_item_type: candidate
                      name: Favorite Color
                      comment: ''
                      field:
                        type: text
      summary: List candidate custom fields
      operationId: List candidate custom fields
      description: >-
        List all custom field definitions associated with the candidate data
        item type. Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user`, or
        `number`.
      tags:
        - Candidates
      parameters:
        - name: page
          in: query
          description: The current page number of custom field definitions to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom field definitions to return per page.
          required: true
          schema:
            type: number
  /candidates/custom_fields/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item_type:
                    type: string
                  name:
                    type: string
                  comment:
                    type: string
                  field:
                    type: object
                    properties:
                      type:
                        type: string
              example:
                id: 6623
                data_item_type: candidate
                name: Favorite Color
                comment: ''
                field:
                  type: text
      summary: Get a candidate custom field
      operationId: Get a candidate custom field
      description: >-
        Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user`, or
        `number`.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the custom field definition to return.
          required: true
          example: '6623'
          schema:
            type: number
  /candidates/{id}/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: '482'
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 1028
                      value: jazmyne
                      _links: {}
                      _embedded: {}
      summary: List candidate custom field values
      operationId: List candidate custom field values
      description: >-
        List all custom field values associated with a candidate. This returns
        the values of all custom fields for the `candidate`

        data item type for a single candidate.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return custom fields for.
          required: true
          example: '4748'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of custom fields to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom fields to return per page.
          required: true
          schema:
            type: number
  /candidates/{candidate_id}/custom_fields/{custom_field_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  value:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1028
                value: jazmyne
                _links: {}
                _embedded: {}
      summary: Get a candidate custom field value
      operationId: Get a candidate custom field value
      description: Get a single custom field value for a candidate.
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate that the custom field belongs to.
          required: true
          example: '9300'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to return.
          required: true
          example: '572'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a candidate custom field
      operationId: Update a candidate custom field
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate that the custom field belongs to.
          required: true
          example: '6993'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to update.
          required: true
          example: '8016'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              value: lila
            schema:
              type: object
              properties:
                value:
                  type: string
              required:
                - value
  /candidates/{id}/activities:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 742
                _links: {}
                _embedded:
                  activities:
                    - id: 6514
                      data_item:
                        id: 4118
                        type: candidate
                      date_created: '2025-07-18T06:12:09.794Z'
                      regarding_id: 276
                      type: other
                      notes: Added candidate to pipeline.
                      annotation: General
                      entered_by_id: 7764
                      _links: {}
                      _embedded: {}
      summary: List candidate activities
      operationId: List candidate activities
      description: List all activities associated with a candidate.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return activities for.
          required: true
          example: '5401'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of activities to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of activities to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate activity
      operationId: Create a candidate activity
      description: Log an activity against a candidate.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to create an activity for.
          required: true
          example: '2219'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              type: call_lvm
              regarding_id: 9428
              notes: Quia sed mollitia occaecati ipsum saepe aut illum.
              date: '2025-01-26T17:15:25.924Z'
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: >-
                    One of the following activity types: `email`, `meeting`,
                    `call_talked`, `call_lvm`, `call_missed`, `text_message` or
                    `other`.
                regarding_id:
                  type: number
                  description: >-
                    The ID of the job order that this activity is regarding.
                    Leave `null` for a general activity.
                notes:
                  type: string
                date:
                  type: string
                  description: >-
                    The datetime the activity took place. If not specified it
                    defaults to the current date and time.
              required:
                - type
  /candidates/{id}/attachments:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 410
                _links: {}
                _embedded:
                  activities:
                    - id: 6202
                      filename: readme.txt
                      is_resume: true
                      size: ''
                      version: ''
                      data_item:
                        id: 7292
                        type: candidate
      summary: List a candidate attachments
      operationId: List a candidate attachments
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return attachments for.
          required: true
          example: '2668'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of attachments to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of attachments to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Upload a candidate attachment
      operationId: Upload a candidate attachment
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate that the attachment is being attached to.
          required: true
          example: '7448'
          schema:
            type: number
        - name: filename
          in: query
          description: The name to save the file being uploaded as.
          required: true
          example: readme.txt
          schema:
            type: string
  /candidates/{id}/resumes:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Upload a resume
      operationId: Upload a resume
      description: >-
        Resumes are attachments that are marked as a resume in a candidate's
        profile and are indexed for boolean keyword search.

        They are otherwise identical to standard attachments.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate that the resume is being attached to.
          required: true
          example: '8870'
          schema:
            type: number
        - name: filename
          in: query
          description: The name to save the file being uploaded as.
          required: true
          example: readme.txt
          schema:
            type: string
  /candidates/{id}/work_history:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      work_history:
                        type: array
                        items: {}
              example:
                count: 25
                total: 332
                _links: {}
                _embedded:
                  work_history:
                    - id: 3372
                      title: Future Factors Strategist
                      candidate_id: 3704
                      employer:
                        linked: false
                        name: Herzog - King
                        location:
                          city: Clydefort
                          state: WV
                      supervisor:
                        linked: false
                        name: Rahsaan
                        phone: (328) 532-2382
                      is_verified: true
                      is_current: false
                      start_date: '2025-10-02T09:36:20.480Z'
                      end_date: '2025-04-30T03:27:47.197Z'
                      reason_for_leaving: Quia omnis laborum repudiandae laborum.
      summary: List candidate work history
      operationId: List candidate work history
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to fetch work history for.
          required: true
          example: '9361'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of work history to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of work history items to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate work history item
      operationId: Create a candidate work history item
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to create work history for.
          required: true
          example: '9408'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              title: International Usability Associate
              employer:
                linked: false
                name: Osinski, Renner and Breitenberg
                location:
                  city: Jaleelhaven
                  state: NM
              supervisor:
                linked: false
                name: Howell
                phone: (911) 847-7484
              is_verified: true
              is_current: 'false'
              start_date: '2025-05-04T06:36:34.770Z'
              end_date: '2025-05-14T03:24:39.664Z'
              reason_for_leaving: Dolor praesentium delectus ut optio assumenda dolores.
            schema:
              type: object
              properties:
                title:
                  type: string
                employer:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    location:
                      type: object
                      properties:
                        city:
                          type: string
                        state:
                          type: string
                  description: >-
                    An object containing the employer information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<employer name>",
                      "location": {
                        "city": "<employer city>",
                        "state": "<employer state>"
                      }
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "company_id": 465
                    }

                    ```


                    Both `linked` and `name` are required fields within the
                    first object, and `linked` and `company_id` are required in
                    the second object.
                supervisor:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    phone:
                      type: string
                  description: >-
                    An object containing the supervisor information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<supervisor name>",
                      "phone": "<supervisor phone number>"
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "contact_id": 6864
                    }

                    ```
                is_verified:
                  type: boolean
                is_current:
                  type: string
                  description: >-
                    If this is set to `true`, both `end_date` and
                    `reason_for_leaving` will be ignored.
                start_date:
                  type: string
                end_date:
                  type: string
                reason_for_leaving:
                  type: string
              required:
                - title
                - employer
  /candidates/work_history/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  candidate_id:
                    type: number
                  employer:
                    type: object
                    properties:
                      linked:
                        type: boolean
                      name:
                        type: string
                      location:
                        type: object
                        properties:
                          city:
                            type: string
                          state:
                            type: string
                  supervisor:
                    type: object
                    properties:
                      linked:
                        type: boolean
                      name:
                        type: string
                      phone:
                        type: string
                  is_verified:
                    type: boolean
                  is_current:
                    type: boolean
                  start_date:
                    type: string
                  end_date:
                    type: string
                  reason_for_leaving:
                    type: string
              example:
                id: 3372
                title: Future Factors Strategist
                candidate_id: 3704
                employer:
                  linked: false
                  name: Herzog - King
                  location:
                    city: Clydefort
                    state: WV
                supervisor:
                  linked: false
                  name: Rahsaan
                  phone: (328) 532-2382
                is_verified: true
                is_current: false
                start_date: '2025-10-02T09:36:20.480Z'
                end_date: '2025-04-30T03:27:47.197Z'
                reason_for_leaving: Quia omnis laborum repudiandae laborum.
      summary: Get a candidate work history item
      operationId: Get a candidate work history item
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the work history to return.
          required: true
          example: '7041'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a candidate work history item
      operationId: Update a candidate work history item
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the work history to update.
          required: true
          example: '1069'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              title: International Usability Associate
              employer:
                linked: false
                name: Osinski, Renner and Breitenberg
                location:
                  city: Jaleelhaven
                  state: NM
              supervisor:
                linked: false
                name: Howell
                phone: (911) 847-7484
              is_verified: true
              is_current: 'false'
              start_date: '2025-05-04T06:36:34.770Z'
              end_date: '2025-05-14T03:24:39.664Z'
              reason_for_leaving: Dolor praesentium delectus ut optio assumenda dolores.
            schema:
              type: object
              properties:
                title:
                  type: string
                employer:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    location:
                      type: object
                      properties:
                        city:
                          type: string
                        state:
                          type: string
                  description: >-
                    An object containing the employer information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<employer name>",
                      "location": {
                        "city": "<employer city>",
                        "state": "<employer state>"
                      }
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "company_id": 465
                    }

                    ```


                    Both `linked` and `name` are required fields within the
                    first object, and `linked` and `company_id` are required in
                    the second object.
                supervisor:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    phone:
                      type: string
                  description: >-
                    An object containing the supervisor information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<supervisor name>",
                      "phone": "<supervisor phone number>"
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "contact_id": 6864
                    }

                    ```
                is_verified:
                  type: boolean
                is_current:
                  type: string
                  description: >-
                    If this is set to `true`, both `end_date` and
                    `reason_for_leaving` will be ignored.
                start_date:
                  type: string
                end_date:
                  type: string
                reason_for_leaving:
                  type: string
              required:
                - title
                - employer
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate work history item
      operationId: Delete a candidate work history item
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the work history to delete.
          required: true
          example: '8924'
          schema:
            type: number
  /candidates/lists:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      lists:
                        type: array
                        items: {}
              example:
                count: 25
                total: 580
                _links: {}
                _embedded:
                  lists:
                    - id: 8893
                      name: quia
                      notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                      date_created: '2025-06-24T22:39:51.587Z'
                      date_modified: '2025-10-25T04:40:32.851Z'
                      _links: {}
                      _embedded: {}
      summary: List all candidate lists
      operationId: List all candidate lists
      description: ''
      tags:
        - Candidates
      parameters:
        - name: page
          in: query
          description: The current page number of lists to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of lists to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a candidate list
      operationId: Create a candidate list
      description: ''
      tags:
        - Candidates
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: mollitia
              notes: Omnis beatae eligendi aut quae.
            schema:
              type: object
              properties:
                name:
                  type: string
                notes:
                  type: string
              required:
                - name
  /candidates/lists/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  notes:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 8893
                name: quia
                notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                date_created: '2025-06-24T22:39:51.587Z'
                date_modified: '2025-10-25T04:40:32.851Z'
                _links: {}
                _embedded: {}
      summary: Get a candidate list
      operationId: Get a candidate list
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate list to return.
          required: true
          example: '1493'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate list
      operationId: Delete a candidate list
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate list to delete.
          required: true
          example: '9341'
          schema:
            type: number
  /candidates/lists/{id}/items:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items: {}
              example:
                count: 25
                total: 660
                _links: {}
                _embedded:
                  items:
                    - id: 4023
                      date_created: '2025-02-19T17:54:11.368Z'
                      candidate_id: 8378
                      _links: {}
                      _embedded:
                        candidate:
                          id: 3372
                          first_name: Arno
                          middle_name: Skyla
                          last_name: Hintz
                          title: Regional Program Supervisor
                          emails:
                            primary: Idella_Carter58@gmail.com
                            secondary: Donna.Von84@hotmail.com
                          address:
                            street: 3896 Elsie Camp
                            city: Rhiannafort
                            state: IN
                            postal_code: 74174-7694
                          country_code: US
                          social_media_urls: []
                          website: http://lavada.name
                          best_time_to_call: After 5pm
                          current_employer: Jacobson Group
                          date_available: Next month
                          current_pay: 50k
                          desired_pay: 120k
                          is_willing_to_relocate: false
                          key_skills: Programming, management, fishing
                          notes: >-
                            Alias beatae laudantium corrupti consequatur
                            laboriosam facere labore dolor tempore.
                          source: Google
                          is_hot: true
                          is_active: false
                          is_registered: false
                          contact_id: 1611
                          owner_id: 5676
                          entered_by_id: 3269
                          date_created: '2025-10-27T22:51:17.077Z'
                          date_modified: '2025-03-15T16:35:18.710Z'
                          _links: {}
                          _embedded: {}
      summary: List all candidate list items
      operationId: List all candidate list items
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate list to return items for.
          required: true
          example: '6069'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create candidate list items
      operationId: Create candidate list items
      description: >-
        Creating candidate list items attaches the specified candidates to a
        list.
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate list.
          required: true
          example: '3593'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              items:
                - candidate_id: 8670
            schema:
              type: object
              properties:
                items:
                  type: array
                  items: {}
  /candidates/lists/{list_id}/items/{item_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  date_created:
                    type: string
                  candidate_id:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      candidate:
                        type: object
                        properties:
                          id:
                            type: number
                          first_name:
                            type: string
                          middle_name:
                            type: string
                          last_name:
                            type: string
                          title:
                            type: string
                          emails:
                            type: object
                            properties:
                              primary:
                                type: string
                              secondary:
                                type: string
                          address:
                            type: object
                            properties:
                              street:
                                type: string
                              city:
                                type: string
                              state:
                                type: string
                              postal_code:
                                type: string
                          country_code:
                            type: string
                          social_media_urls:
                            type: array
                            items: {}
                          website:
                            type: string
                          best_time_to_call:
                            type: string
                          current_employer:
                            type: string
                          date_available:
                            type: string
                          current_pay:
                            type: string
                          desired_pay:
                            type: string
                          is_willing_to_relocate:
                            type: boolean
                          key_skills:
                            type: string
                          notes:
                            type: string
                          source:
                            type: string
                          is_hot:
                            type: boolean
                          is_active:
                            type: boolean
                          is_registered:
                            type: boolean
                          contact_id:
                            type: number
                          owner_id:
                            type: number
                          entered_by_id:
                            type: number
                          date_created:
                            type: string
                          date_modified:
                            type: string
                          _links:
                            type: object
                            properties: {}
                          _embedded:
                            type: object
                            properties: {}
              example:
                id: 4023
                date_created: '2025-02-19T17:54:11.368Z'
                candidate_id: 8378
                _links: {}
                _embedded:
                  candidate:
                    id: 3372
                    first_name: Arno
                    middle_name: Skyla
                    last_name: Hintz
                    title: Regional Program Supervisor
                    emails:
                      primary: Idella_Carter58@gmail.com
                      secondary: Donna.Von84@hotmail.com
                    address:
                      street: 3896 Elsie Camp
                      city: Rhiannafort
                      state: IN
                      postal_code: 74174-7694
                    country_code: US
                    social_media_urls: []
                    website: http://lavada.name
                    best_time_to_call: After 5pm
                    current_employer: Jacobson Group
                    date_available: Next month
                    current_pay: 50k
                    desired_pay: 120k
                    is_willing_to_relocate: false
                    key_skills: Programming, management, fishing
                    notes: >-
                      Alias beatae laudantium corrupti consequatur laboriosam
                      facere labore dolor tempore.
                    source: Google
                    is_hot: true
                    is_active: false
                    is_registered: false
                    contact_id: 1611
                    owner_id: 5676
                    entered_by_id: 3269
                    date_created: '2025-10-27T22:51:17.077Z'
                    date_modified: '2025-03-15T16:35:18.710Z'
                    _links: {}
                    _embedded: {}
      summary: Get a candidate list item
      operationId: Get a candidate list item
      description: ''
      tags:
        - Candidates
      parameters:
        - name: list_id
          in: path
          description: The ID of the candidate list the item belongs to.
          required: true
          example: '2510'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the candidate list item to return.
          required: true
          example: '4557'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a candidate list item
      operationId: Delete a candidate list item
      description: Deleting a candidate list item removes a candidate from a list.
      tags:
        - Candidates
      parameters:
        - name: list_id
          in: path
          description: The ID of the candidate list.
          required: true
          example: '7616'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the list item to delete.
          required: true
          example: '2376'
          schema:
            type: number
  /candidates/{candidate_id}/applications:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      applications:
                        type: array
                        items: {}
              example:
                count: 25
                total: 883
                _links: {}
                _embedded:
                  applications:
                    - id: 1210
                      job_id: '1998'
                      date_created: '2025-08-13T17:18:09.229Z'
                      _links: {}
                      _embedded:
                        fields: []
      summary: List applications by candidate
      operationId: List applications by candidate
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate to return applications for.
          required: true
          example: '4690'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
  /candidates/applications/{application_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  job_id:
                    type: string
                  date_created:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      fields: {}
              example:
                id: 1210
                job_id: '1998'
                date_created: '2025-08-13T17:18:09.229Z'
                _links: {}
                _embedded:
                  fields: []
      summary: Get a candidate application
      operationId: Get a candidate application
      description: ''
      tags:
        - Candidates
      parameters:
        - name: application_id
          in: path
          description: The ID of the applications to return.
          required: true
          example: '1815'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
  /candidates/{candidate_id}/tags:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tags:
                        type: array
                        items: {}
              example:
                count: 25
                total: 824
                _links: {}
                _embedded:
                  tags:
                    - id: 4296
                      parent_id: 6049
                      title: My Cool Tag Name
                      _links: {}
                      _embedded: {}
      summary: List all candidate tags
      operationId: List all candidate tags
      description: ''
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate to return tags for.
          required: true
          example: '657'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tags to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tags to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Replace candidate tags
      operationId: Replace candidate tags
      description: >-
        This will replace all tags on the candidate with the tags specified in
        this call. To remove all tags from an item,

        send an empty tag array.
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate to replace tags on.
          required: true
          example: '9710'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Attach candidate tags
      operationId: Attach candidate tags
      description: This will not delete any existing tags on the candidate.
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate to attach tags to.
          required: true
          example: '8380'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
  /candidates/{candidate_id}/tags/{tag_id}:
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete candidate tag
      operationId: Delete candidate tag
      description: Detaches an individual tag from the candidate.
      tags:
        - Candidates
      parameters:
        - name: candidate_id
          in: path
          description: The ID of the candidate to detach the tag from.
          required: true
          example: '8878'
          schema:
            type: number
        - name: tag_id
          in: path
          description: The ID of the tag to detach.
          required: true
          example: '170'
          schema:
            type: number
  /candidates/{id}/thumbnail:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  source:
                    type: string
                  attachment_id:
                    type: number
                  url:
                    type: string
                  _links:
                    type: object
                    properties: {}
              example:
                source: attachment
                attachment_id: 4179
                url: https://henri.org
                _links: {}
      summary: Get a candidate thumbnail
      operationId: Get a candidate thumbnail
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to get the thumbnail of.
          required: true
          example: '3603'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Change a candidate thumbnail
      operationId: Change a candidate thumbnail
      description: ''
      tags:
        - Candidates
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to change the thumbnail of.
          required: true
          example: '1270'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              source: attachment
              attachment_id: 667
            schema:
              type: object
              properties:
                source:
                  type: string
                  description: One of `attachment`, `gravatar`, or `disabled`.
                attachment_id:
                  type: number
                  description: >-
                    Only required if source is set to `attachment` (must be an
                    attachment belonging to the data item)
              required:
                - source
  /companies:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      companies:
                        type: array
                        items: {}
              example:
                count: 25
                total: 552
                _links: {}
                _embedded:
                  companies:
                    - id: 8627
                      owner_id: 1516
                      name: Altenwerth - Baumbach
                      website: https://tiara.info
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      entered_by_id: 834
                      social_media_urls: []
                      notes: Quisquam ad fugiat hic.
                      is_hot: true
                      key_technologies: ''
                      billing_contact_id: 9977
                      user_groups: []
                      status_id: 8484
                      date_created: '2025-05-30T13:51:49.081Z'
                      date_modified: '2025-09-27T04:43:54.487Z'
                      _links: {}
                      _embedded: {}
      summary: List all companies
      operationId: List all companies
      description: ''
      tags:
        - Companies
      parameters:
        - name: page
          in: query
          description: The current page number of companies to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of companies to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a company
      operationId: Create a company
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Companies
      parameters:
        - name: check_duplicate
          in: query
          description: >-
            When this flag is set to true, if a duplicate record is found to the
            one being created, an error will be thrown instead of creating a
            duplicate record. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              name: Kuvalis, Hackett and Jones
              owner_id: 5348
              website: http://jaeden.name
              phones:
                - number: '+16124063451'
                  extension: '664'
                  type: Main
              address:
                street: 869 Terry Ramp
                city: Kozeyborough
                state: Nebraska
                postal_code: '92987'
              country_code: US
              entered_by_id: 4178
              social_media_urls: []
              notes: Possimus mollitia amet ex error quisquam quibusdam et quae.
              is_hot: false
              key_technologies: ''
              billing_contact_id: 6649
              custom_fields:
                - id: 7063
                  value: lorem
              user_groups: []
            schema:
              type: object
              properties:
                name:
                  type: string
                owner_id:
                  type: number
                website:
                  type: string
                phones:
                  type: array
                  description: >-
                    An array of phone objects. Each phone object should contain
                    three keys: `number`, `extension`, and `type`, as described
                    [here](#companies-create-a-phone)


                    ```

                    [
                        {
                            "number": <phone number with country code>,
                            "extension": "<optional extension>",
                            "type": "<phone number type>",
                        }
                    ]

                    ```
                  items: {}
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the company with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                entered_by_id:
                  type: number
                social_media_urls:
                  type: array
                  items: {}
                notes:
                  type: string
                is_hot:
                  type: boolean
                key_technologies:
                  type: string
                billing_contact_id:
                  type: number
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this company.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
                user_groups:
                  type: array
                  description: User groups allowed to access this company
                  items: {}
              required:
                - name
                - owner_id
  /companies/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  owner_id:
                    type: number
                  name:
                    type: string
                  website:
                    type: string
                  address:
                    type: object
                    properties:
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  entered_by_id:
                    type: number
                  social_media_urls:
                    type: array
                    items: {}
                  notes:
                    type: string
                  is_hot:
                    type: boolean
                  key_technologies:
                    type: string
                  billing_contact_id:
                    type: number
                  user_groups:
                    type: array
                    items: {}
                  status_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 8627
                owner_id: 1516
                name: Altenwerth - Baumbach
                website: https://tiara.info
                address:
                  street: 3896 Elsie Camp
                  city: Rhiannafort
                  state: IN
                  postal_code: 74174-7694
                country_code: US
                entered_by_id: 834
                social_media_urls: []
                notes: Quisquam ad fugiat hic.
                is_hot: true
                key_technologies: ''
                billing_contact_id: 9977
                user_groups: []
                status_id: 8484
                date_created: '2025-05-30T13:51:49.081Z'
                date_modified: '2025-09-27T04:43:54.487Z'
                _links: {}
                _embedded: {}
      summary: Get a company
      operationId: Get a company
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to return.
          required: true
          example: '8627'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a company
      operationId: Update a company
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to update.
          required: true
          example: '8829'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              name: Kuvalis, Hackett and Jones
              owner_id: 5348
              website: http://jaeden.name
              phones:
                - number: '+16124063451'
                  extension: '664'
                  type: Main
              address:
                street: 869 Terry Ramp
                city: Kozeyborough
                state: Nebraska
                postal_code: '92987'
              country_code: US
              entered_by_id: 4178
              social_media_urls: []
              notes: Possimus mollitia amet ex error quisquam quibusdam et quae.
              is_hot: false
              key_technologies: ''
              billing_contact_id: 6649
              custom_fields:
                - id: 7063
                  value: lorem
              user_groups: []
            schema:
              type: object
              properties:
                name:
                  type: string
                owner_id:
                  type: number
                website:
                  type: string
                phones:
                  type: array
                  description: >-
                    An array of phone objects. Each phone object should contain
                    three keys: `number`, `extension`, and `type`, as described
                    [here](#companies-create-a-phone)


                    ```

                    [
                        {
                            "number": <phone number with country code>,
                            "extension": "<optional extension>",
                            "type": "<phone number type>",
                        }
                    ]

                    ```
                  items: {}
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the company with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                entered_by_id:
                  type: number
                social_media_urls:
                  type: array
                  items: {}
                notes:
                  type: string
                is_hot:
                  type: boolean
                key_technologies:
                  type: string
                billing_contact_id:
                  type: number
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this company.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
                user_groups:
                  type: array
                  description: User groups allowed to access this company
                  items: {}
              required:
                - name
                - owner_id
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a company
      operationId: Delete a company
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to delete.
          required: true
          example: '3322'
          schema:
            type: number
  /companies/{id}/tasks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 414
                _links: {}
                _embedded:
                  tasks:
                    - id: 9047
                      data_item:
                        id: 3787
                        type: company
                      entered_by_id: 5202
                      assigned_to_id: 3798
                      description: >-
                        Adipisci et non quia voluptatibus magnam et
                        voluptatibus.
                      priority: 2
                      date_due: '2025-04-05T14:02:39.095Z'
                      is_completed: true
                      date_completed: '2025-06-14T13:15:36.466Z'
                      date_created: '2025-02-20T04:53:40.943Z'
                      date_updated: '2025-10-06T15:56:44.111Z'
                      _links: {}
                      _embedded: {}
      summary: List company tasks
      operationId: List company tasks
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to fetch tasks concerning.
          required: true
          example: '3230'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tasks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of task items to return per page.
          required: true
          schema:
            type: number
  /companies/search:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      companies:
                        type: array
                        items: {}
              example:
                count: 25
                total: 552
                _links: {}
                _embedded:
                  companies:
                    - id: 8627
                      owner_id: 1516
                      name: Altenwerth - Baumbach
                      website: https://tiara.info
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      entered_by_id: 834
                      social_media_urls: []
                      notes: Quisquam ad fugiat hic.
                      is_hot: true
                      key_technologies: ''
                      billing_contact_id: 9977
                      user_groups: []
                      status_id: 8484
                      date_created: '2025-05-30T13:51:49.081Z'
                      date_modified: '2025-09-27T04:43:54.487Z'
                      _links: {}
                      _embedded: {}
      summary: Search companies
      operationId: Search companies
      description: ''
      tags:
        - Companies
      parameters:
        - name: query
          in: query
          description: The string to search within companies for.
          required: true
          example: Lew
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of companies to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of companies to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      companies:
                        type: array
                        items: {}
              example:
                count: 25
                total: 552
                _links: {}
                _embedded:
                  companies:
                    - id: 8627
                      owner_id: 1516
                      name: Altenwerth - Baumbach
                      website: https://tiara.info
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      entered_by_id: 834
                      social_media_urls: []
                      notes: Quisquam ad fugiat hic.
                      is_hot: true
                      key_technologies: ''
                      billing_contact_id: 9977
                      user_groups: []
                      status_id: 8484
                      date_created: '2025-05-30T13:51:49.081Z'
                      date_modified: '2025-09-27T04:43:54.487Z'
                      _links: {}
                      _embedded: {}
      summary: Filter companies
      operationId: Filter companies
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Company fields that can currently be filtered
        on, and which filters can be used on each:


        ```markdown

        `id` - greater_than, less_than, between, exactly, is_empty

        `owner_id` - greater_than, less_than, between, exactly, is_empty

        `name` - contains, exactly, is_empty

        `website` - contains, exactly, is_empty

        `address.street` - contains, exactly, is_empty

        `address.city` - contains, exactly, is_empty

        `address.state` - contains, exactly, is_empty

        `address.postal_code` - geo_distance, contains, exactly, is_empty

        `country_code` - contains, exactly, is_empty

        `phones.primary` - contains, exactly, is_empty

        `phones.secondary` - contains, exactly, is_empty

        `phones.fax` - contains, exactly, is_empty

        `entered_by_id` - greater_than, less_than, between, exactly, is_empty

        `notes` - contains, exactly, is_empty

        `is_hot` - exactly, is_empty

        `key_technologies` - contains, exactly, is_empty

        `billing_contact_id` - greater_than, less_than, between, exactly,
        is_empty

        `status_id` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty


        ```
      tags:
        - Companies
      parameters:
        - name: query
          in: query
          description: The optional string to search within companies for.
          required: true
          example: Annamarie
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of companies to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of companies to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /companies/{company_id}/phones:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      phones:
                        type: array
                        items: {}
              example:
                count: 25
                total: 237
                _links: {}
                _embedded:
                  phones:
                    - id: 9125
                      number: (370) 640-1826 x64405
                      extension: '612'
                      type: Mobile
                      date_created: '2025-02-26T07:27:02.593Z'
                      date_modified: '2025-02-13T14:39:33.199Z'
                      _links: {}
                      _embedded: {}
      summary: List company phones
      operationId: List company phones
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The company to return phones for.
          required: true
          example: '2101'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of phones to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of phones to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a company phone
      operationId: Create a company phone
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The company to create the phone for.
          required: true
          example: '5582'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '664'
              type: Main
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `fax`, `main`, or `other`.
              required:
                - number
                - type
  /companies/{company_id}/phones/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  number:
                    type: string
                  extension:
                    type: string
                  type:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9125
                number: (370) 640-1826 x64405
                extension: '612'
                type: Mobile
                date_created: '2025-02-26T07:27:02.593Z'
                date_modified: '2025-02-13T14:39:33.199Z'
                _links: {}
                _embedded: {}
      summary: Get a company phone
      operationId: Get a company phone
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The company to return the phone for.
          required: true
          example: '9663'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to return.
          required: true
          example: '1262'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a company phone
      operationId: Update a company phone
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The company to update the phone for.
          required: true
          example: '8688'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to update.
          required: true
          example: '2731'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '664'
              type: Main
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `fax`, `main`, or `other`.
              required:
                - number
                - type
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a company phone
      operationId: Delete a company phone
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The company to delete the phone from.
          required: true
          example: '9958'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to delete.
          required: true
          example: '2516'
          schema:
            type: number
  /companies/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: 394
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 6623
                      data_item_type: company
                      name: Favorite Color
                      comment: ''
                      field:
                        type: text
      summary: List company custom fields
      operationId: List company custom fields
      description: >-
        List all custom field definitions associated with the company data item
        type. Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Companies
      parameters:
        - name: page
          in: query
          description: The current page number of custom field definitions to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom field definitions to return per page.
          required: true
          schema:
            type: number
  /companies/custom_fields/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item_type:
                    type: string
                  name:
                    type: string
                  comment:
                    type: string
                  field:
                    type: object
                    properties:
                      type:
                        type: string
              example:
                id: 6623
                data_item_type: company
                name: Favorite Color
                comment: ''
                field:
                  type: text
      summary: Get a company custom field
      operationId: Get a company custom field
      description: >-
        Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the custom field definition to return.
          required: true
          example: '6623'
          schema:
            type: number
  /companies/{id}/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: '482'
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 1028
                      value: jazmyne
                      _links: {}
                      _embedded: {}
      summary: List company custom field values
      operationId: List company custom field values
      description: >-
        List all custom field values associated with a company. This returns the
        values of all custom fields for the `company`

        data item type for a single company.
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to return custom fields for.
          required: true
          example: '6568'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of custom fields to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom fields to return per page.
          required: true
          schema:
            type: number
  /companies/{company_id}/custom_fields/{custom_field_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  value:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1028
                value: jazmyne
                _links: {}
                _embedded: {}
      summary: Get a company custom field value
      operationId: Get a company custom field value
      description: Get a single custom field value for a company.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company that the custom field belongs to.
          required: true
          example: '6866'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to return.
          required: true
          example: '6817'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a company custom field
      operationId: Update a company custom field
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company that the custom field belongs to.
          required: true
          example: '5953'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to update.
          required: true
          example: '6908'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              value: lila
            schema:
              type: object
              properties:
                value:
                  type: string
              required:
                - value
  /companies/statuses:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      statuses:
                        type: array
                        items: {}
              example:
                count: 25
                total: 701
                _links: {}
                _embedded:
                  statuses:
                    - id: 4453
                      title: Lead
                      mapping: lead
                      prerequisites:
                        - id: 743
                      triggers:
                        - id: 9189
                      _links: {}
      summary: List company statuses
      operationId: List company statuses
      description: ''
      tags:
        - Companies
      parameters:
        - name: page
          in: query
          description: The current page number of statuses to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of statuses to return per page.
          required: true
          schema:
            type: number
  /companies/statuses/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  mapping:
                    type: string
                  prerequisites:
                    type: array
                    items: {}
                  triggers:
                    type: array
                    items: {}
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4453
                title: Lead
                mapping: lead
                prerequisites:
                  - id: 743
                triggers:
                  - id: 9189
                _links: {}
      summary: Get a company status
      operationId: Get a company status
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the status to return.
          required: true
          example: '4453'
          schema:
            type: number
  /companies/{id}/status:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Change company status
      operationId: Change company status
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company that the status is being attached to.
          required: true
          example: '104'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              status_id: 8837
              triggers:
                - id: 1323
                  fire: false
            schema:
              type: object
              properties:
                status_id:
                  type: number
                  description: The ID of the status to attach.
                triggers:
                  type: array
                  description: >-
                    An array of objects each containing the ID of an attached
                    trigger and a boolean representing whether or not to fire
                    the trigger.


                    If the `triggers` parameter is not set, all required
                    triggers will be fired as well as all triggers that are
                    marked as optional and on by default. Optional triggers that
                    are off by default will not fire.


                    If the `triggers` parameter is specified, *all* triggers
                    that are attached to the status must be included in the
                    array and the API will make no assumptions about which
                    triggers to fire.


                    Example:


                    ```

                    [
                        {
                          "id": <trigger ID>,
                          "fire": <boolean>
                        }
                    ]

                    ```
                  items: {}
              required:
                - status_id
  /companies/{id}/attachments:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 410
                _links: {}
                _embedded:
                  activities:
                    - id: 6202
                      filename: readme.txt
                      is_resume: true
                      size: ''
                      version: ''
                      data_item:
                        id: 7292
                        type: candidate
      summary: List company attachments
      operationId: List company attachments
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to return attachments for.
          required: true
          example: '7280'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of attachments to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of attachments to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Upload a company attachment
      operationId: Upload a company attachment
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company that the attachment is being attached to.
          required: true
          example: '7142'
          schema:
            type: number
        - name: filename
          in: query
          description: The name to save the file being uploaded as.
          required: true
          example: readme.txt
          schema:
            type: string
  /companies/lists:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      lists:
                        type: array
                        items: {}
              example:
                count: 25
                total: 580
                _links: {}
                _embedded:
                  lists:
                    - id: 8893
                      name: quia
                      notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                      date_created: '2025-06-24T22:39:51.587Z'
                      date_modified: '2025-10-25T04:40:32.851Z'
                      _links: {}
                      _embedded: {}
      summary: List all company lists
      operationId: List all company lists
      description: ''
      tags:
        - Companies
      parameters:
        - name: page
          in: query
          description: The current page number of lists to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of lists to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a company list
      operationId: Create a company list
      description: ''
      tags:
        - Companies
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: mollitia
              notes: Omnis beatae eligendi aut quae.
            schema:
              type: object
              properties:
                name:
                  type: string
                notes:
                  type: string
              required:
                - name
  /companies/lists/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  notes:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 8893
                name: quia
                notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                date_created: '2025-06-24T22:39:51.587Z'
                date_modified: '2025-10-25T04:40:32.851Z'
                _links: {}
                _embedded: {}
      summary: Get a list
      operationId: Get a list
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company list to return.
          required: true
          example: '323'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a company list
      operationId: Delete a company list
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company list to delete.
          required: true
          example: '4771'
          schema:
            type: number
  /companies/lists/{id}/items:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items: {}
              example:
                count: 25
                total: 470
                _links: {}
                _embedded:
                  items:
                    - id: 9025
                      date_created: '2025-02-01T19:06:25.676Z'
                      company_id: 7684
                      _links: {}
                      _embedded:
                        company:
                          id: 8627
                          owner_id: 1516
                          name: Altenwerth - Baumbach
                          website: https://tiara.info
                          address:
                            street: 3896 Elsie Camp
                            city: Rhiannafort
                            state: IN
                            postal_code: 74174-7694
                          country_code: US
                          entered_by_id: 834
                          social_media_urls: []
                          notes: Quisquam ad fugiat hic.
                          is_hot: true
                          key_technologies: ''
                          billing_contact_id: 9977
                          user_groups: []
                          status_id: 8484
                          date_created: '2025-05-30T13:51:49.081Z'
                          date_modified: '2025-09-27T04:43:54.487Z'
                          _links: {}
                          _embedded: {}
      summary: List all company list items
      operationId: List all company list items
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company list to return items for.
          required: true
          example: '5031'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create company list items
      operationId: Create company list items
      description: Creating company list items attaches the specified companies to a list.
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company list.
          required: true
          example: '8948'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              items:
                - company_id: 5762
            schema:
              type: object
              properties:
                items:
                  type: array
                  items: {}
  /companies/lists/{list_id}/items/{item_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  date_created:
                    type: string
                  company_id:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      company:
                        type: object
                        properties:
                          id:
                            type: number
                          owner_id:
                            type: number
                          name:
                            type: string
                          website:
                            type: string
                          address:
                            type: object
                            properties:
                              street:
                                type: string
                              city:
                                type: string
                              state:
                                type: string
                              postal_code:
                                type: string
                          country_code:
                            type: string
                          entered_by_id:
                            type: number
                          social_media_urls:
                            type: array
                            items: {}
                          notes:
                            type: string
                          is_hot:
                            type: boolean
                          key_technologies:
                            type: string
                          billing_contact_id:
                            type: number
                          user_groups:
                            type: array
                            items: {}
                          status_id:
                            type: number
                          date_created:
                            type: string
                          date_modified:
                            type: string
                          _links:
                            type: object
                            properties: {}
                          _embedded:
                            type: object
                            properties: {}
              example:
                id: 9025
                date_created: '2025-02-01T19:06:25.676Z'
                company_id: 7684
                _links: {}
                _embedded:
                  company:
                    id: 8627
                    owner_id: 1516
                    name: Altenwerth - Baumbach
                    website: https://tiara.info
                    address:
                      street: 3896 Elsie Camp
                      city: Rhiannafort
                      state: IN
                      postal_code: 74174-7694
                    country_code: US
                    entered_by_id: 834
                    social_media_urls: []
                    notes: Quisquam ad fugiat hic.
                    is_hot: true
                    key_technologies: ''
                    billing_contact_id: 9977
                    user_groups: []
                    status_id: 8484
                    date_created: '2025-05-30T13:51:49.081Z'
                    date_modified: '2025-09-27T04:43:54.487Z'
                    _links: {}
                    _embedded: {}
      summary: Get a company list item
      operationId: Get a company list item
      description: ''
      tags:
        - Companies
      parameters:
        - name: list_id
          in: path
          description: The ID of the company list the item belongs to.
          required: true
          example: '8566'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the company list item to return.
          required: true
          example: '7026'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a company list item
      operationId: Delete a company list item
      description: Deleting a company list item removes a company from a list.
      tags:
        - Companies
      parameters:
        - name: list_id
          in: path
          description: The ID of the company list.
          required: true
          example: '1866'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the list item to delete.
          required: true
          example: '1311'
          schema:
            type: number
  /companies/{company_id}/tags:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tags:
                        type: array
                        items: {}
              example:
                count: 25
                total: 824
                _links: {}
                _embedded:
                  tags:
                    - id: 4296
                      parent_id: 6049
                      title: My Cool Tag Name
                      _links: {}
                      _embedded: {}
      summary: List all company tags
      operationId: List all company tags
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to return tags for.
          required: true
          example: '7932'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tags to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tags to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Replace company tags
      operationId: Replace company tags
      description: >-
        This will replace all tags on the company with the tags specified in
        this call. To remove all tags from an item,

        send an empty tag array.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to replace tags on.
          required: true
          example: '413'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Attach company tags
      operationId: Attach company tags
      description: This will not delete any existing tags on the company.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to attach tags to.
          required: true
          example: '4690'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
  /companies/{company_id}/tags/{tag_id}:
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete company tag
      operationId: Delete company tag
      description: Detaches an individual tag from the company.
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to detach the tag from.
          required: true
          example: '778'
          schema:
            type: number
        - name: tag_id
          in: path
          description: The ID of the tag to detach.
          required: true
          example: '647'
          schema:
            type: number
  /companies/{company_id}/departments:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      departments:
                        type: array
                        items: {}
              example:
                count: 25
                total: 288
                _links: {}
                _embedded:
                  departments:
                    - id: 9387
                      name: Kuphal - Crist
                      _links: {}
                      _embedded: {}
      summary: List all departments
      operationId: List all departments
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to return departments for.
          required: true
          example: '3886'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of departments to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of departments to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Add department
      operationId: Add department
      description: ''
      tags:
        - Companies
      parameters:
        - name: company_id
          in: path
          description: The ID of the company to add department on.
          required: true
          example: '6357'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              name: Pagac - Stoltenberg
            schema:
              type: object
              properties:
                name:
                  type: string
              required:
                - name
  /companies/departments/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9387
                name: Kuphal - Crist
                _links: {}
                _embedded: {}
      summary: Get a department
      operationId: Get a department
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the department to return.
          required: true
          example: '9387'
          schema:
            type: number
  /companies/departments/{department_id}:
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update department
      operationId: Update department
      description: ''
      tags:
        - Companies
      parameters:
        - name: department_id
          in: path
          description: The ID of the department to update.
          required: true
          example: '1819'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              name: Pagac - Stoltenberg
            schema:
              type: object
              properties:
                name:
                  type: string
              required:
                - name
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete department
      operationId: Delete department
      description: ''
      tags:
        - Companies
      parameters:
        - name: department_id
          in: path
          description: The ID of the department to delete.
          required: true
          example: '3784'
          schema:
            type: number
  /companies/{id}/thumbnail:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  source:
                    type: string
                  attachment_id:
                    type: number
                  url:
                    type: string
                  _links:
                    type: object
                    properties: {}
              example:
                source: attachment
                attachment_id: 4179
                url: https://henri.org
                _links: {}
      summary: Get a company thumbnail
      operationId: Get a company thumbnail
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to get the thumbnail of.
          required: true
          example: '2632'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Change a company thumbnail
      operationId: Change a company thumbnail
      description: ''
      tags:
        - Companies
      parameters:
        - name: id
          in: path
          description: The ID of the company to change the thumbnail of.
          required: true
          example: '886'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              source: attachment
              attachment_id: 3458
              id: 6820
              description: Send Candidate Status Change Notification
              is_required: true
              is_default: false
              _links: {}
            schema:
              type: object
              properties:
                source:
                  type: string
                  description: One of `attachment`, `clearbit`, or `disabled`.
                attachment_id:
                  type: number
                  description: >-
                    Only required if source is set to `attachment` (must be an
                    attachment belonging to the data item)## Trigger (object)
                id:
                  type: number
                description:
                  type: string
                is_required:
                  type: boolean
                is_default:
                  type: boolean
                _links:
                  type: object
                  properties: {}
              required:
                - source
  /contacts:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      contacts:
                        type: array
                        items: {}
              example:
                count: 25
                total: 458
                _links: {}
                _embedded:
                  contacts:
                    - id: 2451
                      first_name: Roy
                      last_name: Kub
                      title: Direct Web Consultant
                      reports_to_id: 1557
                      emails:
                        primary: Liana90@gmail.com
                        secondary: Tyree_Ankunding@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      is_hot: false
                      notes: Quo ratione facilis cum accusantium.
                      entered_by_id: 3589
                      status_id: 2576
                      date_created: '2025-07-29T05:51:14.381Z'
                      date_modified: '2025-11-23T02:12:47.037Z'
                      _links: {}
                      _embedded: {}
      summary: List all contacts
      operationId: List all contacts
      description: ''
      tags:
        - Contacts
      parameters:
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a contact
      operationId: Create a contact
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Contacts
      parameters:
        - name: check_duplicate
          in: query
          description: >-
            When this flag is set to true, if a duplicate record is found to the
            one being created, an error will be thrown instead of creating a
            duplicate record. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              first_name: Chelsey
              last_name: Hermiston
              owner_id: 5510
              company_id: 3914
              title: Product Brand Representative
              reports_to_id: 3264
              has_left_company: false
              emails:
                - email: Meda.Waelchi@hotmail.com
                  is_primary: false
              phones:
                - number: '+16124063451'
                  extension: '8371'
                  type: Mobile
              address:
                street: 077 Kiarra Islands
                city: Hildegardland
                state: New Hampshire
                postal_code: '39861'
              country_code: US
              social_media_urls: []
              is_hot: true
              notes: Vel sequi et et rerum.
              custom_fields:
                - id: 7063
                  value: lorem
            schema:
              type: object
              properties:
                first_name:
                  type: string
                last_name:
                  type: string
                owner_id:
                  type: number
                  description: The ID of the user that owns this contact record.
                company_id:
                  type: number
                  description: The ID of the company this contact belongs to.
                title:
                  type: string
                  description: The contact's job title.
                reports_to_id:
                  type: number
                  description: The ID of the contact that this contact reports to.
                has_left_company:
                  type: boolean
                emails:
                  type: array
                  description: >-
                    An array of email objects. Each email object should contain
                    two keys: `email` and `is_primary`, as described
                    [here](#contacts-create-an-email)


                    ```

                    [
                        {
                            "email": <email>,
                            "is_primary": "<is this the primary email?>"
                        }
                    ]

                    ```
                  items: {}
                phones:
                  type: array
                  description: >-
                    An array of phone objects. Each phone object should contain
                    three keys: `number`, `extension`, and `type`, as described
                    [here](#contacts-create-a-phone)


                    ```

                    [
                        {
                            "number": <phone number with country code>,
                            "extension": "<optional extension>",
                            "type": "<phone number type>",
                        }
                    ]

                    ```
                  items: {}
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the contact with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                social_media_urls:
                  type: array
                  items: {}
                is_hot:
                  type: boolean
                notes:
                  type: string
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this contact.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
              required:
                - first_name
                - last_name
                - owner_id
                - company_id
  /contacts/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  first_name:
                    type: string
                  last_name:
                    type: string
                  title:
                    type: string
                  reports_to_id:
                    type: number
                  emails:
                    type: object
                    properties:
                      primary:
                        type: string
                      secondary:
                        type: string
                  address:
                    type: object
                    properties:
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  social_media_urls:
                    type: array
                    items: {}
                  is_hot:
                    type: boolean
                  notes:
                    type: string
                  entered_by_id:
                    type: number
                  status_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 2451
                first_name: Roy
                last_name: Kub
                title: Direct Web Consultant
                reports_to_id: 1557
                emails:
                  primary: Liana90@gmail.com
                  secondary: Tyree_Ankunding@hotmail.com
                address:
                  street: 3896 Elsie Camp
                  city: Rhiannafort
                  state: IN
                  postal_code: 74174-7694
                country_code: US
                social_media_urls: []
                is_hot: false
                notes: Quo ratione facilis cum accusantium.
                entered_by_id: 3589
                status_id: 2576
                date_created: '2025-07-29T05:51:14.381Z'
                date_modified: '2025-11-23T02:12:47.037Z'
                _links: {}
                _embedded: {}
      summary: Get a contact
      operationId: Get a contact
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to return.
          required: true
          example: '2451'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a contact
      operationId: Update a contact
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to update.
          required: true
          example: '6445'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              first_name: Chelsey
              last_name: Hermiston
              owner_id: 5510
              company_id: 3914
              title: Product Brand Representative
              reports_to_id: 3264
              has_left_company: false
              emails:
                - email: Meda.Waelchi@hotmail.com
                  is_primary: false
              phones:
                - number: '+16124063451'
                  extension: '8371'
                  type: Mobile
              address:
                street: 077 Kiarra Islands
                city: Hildegardland
                state: New Hampshire
                postal_code: '39861'
              country_code: US
              social_media_urls: []
              is_hot: true
              notes: Vel sequi et et rerum.
              custom_fields:
                - id: 7063
                  value: lorem
            schema:
              type: object
              properties:
                first_name:
                  type: string
                last_name:
                  type: string
                owner_id:
                  type: number
                  description: The ID of the user that owns this contact record.
                company_id:
                  type: number
                  description: The ID of the company this contact belongs to.
                title:
                  type: string
                  description: The contact's job title.
                reports_to_id:
                  type: number
                  description: The ID of the contact that this contact reports to.
                has_left_company:
                  type: boolean
                emails:
                  type: array
                  description: >-
                    An array of email objects. Each email object should contain
                    two keys: `email` and `is_primary`, as described
                    [here](#contacts-create-an-email)


                    ```

                    [
                        {
                            "email": <email>,
                            "is_primary": "<is this the primary email?>"
                        }
                    ]

                    ```
                  items: {}
                phones:
                  type: array
                  description: >-
                    An array of phone objects. Each phone object should contain
                    three keys: `number`, `extension`, and `type`, as described
                    [here](#contacts-create-a-phone)


                    ```

                    [
                        {
                            "number": <phone number with country code>,
                            "extension": "<optional extension>",
                            "type": "<phone number type>",
                        }
                    ]

                    ```
                  items: {}
                address:
                  type: object
                  properties:
                    street:
                      type: string
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the address for the contact with the
                    following structure:


                    ```

                    {
                      "street": "<street>",
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                social_media_urls:
                  type: array
                  items: {}
                is_hot:
                  type: boolean
                notes:
                  type: string
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this contact.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
              required:
                - first_name
                - last_name
                - owner_id
                - company_id
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a contact
      operationId: Delete a contact
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to delete.
          required: true
          example: '5710'
          schema:
            type: number
  /contacts/{id}/tasks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 192
                _links: {}
                _embedded:
                  tasks:
                    - id: 9047
                      data_item:
                        id: 1987
                        type: contact
                      entered_by_id: 354
                      assigned_to_id: 3608
                      description: Illo ea et deleniti officia quos accusamus quis enim.
                      priority: 2
                      date_due: '2025-04-01T14:23:46.509Z'
                      is_completed: true
                      date_completed: '2025-04-13T07:03:23.534Z'
                      date_created: '2025-12-18T19:44:51.198Z'
                      date_updated: '2025-03-09T16:56:29.900Z'
                      _links: {}
                      _embedded: {}
      summary: List contact tasks
      operationId: List contact tasks
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to fetch tasks concerning.
          required: true
          example: '1433'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tasks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of task items to return per page.
          required: true
          schema:
            type: number
  /contacts/search:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      contacts:
                        type: array
                        items: {}
              example:
                count: 25
                total: 458
                _links: {}
                _embedded:
                  contacts:
                    - id: 2451
                      first_name: Roy
                      last_name: Kub
                      title: Direct Web Consultant
                      reports_to_id: 1557
                      emails:
                        primary: Liana90@gmail.com
                        secondary: Tyree_Ankunding@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      is_hot: false
                      notes: Quo ratione facilis cum accusantium.
                      entered_by_id: 3589
                      status_id: 2576
                      date_created: '2025-07-29T05:51:14.381Z'
                      date_modified: '2025-11-23T02:12:47.037Z'
                      _links: {}
                      _embedded: {}
      summary: Search contacts
      operationId: Search contacts
      description: ''
      tags:
        - Contacts
      parameters:
        - name: query
          in: query
          description: The string to search within contacts for.
          required: true
          example: Cassie
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      contacts:
                        type: array
                        items: {}
              example:
                count: 25
                total: 458
                _links: {}
                _embedded:
                  contacts:
                    - id: 2451
                      first_name: Roy
                      last_name: Kub
                      title: Direct Web Consultant
                      reports_to_id: 1557
                      emails:
                        primary: Liana90@gmail.com
                        secondary: Tyree_Ankunding@hotmail.com
                      address:
                        street: 3896 Elsie Camp
                        city: Rhiannafort
                        state: IN
                        postal_code: 74174-7694
                      country_code: US
                      social_media_urls: []
                      is_hot: false
                      notes: Quo ratione facilis cum accusantium.
                      entered_by_id: 3589
                      status_id: 2576
                      date_created: '2025-07-29T05:51:14.381Z'
                      date_modified: '2025-11-23T02:12:47.037Z'
                      _links: {}
                      _embedded: {}
      summary: Filter contacts
      operationId: Filter contacts
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Contact fields that can currently be filtered
        on, and which filters can be used on each:


        ```markdown

        `id` - greater_than, less_than, between, exactly, is_empty

        `first_name` - contains, exactly, is_empty

        `last_name` - contains, exactly, is_empty

        `title` - contains, exactly, is_empty

        `reports_to_id` - greater_than, less_than, between, exactly, is_empty

        `emails.primary` - contains, exactly, is_empty

        `emails.secondary` - contains, exactly, is_empty

        `address.street` - contains, exactly, is_empty

        `address.city` - contains, exactly, is_empty

        `address.state` - contains, exactly, is_empty

        `address.postal_code` - geo_distance, contains, exactly, is_empty

        `country_code` - contains, exactly, is_empty

        `phones.other` - contains, exactly, is_empty

        `phones.cell` - contains, exactly, is_empty

        `phones.work` - contains, exactly, is_empty

        `notes` - contains, exactly, is_empty

        `is_hot` - exactly, is_empty

        `status_id` - greater_than, less_than, between, exactly, is_empty

        `entered_by_id` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty

        ```
      tags:
        - Contacts
      parameters:
        - name: query
          in: query
          description: The optional string to search within contacts for.
          required: true
          example: Rosa
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /contacts/{contact_id}/phones:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      phones:
                        type: array
                        items: {}
              example:
                count: 25
                total: 237
                _links: {}
                _embedded:
                  phones:
                    - id: 9125
                      number: (370) 640-1826 x64405
                      extension: '612'
                      type: Mobile
                      date_created: '2025-02-26T07:27:02.593Z'
                      date_modified: '2025-02-13T14:39:33.199Z'
                      _links: {}
                      _embedded: {}
      summary: Lis contact phones
      operationId: Lis contact phones
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to return phones for.
          required: true
          example: '2501'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of phones to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of phones to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a contact phone
      operationId: Create a contact phone
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to create the phone for.
          required: true
          example: '8766'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '8371'
              type: Mobile
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `mobile`, `home`, `work`, `fax`, `main`, or `other`.
              required:
                - number
                - type
  /contacts/{contact_id}/phones/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  number:
                    type: string
                  extension:
                    type: string
                  type:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9125
                number: (370) 640-1826 x64405
                extension: '612'
                type: Mobile
                date_created: '2025-02-26T07:27:02.593Z'
                date_modified: '2025-02-13T14:39:33.199Z'
                _links: {}
                _embedded: {}
      summary: Get a contact phone
      operationId: Get a contact phone
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to return the phone for.
          required: true
          example: '4106'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to return.
          required: true
          example: '1262'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a contact phone
      operationId: Update a contact phone
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to update the phone for.
          required: true
          example: '2444'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to update.
          required: true
          example: '4918'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              number: '+16124063451'
              extension: '8371'
              type: Mobile
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    This number MUST begin with the country code. It will not be
                    parsed correctly otherwise.
                extension:
                  type: string
                type:
                  type: string
                  description: One of `mobile`, `home`, `work`, `fax`, `main`, or `other`.
              required:
                - number
                - type
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a contact phone
      operationId: Delete a contact phone
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to delete the phone from.
          required: true
          example: '6873'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the phone to delete.
          required: true
          example: '6927'
          schema:
            type: number
  /contacts/{contact_id}/emails:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      emails:
                        type: array
                        items: {}
              example:
                count: 25
                total: 134
                _links: {}
                _embedded:
                  emails:
                    - id: 4997
                      email: Liliana_Moore80@gmail.com
                      is_primary: false
                      date_created: '2025-03-24T23:59:49.751Z'
                      date_modified: '2025-02-27T19:45:15.699Z'
                      _links: {}
      summary: List contact emails
      operationId: List contact emails
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to return emails for.
          required: true
          example: '5167'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of emails to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of emails to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a contact email
      operationId: Create a contact email
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to create the email for.
          required: true
          example: '3817'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              email: Meda.Waelchi@hotmail.com
              is_primary: false
            schema:
              type: object
              properties:
                email:
                  type: string
                is_primary:
                  type: boolean
                  description: >-
                    If a record has any number of emails, exactly one of them
                    must be marked as primary.
              required:
                - email
  /contacts/{contact_id}/emails/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  email:
                    type: string
                  is_primary:
                    type: boolean
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4997
                email: Liliana_Moore80@gmail.com
                is_primary: false
                date_created: '2025-03-24T23:59:49.751Z'
                date_modified: '2025-02-27T19:45:15.699Z'
                _links: {}
      summary: Get a contact email
      operationId: Get a contact email
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to return the email for.
          required: true
          example: '3237'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to return.
          required: true
          example: '7974'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a contact email
      operationId: Update a contact email
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to update the email for.
          required: true
          example: '5140'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to update.
          required: true
          example: '8542'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              email: Meda.Waelchi@hotmail.com
              is_primary: false
            schema:
              type: object
              properties:
                email:
                  type: string
                is_primary:
                  type: boolean
                  description: >-
                    If a record has any number of emails, exactly one of them
                    must be marked as primary.
              required:
                - email
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a contact email
      operationId: Delete a contact email
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The contact to delete the email from.
          required: true
          example: '1274'
          schema:
            type: number
        - name: id
          in: path
          description: The ID of the email to delete.
          required: true
          example: '9363'
          schema:
            type: number
  /contacts/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: 722
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 6623
                      data_item_type: contact
                      name: Favorite Color
                      comment: ''
                      field:
                        type: text
      summary: List contact custom fields
      operationId: List contact custom fields
      description: >-
        List all custom field definitions associated with the contact data item
        type. Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Contacts
      parameters:
        - name: page
          in: query
          description: The current page number of custom field definitions to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom field definitions to return per page.
          required: true
          schema:
            type: number
  /contacts/custom_fields/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item_type:
                    type: string
                  name:
                    type: string
                  comment:
                    type: string
                  field:
                    type: object
                    properties:
                      type:
                        type: string
              example:
                id: 6623
                data_item_type: contact
                name: Favorite Color
                comment: ''
                field:
                  type: text
      summary: Get a contact custom field
      operationId: Get a contact custom field
      description: >-
        Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the custom field definition to return.
          required: true
          example: '6623'
          schema:
            type: number
  /contacts/{id}/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: '482'
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 1028
                      value: jazmyne
                      _links: {}
                      _embedded: {}
      summary: List contact custom field values
      operationId: List contact custom field values
      description: >-
        List all custom field values associated with a contact. This returns the
        values of all custom fields for the `contact`

        data item type for a single contact.
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to return custom fields for.
          required: true
          example: '3225'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of custom fields to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom fields to return per page.
          required: true
          schema:
            type: number
  /contacts/{contact_id}/custom_fields/{custom_field_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  value:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1028
                value: jazmyne
                _links: {}
                _embedded: {}
      summary: Get a contact custom field value
      operationId: Get a contact custom field value
      description: Get a single custom field value for a contact.
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact that the custom field belongs to.
          required: true
          example: '5520'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to return.
          required: true
          example: '9705'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a contact custom field
      operationId: Update a contact custom field
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact that the custom field belongs to.
          required: true
          example: '9935'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to update.
          required: true
          example: '9618'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              value: lila
            schema:
              type: object
              properties:
                value:
                  type: string
              required:
                - value
  /contacts/{id}/activities:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 330
                _links: {}
                _embedded:
                  activities:
                    - id: 8561
                      data_item:
                        id: 1987
                        type: contact
                      date_created: '2025-01-31T14:13:56.113Z'
                      regarding_id: 6852
                      type: type_other
                      notes: Added candidate to pipeline.
                      annotation: General
                      entered_by_id: 4843
                      _links: {}
                      _embedded: {}
      summary: List contact activities
      operationId: List contact activities
      description: List all activities associated with a contact.
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to return activities for.
          required: true
          example: '6135'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of activities to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of activities to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a contact activity
      operationId: Create a contact activity
      description: Log an activity against a contact.
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to create an activity for.
          required: true
          example: '6926'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              type: call_lvm
              regarding_id: 9428
              notes: Quia sed mollitia occaecati ipsum saepe aut illum.
              date: '2025-01-26T17:15:25.924Z'
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: >-
                    One of the following activity types: `email`, `meeting`,
                    `call_talked`, `call_lvm`, `call_missed`, `text_message` or
                    `other`.
                regarding_id:
                  type: number
                  description: >-
                    The ID of the job order that this activity is regarding.
                    Leave `null` for a general activity.
                notes:
                  type: string
                date:
                  type: string
                  description: >-
                    The datetime the activity took place. If not specified it
                    defaults to the current date and time.
              required:
                - type
  /contacts/statuses:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      statuses:
                        type: array
                        items: {}
              example:
                count: 25
                total: 437
                _links: {}
                _embedded:
                  statuses:
                    - id: 4453
                      title: Employee
                      mapping: human_resources
                      prerequisites:
                        - id: 743
                      triggers:
                        - id: 9189
                      _links: {}
      summary: List contact statuses
      operationId: List contact statuses
      description: ''
      tags:
        - Contacts
      parameters:
        - name: page
          in: query
          description: The current page number of statuses to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of statuses to return per page.
          required: true
          schema:
            type: number
  /contacts/statuses/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                    description: Human Resources (string)
                  mapping:
                    type: string
                  prerequisites:
                    type: array
                    items: {}
                  triggers:
                    type: array
                    items: {}
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4453
                title: Employee
                mapping: human_resources
                prerequisites:
                  - id: 743
                triggers:
                  - id: 9189
                _links: {}
      summary: Get contact status
      operationId: Get contact status
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the status to return.
          required: true
          example: '4453'
          schema:
            type: number
  /contacts/{id}/status:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Change contact status
      operationId: Change contact status
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact that the status is being attached to.
          required: true
          example: '3033'
          schema:
            type: number
        - name: create_activity
          in: query
          description: >-
            Whether a corresponding activity should be created automatically.
            This mimics what happens when a pipeline is created from the CATS
            UI. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              status_id: 8837
              triggers:
                - id: 1323
                  fire: false
            schema:
              type: object
              properties:
                status_id:
                  type: number
                  description: The ID of the status to attach.
                triggers:
                  type: array
                  description: >-
                    An array of objects each containing the ID of an attached
                    trigger and a boolean representing whether or not to fire
                    the trigger.


                    If the `triggers` parameter is not set, all required
                    triggers will be fired as well as all triggers that are
                    marked as optional and on by default. Optional triggers that
                    are off by default will not fire.


                    If the `triggers` parameter is specified, *all* triggers
                    that are attached to the status must be included in the
                    array and the API will make no assumptions about which
                    triggers to fire.


                    Example:


                    ```

                    [
                        {
                          "id": <trigger ID>,
                          "fire": <boolean>
                        }
                    ]

                    ```
                  items: {}
              required:
                - status_id
  /contacts/{id}/attachments:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 410
                _links: {}
                _embedded:
                  activities:
                    - id: 6202
                      filename: readme.txt
                      is_resume: true
                      size: ''
                      version: ''
                      data_item:
                        id: 7292
                        type: candidate
      summary: List contact attachments
      operationId: List contact attachments
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to return attachments for.
          required: true
          example: '2384'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of attachments to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of attachments to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Upload a contact attachment
      operationId: Upload a contact attachment
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact that the attachment is being attached to.
          required: true
          example: '4288'
          schema:
            type: number
        - name: filename
          in: query
          description: The name to save the file being uploaded as.
          required: true
          example: readme.txt
          schema:
            type: string
  /contacts/lists:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      lists:
                        type: array
                        items: {}
              example:
                count: 25
                total: 580
                _links: {}
                _embedded:
                  lists:
                    - id: 8893
                      name: quia
                      notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                      date_created: '2025-06-24T22:39:51.587Z'
                      date_modified: '2025-10-25T04:40:32.851Z'
                      _links: {}
                      _embedded: {}
      summary: List all contact lists
      operationId: List all contact lists
      description: ''
      tags:
        - Contacts
      parameters:
        - name: page
          in: query
          description: The current page number of lists to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of lists to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a contact list
      operationId: Create a contact list
      description: ''
      tags:
        - Contacts
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: mollitia
              notes: Omnis beatae eligendi aut quae.
            schema:
              type: object
              properties:
                name:
                  type: string
                notes:
                  type: string
              required:
                - name
  /contacts/lists/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  notes:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 8893
                name: quia
                notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                date_created: '2025-06-24T22:39:51.587Z'
                date_modified: '2025-10-25T04:40:32.851Z'
                _links: {}
                _embedded: {}
      summary: Get a contact list
      operationId: Get a contact list
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact list to return.
          required: true
          example: '5268'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a contact list
      operationId: Delete a contact list
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact list to delete.
          required: true
          example: '6402'
          schema:
            type: number
  /contacts/lists/{id}/items:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items: {}
              example:
                count: 25
                total: 535
                _links: {}
                _embedded:
                  items:
                    - id: 435
                      date_created: '2025-09-25T16:40:40.662Z'
                      contact_id: 4777
                      _links: {}
                      _embedded:
                        contact:
                          id: 2451
                          first_name: Roy
                          last_name: Kub
                          title: Direct Web Consultant
                          reports_to_id: 1557
                          emails:
                            primary: Liana90@gmail.com
                            secondary: Tyree_Ankunding@hotmail.com
                          address:
                            street: 3896 Elsie Camp
                            city: Rhiannafort
                            state: IN
                            postal_code: 74174-7694
                          country_code: US
                          social_media_urls: []
                          is_hot: false
                          notes: Quo ratione facilis cum accusantium.
                          entered_by_id: 3589
                          status_id: 2576
                          date_created: '2025-07-29T05:51:14.381Z'
                          date_modified: '2025-11-23T02:12:47.037Z'
                          _links: {}
                          _embedded: {}
      summary: List all contact list items
      operationId: List all contact list items
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact list to return items for.
          required: true
          example: '1883'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create contact list items
      operationId: Create contact list items
      description: Creating contact list items attaches the specified contacts to a list.
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact list.
          required: true
          example: '8133'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              items:
                - contact_id: 1363
            schema:
              type: object
              properties:
                items:
                  type: array
                  items: {}
  /contacts/lists/{list_id}/items/{item_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  date_created:
                    type: string
                  contact_id:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      contact:
                        type: object
                        properties:
                          id:
                            type: number
                          first_name:
                            type: string
                          last_name:
                            type: string
                          title:
                            type: string
                          reports_to_id:
                            type: number
                          emails:
                            type: object
                            properties:
                              primary:
                                type: string
                              secondary:
                                type: string
                          address:
                            type: object
                            properties:
                              street:
                                type: string
                              city:
                                type: string
                              state:
                                type: string
                              postal_code:
                                type: string
                          country_code:
                            type: string
                          social_media_urls:
                            type: array
                            items: {}
                          is_hot:
                            type: boolean
                          notes:
                            type: string
                          entered_by_id:
                            type: number
                          status_id:
                            type: number
                          date_created:
                            type: string
                          date_modified:
                            type: string
                          _links:
                            type: object
                            properties: {}
                          _embedded:
                            type: object
                            properties: {}
              example:
                id: 435
                date_created: '2025-09-25T16:40:40.662Z'
                contact_id: 4777
                _links: {}
                _embedded:
                  contact:
                    id: 2451
                    first_name: Roy
                    last_name: Kub
                    title: Direct Web Consultant
                    reports_to_id: 1557
                    emails:
                      primary: Liana90@gmail.com
                      secondary: Tyree_Ankunding@hotmail.com
                    address:
                      street: 3896 Elsie Camp
                      city: Rhiannafort
                      state: IN
                      postal_code: 74174-7694
                    country_code: US
                    social_media_urls: []
                    is_hot: false
                    notes: Quo ratione facilis cum accusantium.
                    entered_by_id: 3589
                    status_id: 2576
                    date_created: '2025-07-29T05:51:14.381Z'
                    date_modified: '2025-11-23T02:12:47.037Z'
                    _links: {}
                    _embedded: {}
      summary: Get a contact list item
      operationId: Get a contact list item
      description: ''
      tags:
        - Contacts
      parameters:
        - name: list_id
          in: path
          description: The ID of the contact list the item belongs to.
          required: true
          example: '5543'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the contact list item to return.
          required: true
          example: '1190'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a contact list item
      operationId: Delete a contact list item
      description: Deleting a contact list item removes a contact from a list.
      tags:
        - Contacts
      parameters:
        - name: list_id
          in: path
          description: The ID of the contact list.
          required: true
          example: '6534'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the list item to delete.
          required: true
          example: '6642'
          schema:
            type: number
  /contacts/{contact_id}/tags:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tags:
                        type: array
                        items: {}
              example:
                count: 25
                total: 824
                _links: {}
                _embedded:
                  tags:
                    - id: 4296
                      parent_id: 6049
                      title: My Cool Tag Name
                      _links: {}
                      _embedded: {}
      summary: List all contact tags
      operationId: List all contact tags
      description: ''
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact to return tags for.
          required: true
          example: '6470'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tags to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tags to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Replace contact tags
      operationId: Replace contact tags
      description: >-
        This will replace all tags on the contact with the tags specified in
        this call. To remove all tags from an item,

        send an empty tag array.
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact to replace tags on.
          required: true
          example: '1807'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Attach contact tags
      operationId: Attach contact tags
      description: This will not delete any existing tags on the contact.
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact to attach tags to.
          required: true
          example: '5401'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
  /contacts/{contact_id}/tags/{tag_id}:
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete contact tag
      operationId: Delete contact tag
      description: Detaches an individual tag from the contact.
      tags:
        - Contacts
      parameters:
        - name: contact_id
          in: path
          description: The ID of the contact to detach the tag from.
          required: true
          example: '4757'
          schema:
            type: number
        - name: tag_id
          in: path
          description: The ID of the tag to detach.
          required: true
          example: '5493'
          schema:
            type: number
  /contacts/{id}/thumbnail:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  source:
                    type: string
                  attachment_id:
                    type: number
                  url:
                    type: string
                  _links:
                    type: object
                    properties: {}
              example:
                source: attachment
                attachment_id: 4179
                url: https://henri.org
                _links: {}
      summary: Get a contact thumbnail
      operationId: Get a contact thumbnail
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to get the thumbnail of.
          required: true
          example: '7271'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Change a contact thumbnail
      operationId: Change a contact thumbnail
      description: ''
      tags:
        - Contacts
      parameters:
        - name: id
          in: path
          description: The ID of the contact to change the thumbnail of.
          required: true
          example: '2938'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              source: attachment
              attachment_id: 667
            schema:
              type: object
              properties:
                source:
                  type: string
                  description: One of `attachment`, `gravatar`, or `disabled`.
                attachment_id:
                  type: number
                  description: >-
                    Only required if source is set to `attachment` (must be an
                    attachment belonging to the data item)
              required:
                - source
  /events:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  starting_after_timestamp:
                    type: number
                  starting_after_id:
                    type: number
                  last_id:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      events:
                        type: array
                        items: {}
              example:
                count: 25
                starting_after_timestamp: 1510864296
                starting_after_id: 23634
                last_id: 23659
                _links: {}
                _embedded:
                  events:
                    - id: 23635
                      event_name: candidate.created
                      data_item:
                        id: 4118
                        type: candidate
                      user_id: 2998
                      timestamp: 1510864358
      summary: List all events starting after a timestamp
      operationId: List all events starting after a timestamp
      description: >-
        This will return up to 25 events starting after (and not including) the
        provided timestamp. The resulting hal collection will also contain the
        next url you need to poll to get the next set of events.

        Fetching by id is preferable to fetching by timestamp.
      tags:
        - Events
      parameters:
        - name: starting_after_timestamp
          in: query
          description: >-
            Get up to 25 events immediately following (but not including) this
            timestamp
          required: true
          example: '1510864296'
          schema:
            type: number
  /jobs:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      jobs:
                        type: array
                        items: {}
              example:
                count: 25
                total: 217
                _links: {}
                _embedded:
                  jobs:
                    - id: 9207
                      title: National Paradigm Executive
                      location:
                        city: South Taureanfurt
                        state: MS
                        postal_code: '34114'
                      country_code: US
                      description: >-
                        Consequatur quo temporibus. Illo quia et molestiae eos
                        ducimus porro nobis sed. Aut sunt eveniet et quasi
                        sequi. Voluptatem expedita vel aut. Excepturi deleniti
                        libero blanditiis beatae.
                      notes: Quam autem praesentium veniam velit.
                      recruiter_id: 3493
                      owner_id: 5390
                      category: null
                      is_hot: false
                      start_date: '2025-01-29T13:24:13.171Z'
                      salary: null
                      max_rate: null
                      duration: ''
                      external_id: null
                      company_id: 7835
                      department_id: 1609
                      status_id: 1156
                      workflow_id: 9740
                      is_published: true
                      portal_hidden: true
                      user_groups: []
                      date_created: '2025-02-11T06:50:38.970Z'
                      date_modified: '2025-11-07T15:09:08.391Z'
                      _links: {}
                      _embedded: {}
      summary: List all jobs
      operationId: List all jobs
      description: ''
      tags:
        - Jobs
      parameters:
        - name: page
          in: query
          description: The current page number of jobs to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of jobs to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a job
      operationId: Create a job
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Jobs
      parameters:
        - name: check_duplicate
          in: query
          description: >-
            When this flag is set to true, if a duplicate record is found to the
            one being created, an error will be thrown instead of creating a
            duplicate record. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              title: Regional Security Facilitator
              location:
                city: East Lelahborough
                state: FL
                postal_code: 06887-3024
              country_code: US
              company_id: 4345
              department_id: 8525
              recruiter_id: 488
              owner_id: 6913
              category_name: ''
              is_hot: false
              start_date: '2025-11-17T11:53:48.806Z'
              salary: ''
              max_rate: ''
              duration: ''
              type: ''
              openings: 0
              external_id: ''
              description: ''
              notes: ''
              contact_id: 6883
              workflow_id: 396
              custom_fields:
                - id: 7063
                  value: lorem
              user_groups: []
            schema:
              type: object
              properties:
                title:
                  type: string
                location:
                  type: object
                  properties:
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the location information for the job
                    with the following structure:


                    ```

                    {
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                company_id:
                  type: number
                  description: The ID of the company the job belongs to.
                department_id:
                  type: number
                  description: >-
                    The ID of the department the job belongs to (must be a
                    department linked to the specified company)
                recruiter_id:
                  type: number
                  description: The ID of the user who is the recruiter for the job.
                owner_id:
                  type: number
                  description: The user id of the record owner
                category_name:
                  type: string
                is_hot:
                  type: boolean
                start_date:
                  type: string
                salary:
                  type: string
                max_rate:
                  type: string
                duration:
                  type: string
                type:
                  type: string
                openings:
                  type: number
                external_id:
                  type: string
                description:
                  type: string
                notes:
                  type: string
                contact_id:
                  type: number
                  description: The ID of the contact associated with the job.
                workflow_id:
                  type: number
                  description: >-
                    The ID of the workflow to assign to pipelines attached to
                    this job. If not specified, will use the default.
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this job.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
                user_groups:
                  type: array
                  description: User groups allowed to access this job
                  items: {}
              required:
                - title
                - location
                - company_id
  /jobs/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  location:
                    type: object
                    properties:
                      city:
                        type: string
                      state:
                        type: string
                      postal_code:
                        type: string
                  country_code:
                    type: string
                  description:
                    type: string
                  notes:
                    type: string
                  recruiter_id:
                    type: number
                  owner_id:
                    type: number
                  category:
                    type: string
                    nullable: true
                  is_hot:
                    type: boolean
                  start_date:
                    type: string
                    nullable: true
                  salary:
                    type: string
                    nullable: true
                  max_rate:
                    type: string
                    nullable: true
                  duration:
                    type: string
                  external_id:
                    type: string
                    nullable: true
                  company_id:
                    type: number
                  department_id:
                    type: number
                  status_id:
                    type: number
                  workflow_id:
                    type: number
                  is_published:
                    type: boolean
                  portal_hidden:
                    type: boolean
                  user_groups:
                    type: array
                    items: {}
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9207
                title: National Paradigm Executive
                location:
                  city: South Taureanfurt
                  state: MS
                  postal_code: '34114'
                country_code: US
                description: >-
                  Consequatur quo temporibus. Illo quia et molestiae eos ducimus
                  porro nobis sed. Aut sunt eveniet et quasi sequi. Voluptatem
                  expedita vel aut. Excepturi deleniti libero blanditiis beatae.
                notes: Quam autem praesentium veniam velit.
                recruiter_id: 3493
                owner_id: 5390
                category: null
                is_hot: false
                start_date: '2025-01-29T13:24:13.171Z'
                salary: null
                max_rate: null
                duration: ''
                external_id: null
                company_id: 7835
                department_id: 1609
                status_id: 1156
                workflow_id: 9740
                is_published: true
                portal_hidden: true
                user_groups: []
                date_created: '2025-02-11T06:50:38.970Z'
                date_modified: '2025-11-07T15:09:08.391Z'
                _links: {}
                _embedded: {}
      summary: Get a job
      operationId: Get a job
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to return.
          required: true
          example: '9207'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a job
      operationId: Update a job
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to update.
          required: true
          example: '2409'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              title: National Infrastructure Technician
              location:
                city: North Tristian
                state: WA
                postal_code: '84834'
              country_code: US
              company_id: 4541
              department_id: 7361
              recruiter_id: 6745
              owner_id: 8844
              category_name: ''
              is_hot: false
              start_date: '2025-07-11T21:05:16.024Z'
              salary: ''
              max_rate: ''
              duration: ''
              type: ''
              openings: 0
              external_id: ''
              description: ''
              notes: ''
              contact_id: 1920
              custom_fields:
                - id: 7063
                  value: lorem
              user_groups: []
            schema:
              type: object
              properties:
                title:
                  type: string
                location:
                  type: object
                  properties:
                    city:
                      type: string
                    state:
                      type: string
                    postal_code:
                      type: string
                  description: >-
                    An object containing the location information for the job
                    with the following structure:


                    ```

                    {
                      "city": "<city>",
                      "state": "<state>",
                      "postal_code": "<postal code>"
                    }

                    ```
                country_code:
                  type: string
                company_id:
                  type: number
                  description: The ID of the company the job belongs to.
                department_id:
                  type: number
                  description: >-
                    The ID of the department the job belongs to (must be a
                    department linked to the specified company)
                recruiter_id:
                  type: number
                  description: The ID of the user who is the recruiter for the job.
                owner_id:
                  type: number
                  description: The user id of the record owner
                category_name:
                  type: string
                is_hot:
                  type: boolean
                start_date:
                  type: string
                salary:
                  type: string
                max_rate:
                  type: string
                duration:
                  type: string
                type:
                  type: string
                openings:
                  type: number
                external_id:
                  type: string
                description:
                  type: string
                notes:
                  type: string
                contact_id:
                  type: number
                  description: The ID of the contact associated with the job.
                custom_fields:
                  type: array
                  description: >-
                    An array of custom field objects. Each custom field object
                    should contain two keys: `id` and `value`. `id` is the id of
                    a custom field definition, and `value` is the value to be
                    set to that custom field for this job.


                    ```

                    [
                        {
                            "id": <custom field definition id>,
                            "value": "<custom field value>"
                        }
                    ]

                    ```
                  items: {}
                user_groups:
                  type: array
                  description: User groups allowed to access this job
                  items: {}
              required:
                - title
                - location
                - company_id
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a job
      operationId: Delete a job
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to delete.
          required: true
          example: '6773'
          schema:
            type: number
  /jobs/{id}/pipelines:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      pipelines:
                        type: array
                        items: {}
              example:
                count: 25
                total: 524
                _links: {}
                _embedded:
                  pipelines:
                    - id: 7847
                      candidate_id: 7057
                      job_id: 8484
                      rating: 0
                      workflow_id: 3189
                      status_id: 6705
                      date_created: '2025-02-06T18:44:24.989Z'
                      date_modified: '2025-08-24T22:11:56.567Z'
                      _links: {}
                      _embedded: {}
      summary: List pipelines by job
      operationId: List pipelines by job
      description: List all pipelines associated with a job.
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to return pipelines for.
          required: true
          example: '9189'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of pipelines to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of pipelines to return per page.
          required: true
          schema:
            type: number
  /jobs/{id}/tasks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 718
                _links: {}
                _embedded:
                  tasks:
                    - id: 9047
                      data_item:
                        id: 6169
                        type: job
                      entered_by_id: 9065
                      assigned_to_id: 3776
                      description: Dolores non laudantium esse amet libero nam et.
                      priority: 2
                      date_due: '2025-08-26T05:23:06.347Z'
                      is_completed: true
                      date_completed: '2025-05-11T09:33:51.878Z'
                      date_created: '2025-10-13T22:05:40.113Z'
                      date_updated: '2025-10-20T03:59:34.854Z'
                      _links: {}
                      _embedded: {}
      summary: List job tasks
      operationId: List job tasks
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to fetch tasks concerning.
          required: true
          example: '9615'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tasks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of task items to return per page.
          required: true
          schema:
            type: number
  /jobs/search:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      jobs:
                        type: array
                        items: {}
              example:
                count: 25
                total: 217
                _links: {}
                _embedded:
                  jobs:
                    - id: 9207
                      title: National Paradigm Executive
                      location:
                        city: South Taureanfurt
                        state: MS
                        postal_code: '34114'
                      country_code: US
                      description: >-
                        Consequatur quo temporibus. Illo quia et molestiae eos
                        ducimus porro nobis sed. Aut sunt eveniet et quasi
                        sequi. Voluptatem expedita vel aut. Excepturi deleniti
                        libero blanditiis beatae.
                      notes: Quam autem praesentium veniam velit.
                      recruiter_id: 3493
                      owner_id: 5390
                      category: null
                      is_hot: false
                      start_date: '2025-01-29T13:24:13.171Z'
                      salary: null
                      max_rate: null
                      duration: ''
                      external_id: null
                      company_id: 7835
                      department_id: 1609
                      status_id: 1156
                      workflow_id: 9740
                      is_published: true
                      portal_hidden: true
                      user_groups: []
                      date_created: '2025-02-11T06:50:38.970Z'
                      date_modified: '2025-11-07T15:09:08.391Z'
                      _links: {}
                      _embedded: {}
      summary: Search jobs
      operationId: Search jobs
      description: ''
      tags:
        - Jobs
      parameters:
        - name: query
          in: query
          description: The string to search within jobs for.
          required: true
          example: Nettie
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of jobs to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of jobs to return per page.
          required: true
          example: '25'
          schema:
            type: number
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      jobs:
                        type: array
                        items: {}
              example:
                count: 25
                total: 217
                _links: {}
                _embedded:
                  jobs:
                    - id: 9207
                      title: National Paradigm Executive
                      location:
                        city: South Taureanfurt
                        state: MS
                        postal_code: '34114'
                      country_code: US
                      description: >-
                        Consequatur quo temporibus. Illo quia et molestiae eos
                        ducimus porro nobis sed. Aut sunt eveniet et quasi
                        sequi. Voluptatem expedita vel aut. Excepturi deleniti
                        libero blanditiis beatae.
                      notes: Quam autem praesentium veniam velit.
                      recruiter_id: 3493
                      owner_id: 5390
                      category: null
                      is_hot: false
                      start_date: '2025-01-29T13:24:13.171Z'
                      salary: null
                      max_rate: null
                      duration: ''
                      external_id: null
                      company_id: 7835
                      department_id: 1609
                      status_id: 1156
                      workflow_id: 9740
                      is_published: true
                      portal_hidden: true
                      user_groups: []
                      date_created: '2025-02-11T06:50:38.970Z'
                      date_modified: '2025-11-07T15:09:08.391Z'
                      _links: {}
                      _embedded: {}
      summary: Filter jobs
      operationId: Filter jobs
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Job fields that can currently be filtered on,
        and which filters can be used on each:


        ```markdown

        `id` - greater_than, less_than, between, exactly, is_empty

        `title` - contains, exactly, is_empty

        `location.city` - contains, exactly, is_empty

        `location.state` - contains, exactly, is_empty

        `location.postal_code` - geo_distance, contains, exactly, is_empty

        `country_code` - contains, exactly, is_empty

        `description` - contains, exactly, is_empty

        `notes` - contains, exactly, is_empty

        `recruiter_id` - greater_than, less_than, between, exactly, is_empty

        `owner_id` - greater_than, less_than, between, exactly, is_empty

        `is_hot` - exactly, is_empty

        `start_date` - greater_than, less_than, between, is_empty

        `salary` - contains, exactly, is_empty

        `duration` - contains, exactly, is_empty

        `is_published` - exactly

        `external_id` - contains, exactly, is_empty

        `company_id` - greater_than, less_than, between, exactly, is_empty

        `status_id` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty


        ```
      tags:
        - Jobs
      parameters:
        - name: query
          in: query
          description: The optional string to search within jobs for.
          required: true
          example: Royal
          schema:
            type: string
        - name: page
          in: query
          description: The current page number of jobs to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of jobs to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /jobs/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: 955
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 6623
                      data_item_type: job
                      name: Favorite Color
                      comment: ''
                      field:
                        type: text
      summary: List job custom fields
      operationId: List job custom fields
      description: >-
        List all custom field definitions associated with the job data item
        type. Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Jobs
      parameters:
        - name: page
          in: query
          description: The current page number of custom field definitions to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom field definitions to return per page.
          required: true
          schema:
            type: number
  /jobs/custom_fields/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item_type:
                    type: string
                  name:
                    type: string
                  comment:
                    type: string
                  field:
                    type: object
                    properties:
                      type:
                        type: string
              example:
                id: 6623
                data_item_type: job
                name: Favorite Color
                comment: ''
                field:
                  type: text
      summary: Get a job custom field
      operationId: Get a job custom field
      description: >-
        Returned field type will always be one of `text`, `textarea`,
        `checkbox`, `date`, `dropdown`, `radio`, `checkboxes`, `user` or
        `number`.
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the custom field definition to return.
          required: true
          example: '6623'
          schema:
            type: number
  /jobs/{id}/custom_fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      custom_fields:
                        type: array
                        items: {}
              example:
                count: 25
                total: '482'
                _links: {}
                _embedded:
                  custom_fields:
                    - id: 1028
                      value: jazmyne
                      _links: {}
                      _embedded: {}
      summary: List job custom field values
      operationId: List job custom field values
      description: >-
        List all custom field values associated with a job. This returns the
        values of all custom fields for the `job` data

        item type for a single job. See the [Custom Fields
        documentation](#custom-fields) for information on retrieving custom

        field definitions.
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job to return custom fields for.
          required: true
          example: '3507'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of custom fields to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of custom fields to return per page.
          required: true
          schema:
            type: number
  /jobs/{job_id}/custom_fields/{custom_field_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  value:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1028
                value: jazmyne
                _links: {}
                _embedded: {}
      summary: Get a job custom field value
      operationId: Get a job custom field value
      description: Get a single custom field value for a job.
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job that the custom field belongs to.
          required: true
          example: '2712'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to return.
          required: true
          example: '5449'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a job custom field
      operationId: Update a job custom field
      description: ''
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job that the custom field belongs to.
          required: true
          example: '8612'
          schema:
            type: number
        - name: custom_field_id
          in: path
          description: The ID of the custom field to update.
          required: true
          example: '8795'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              value: lila
            schema:
              type: object
              properties:
                value:
                  type: string
              required:
                - value
  /jobs/statuses:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      statuses:
                        type: array
                        items: {}
              example:
                count: 25
                total: 938
                _links: {}
                _embedded:
                  statuses:
                    - id: 4453
                      title: Active
                      mapping: 0
                      prerequisites:
                        - id: 743
                      triggers:
                        - id: 9189
                      _links: {}
      summary: List job statuses
      operationId: List job statuses
      description: ''
      tags:
        - Jobs
      parameters:
        - name: page
          in: query
          description: The current page number of statuses to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of statuses to return per page.
          required: true
          schema:
            type: number
  /jobs/statuses/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  mapping:
                    type: number
                  prerequisites:
                    type: array
                    items: {}
                  triggers:
                    type: array
                    items: {}
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4453
                title: Active
                mapping: 0
                prerequisites:
                  - id: 743
                triggers:
                  - id: 9189
                _links: {}
      summary: Get a job status
      operationId: Get a job status
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the status to return.
          required: true
          example: '4453'
          schema:
            type: number
  /jobs/{id}/status:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Change job status
      operationId: Change job status
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job that the status is being attached to.
          required: true
          example: '2713'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              status_id: 8837
              triggers:
                - id: 1323
                  fire: false
            schema:
              type: object
              properties:
                status_id:
                  type: number
                  description: The ID of the status to attach.
                triggers:
                  type: array
                  description: >-
                    An array of objects each containing the ID of an attached
                    trigger and a boolean representing whether or not to fire
                    the trigger.


                    If the `triggers` parameter is not set, all required
                    triggers will be fired as well as all triggers that are
                    marked as optional and on by default. Optional triggers that
                    are off by default will not fire.


                    If the `triggers` parameter is specified, *all* triggers
                    that are attached to the status must be included in the
                    array and the API will make no assumptions about which
                    triggers to fire.


                    Example:


                    ```

                    [
                        {
                          "id": <trigger ID>,
                          "fire": <boolean>
                        }
                    ]

                    ```
                  items: {}
              required:
                - status_id
  /jobs/{id}/attachments:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 410
                _links: {}
                _embedded:
                  activities:
                    - id: 6202
                      filename: readme.txt
                      is_resume: true
                      size: ''
                      version: ''
                      data_item:
                        id: 7292
                        type: candidate
      summary: List job attachments
      operationId: List job attachments
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the candidate to return attachments for.
          required: true
          example: '6617'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of attachments to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of attachments to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Upload a job attachment
      operationId: Upload a job attachment
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job that the attachment is being attached to.
          required: true
          example: '9967'
          schema:
            type: number
        - name: filename
          in: query
          description: The name to save the file being uploaded as.
          required: true
          example: readme.txt
          schema:
            type: string
  /jobs/lists:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      lists:
                        type: array
                        items: {}
              example:
                count: 25
                total: 580
                _links: {}
                _embedded:
                  lists:
                    - id: 8893
                      name: quia
                      notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                      date_created: '2025-06-24T22:39:51.587Z'
                      date_modified: '2025-10-25T04:40:32.851Z'
                      _links: {}
                      _embedded: {}
      summary: List all job lists
      operationId: List all job lists
      description: ''
      tags:
        - Jobs
      parameters:
        - name: page
          in: query
          description: The current page number of lists to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of lists to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a job list
      operationId: Create a job list
      description: ''
      tags:
        - Jobs
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: mollitia
              notes: Omnis beatae eligendi aut quae.
            schema:
              type: object
              properties:
                name:
                  type: string
                notes:
                  type: string
              required:
                - name
  /jobs/lists/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  notes:
                    type: string
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 8893
                name: quia
                notes: Fuga qui sed voluptas sint ut similique voluptatem et.
                date_created: '2025-06-24T22:39:51.587Z'
                date_modified: '2025-10-25T04:40:32.851Z'
                _links: {}
                _embedded: {}
      summary: Get a job list
      operationId: Get a job list
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job list to return.
          required: true
          example: '1850'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a job list
      operationId: Delete a job list
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job list to delete.
          required: true
          example: '3052'
          schema:
            type: number
  /jobs/lists/{id}/items:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      items:
                        type: array
                        items: {}
              example:
                count: 25
                total: 893
                _links: {}
                _embedded:
                  items:
                    - id: 7788
                      date_created: '2025-02-05T15:15:14.497Z'
                      job_id: 9283
                      _links: {}
                      _embedded:
                        job:
                          id: 9207
                          title: National Paradigm Executive
                          location:
                            city: South Taureanfurt
                            state: MS
                            postal_code: '34114'
                          country_code: US
                          description: >-
                            Consequatur quo temporibus. Illo quia et molestiae
                            eos ducimus porro nobis sed. Aut sunt eveniet et
                            quasi sequi. Voluptatem expedita vel aut. Excepturi
                            deleniti libero blanditiis beatae.
                          notes: Quam autem praesentium veniam velit.
                          recruiter_id: 3493
                          owner_id: 5390
                          category: null
                          is_hot: false
                          start_date: '2025-01-29T13:24:13.171Z'
                          salary: null
                          max_rate: null
                          duration: ''
                          external_id: null
                          company_id: 7835
                          department_id: 1609
                          status_id: 1156
                          workflow_id: 9740
                          is_published: true
                          portal_hidden: true
                          user_groups: []
                          date_created: '2025-02-11T06:50:38.970Z'
                          date_modified: '2025-11-07T15:09:08.391Z'
                          _links: {}
                          _embedded: {}
      summary: List all job list items
      operationId: List all job list items
      description: ''
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job list to return items for.
          required: true
          example: '9190'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of list items to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of list items to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create job list items
      operationId: Create job list items
      description: Creating job list items attaches the specified jobs to a list.
      tags:
        - Jobs
      parameters:
        - name: id
          in: path
          description: The ID of the job list.
          required: true
          example: '8389'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              items:
                - job_id: 4178
            schema:
              type: object
              properties:
                items:
                  type: array
                  items: {}
  /jobs/lists/{list_id}/items/{item_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  date_created:
                    type: string
                  job_id:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      job:
                        type: object
                        properties:
                          id:
                            type: number
                          title:
                            type: string
                          location:
                            type: object
                            properties:
                              city:
                                type: string
                              state:
                                type: string
                              postal_code:
                                type: string
                          country_code:
                            type: string
                          description:
                            type: string
                          notes:
                            type: string
                          recruiter_id:
                            type: number
                          owner_id:
                            type: number
                          category:
                            type: string
                            nullable: true
                          is_hot:
                            type: boolean
                          start_date:
                            type: string
                            nullable: true
                          salary:
                            type: string
                            nullable: true
                          max_rate:
                            type: string
                            nullable: true
                          duration:
                            type: string
                          external_id:
                            type: string
                            nullable: true
                          company_id:
                            type: number
                          department_id:
                            type: number
                          status_id:
                            type: number
                          workflow_id:
                            type: number
                          is_published:
                            type: boolean
                          portal_hidden:
                            type: boolean
                          user_groups:
                            type: array
                            items: {}
                          date_created:
                            type: string
                          date_modified:
                            type: string
                          _links:
                            type: object
                            properties: {}
                          _embedded:
                            type: object
                            properties: {}
              example:
                id: 7788
                date_created: '2025-02-05T15:15:14.497Z'
                job_id: 9283
                _links: {}
                _embedded:
                  job:
                    id: 9207
                    title: National Paradigm Executive
                    location:
                      city: South Taureanfurt
                      state: MS
                      postal_code: '34114'
                    country_code: US
                    description: >-
                      Consequatur quo temporibus. Illo quia et molestiae eos
                      ducimus porro nobis sed. Aut sunt eveniet et quasi sequi.
                      Voluptatem expedita vel aut. Excepturi deleniti libero
                      blanditiis beatae.
                    notes: Quam autem praesentium veniam velit.
                    recruiter_id: 3493
                    owner_id: 5390
                    category: null
                    is_hot: false
                    start_date: '2025-01-29T13:24:13.171Z'
                    salary: null
                    max_rate: null
                    duration: ''
                    external_id: null
                    company_id: 7835
                    department_id: 1609
                    status_id: 1156
                    workflow_id: 9740
                    is_published: true
                    portal_hidden: true
                    user_groups: []
                    date_created: '2025-02-11T06:50:38.970Z'
                    date_modified: '2025-11-07T15:09:08.391Z'
                    _links: {}
                    _embedded: {}
      summary: Get a job list item
      operationId: Get a job list item
      description: ''
      tags:
        - Jobs
      parameters:
        - name: list_id
          in: path
          description: The ID of the job list the item belongs to.
          required: true
          example: '5894'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the job list item to return.
          required: true
          example: '9561'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a job list item
      operationId: Delete a job list item
      description: Deleting a job list item removes a job from a list.
      tags:
        - Jobs
      parameters:
        - name: list_id
          in: path
          description: The ID of the job list.
          required: true
          example: '7342'
          schema:
            type: number
        - name: item_id
          in: path
          description: The ID of the list item to delete.
          required: true
          example: '4170'
          schema:
            type: number
  /jobs/{job_id}/applications:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      applications:
                        type: array
                        items: {}
              example:
                count: 25
                total: 419
                _links: {}
                _embedded:
                  applications:
                    - id: 1210
                      description: >-
                        Similique magni qui quibusdam non occaecati laboriosam
                        corporis.
                      header: Suscipit sunt dolores quae quia quae excepturi.
                      _links: {}
                      _embedded: {}
      summary: List applications by job
      operationId: List applications by job
      description: ''
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job to return applications for.
          required: true
          example: '2283'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          schema:
            type: number
  /jobs/applications/{application_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  description:
                    type: string
                  header:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1210
                description: >-
                  Similique magni qui quibusdam non occaecati laboriosam
                  corporis.
                header: Suscipit sunt dolores quae quia quae excepturi.
                _links: {}
                _embedded: {}
      summary: Get a job application
      operationId: Get a job application
      description: ''
      tags:
        - Jobs
      parameters:
        - name: application_id
          in: path
          description: The ID of the job application.
          required: true
          example: '561'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          schema:
            type: number
  /jobs/applications/{application_id}/fields:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      applications:
                        type: array
                        items: {}
              example:
                count: 25
                total: 677
                _links: {}
                _embedded:
                  applications:
                    - id: 4532
                      title: Soluta autem magnam quasi ducimus.
                      position: 0
                      type: text
                      answers: []
                      is_required: true
                      _links: {}
                      _embedded: {}
      summary: List job application fields
      operationId: List job application fields
      description: ''
      tags:
        - Jobs
      parameters:
        - name: application_id
          in: path
          description: The ID of the job application.
          required: true
          example: '5680'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of contacts to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of contacts to return per page.
          required: true
          schema:
            type: number
  /jobs/{job_id}/tags:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tags:
                        type: array
                        items: {}
              example:
                count: 25
                total: 824
                _links: {}
                _embedded:
                  tags:
                    - id: 4296
                      parent_id: 6049
                      title: My Cool Tag Name
                      _links: {}
                      _embedded: {}
      summary: List all job tags
      operationId: List all job tags
      description: ''
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job to return tags for.
          required: true
          example: '4744'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of tags to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tags to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Replace job tags
      operationId: Replace job tags
      description: >-
        This will replace all tags on the job with the tags specified in this
        call. To remove all tags from an item,

        send an empty tag array.
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job to replace tags on.
          required: true
          example: '8455'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Attach job tags
      operationId: Attach job tags
      description: This will not delete any existing tags on the candidate.
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job to attach tags to.
          required: true
          example: '5269'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              tags:
                - id: 519
            schema:
              type: object
              properties:
                tags:
                  type: array
                  items: {}
  /jobs/{job_id}/tags/{tag_id}:
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete job tag
      operationId: Delete job tag
      description: Detaches an individual tag from the job.
      tags:
        - Jobs
      parameters:
        - name: job_id
          in: path
          description: The ID of the job to detach the tag from.
          required: true
          example: '6640'
          schema:
            type: number
        - name: tag_id
          in: path
          description: The ID of the tag to detach.
          required: true
          example: '393'
          schema:
            type: number
  /pipelines:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      pipelines:
                        type: array
                        items: {}
              example:
                count: 25
                total: 524
                _links: {}
                _embedded:
                  pipelines:
                    - id: 7847
                      candidate_id: 7057
                      job_id: 8484
                      rating: 0
                      workflow_id: 3189
                      status_id: 6705
                      date_created: '2025-02-06T18:44:24.989Z'
                      date_modified: '2025-08-24T22:11:56.567Z'
                      _links: {}
                      _embedded: {}
      summary: List all pipelines
      operationId: List all pipelines
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: page
          in: query
          description: The current page number of pipelines to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of pipelines to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a pipeline
      operationId: Create a pipeline
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Pipelines
      parameters:
        - name: create_activity
          in: query
          description: >-
            Whether a corresponding activity should be created automatically.
            This mimics what happens when a pipeline is created from the CATS
            UI. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              candidate_id: 7930
              job_id: 8093
              rating: 3
            schema:
              type: object
              properties:
                candidate_id:
                  type: number
                  description: The ID of the candidate that this pipeline is regarding.
                job_id:
                  type: number
                  description: The ID of the job order that this pipeline is for.
                rating:
                  type: number
                  description: The candidate's rating (0-5) for this job order pipeline.
              required:
                - candidate_id
                - job_id
  /pipelines/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  candidate_id:
                    type: number
                  job_id:
                    type: number
                  rating:
                    type: number
                  workflow_id:
                    type: number
                  status_id:
                    type: number
                  date_created:
                    type: string
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 7847
                candidate_id: 7057
                job_id: 8484
                rating: 0
                workflow_id: 3189
                status_id: 6705
                date_created: '2025-02-06T18:44:24.989Z'
                date_modified: '2025-08-24T22:11:56.567Z'
                _links: {}
                _embedded: {}
      summary: Get a pipeline
      operationId: Get a pipeline
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: id
          in: path
          description: The ID of the pipeline to return.
          required: true
          example: '7847'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a pipeline
      operationId: Update a pipeline
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: id
          in: path
          description: The ID of the pipeline to update.
          required: true
          example: '550'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              rating: 4
            schema:
              type: object
              properties:
                rating:
                  type: number
                  description: The candidate's rating (0-5) for this job order pipeline.
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a pipeline
      operationId: Delete a pipeline
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: create_activity
          in: query
          description: >-
            Whether a corresponding activity should be created automatically.
            This mimics what happens when a pipeline is created from the CATS
            UI. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
        - name: id
          in: path
          description: The ID of the pipeline to delete.
          required: true
          example: '2352'
          schema:
            type: number
  /pipelines/search:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      pipelines:
                        type: array
                        items: {}
              example:
                count: 25
                total: 524
                _links: {}
                _embedded:
                  pipelines:
                    - id: 7847
                      candidate_id: 7057
                      job_id: 8484
                      rating: 0
                      workflow_id: 3189
                      status_id: 6705
                      date_created: '2025-02-06T18:44:24.989Z'
                      date_modified: '2025-08-24T22:11:56.567Z'
                      _links: {}
                      _embedded: {}
      summary: Filter Pipelines
      operationId: Filter Pipelines
      description: >-
        This section describes the filters and fields that can be used to filter
        search results for this endpoint. The example

        given is the most simple way to pass a filter into the call. For a more
        in-depth explanation of boolean filtering,

        consult the section near the top of this page dealing with filtering.


        The following are all the Pipeline fields that can currently be filtered
        on, and which filters can be used on each:


        ```markdown

        `id` - greater_than, less_than, between, exactly, is_empty

        `candidate_id` - greater_than, less_than, between, exactly, is_empty

        `job_id` - greater_than, less_than, between, exactly, is_empty

        `status_id` - greater_than, less_than, between, exactly, is_empty

        `rating` - greater_than, less_than, between, exactly, is_empty

        `date_created` - greater_than, less_than, between, is_empty

        `date_modified` - greater_than, less_than, between, is_empty

        ```
      tags:
        - Pipelines
      parameters:
        - name: page
          in: query
          description: The current page number of pipelines to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of pipelines to return per page.
          required: true
          example: '25'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              field: notes
              filter: contains
              value: rejected
            schema:
              type: object
              properties:
                field:
                  type: string
                  description: >-
                    The field to filter on. See the above list to determine
                    which fields can be filtered.
                filter:
                  type: string
                  description: >-
                    The filter to use. See the above list to determine which
                    fields allow what filters.
                value:
                  type: string
                  description: >-
                    The value to filter by. Different filters take different
                    value types (string, array, int). See the section in the
                    introduction to see what values each filter accepts.
              required:
                - field
                - filter
                - value
  /pipelines/workflows:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      workflows:
                        type: array
                        items: {}
              example:
                count: 10
                total: 10
                _links: {}
                _embedded:
                  workflows:
                    - id: 2998
                      title: In saepe repellendus aut soluta.
                      is_default: false
                      date_modified: '2025-01-10T22:41:29.642Z'
                      _links: {}
                      _embedded: {}
      summary: List workflows
      operationId: List workflows
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: page
          in: query
          description: The current page number of workflows to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of workflows to return per page.
          required: true
          schema:
            type: number
  /pipelines/workflows/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  is_default:
                    type: boolean
                  date_modified:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 2998
                title: In saepe repellendus aut soluta.
                is_default: false
                date_modified: '2025-01-10T22:41:29.642Z'
                _links: {}
                _embedded: {}
      summary: Get a workflow
      operationId: Get a workflow
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: id
          in: path
          description: The ID of the workflow to return.
          required: true
          example: '1938'
          schema:
            type: number
  /pipelines/workflows/{workflow_id}/statuses:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      statuses:
                        type: array
                        items: {}
              example:
                count: 25
                total: 773
                _links: {}
                _embedded:
                  statuses:
                    - id: 4453
                      title: Offered
                      mapping: 0
                      prerequisites:
                        - id: 743
                      triggers:
                        - id: 9189
                      _links: {}
      summary: List workflow statuses
      operationId: List workflow statuses
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: page
          in: query
          description: The current page number of statuses to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of statuses to return per page.
          required: true
          schema:
            type: number
        - name: workflow_id
          in: path
          description: The ID of the workflow to return statuses for.
          required: true
          example: '1938'
          schema:
            type: number
  /pipelines/workflows/{workflow_id}/statuses/{status_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  mapping:
                    type: number
                  prerequisites:
                    type: array
                    items: {}
                  triggers:
                    type: array
                    items: {}
                  _links:
                    type: object
                    properties: {}
              example:
                id: 4453
                title: Offered
                mapping: 0
                prerequisites:
                  - id: 743
                triggers:
                  - id: 9189
                _links: {}
      summary: Get a workflow status
      operationId: Get a workflow status
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: workflow_id
          in: path
          description: The ID of the workflow to return statuses for.
          required: true
          example: '1938'
          schema:
            type: number
        - name: status_id
          in: path
          description: The ID of the status to return.
          required: true
          example: '4453'
          schema:
            type: number
  /pipelines/{id}/statuses:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      statuses:
                        type: array
                        items: {}
              example:
                count: 25
                total: 375
                _links: {}
                _embedded:
                  statuses:
                    - id: 4453
                      from_id: 9780
                      workflow_id: 8109
                      title: Lead
                      mapping: lead
                      is_current: true
                      user_id: 2998
                      date_changed: '2025-02-19T04:54:54.154Z'
                      _links: {}
      summary: Get pipeline historical statuses
      operationId: Get pipeline historical statuses
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: id
          in: path
          description: The ID of the pipeline to fetch status history from
          required: true
          example: '8220'
          schema:
            type: number
  /pipelines/{id}/status:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Change pipeline status
      operationId: Change pipeline status
      description: ''
      tags:
        - Pipelines
      parameters:
        - name: id
          in: path
          description: The ID of the pipeline that the status is being attached to.
          required: true
          example: '3905'
          schema:
            type: number
        - name: create_activity
          in: query
          description: >-
            Whether a corresponding activity should be created automatically.
            This mimics what happens when a pipeline is created from the CATS
            UI. Defaults to false.
          required: true
          example: 'true'
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              status_id: 8837
              triggers:
                - id: 1323
                  fire: false
            schema:
              type: object
              properties:
                status_id:
                  type: number
                  description: The ID of the status to attach.
                triggers:
                  type: array
                  description: >-
                    An array of objects each containing the ID of an attached
                    trigger and a boolean representing whether or not to fire
                    the trigger.


                    If the `triggers` parameter is not set, all required
                    triggers will be fired as well as all triggers that are
                    marked as optional and on by default. Optional triggers that
                    are off by default will not fire.


                    If the `triggers` parameter is specified, *all* triggers
                    that are attached to the status must be included in the
                    array and the API will make no assumptions about which
                    triggers to fire.


                    Example:


                    ```

                    [
                        {
                          "id": <trigger ID>,
                          "fire": <boolean>
                        }
                    ]

                    ```
                  items: {}
              required:
                - status_id
  /portals:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      activities:
                        type: array
                        items: {}
              example:
                count: 25
                total: 300
                _links: {}
                _embedded:
                  activities:
                    - id: 799
                      name: Ad porro consectetur minus eius.
                      date_created: '2025-07-25T07:54:23.326Z'
                      _links: {}
                      _embedded: {}
      summary: List all portals
      operationId: List all portals
      description: >-
        This endpoint returns basic portal metadata. In addition to the fields
        shown in the example below, within the `_links`

        object you will find `portal_url` which has a direct link to your portal
        site.
      tags:
        - Portals
      parameters:
        - name: page
          in: query
          description: The current page number of portals to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of portals to return per page.
          required: true
          schema:
            type: number
  /portals/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  date_created:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 799
                name: Ad porro consectetur minus eius.
                date_created: '2025-07-25T07:54:23.326Z'
                _links: {}
                _embedded: {}
      summary: Get a portal
      operationId: Get a portal
      description: >-
        This endpoint returns basic portal metadata. In addition to the fields
        shown in the example below, within the `_links`

        object you will find `portal_url` which has a direct link to your portal
        site.
      tags:
        - Portals
      parameters:
        - name: id
          in: path
          description: The ID of the portal to return.
          required: true
          example: '799'
          schema:
            type: number
  /portals/{id}/jobs:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      jobs:
                        type: array
                        items: {}
              example:
                count: 25
                total: 217
                _links: {}
                _embedded:
                  jobs:
                    - id: 9207
                      title: National Paradigm Executive
                      location:
                        city: South Taureanfurt
                        state: MS
                        postal_code: '34114'
                      country_code: US
                      description: >-
                        Consequatur quo temporibus. Illo quia et molestiae eos
                        ducimus porro nobis sed. Aut sunt eveniet et quasi
                        sequi. Voluptatem expedita vel aut. Excepturi deleniti
                        libero blanditiis beatae.
                      notes: Quam autem praesentium veniam velit.
                      recruiter_id: 3493
                      owner_id: 5390
                      category: null
                      is_hot: false
                      start_date: '2025-01-29T13:24:13.171Z'
                      salary: null
                      max_rate: null
                      duration: ''
                      external_id: null
                      company_id: 7835
                      department_id: 1609
                      status_id: 1156
                      workflow_id: 9740
                      is_published: true
                      portal_hidden: true
                      user_groups: []
                      date_created: '2025-02-11T06:50:38.970Z'
                      date_modified: '2025-11-07T15:09:08.391Z'
                      _links: {}
                      _embedded: {}
      summary: List portal jobs
      operationId: List portal jobs
      description: >-
        This endpoint returns jobs that have been published to a particular
        portal. In addition to the fields shown in the

        example below, within the `_links` object you will find `job_url` which
        has a direct link to the job on your portal.
      tags:
        - Portals
      parameters:
        - name: id
          in: path
          description: The ID of the portal to return jobs for.
          required: true
          example: '799'
          schema:
            type: number
        - name: page
          in: query
          description: The current page number of jobs to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of jobs to return per page.
          required: true
          schema:
            type: number
  /portals/{portal_id}/jobs/{job_id}:
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Submit
      operationId: Submit
      description: >-
        Using this endpoint, you can submit a new application for a specific job
        on a portal.


        The body of this request should have a fields key with an array of job
        application field objects as its value.

        To determine which fields need to be included in a call,

        see [job application](#jobs-list-applications) and [job application
        fields](#jobs-list-application-fields). Each object

        can/should have the following keys/values:


        * **id**: (integer, required) All fields will have an id.


        * **value**: (string|boolean|object|null, required) All fields will also
        have a value. Text and text-like fields accept

        strings.

        File fields should be a **base64 encoded string** of your file as the
        value. Others only accept objects or booleans.

        See the examples below for all the different cases. You can find out
        what type a field is

        by fetching that field from [job application
        fields](#jobs-list-application-fields).


        * **filename**: (string) This field is only used/required for file
        fields. Since files are passed at 64bit encoded

        strings with no name, you must pass a filename here.


        See below for a full example with all field types.
      tags:
        - Portals
      parameters:
        - name: portal_id
          in: path
          description: The ID of the portal the job being submitted to is on.
          required: true
          example: '4645'
          schema:
            type: number
        - name: job_id
          in: path
          description: The ID of the job the application is being submitted for.
          required: true
          example: '6271'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              fields:
                - id: 3755
                  value: doloribus
              source: Google
            schema:
              type: object
              properties:
                fields:
                  type: array
                  description: |-
                    An example with all fields types:

                    ```
                    {
                        "fields": [
                            {
                                /* file */
                                "id": 523423,
                                "value": "SGVsbG8gV29ybGQ=",
                                "filename": "helloworld.txt"
                            },
                            {
                                /* text */
                                "id": 523591,
                                "value": "James"
                            },
                            {
                                /* multiline */
                                "id": 524022
                                "value": "line 1\r\nline 2"
                            },
                            {
                                /* checkbox */
                                "id": 524156
                                "value": true
                            },
                            {
                                /* checkboxes */
                                "id": 524221
                                "value": {
                                    "3251": true,
                                    "3991": true
                                }
                            },
                            {
                                /* radio/select */
                                "id": 524221
                                "value": {
                                    "4126": true
                                }
                            }
                        ],
                        "source": "Google"
                    }
                    ```
                  items: {}
                source:
                  type: string
                  description: >-
                    If the applicant is brand new to the system, what you
                    provide in the source field will be set as their source. If
                    they

                    are not new to the system, their existing source will *NOT*
                    be overwritten. If source is not provided it defaults to

                    "Career Portal".
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Publish portal job
      operationId: Publish portal job
      description: >-
        This endpoint allows you to publish a job to a portal. This will not
        publish the job to any third-party boards.


        Note: While no data needs to be passed into the body of this call, we do
        require a properly formatted json body on all `PUT` endpoints, so any
        calls to this endpoint should include an empty json object, e.g. `{}`.
      tags:
        - Portals
      parameters:
        - name: portal_id
          in: path
          description: The ID of the portal the job being submitted to is on.
          required: true
          example: '676'
          schema:
            type: number
        - name: job_id
          in: path
          description: The ID of the job the application is being submitted for.
          required: true
          example: '9755'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example: {}
            schema:
              type: object
              properties: {}
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Unpublish portal job
      operationId: Unpublish portal job
      description: This endpoint allows you to remove a job from a portal
      tags:
        - Portals
      parameters:
        - name: portal_id
          in: path
          description: The ID of the portal the job being submitted to is on.
          required: true
          example: '585'
          schema:
            type: number
        - name: job_id
          in: path
          description: The ID of the job the application is being submitted for.
          required: true
          example: '4114'
          schema:
            type: number
  /portals/{id}/registration:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  description:
                    type: string
                  header:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 1210
                description: >-
                  Similique magni qui quibusdam non occaecati laboriosam
                  corporis.
                header: Suscipit sunt dolores quae quia quae excepturi.
                _links: {}
                _embedded: {}
      summary: Get portal registration application
      operationId: Get portal registration application
      description: ''
      tags:
        - Portals
      parameters:
        - name: id
          in: path
          description: The ID of the portal to return registration application for.
          required: true
          example: '799'
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Submit portal registration application
      operationId: Submit portal registration application
      description: >-
        Using this endpoint, you can submit a portal registration application.


        The body of this request follows the same structure as the normal
        [submit endpoint](#portal-submit) but with

        the portal registration application instead of a job application.
      tags:
        - Portals
      parameters:
        - name: id
          in: path
          description: The ID of the portal being submitted to.
          required: true
          example: '799'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              fields:
                - id: 3755
                  value: doloribus
              source: Google
            schema:
              type: object
              properties:
                fields:
                  type: array
                  description: |-
                    An example with all fields types:

                    ```
                    {
                        "fields": [
                            {
                                /* file */
                                "id": 523423,
                                "value": "SGVsbG8gV29ybGQ=",
                                "filename": "helloworld.txt"
                            },
                            {
                                /* text */
                                "id": 523591,
                                "value": "James"
                            },
                            {
                                /* multiline */
                                "id": 524022
                                "value": "line 1\r\nline 2"
                            },
                            {
                                /* checkbox */
                                "id": 524156
                                "value": true
                            },
                            {
                                /* checkboxes */
                                "id": 524221
                                "value": {
                                    "3251": true,
                                    "3991": true
                                }
                            },
                            {
                                /* radio/select */
                                "id": 524221
                                "value": {
                                    "4126": true
                                }
                            }
                        ],
                        "source": "Google"
                    }
                    ```
                  items: {}
                source:
                  type: string
                  description: >-
                    If the applicant is brand new to the system, what you
                    provide in the source field will be set as their source. If
                    they

                    are not new to the system, their existing source will *NOT*
                    be overwritten. If source is not provided it defaults to

                    "Career Portal".
  /site:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  mode:
                    type: string
                    description: >-
                      The value of this field will either be `recruiter` or
                      `hr`. HR sites do not have access contacts.
                  subdomain:
                    type: string
                    description: The subdomain of the site.
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 5821
                mode: recruiter
                subdomain: kitten
                _links: {}
                _embedded: {}
      summary: Get site
      operationId: Get site
      description: ''
      tags:
        - Site
      parameters: []
  /tags:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tags:
                        type: array
                        items: {}
              example:
                count: 25
                total: 824
                _links: {}
                _embedded:
                  tags:
                    - id: 4296
                      parent_id: 6049
                      title: My Cool Tag Name
                      _links: {}
                      _embedded: {}
      summary: List all tags
      operationId: List all tags
      description: ''
      tags:
        - Tags
      parameters:
        - name: page
          in: query
          description: The current page number of tags to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tags to return per page.
          required: true
          schema:
            type: number
  /tags/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  parent_id:
                    type: number
                  title:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 4296
                parent_id: 6049
                title: My Cool Tag Name
                _links: {}
                _embedded: {}
      summary: Get a tag
      operationId: Get a tag
      description: ''
      tags:
        - Tags
      parameters:
        - name: id
          in: path
          description: The ID of the tag to return.
          required: true
          example: '4296'
          schema:
            type: number
  /tasks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 322
                _links: {}
                _embedded:
                  tasks:
                    - id: 9047
                      data_item:
                        id: 5258
                        type: job
                      entered_by_id: 3632
                      assigned_to_id: 8799
                      description: >-
                        Eum qui deserunt molestias sunt unde earum id eligendi
                        consequatur.
                      priority: 2
                      date_due: '2025-08-16T04:03:50.702Z'
                      is_completed: true
                      date_completed: '2025-03-04T09:39:28.864Z'
                      date_created: '2025-08-09T21:21:22.273Z'
                      date_updated: '2025-11-05T20:41:28.952Z'
                      _links: {}
                      _embedded: {}
      summary: List all tasks
      operationId: List all tasks
      description: ''
      tags:
        - Tasks
      parameters:
        - name: page
          in: query
          description: The current page number of tasks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of tasks to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a task
      operationId: Create a task
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Tasks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              data_item:
                id: 5258
                type: job
              assigned_to_id: 7689
              description: Est reiciendis et harum culpa est repudiandae et.
              priority: 3
              date_due: '2025-04-30T11:45:54.372Z'
            schema:
              type: object
              properties:
                data_item:
                  type: object
                  properties:
                    id:
                      type: number
                    type:
                      type: string
                  description: A DataItem the object is about, or null for a general task
                assigned_to_id:
                  type: number
                  description: The user to assign the task to
                description:
                  type: string
                priority:
                  type: number
                  description: A number 1-5, with 1 being the lowest priority
                date_due:
                  type: string
                  description: If null the task will be assigned ASAP as in the CATS UI
  /tasks/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  data_item:
                    type: object
                    properties:
                      id:
                        type: number
                      type:
                        type: string
                  entered_by_id:
                    type: number
                  assigned_to_id:
                    type: number
                  description:
                    type: string
                  priority:
                    type: number
                  date_due:
                    type: string
                  is_completed:
                    type: boolean
                  date_completed:
                    type: string
                  date_created:
                    type: string
                  date_updated:
                    type: string
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties: {}
              example:
                id: 9047
                data_item:
                  id: 5258
                  type: job
                entered_by_id: 3632
                assigned_to_id: 8799
                description: >-
                  Eum qui deserunt molestias sunt unde earum id eligendi
                  consequatur.
                priority: 2
                date_due: '2025-08-16T04:03:50.702Z'
                is_completed: true
                date_completed: '2025-03-04T09:39:28.864Z'
                date_created: '2025-08-09T21:21:22.273Z'
                date_updated: '2025-11-05T20:41:28.952Z'
                _links: {}
                _embedded: {}
      summary: Get a task
      operationId: Get a task
      description: ''
      tags:
        - Tasks
      parameters:
        - name: id
          in: path
          description: The ID of the task to return.
          required: true
          example: '9047'
          schema:
            type: string
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a task
      operationId: Update a task
      description: ''
      tags:
        - Tasks
      parameters:
        - name: id
          in: path
          description: The ID of the task to update.
          required: true
          example: '4566'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              assigned_to_id: 3526
              description: Maxime quod excepturi veritatis.
              priority: 3
              date_due: '2025-01-03T02:01:47.215Z'
              is_completed: true
            schema:
              type: object
              properties:
                assigned_to_id:
                  type: number
                  description: The user to assign the task to
                description:
                  type: string
                priority:
                  type: number
                  description: A number 1-5, with 1 being the lowest priority
                date_due:
                  type: string
                  description: If null the task will be assigned ASAP as in the CATS UI
                is_completed:
                  type: boolean
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a task
      operationId: Delete a task
      description: ''
      tags:
        - Tasks
      parameters:
        - name: id
          in: path
          description: The ID of the task to delete.
          required: true
          example: '1958'
          schema:
            type: number
  /triggers:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      triggers:
                        type: array
                        items: {}
              example:
                count: 25
                total: 957
                _links: {}
                _embedded:
                  triggers:
                    - id: 6820
      summary: List all triggers
      operationId: List all triggers
      description: ''
      tags:
        - Triggers
      parameters:
        - name: page
          in: query
          description: The current page number of triggers to return.
          required: true
          example: '1'
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of triggers to return per page.
          required: true
          example: '25'
          schema:
            type: number
  /triggers/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
              example:
                id: 6820
      summary: Get a trigger
      operationId: Get a trigger
      description: ''
      tags:
        - Triggers
      parameters:
        - name: id
          in: path
          description: The ID of the trigger to return.
          required: true
          example: '6820'
          schema:
            type: number
  /users:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      users:
                        type: array
                        items: {}
              example:
                count: 10
                total: 10
                _links: {}
                _embedded:
                  users:
                    - id: 2998
                      username: Helmer_Tremblay44@yahoo.com
                      first_name: Ernestina
                      last_name: Wolff
                      title: International Configuration Architect
                      access_level: Recruiter
                      _links: {}
      summary: List all users
      operationId: List all users
      description: ''
      tags:
        - Users
      parameters:
        - name: page
          in: query
          description: The current page number of users to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of users to return per page.
          required: true
          schema:
            type: number
  /users/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  username:
                    type: string
                  first_name:
                    type: string
                  last_name:
                    type: string
                  title:
                    type: string
                  access_level:
                    type: string
                    description: Read-only value
                  _links:
                    type: object
                    properties: {}
              example:
                id: 2998
                username: Helmer_Tremblay44@yahoo.com
                first_name: Ernestina
                last_name: Wolff
                title: International Configuration Architect
                access_level: Recruiter
                _links: {}
      summary: Get a user
      operationId: Get a user
      description: ''
      tags:
        - Users
      parameters:
        - name: id
          in: path
          description: The ID of the user to return.
          required: true
          example: '2998'
          schema:
            type: number
  /webhooks:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                  total:
                    type: number
                  _links:
                    type: object
                    properties: {}
                  _embedded:
                    type: object
                    properties:
                      webhooks:
                        type: array
                        items: {}
              example:
                count: 25
                total: 369
                _links: {}
                _embedded:
                  webhooks:
                    - id: 7637
                      event: candidate.created
                      target_url: https://mmountain.herokuapp.com/kAa5An56ew
      summary: List all webhooks
      operationId: List all webhooks
      description: ''
      tags:
        - Webhooks
      parameters:
        - name: page
          in: query
          description: The current page number of webhooks to return.
          required: true
          schema:
            type: number
        - name: per_page
          in: query
          description: The number of webhooks to return per page.
          required: true
          schema:
            type: number
    post:
      responses:
        '201':
          description: Created
          headers: {}
          content: {}
      summary: Create a webhook
      operationId: Create a webhook
      description: >-
        As with all POST endpoints, a location header will be returned with a
        url to the newly created resource.
      tags:
        - Webhooks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              events:
                - candidate.created
              target_url: https://mmountain.herokuapp.com/kAa5An56ew
              secret: kAehRa5An4sndfuJ7i5sdf6e00wGP
            schema:
              type: object
              properties:
                events:
                  type: array
                  description: >-
                    An array of one or more of the following event types:
                    `candidate.created`, `job.created`, `contact.created`,
                    `company.created`, `activity.created`, `user.created`,
                    `pipeline.created`, `candidate.updated`, `job.updated`,
                    `contact.updated`, `company.updated`, `activity.updated`,
                    `user.updated`, `candidate.deleted`, `job.deleted`,
                    `contact.deleted`, `company.deleted`, `activity.deleted`,
                    `user.deleted`, `pipeline.deleted`, `job.status_changed`,
                    `contact.status_changed`, `company.status_changed`,
                    `pipeline.status_changed`
                  items: {}
                target_url:
                  type: string
                  description: URL to post the record to once the event is triggered.
                secret:
                  type: string
                  description: >-
                    ***Highly Recommended***. If provided, you can use this
                    string to verify that authenticity of webhooks sent to
                    `target_url`. All webhooks you subscribe to you will send a
                    `X-Signature` header. To determine whether the `X-Signature`
                    header is valid take the body of the webhook response,
                    append the value of the `X-Request-Id` header to it, and
                    then generate a `HMAC-SHA256` hash of it using your secret
                    as a key. That final result should match the hash found in
                    the `X-Signature` header. Here are two examples of the
                    verification process in PHP and Python 3:


                    ```PHP

                    $secret = 'yourSecretHere';

                    $webhookBody = '{}';


                    // `X-Request-Id` header

                    $requestId = '5d6ce3f9-cce8-4b5b-a26e-396a6161eb99';


                    // `X-Signature` header

                    $signature = 'HMAC-SHA256
                    affc8d589f36580daa0d587ac0b314c123b59322cf4d018661e0a403cc76391f';


                    $hash = hash_hmac('sha256', $requestBody . $requestId,
                    $secret, false);


                    if ($signature !== 'HMAC-SHA256 ' . $hash) {
                        // Reject it
                    }

                    ```
              required:
                - events
                - target_url
  /webhooks/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  event:
                    type: string
                  target_url:
                    type: string
              example:
                id: 7637
                event: candidate.created
                target_url: https://mmountain.herokuapp.com/kAa5An56ew
      summary: Get a webhook
      operationId: Get a webhook
      description: ''
      tags:
        - Webhooks
      parameters:
        - name: id
          in: path
          description: The ID of the webhook to return.
          required: true
          example: '7637'
          schema:
            type: number
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a webhook
      operationId: Delete a webhook
      description: >-
        A webhook will also be deleted if target_url responds with status code
        410.
      tags:
        - Webhooks
      parameters:
        - name: id
          in: path
          description: The ID of the webhook to delete.
          required: true
          example: '4822'
          schema:
            type: number
  /work_history/{work_history_id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                  title:
                    type: string
                  candidate_id:
                    type: number
                  employer:
                    type: object
                    properties:
                      linked:
                        type: boolean
                      name:
                        type: string
                      location:
                        type: object
                        properties:
                          city:
                            type: string
                          state:
                            type: string
                  supervisor:
                    type: object
                    properties:
                      linked:
                        type: boolean
                      name:
                        type: string
                      phone:
                        type: string
                  is_verified:
                    type: boolean
                  is_current:
                    type: boolean
                  start_date:
                    type: string
                  end_date:
                    type: string
                  reason_for_leaving:
                    type: string
              example:
                id: 3372
                title: Future Factors Strategist
                candidate_id: 3704
                employer:
                  linked: false
                  name: Herzog - King
                  location:
                    city: Clydefort
                    state: WV
                supervisor:
                  linked: false
                  name: Rahsaan
                  phone: (328) 532-2382
                is_verified: true
                is_current: false
                start_date: '2025-10-02T09:36:20.480Z'
                end_date: '2025-04-30T03:27:47.197Z'
                reason_for_leaving: Quia omnis laborum repudiandae laborum.
      summary: Get a work history
      operationId: Get a work history
      description: ''
      tags:
        - Work History
      parameters:
        - name: work_history_id
          in: path
          description: The ID of the work history to return.
          required: true
          example: '7041'
          schema:
            type: number
    put:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Update a work history
      operationId: Update a work history
      description: ''
      tags:
        - Work History
      parameters:
        - name: work_history_id
          in: path
          description: The ID of the work history to update.
          required: true
          example: '7041'
          schema:
            type: number
      requestBody:
        content:
          application/json:
            example:
              title: International Usability Associate
              employer:
                linked: false
                name: Osinski, Renner and Breitenberg
                location:
                  city: Jaleelhaven
                  state: NM
              supervisor:
                linked: false
                name: Howell
                phone: (911) 847-7484
              is_verified: true
              is_current: 'false'
              start_date: '2025-05-04T06:36:34.770Z'
              end_date: '2025-05-14T03:24:39.664Z'
              reason_for_leaving: Dolor praesentium delectus ut optio assumenda dolores.
            schema:
              type: object
              properties:
                title:
                  type: string
                employer:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    location:
                      type: object
                      properties:
                        city:
                          type: string
                        state:
                          type: string
                  description: >-
                    An object containing the employer information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<employer name>",
                      "location": {
                        "city": "<employer city>",
                        "state": "<employer state>"
                      }
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "company_id": 465
                    }

                    ```


                    Both `linked` and `name` are required fields within the
                    first object, and `linked` and `company_id` are required in
                    the second object.
                supervisor:
                  type: object
                  properties:
                    linked:
                      type: boolean
                    name:
                      type: string
                    phone:
                      type: string
                  description: >-
                    An object containing the supervisor information for a work
                    history item with one of the following structures:


                    ```

                    {
                      "linked": false,
                      "name": "<supervisor name>",
                      "phone": "<supervisor phone number>"
                    }

                    ```


                    or


                    ```

                    {
                      "linked": true,
                      "contact_id": 6864
                    }

                    ```
                is_verified:
                  type: boolean
                is_current:
                  type: string
                  description: >-
                    If this is set to `true`, both `end_date` and
                    `reason_for_leaving` will be ignored.
                start_date:
                  type: string
                end_date:
                  type: string
                reason_for_leaving:
                  type: string
              required:
                - title
                - employer
    delete:
      responses:
        '204':
          description: No Content
          headers: {}
          content: {}
      summary: Delete a work history
      operationId: Delete a work history
      description: ''
      tags:
        - Work History
      parameters:
        - name: work_history_id
          in: path
          description: The ID of the work history to delete.
          required: true
          example: '6166'
          schema:
            type: number
components:
  schemas:
    DataItem:
      type: object
      properties:
        id:
          type: number
          example: 5258
        type:
          type: string
          example: job
    DataItemCandidate:
      type: object
      properties:
        id:
          type: number
          example: 4118
        type:
          type: string
          example: candidate
    DataItemContact:
      type: object
      properties:
        id:
          type: number
          example: 1987
        type:
          type: string
          example: contact
    DataItemCompany:
      type: object
      properties:
        id:
          type: number
          example: 3787
        type:
          type: string
          example: company
    DataItemJob:
      type: object
      properties:
        id:
          type: number
          example: 6169
        type:
          type: string
          example: job
    Address:
      type: object
      properties:
        street:
          type: string
          example: 3896 Elsie Camp
        city:
          type: string
          example: Rhiannafort
        state:
          type: string
          example: IN
        postal_code:
          type: string
          example: 74174-7694
    Pagination:
      type: object
      properties:
        page:
          type: number
          example: 1
        per_page:
          type: number
          example: 25
    Activity:
      type: object
      properties:
        id:
          type: number
          example: 5241
        data_item:
          $ref: '#/components/schemas/DataItem'
        date:
          type: string
          example: '2025-01-12T20:16:47.136Z'
        regarding_id:
          type: number
          example: 8865
        type:
          type: string
          example: call_lvm
          nullable: true
        notes:
          type: string
          example: Left voicemail.
        annotation:
          type: string
          example: General
        entered_by_id:
          type: number
          example: 1036
        date_created:
          type: string
          example: '2025-05-21T18:46:17.992Z'
        date_modified:
          type: string
          example: '2025-03-13T01:59:09.692Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Activities:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 669
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    CreateActivity:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          example: call_lvm
          description: >-
            One of the following activity types: `email`, `meeting`,
            `call_talked`, `call_lvm`, `call_missed`, `text_message` or `other`.
        regarding_id:
          type: number
          example: 9428
          description: >-
            The ID of the job order that this activity is regarding. Leave
            `null` for a general activity.
        notes:
          type: string
          example: Quia sed mollitia occaecati ipsum saepe aut illum.
        date:
          type: string
          example: '2025-01-26T17:15:25.924Z'
          description: >-
            The datetime the activity took place. If not specified it defaults
            to the current date and time.
    CandidateActivity:
      type: object
      properties:
        id:
          type: number
          example: 6514
        data_item:
          $ref: '#/components/schemas/DataItemCandidate'
        date_created:
          type: string
          example: '2025-07-18T06:12:09.794Z'
        regarding_id:
          type: number
          example: 276
        type:
          type: string
          example: other
          nullable: true
        notes:
          type: string
          example: Added candidate to pipeline.
        annotation:
          type: string
          example: General
        entered_by_id:
          type: number
          example: 7764
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CandidateActivities:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 742
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    ContactActivity:
      type: object
      properties:
        id:
          type: number
          example: 8561
        data_item:
          $ref: '#/components/schemas/DataItemContact'
        date_created:
          type: string
          example: '2025-01-31T14:13:56.113Z'
        regarding_id:
          type: number
          example: 6852
        type:
          type: string
          example: type_other
          nullable: true
        notes:
          type: string
          example: Added candidate to pipeline.
        annotation:
          type: string
          example: General
        entered_by_id:
          type: number
          example: 4843
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    ContactActivities:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 330
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    CompanyActivity:
      type: object
      properties:
        id:
          type: number
          example: 6406
        data_item:
          $ref: '#/components/schemas/DataItemCompany'
        date_created:
          type: string
          example: '2025-09-03T21:18:42.381Z'
        regarding_id:
          type: number
          example: 5064
        type:
          type: string
          example: type_other
          nullable: true
        notes:
          type: string
          example: Added candidate to pipeline.
        annotation:
          type: string
          example: General
        entered_by_id:
          type: number
          example: 8327
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CompanyActivities:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 160
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    JobActivity:
      type: object
      properties:
        id:
          type: number
          example: 638
        data_item:
          $ref: '#/components/schemas/DataItemJob'
        date_created:
          type: string
          example: '2025-07-16T07:41:30.399Z'
        regarding_id:
          type: number
          example: 6191
        type:
          type: string
          example: type_other
          nullable: true
        notes:
          type: string
          example: Added candidate to pipeline.
        annotation:
          type: string
          example: General
        entered_by_id:
          type: number
          example: 4194
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    JobActivities:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 691
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    Application:
      type: object
      properties:
        id:
          type: number
          example: 1210
        description:
          type: string
          example: Similique magni qui quibusdam non occaecati laboriosam corporis.
        header:
          type: string
          example: Suscipit sunt dolores quae quia quae excepturi.
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Applications:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 419
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            applications:
              type: array
              items: {}
    ApplicationField:
      type: object
      properties:
        id:
          type: number
          example: 4532
        title:
          type: string
          example: Soluta autem magnam quasi ducimus.
        position:
          type: number
        type:
          type: string
          example: text
        answers:
          type: array
          items: {}
        is_required:
          type: boolean
          example: true
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    ApplicationFields:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 677
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            applications:
              type: array
              items: {}
    CandidateApplication:
      type: object
      properties:
        id:
          type: number
          example: 1210
        job_id:
          type: string
          example: '1998'
        date_created:
          type: string
          example: '2025-08-13T17:18:09.229Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            fields:
              type: array
              items: {}
    CandidateApplications:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 883
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            applications:
              type: array
              items: {}
    Attachment:
      type: object
      properties:
        id:
          type: number
          example: 6202
        filename:
          type: string
          example: readme.txt
        is_resume:
          type: boolean
          example: true
        version:
          type: string
        size:
          type: string
        data_item:
          type: object
          properties:
            id:
              type: number
              example: 7292
            type:
              type: string
              example: candidate
    Attachments:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 410
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    Backup:
      type: object
      properties:
        id:
          type: number
          example: 1210
        status:
          type: string
          example: expired
          description: '`queued`, `running`, `completed`, `expired`, or `failed`'
        url:
          type: string
          example: http://jalyn.info
          description: url will only be valid for one week after creation.
        file_size:
          type: number
          example: 294516033
          description: Size of the backup in bytes
        started_by_id:
          type: number
          example: 9806
          description: id of the user who initiated the backup
        date_created:
          type: string
          example: '2025-04-09T20:07:40.550Z'
          description: Date and time the backup was requested
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Backups:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 818
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    CreateBackup:
      type: object
      properties:
        include_attachments:
          type: boolean
          description: >-
            Whether to include attachments in the backup or not. Running a
            backup without attachments can greatly speed up the backup time.
            Defaults to false.
        include_emails:
          type: boolean
          description: >-
            Whether to include emails in the backup or not. Running a backup
            without emails can greatly speed up the backup time. Defaults to
            true.
    Candidate:
      type: object
      properties:
        id:
          type: number
          example: 3372
        first_name:
          type: string
          example: Arno
        middle_name:
          type: string
          example: Skyla
        last_name:
          type: string
          example: Hintz
        title:
          type: string
          example: Regional Program Supervisor
        emails:
          type: object
          properties:
            primary:
              type: string
              example: Idella_Carter58@gmail.com
            secondary:
              type: string
              example: Donna.Von84@hotmail.com
        address:
          $ref: '#/components/schemas/Address'
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        website:
          type: string
          example: http://lavada.name
        best_time_to_call:
          type: string
          example: After 5pm
        current_employer:
          type: string
          example: Jacobson Group
        date_available:
          type: string
          example: Next month
        current_pay:
          type: string
          example: 50k
        desired_pay:
          type: string
          example: 120k
        is_willing_to_relocate:
          type: boolean
        key_skills:
          type: string
          example: Programming, management, fishing
        notes:
          type: string
          example: >-
            Alias beatae laudantium corrupti consequatur laboriosam facere
            labore dolor tempore.
        source:
          type: string
          example: Google
        is_hot:
          type: boolean
          example: true
        is_active:
          type: boolean
        is_registered:
          type: boolean
        contact_id:
          type: number
          example: 1611
        owner_id:
          type: number
          example: 5676
        entered_by_id:
          type: number
          example: 3269
        date_created:
          type: string
          example: '2025-10-27T22:51:17.077Z'
        date_modified:
          type: string
          example: '2025-03-15T16:35:18.710Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Candidates:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 617
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            candidates:
              type: array
              items: {}
    CreateCandidate:
      type: object
      required:
        - first_name
        - last_name
      properties:
        first_name:
          type: string
          example: Arnaldo
        middle_name:
          type: string
          example: Claudine Bull
        last_name:
          type: string
          example: Adams
        title:
          type: string
          example: Forward Applications Analyst
          description: The candidate's job title.
        emails:
          type: array
          items: {}
          description: >-
            An array of email objects. Each email object should contain two
            keys: `email` and `is_primary`, as described
            [here](#candidates-create-an-email)


            ```

            [
                {
                    "email": <email>,
                    "is_primary": "<is this the primary email?>"
                }
            ]

            ```
        phones:
          type: array
          items: {}
          description: >-
            An array of phone objects. Each phone object should contain three
            keys: `number`, `extension`, and `type`, as described
            [here](#candidates-create-a-phone)


            ```

            [
                {
                    "number": <phone number with country code>,
                    "extension": "<optional extension>",
                    "type": "<phone number type>",
                }
            ]

            ```
        address:
          type: object
          properties:
            street:
              type: string
              example: 046 Zander Unions
            city:
              type: string
              example: Lake Jeramyport
            state:
              type: string
              example: Missouri
            postal_code:
              type: string
              example: 53147-2751
          description: >-
            An object containing the address for the candidate with the
            following structure:


            ```

            {
              "street": "<street>",
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        website:
          type: string
          example: http://filiberto.name
        best_time_to_call:
          type: string
        current_employer:
          type: string
        date_available:
          type: string
          example: '2019-04-04'
          description: The date the candidate is available for an opening.
        current_pay:
          type: string
        desired_pay:
          type: string
        is_willing_to_relocate:
          type: boolean
        key_skills:
          type: string
        notes:
          type: string
        source:
          type: string
          example: Google
        owner_id:
          type: number
          example: 6773
          description: The user id of the record owner
        is_active:
          type: boolean
          example: true
          description: A flag indicating if the candidate is active.
        is_hot:
          type: boolean
          description: >-
            A flag indicating if the candidate should be marked as hot. A hot
            candidate is highlighted in the candidates view.
        password:
          type: string
          example: b_EgpXHv_RjPPe8
          description: >-
            The candidate's password if they are "registering". Registered
            candidate can be authenticated with `/candidates/authorization`.
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this candidate.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
        work_history:
          type: array
          items: {}
          description: >-
            An array of work history objects. Each work history object should
            conform to the work history objects passed to the normal work
            history create endpoint


            ```

            [
                {
                   "title": "Engineer",
                   "employer": {
                        "linked": false,
                        "name": "<employer name>",
                        "location": {
                            "city": "<employer city>",
                            "state": "<employer state>"
                        }
                   },
                   "supervisor": {
                        "linked": false,
                        "name": "<supervisor name>",
                        "phone": "<supervisor phone number>"
                   },
                   "is_verified": true,
                   "is_current": false,
                   "start_date": "asdas",
                   "end_date": "asd",
                   "reason_for_leaving": "foo"
                }
            ]

            ```
    UpdateCandidate:
      type: object
      required:
        - first_name
        - last_name
      properties:
        first_name:
          type: string
          example: Arturo
        middle_name:
          type: string
          example: Brock Bull
        last_name:
          type: string
          example: Emard
        title:
          type: string
          example: National Intranet Administrator
          description: The candidate's job title.
        address:
          type: object
          properties:
            street:
              type: string
              example: 25849 Hobart Crescent
            city:
              type: string
              example: East Alyssonmouth
            state:
              type: string
              example: New Jersey
            postal_code:
              type: string
              example: '43919'
          description: >-
            An object containing the address for the candidate with the
            following structure:


            ```

            {
              "street": "<street>",
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        website:
          type: string
        best_time_to_call:
          type: string
        current_employer:
          type: string
        date_available:
          type: string
          description: The date the candidate is available for an opening.
        current_pay:
          type: string
        desired_pay:
          type: string
        is_willing_to_relocate:
          type: boolean
        key_skills:
          type: string
        notes:
          type: string
        source:
          type: string
          example: Google
        owner_id:
          type: number
          example: 9945
          description: The user id of the record owner
        is_active:
          type: boolean
          description: A flag indicating if the candidate is active.
        is_hot:
          type: boolean
          example: true
          description: >-
            A flag indicating if the candidate should be marked as hot. A hot
            candidate is highlighted in the candidates view.
        password:
          type: string
          example: 3kCgepJkGF4PwYz
          description: >-
            The candidate's password if they are "registering". Registered
            candidate can be authenticated with `/candidates/authorization`.
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this candidate.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
    ParsedCandidate:
      type: object
      properties:
        first_name:
          type: string
          example: Orlo
        middle_name:
          type: string
          example: Sigurd
        last_name:
          type: string
          example: Gusikowski
        title:
          type: string
          example: National Metrics Supervisor
        emails:
          type: object
          properties:
            primary:
              type: string
              example: Marcelino.Upton@yahoo.com
        address:
          $ref: '#/components/schemas/Address'
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        phones:
          type: object
          properties:
            home:
              type: string
              example: (605) 930-8345
            cell:
              type: string
              example: (474) 736-5528
            work:
              type: string
              example: (464) 359-3345
        current_employer:
          type: string
          example: Graham - Zemlak
        source:
          type: string
          example: Google
    AuthorizeCandidate:
      type: object
      properties:
        email:
          type: string
          example: Eleanore_White@yahoo.com
        password:
          type: string
          example: 7Yw4t7SpwAF343U
    Company:
      type: object
      properties:
        id:
          type: number
          example: 8627
        owner_id:
          type: number
          example: 1516
        name:
          type: string
          example: Altenwerth - Baumbach
        website:
          type: string
          example: https://tiara.info
        address:
          $ref: '#/components/schemas/Address'
        country_code:
          type: string
          example: US
        entered_by_id:
          type: number
          example: 834
        social_media_urls:
          type: array
          items: {}
        notes:
          type: string
          example: Quisquam ad fugiat hic.
        is_hot:
          type: boolean
          example: true
        key_technologies:
          type: string
        billing_contact_id:
          type: number
          example: 9977
        user_groups:
          type: array
          items: {}
        status_id:
          type: number
          example: 8484
        date_created:
          type: string
          example: '2025-05-30T13:51:49.081Z'
        date_modified:
          type: string
          example: '2025-09-27T04:43:54.487Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Companies:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 552
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            companies:
              type: array
              items: {}
    CreateCompany:
      type: object
      required:
        - name
        - owner_id
      properties:
        name:
          type: string
          example: Kuvalis, Hackett and Jones
        owner_id:
          type: number
          example: 5348
        website:
          type: string
          example: http://jaeden.name
        phones:
          type: array
          items: {}
          description: >-
            An array of phone objects. Each phone object should contain three
            keys: `number`, `extension`, and `type`, as described
            [here](#companies-create-a-phone)


            ```

            [
                {
                    "number": <phone number with country code>,
                    "extension": "<optional extension>",
                    "type": "<phone number type>",
                }
            ]

            ```
        address:
          type: object
          properties:
            street:
              type: string
              example: 869 Terry Ramp
            city:
              type: string
              example: Kozeyborough
            state:
              type: string
              example: Nebraska
            postal_code:
              type: string
              example: '92987'
          description: >-
            An object containing the address for the company with the following
            structure:


            ```

            {
              "street": "<street>",
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        entered_by_id:
          type: number
          example: 4178
        social_media_urls:
          type: array
          items: {}
        notes:
          type: string
          example: Possimus mollitia amet ex error quisquam quibusdam et quae.
        is_hot:
          type: boolean
        key_technologies:
          type: string
        billing_contact_id:
          type: number
          example: 6649
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this company.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
        user_groups:
          type: array
          items: {}
          description: User groups allowed to access this company
    CompanyDepartment:
      type: object
      properties:
        id:
          type: number
          example: 9387
        name:
          type: string
          example: Kuphal - Crist
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CompanyDepartments:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 288
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            departments:
              type: array
              items: {}
    AddCompanyDepartment:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          example: Pagac - Stoltenberg
    Contact:
      type: object
      properties:
        id:
          type: number
          example: 2451
        first_name:
          type: string
          example: Roy
        last_name:
          type: string
          example: Kub
        title:
          type: string
          example: Direct Web Consultant
        reports_to_id:
          type: number
          example: 1557
        emails:
          type: object
          properties:
            primary:
              type: string
              example: Liana90@gmail.com
            secondary:
              type: string
              example: Tyree_Ankunding@hotmail.com
        address:
          $ref: '#/components/schemas/Address'
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        is_hot:
          type: boolean
        notes:
          type: string
          example: Quo ratione facilis cum accusantium.
        entered_by_id:
          type: number
          example: 3589
        status_id:
          type: number
          example: 2576
        date_created:
          type: string
          example: '2025-07-29T05:51:14.381Z'
        date_modified:
          type: string
          example: '2025-11-23T02:12:47.037Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Contacts:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 458
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            contacts:
              type: array
              items: {}
    CreateContact:
      type: object
      required:
        - first_name
        - last_name
        - owner_id
        - company_id
      properties:
        first_name:
          type: string
          example: Chelsey
        last_name:
          type: string
          example: Hermiston
        owner_id:
          type: number
          example: 5510
          description: The ID of the user that owns this contact record.
        company_id:
          type: number
          example: 3914
          description: The ID of the company this contact belongs to.
        title:
          type: string
          example: Product Brand Representative
          description: The contact's job title.
        reports_to_id:
          type: number
          example: 3264
          description: The ID of the contact that this contact reports to.
        has_left_company:
          type: boolean
        emails:
          type: array
          items: {}
          description: >-
            An array of email objects. Each email object should contain two
            keys: `email` and `is_primary`, as described
            [here](#contacts-create-an-email)


            ```

            [
                {
                    "email": <email>,
                    "is_primary": "<is this the primary email?>"
                }
            ]

            ```
        phones:
          type: array
          items: {}
          description: >-
            An array of phone objects. Each phone object should contain three
            keys: `number`, `extension`, and `type`, as described
            [here](#contacts-create-a-phone)


            ```

            [
                {
                    "number": <phone number with country code>,
                    "extension": "<optional extension>",
                    "type": "<phone number type>",
                }
            ]

            ```
        address:
          type: object
          properties:
            street:
              type: string
              example: 077 Kiarra Islands
            city:
              type: string
              example: Hildegardland
            state:
              type: string
              example: New Hampshire
            postal_code:
              type: string
              example: '39861'
          description: >-
            An object containing the address for the contact with the following
            structure:


            ```

            {
              "street": "<street>",
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        social_media_urls:
          type: array
          items: {}
        is_hot:
          type: boolean
          example: true
        notes:
          type: string
          example: Vel sequi et et rerum.
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this contact.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
    CandidateCustomFieldDefinition:
      type: object
      properties:
        id:
          type: number
          example: 6623
        data_item_type:
          type: string
          example: candidate
        name:
          type: string
          example: Favorite Color
        comment:
          type: string
        field:
          type: object
          properties:
            type:
              type: string
              example: text
    CompanyCustomFieldDefinition:
      type: object
      properties:
        id:
          type: number
          example: 6623
        data_item_type:
          type: string
          example: company
        name:
          type: string
          example: Favorite Color
        comment:
          type: string
        field:
          type: object
          properties:
            type:
              type: string
              example: text
    ContactCustomFieldDefinition:
      type: object
      properties:
        id:
          type: number
          example: 6623
        data_item_type:
          type: string
          example: contact
        name:
          type: string
          example: Favorite Color
        comment:
          type: string
        field:
          type: object
          properties:
            type:
              type: string
              example: text
    JobCustomFieldDefinition:
      type: object
      properties:
        id:
          type: number
          example: 6623
        data_item_type:
          type: string
          example: job
        name:
          type: string
          example: Favorite Color
        comment:
          type: string
        field:
          type: object
          properties:
            type:
              type: string
              example: text
    CandidateCustomFieldDefinitions:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 585
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            custom_fields:
              type: array
              items: {}
    CompanyCustomFieldDefinitions:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 394
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            custom_fields:
              type: array
              items: {}
    ContactCustomFieldDefinitions:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 722
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            custom_fields:
              type: array
              items: {}
    JobCustomFieldDefinitions:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 955
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            custom_fields:
              type: array
              items: {}
    CustomFieldValue:
      type: object
      properties:
        id:
          type: number
          example: 1028
        value:
          type: string
          example: jazmyne
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CustomFieldValues:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: string
          example: '482'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            custom_fields:
              type: array
              items: {}
    CreateCustomFieldValue:
      type: object
      required:
        - value
      properties:
        value:
          type: string
          example: lila
    UpdateCustomFieldValue:
      type: object
      properties:
        id:
          type: number
          example: 7063
        value:
          type: string
          example: lorem
    Email:
      type: object
      properties:
        id:
          type: number
          example: 4997
        email:
          type: string
          example: Liliana_Moore80@gmail.com
        is_primary:
          type: boolean
        date_created:
          type: string
          example: '2025-03-24T23:59:49.751Z'
        date_modified:
          type: string
          example: '2025-02-27T19:45:15.699Z'
        _links:
          type: object
          properties: {}
    Emails:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 134
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            emails:
              type: array
              items: {}
    CreateEmail:
      type: object
      required:
        - email
      properties:
        email:
          type: string
          example: Meda.Waelchi@hotmail.com
        is_primary:
          type: boolean
          description: >-
            If a record has any number of emails, exactly one of them must be
            marked as primary.
    Event:
      type: object
      properties:
        id:
          type: number
          example: 23635
        event_name:
          type: string
          example: candidate.created
        data_item:
          $ref: '#/components/schemas/DataItemCandidate'
        user_id:
          type: number
          example: 2998
        timestamp:
          type: number
          example: 1510864358
    Events:
      type: object
      properties:
        count:
          type: number
          example: 25
        starting_after_timestamp:
          type: number
          example: 1510864296
        starting_after_id:
          type: number
          example: 23634
        last_id:
          type: number
          example: 23659
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            events:
              type: array
              items: {}
    Filter:
      type: object
      required:
        - field
        - filter
        - value
      properties:
        field:
          type: string
          example: notes
          description: >-
            The field to filter on. See the above list to determine which fields
            can be filtered.
        filter:
          type: string
          example: contains
          description: >-
            The filter to use. See the above list to determine which fields
            allow what filters.
        value:
          type: string
          example: rejected
          description: >-
            The value to filter by. Different filters take different value types
            (string, array, int). See the section in the introduction to see
            what values each filter accepts.
    Hook:
      type: object
      properties:
        id:
          type: number
          example: 7637
        event:
          type: string
          example: candidate.created
        target_url:
          type: string
          example: https://mmountain.herokuapp.com/kAa5An56ew
    Hooks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 369
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            webhooks:
              type: array
              items: {}
    CreateHook:
      type: object
      required:
        - events
        - target_url
      properties:
        events:
          type: array
          items: {}
          description: >-
            An array of one or more of the following event types:
            `candidate.created`, `job.created`, `contact.created`,
            `company.created`, `activity.created`, `user.created`,
            `pipeline.created`, `candidate.updated`, `job.updated`,
            `contact.updated`, `company.updated`, `activity.updated`,
            `user.updated`, `candidate.deleted`, `job.deleted`,
            `contact.deleted`, `company.deleted`, `activity.deleted`,
            `user.deleted`, `pipeline.deleted`, `job.status_changed`,
            `contact.status_changed`, `company.status_changed`,
            `pipeline.status_changed`
        target_url:
          type: string
          example: https://mmountain.herokuapp.com/kAa5An56ew
          description: URL to post the record to once the event is triggered.
        secret:
          type: string
          example: kAehRa5An4sndfuJ7i5sdf6e00wGP
          description: >-
            ***Highly Recommended***. If provided, you can use this string to
            verify that authenticity of webhooks sent to `target_url`. All
            webhooks you subscribe to you will send a `X-Signature` header. To
            determine whether the `X-Signature` header is valid take the body of
            the webhook response, append the value of the `X-Request-Id` header
            to it, and then generate a `HMAC-SHA256` hash of it using your
            secret as a key. That final result should match the hash found in
            the `X-Signature` header. Here are two examples of the verification
            process in PHP and Python 3:


            ```PHP

            $secret = 'yourSecretHere';

            $webhookBody = '{}';


            // `X-Request-Id` header

            $requestId = '5d6ce3f9-cce8-4b5b-a26e-396a6161eb99';


            // `X-Signature` header

            $signature = 'HMAC-SHA256
            affc8d589f36580daa0d587ac0b314c123b59322cf4d018661e0a403cc76391f';


            $hash = hash_hmac('sha256', $requestBody . $requestId, $secret,
            false);


            if ($signature !== 'HMAC-SHA256 ' . $hash) {
                // Reject it
            }

            ```
    Job:
      type: object
      properties:
        id:
          type: number
          example: 9207
        title:
          type: string
          example: National Paradigm Executive
        location:
          type: object
          properties:
            city:
              type: string
              example: South Taureanfurt
            state:
              type: string
              example: MS
            postal_code:
              type: string
              example: '34114'
        country_code:
          type: string
          example: US
        description:
          type: string
          example: >-
            Consequatur quo temporibus. Illo quia et molestiae eos ducimus porro
            nobis sed. Aut sunt eveniet et quasi sequi. Voluptatem expedita vel
            aut. Excepturi deleniti libero blanditiis beatae.
        notes:
          type: string
          example: Quam autem praesentium veniam velit.
        recruiter_id:
          type: number
          example: 3493
        owner_id:
          type: number
          example: 5390
        category:
          type: string
          nullable: true
        is_hot:
          type: boolean
        start_date:
          type: string
          example: '2025-01-29T13:24:13.171Z'
          nullable: true
        salary:
          type: string
          nullable: true
        max_rate:
          type: string
          nullable: true
        duration:
          type: string
        external_id:
          type: string
          nullable: true
        company_id:
          type: number
          example: 7835
        department_id:
          type: number
          example: 1609
        status_id:
          type: number
          example: 1156
        workflow_id:
          type: number
          example: 9740
        is_published:
          type: boolean
          example: true
        portal_hidden:
          type: boolean
          example: true
        user_groups:
          type: array
          items: {}
        date_created:
          type: string
          example: '2025-02-11T06:50:38.970Z'
        date_modified:
          type: string
          example: '2025-11-07T15:09:08.391Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Jobs:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 217
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            jobs:
              type: array
              items: {}
    CreateJob:
      type: object
      required:
        - title
        - location
        - company_id
      properties:
        title:
          type: string
          example: Regional Security Facilitator
        location:
          type: object
          properties:
            city:
              type: string
              example: East Lelahborough
            state:
              type: string
              example: FL
            postal_code:
              type: string
              example: 06887-3024
          description: >-
            An object containing the location information for the job with the
            following structure:


            ```

            {
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        company_id:
          type: number
          example: 4345
          description: The ID of the company the job belongs to.
        department_id:
          type: number
          example: 8525
          description: >-
            The ID of the department the job belongs to (must be a department
            linked to the specified company)
        recruiter_id:
          type: number
          example: 488
          description: The ID of the user who is the recruiter for the job.
        owner_id:
          type: number
          example: 6913
          description: The user id of the record owner
        category_name:
          type: string
        is_hot:
          type: boolean
        start_date:
          type: string
          example: '2025-11-17T11:53:48.806Z'
        salary:
          type: string
        max_rate:
          type: string
        duration:
          type: string
        type:
          type: string
        openings:
          type: number
        external_id:
          type: string
        description:
          type: string
        notes:
          type: string
        contact_id:
          type: number
          example: 6883
          description: The ID of the contact associated with the job.
        workflow_id:
          type: number
          example: 396
          description: >-
            The ID of the workflow to assign to pipelines attached to this job.
            If not specified, will use the default.
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this job.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
        user_groups:
          type: array
          items: {}
          description: User groups allowed to access this job
    UpdateJob:
      type: object
      required:
        - title
        - location
        - company_id
      properties:
        title:
          type: string
          example: National Infrastructure Technician
        location:
          type: object
          properties:
            city:
              type: string
              example: North Tristian
            state:
              type: string
              example: WA
            postal_code:
              type: string
              example: '84834'
          description: >-
            An object containing the location information for the job with the
            following structure:


            ```

            {
              "city": "<city>",
              "state": "<state>",
              "postal_code": "<postal code>"
            }

            ```
        country_code:
          type: string
          example: US
        company_id:
          type: number
          example: 4541
          description: The ID of the company the job belongs to.
        department_id:
          type: number
          example: 7361
          description: >-
            The ID of the department the job belongs to (must be a department
            linked to the specified company)
        recruiter_id:
          type: number
          example: 6745
          description: The ID of the user who is the recruiter for the job.
        owner_id:
          type: number
          example: 8844
          description: The user id of the record owner
        category_name:
          type: string
        is_hot:
          type: boolean
        start_date:
          type: string
          example: '2025-07-11T21:05:16.024Z'
        salary:
          type: string
        max_rate:
          type: string
        duration:
          type: string
        type:
          type: string
        openings:
          type: number
        external_id:
          type: string
        description:
          type: string
        notes:
          type: string
        contact_id:
          type: number
          example: 1920
          description: The ID of the contact associated with the job.
        custom_fields:
          type: array
          items: {}
          description: >-
            An array of custom field objects. Each custom field object should
            contain two keys: `id` and `value`. `id` is the id of a custom field
            definition, and `value` is the value to be set to that custom field
            for this job.


            ```

            [
                {
                    "id": <custom field definition id>,
                    "value": "<custom field value>"
                }
            ]

            ```
        user_groups:
          type: array
          items: {}
          description: User groups allowed to access this job
    List:
      type: object
      properties:
        id:
          type: number
          example: 8893
        name:
          type: string
          example: quia
        notes:
          type: string
          example: Fuga qui sed voluptas sint ut similique voluptatem et.
        date_created:
          type: string
          example: '2025-06-24T22:39:51.587Z'
        date_modified:
          type: string
          example: '2025-10-25T04:40:32.851Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CreateList:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          example: mollitia
        notes:
          type: string
          example: Omnis beatae eligendi aut quae.
    Lists:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 580
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            lists:
              type: array
              items: {}
    CandidateListItems:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 660
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            items:
              type: array
              items: {}
    CandidateListItem:
      type: object
      properties:
        id:
          type: number
          example: 4023
        date_created:
          type: string
          example: '2025-02-19T17:54:11.368Z'
        candidate_id:
          type: number
          example: 8378
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            candidate:
              $ref: '#/components/schemas/Candidate'
    CreateCandidateListItem:
      type: object
      properties:
        items:
          type: array
          items: {}
    CreateCandidateListItemChild:
      type: object
      required:
        - candidate_id
      properties:
        candidate_id:
          type: number
          example: 8670
    ContactListItems:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 535
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            items:
              type: array
              items: {}
    ContactListItem:
      type: object
      properties:
        id:
          type: number
          example: 435
        date_created:
          type: string
          example: '2025-09-25T16:40:40.662Z'
        contact_id:
          type: number
          example: 4777
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            contact:
              $ref: '#/components/schemas/Contact'
    CreateContactListItem:
      type: object
      properties:
        items:
          type: array
          items: {}
    CreateContactListItemChild:
      type: object
      required:
        - contact_id
      properties:
        contact_id:
          type: number
          example: 1363
    CompanyListItems:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 470
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            items:
              type: array
              items: {}
    CompanyListItem:
      type: object
      properties:
        id:
          type: number
          example: 9025
        date_created:
          type: string
          example: '2025-02-01T19:06:25.676Z'
        company_id:
          type: number
          example: 7684
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            company:
              $ref: '#/components/schemas/Company'
    CreateCompanyListItem:
      type: object
      properties:
        items:
          type: array
          items: {}
    CreateCompanyListItemChild:
      type: object
      required:
        - company_id
      properties:
        company_id:
          type: number
          example: 5762
    JobListItems:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 893
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            items:
              type: array
              items: {}
    JobListItem:
      type: object
      properties:
        id:
          type: number
          example: 7788
        date_created:
          type: string
          example: '2025-02-05T15:15:14.497Z'
        job_id:
          type: number
          example: 9283
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            job:
              $ref: '#/components/schemas/Job'
    CreateJobListItem:
      type: object
      properties:
        items:
          type: array
          items: {}
    CreateJobListItemChild:
      type: object
      required:
        - job_id
      properties:
        job_id:
          type: number
          example: 4178
    Phone:
      type: object
      properties:
        id:
          type: number
          example: 9125
        number:
          type: string
          example: (370) 640-1826 x64405
        extension:
          type: string
          example: '612'
        type:
          type: string
          example: Mobile
        date_created:
          type: string
          example: '2025-02-26T07:27:02.593Z'
        date_modified:
          type: string
          example: '2025-02-13T14:39:33.199Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Phones:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 237
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            phones:
              type: array
              items: {}
    CreateCandidateContactPhone:
      type: object
      required:
        - number
        - type
      properties:
        number:
          type: string
          example: '+16124063451'
          description: >-
            This number MUST begin with the country code. It will not be parsed
            correctly otherwise.
        extension:
          type: string
          example: '8371'
        type:
          type: string
          example: Mobile
          description: One of `mobile`, `home`, `work`, `fax`, `main`, or `other`.
    CreateCompanyPhone:
      type: object
      required:
        - number
        - type
      properties:
        number:
          type: string
          example: '+16124063451'
          description: >-
            This number MUST begin with the country code. It will not be parsed
            correctly otherwise.
        extension:
          type: string
          example: '664'
        type:
          type: string
          example: Main
          description: One of `fax`, `main`, or `other`.
    Pipeline:
      type: object
      properties:
        id:
          type: number
          example: 7847
        candidate_id:
          type: number
          example: 7057
        job_id:
          type: number
          example: 8484
        rating:
          type: number
        workflow_id:
          type: number
          example: 3189
        status_id:
          type: number
          example: 6705
        date_created:
          type: string
          example: '2025-02-06T18:44:24.989Z'
        date_modified:
          type: string
          example: '2025-08-24T22:11:56.567Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Pipelines:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 524
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            pipelines:
              type: array
              items: {}
    CreatePipeline:
      type: object
      required:
        - candidate_id
        - job_id
      properties:
        candidate_id:
          type: number
          example: 7930
          description: The ID of the candidate that this pipeline is regarding.
        job_id:
          type: number
          example: 8093
          description: The ID of the job order that this pipeline is for.
        rating:
          type: number
          example: 3
          description: The candidate's rating (0-5) for this job order pipeline.
    UpdatePipeline:
      type: object
      properties:
        rating:
          type: number
          example: 4
          description: The candidate's rating (0-5) for this job order pipeline.
    Portal:
      type: object
      properties:
        id:
          type: number
          example: 799
        name:
          type: string
          example: Ad porro consectetur minus eius.
        date_created:
          type: string
          example: '2025-07-25T07:54:23.326Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Portals:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 300
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            activities:
              type: array
              items: {}
    PortalSubmit:
      type: object
      properties:
        fields:
          type: array
          items: {}
          description: |-
            An example with all fields types:

            ```
            {
                "fields": [
                    {
                        /* file */
                        "id": 523423,
                        "value": "SGVsbG8gV29ybGQ=",
                        "filename": "helloworld.txt"
                    },
                    {
                        /* text */
                        "id": 523591,
                        "value": "James"
                    },
                    {
                        /* multiline */
                        "id": 524022
                        "value": "line 1\r\nline 2"
                    },
                    {
                        /* checkbox */
                        "id": 524156
                        "value": true
                    },
                    {
                        /* checkboxes */
                        "id": 524221
                        "value": {
                            "3251": true,
                            "3991": true
                        }
                    },
                    {
                        /* radio/select */
                        "id": 524221
                        "value": {
                            "4126": true
                        }
                    }
                ],
                "source": "Google"
            }
            ```
        source:
          type: string
          example: Google
          description: >-
            If the applicant is brand new to the system, what you provide in the
            source field will be set as their source. If they

            are not new to the system, their existing source will *NOT* be
            overwritten. If source is not provided it defaults to

            "Career Portal".
    PortalSubmitField:
      type: object
      required:
        - id
        - value
      properties:
        id:
          type: number
          example: 3755
        value:
          type: string
          example: doloribus
    AddJobToPortal:
      type: object
      properties: {}
    Site:
      type: object
      properties:
        id:
          type: number
          example: 5821
        mode:
          type: string
          example: recruiter
          description: >-
            The value of this field will either be `recruiter` or `hr`. HR sites
            do not have access contacts.
        subdomain:
          type: string
          example: kitten
          description: The subdomain of the site.
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    HistoricalStatus:
      type: object
      properties:
        id:
          type: number
          example: 4453
        from_id:
          type: number
          example: 9780
        workflow_id:
          type: number
          example: 8109
        title:
          type: string
          example: Lead
        mapping:
          type: string
          example: lead
        is_current:
          type: boolean
          example: true
        user_id:
          type: number
          example: 2998
        date_changed:
          type: string
          example: '2025-02-19T04:54:54.154Z'
        _links:
          type: object
          properties: {}
    HistoricalStatuses:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 375
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            statuses:
              type: array
              items: {}
    CompanyStatus:
      type: object
      properties:
        id:
          type: number
          example: 4453
        title:
          type: string
          example: Lead
        mapping:
          type: string
          example: lead
        prerequisites:
          type: array
          items: {}
        triggers:
          type: array
          items: {}
        _links:
          type: object
          properties: {}
    CompanyStatuses:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 701
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            statuses:
              type: array
              items: {}
    ContactStatus:
      type: object
      properties:
        id:
          type: number
          example: 4453
        title:
          type: string
          example: Employee
          description: Human Resources (string)
        mapping:
          type: string
          example: human_resources
        prerequisites:
          type: array
          items: {}
        triggers:
          type: array
          items: {}
        _links:
          type: object
          properties: {}
    ContactStatuses:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 437
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            statuses:
              type: array
              items: {}
    JobStatus:
      type: object
      properties:
        id:
          type: number
          example: 4453
        title:
          type: string
          example: Active
        mapping:
          type: number
        prerequisites:
          type: array
          items: {}
        triggers:
          type: array
          items: {}
        _links:
          type: object
          properties: {}
    JobStatuses:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 938
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            statuses:
              type: array
              items: {}
    PipelineStatus:
      type: object
      properties:
        id:
          type: number
          example: 4453
        title:
          type: string
          example: Offered
        mapping:
          type: number
        prerequisites:
          type: array
          items: {}
        triggers:
          type: array
          items: {}
        _links:
          type: object
          properties: {}
    PipelineStatuses:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 773
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            statuses:
              type: array
              items: {}
    StatusPrereq:
      type: object
      properties:
        id:
          type: number
          example: 743
    StatusTrigger:
      type: object
      properties:
        id:
          type: number
          example: 9189
    AttachStatus:
      type: object
      required:
        - status_id
      properties:
        status_id:
          type: number
          example: 8837
          description: The ID of the status to attach.
        triggers:
          type: array
          items: {}
          description: >-
            An array of objects each containing the ID of an attached trigger
            and a boolean representing whether or not to fire the trigger.


            If the `triggers` parameter is not set, all required triggers will
            be fired as well as all triggers that are marked as optional and on
            by default. Optional triggers that are off by default will not fire.


            If the `triggers` parameter is specified, *all* triggers that are
            attached to the status must be included in the array and the API
            will make no assumptions about which triggers to fire.


            Example:


            ```

            [
                {
                  "id": <trigger ID>,
                  "fire": <boolean>
                }
            ]

            ```
    FireTriggers:
      type: object
      properties:
        id:
          type: number
          example: 1323
        fire:
          type: boolean
    Tag:
      type: object
      properties:
        id:
          type: number
          example: 4296
        parent_id:
          type: number
          example: 6049
        title:
          type: string
          example: My Cool Tag Name
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Tags:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 824
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tags:
              type: array
              items: {}
    AttachTag:
      type: object
      properties:
        id:
          type: number
          example: 519
    AttachTags:
      type: object
      properties:
        tags:
          type: array
          items: {}
    Task:
      type: object
      properties:
        id:
          type: number
          example: 9047
        data_item:
          $ref: '#/components/schemas/DataItem'
        entered_by_id:
          type: number
          example: 3632
        assigned_to_id:
          type: number
          example: 8799
        description:
          type: string
          example: Eum qui deserunt molestias sunt unde earum id eligendi consequatur.
        priority:
          type: number
          example: 2
        date_due:
          type: string
          example: '2025-08-16T04:03:50.702Z'
        is_completed:
          type: boolean
          example: true
        date_completed:
          type: string
          example: '2025-03-04T09:39:28.864Z'
        date_created:
          type: string
          example: '2025-08-09T21:21:22.273Z'
        date_updated:
          type: string
          example: '2025-11-05T20:41:28.952Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    Tasks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 322
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tasks:
              type: array
              items: {}
    CreateTask:
      type: object
      properties:
        data_item:
          $ref: '#/components/schemas/DataItem'
          description: A DataItem the object is about, or null for a general task
        assigned_to_id:
          type: number
          example: 7689
          description: The user to assign the task to
        description:
          type: string
          example: Est reiciendis et harum culpa est repudiandae et.
        priority:
          type: number
          example: 3
          description: A number 1-5, with 1 being the lowest priority
        date_due:
          type: string
          example: '2025-04-30T11:45:54.372Z'
          description: If null the task will be assigned ASAP as in the CATS UI
    UpdateTask:
      type: object
      properties:
        assigned_to_id:
          type: number
          example: 3526
          description: The user to assign the task to
        description:
          type: string
          example: Maxime quod excepturi veritatis.
        priority:
          type: number
          example: 3
          description: A number 1-5, with 1 being the lowest priority
        date_due:
          type: string
          example: '2025-01-03T02:01:47.215Z'
          description: If null the task will be assigned ASAP as in the CATS UI
        is_completed:
          type: boolean
          example: true
    CandidateTask:
      type: object
      properties:
        id:
          type: number
          example: 9047
        data_item:
          $ref: '#/components/schemas/DataItemCandidate'
        entered_by_id:
          type: number
          example: 2621
        assigned_to_id:
          type: number
          example: 2671
        description:
          type: string
          example: In dolor provident nihil est.
        priority:
          type: number
          example: 2
        date_due:
          type: string
          example: '2025-04-16T19:42:22.879Z'
        is_completed:
          type: boolean
          example: true
        date_completed:
          type: string
          example: '2025-06-18T12:41:38.837Z'
        date_created:
          type: string
          example: '2025-05-28T18:52:48.884Z'
        date_updated:
          type: string
          example: '2025-01-10T06:54:03.500Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CandidateTasks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 936
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tasks:
              type: array
              items: {}
    ContactTask:
      type: object
      properties:
        id:
          type: number
          example: 9047
        data_item:
          $ref: '#/components/schemas/DataItemContact'
        entered_by_id:
          type: number
          example: 354
        assigned_to_id:
          type: number
          example: 3608
        description:
          type: string
          example: Illo ea et deleniti officia quos accusamus quis enim.
        priority:
          type: number
          example: 2
        date_due:
          type: string
          example: '2025-04-01T14:23:46.509Z'
        is_completed:
          type: boolean
          example: true
        date_completed:
          type: string
          example: '2025-04-13T07:03:23.534Z'
        date_created:
          type: string
          example: '2025-12-18T19:44:51.198Z'
        date_updated:
          type: string
          example: '2025-03-09T16:56:29.900Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    ContactTasks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 192
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tasks:
              type: array
              items: {}
    CompanyTask:
      type: object
      properties:
        id:
          type: number
          example: 9047
        data_item:
          $ref: '#/components/schemas/DataItemCompany'
        entered_by_id:
          type: number
          example: 5202
        assigned_to_id:
          type: number
          example: 3798
        description:
          type: string
          example: Adipisci et non quia voluptatibus magnam et voluptatibus.
        priority:
          type: number
          example: 2
        date_due:
          type: string
          example: '2025-04-05T14:02:39.095Z'
        is_completed:
          type: boolean
          example: true
        date_completed:
          type: string
          example: '2025-06-14T13:15:36.466Z'
        date_created:
          type: string
          example: '2025-02-20T04:53:40.943Z'
        date_updated:
          type: string
          example: '2025-10-06T15:56:44.111Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    CompanyTasks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 414
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tasks:
              type: array
              items: {}
    JobTask:
      type: object
      properties:
        id:
          type: number
          example: 9047
        data_item:
          $ref: '#/components/schemas/DataItemJob'
        entered_by_id:
          type: number
          example: 9065
        assigned_to_id:
          type: number
          example: 3776
        description:
          type: string
          example: Dolores non laudantium esse amet libero nam et.
        priority:
          type: number
          example: 2
        date_due:
          type: string
          example: '2025-08-26T05:23:06.347Z'
        is_completed:
          type: boolean
          example: true
        date_completed:
          type: string
          example: '2025-05-11T09:33:51.878Z'
        date_created:
          type: string
          example: '2025-10-13T22:05:40.113Z'
        date_updated:
          type: string
          example: '2025-10-20T03:59:34.854Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    JobTasks:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 718
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            tasks:
              type: array
              items: {}
    Thumbnail:
      type: object
      properties:
        source:
          type: string
          example: attachment
        attachment_id:
          type: number
          example: 4179
        url:
          type: string
          example: https://henri.org
        _links:
          type: object
          properties: {}
    ChangeThumbnail:
      type: object
      required:
        - source
      properties:
        source:
          type: string
          example: attachment
          description: One of `attachment`, `gravatar`, or `disabled`.
        attachment_id:
          type: number
          example: 667
          description: >-
            Only required if source is set to `attachment` (must be an
            attachment belonging to the data item)
    ChangeCompanyThumbnail:
      type: object
      required:
        - source
      properties:
        source:
          type: string
          example: attachment
          description: One of `attachment`, `clearbit`, or `disabled`.
        attachment_id:
          type: number
          example: 3458
          description: >-
            Only required if source is set to `attachment` (must be an
            attachment belonging to the data item)## Trigger (object)
        id:
          type: number
          example: 6820
        description:
          type: string
          example: Send Candidate Status Change Notification
        is_required:
          type: boolean
          example: true
        is_default:
          type: boolean
        _links:
          type: object
          properties: {}
    Trigger:
      type: object
      properties:
        id:
          type: number
          example: 6820
    Triggers:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 957
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            triggers:
              type: array
              items: {}
    User:
      type: object
      properties:
        id:
          type: number
          example: 2998
        username:
          type: string
          example: Helmer_Tremblay44@yahoo.com
        first_name:
          type: string
          example: Ernestina
        last_name:
          type: string
          example: Wolff
        title:
          type: string
          example: International Configuration Architect
        access_level:
          type: string
          example: Recruiter
          description: Read-only value
        _links:
          type: object
          properties: {}
    Users:
      type: object
      properties:
        count:
          type: number
          example: 10
        total:
          type: number
          example: 10
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            users:
              type: array
              items: {}
    PipelineWorkflow:
      type: object
      properties:
        id:
          type: number
          example: 2998
        title:
          type: string
          example: In saepe repellendus aut soluta.
        is_default:
          type: boolean
        date_modified:
          type: string
          example: '2025-01-10T22:41:29.642Z'
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties: {}
    PipelineWorkflows:
      type: object
      properties:
        count:
          type: number
          example: 10
        total:
          type: number
          example: 10
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            workflows:
              type: array
              items: {}
    WorkHistory:
      type: object
      properties:
        id:
          type: number
          example: 3372
        title:
          type: string
          example: Future Factors Strategist
        candidate_id:
          type: number
          example: 3704
        employer:
          type: object
          properties:
            linked:
              type: boolean
            name:
              type: string
              example: Herzog - King
            location:
              type: object
              properties:
                city:
                  type: string
                  example: Clydefort
                state:
                  type: string
                  example: WV
        supervisor:
          type: object
          properties:
            linked:
              type: boolean
            name:
              type: string
              example: Rahsaan
            phone:
              type: string
              example: (328) 532-2382
        is_verified:
          type: boolean
          example: true
        is_current:
          type: boolean
        start_date:
          type: string
          example: '2025-10-02T09:36:20.480Z'
        end_date:
          type: string
          example: '2025-04-30T03:27:47.197Z'
        reason_for_leaving:
          type: string
          example: Quia omnis laborum repudiandae laborum.
    WorkHistories:
      type: object
      properties:
        count:
          type: number
          example: 25
        total:
          type: number
          example: 332
        _links:
          type: object
          properties: {}
        _embedded:
          type: object
          properties:
            work_history:
              type: array
              items: {}
    CreateWorkHistory:
      type: object
      required:
        - title
        - employer
      properties:
        title:
          type: string
          example: International Usability Associate
        employer:
          type: object
          properties:
            linked:
              type: boolean
            name:
              type: string
              example: Osinski, Renner and Breitenberg
            location:
              type: object
              properties:
                city:
                  type: string
                  example: Jaleelhaven
                state:
                  type: string
                  example: NM
          description: >-
            An object containing the employer information for a work history
            item with one of the following structures:


            ```

            {
              "linked": false,
              "name": "<employer name>",
              "location": {
                "city": "<employer city>",
                "state": "<employer state>"
              }
            }

            ```


            or


            ```

            {
              "linked": true,
              "company_id": 465
            }

            ```


            Both `linked` and `name` are required fields within the first
            object, and `linked` and `company_id` are required in the second
            object.
        supervisor:
          type: object
          properties:
            linked:
              type: boolean
            name:
              type: string
              example: Howell
            phone:
              type: string
              example: (911) 847-7484
          description: >-
            An object containing the supervisor information for a work history
            item with one of the following structures:


            ```

            {
              "linked": false,
              "name": "<supervisor name>",
              "phone": "<supervisor phone number>"
            }

            ```


            or


            ```

            {
              "linked": true,
              "contact_id": 6864
            }

            ```
        is_verified:
          type: boolean
          example: true
        is_current:
          type: string
          example: 'false'
          description: >-
            If this is set to `true`, both `end_date` and `reason_for_leaving`
            will be ignored.
        start_date:
          type: string
          example: '2025-05-04T06:36:34.770Z'
        end_date:
          type: string
          example: '2025-05-14T03:24:39.664Z'
        reason_for_leaving:
          type: string
          example: Dolor praesentium delectus ut optio assumenda dolores.
tags:
  - name: Activities
  - name: Attachments
  - name: Backups
  - name: Candidates
  - name: Companies
  - name: Contacts
  - name: Events
    description: >-
      Events are a record of most of the major actions that have taken place to
      data items on your account.

      These are similar to webhooks in their scope, but instead of having to
      subscribe to webhooks,

      events are always being recorded and can be polled at your convenience.
  - name: Jobs
  - name: Pipelines
  - name: Portals
  - name: Site
    description: Get information the site associated with the API token being used.
  - name: Tags
  - name: Tasks
  - name: Triggers
  - name: Users
  - name: Webhooks
    description: >-
      Webhooks can be set up to fire for many events (see
      [below](#webhooks-create-a-webhook)). The returned Hal object

      will contain basic information about the event as well as ebed copies of
      all relevant resources. For example,

      a `candidate.status_changed` webhook would look like the following:


      ```

      {
          "event": "candidate.status_changed",
          "candidate_id": 532443,
          "previous_status_id": 2236901,
          "new_status_id": 2236978,
          "_embedded": {...}
      }

      ```


      The webhook will continue to fire every time the event occurs until it is
      deleted or the target url returns

      a `410` http status code.
  - name: Work History
