Popp ATS API

The ATS API from Popp — 3 operation(s) for ats.

Operations 3

GET /v1/ats/jobs List ATS jobs #
GET /v1/ats/jobs/{atsJobId}/stages List ATS job stages #
GET /v1/ats/rejection-reasons List ATS rejection reasons #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/popp:popp-ats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

popp-ats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Popp ATS API
  description: Popp API documentation
  version: '1'
servers:
- url: https://api.joinpopp.com
  description: Development server
security:
- popp_api_key: []
  organization_id: []
tags:
- name: ATS
paths:
  /v1/ats/jobs:
    get:
      summary: List ATS jobs
      description: Returns a paginated list of the authenticated organization's ATS jobs, read live from your connected ATS and annotated with what each job is connected to in Popp (`workflow`, `campaign`, or `analysis`). Each job includes the available detail — `description` (which may contain HTML), location, salary, employment type, screening questions, hiring-pipeline stages, and any ATS custom fields. Use this to discover the `atsJobId` you need to wire an ATS entry pathway when building an ATS-driven workflow. Results are cursor-paginated — pass the returned `next` value back as the `next` query parameter to fetch the following page. Filtering by a single `atsJobId` still returns an array — of length 0 or 1, never a bare object or a 404. Returns `422` if your connected ATS does not support jobs, or `502` if the ATS integration returns an error.
      operationId: list-ats-jobs
      parameters:
      - name: status
        in: query
        description: 'Filter by normalized job status. Allowed values: `OPEN`, `CLOSED`, `DRAFT`, `ARCHIVED`.'
        required: false
        schema:
          $ref: '#/components/schemas/status-8a98e189-83b3-4600-a5a6-22ce67b183c7'
      - name: updatedAfter
        in: query
        description: Only return jobs updated at or after this ISO-8601 timestamp.
        required: false
        schema:
          $ref: '#/components/schemas/updatedAfter'
      - name: atsJobIds
        in: query
        description: Comma-separated list of `atsJobId`s to restrict the result to. A single-job lookup still returns an array — of length 0 or 1, never a bare object or a 404.
        required: false
        schema:
          $ref: '#/components/schemas/atsJobIds'
      - name: nameContains
        in: query
        description: Filter to jobs whose title contains this keyword.
        required: false
        schema:
          $ref: '#/components/schemas/nameContains'
      - name: jobCodes
        in: query
        description: Comma-separated list of provider requisition / job codes to filter by.
        required: false
        schema:
          $ref: '#/components/schemas/jobCodes'
      - name: pageSize
        in: query
        description: Maximum number of jobs to return per page. Must be an integer between 1 and 250; values outside this range are rejected with a 400.
        required: false
        schema:
          $ref: '#/components/schemas/pageSize'
      - name: next
        in: query
        description: Opaque pagination cursor returned by the previous call. Omit for the first page.
        required: false
        schema:
          $ref: '#/components/schemas/next'
      tags:
      - ATS
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAtsJobsResponse'
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
  /v1/ats/jobs/{atsJobId}/stages:
    get:
      summary: List ATS job stages
      description: Returns the interview pipeline stages for a single ATS job, read live from your connected ATS. Discover the `atsJobId` via `GET /v1/ats/jobs`. Returns `422` if your connected ATS does not support job stages, or `502` if the ATS integration returns an error. An empty `stages` list means the job has none configured.
      operationId: list-ats-job-stages
      parameters:
      - name: atsJobId
        in: path
        description: The `atsJobId` (from `GET /v1/ats/jobs`) whose pipeline stages to list.
        required: true
        schema:
          $ref: '#/components/schemas/atsJobId'
      tags:
      - ATS
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAtsJobStagesResponse'
          headers: {}
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
  /v1/ats/rejection-reasons:
    get:
      summary: List ATS rejection reasons
      description: Returns the rejection reasons configured in the authenticated organization's connected ATS, read live. Use the `atsReasonId` values when configuring workflow behaviour that rejects a candidate in the ATS. Returns `422` if your connected ATS does not support rejection reasons, or `502` if the ATS integration returns an error. An empty `rejectionReasons` list means none are configured.
      operationId: list-ats-rejection-reasons
      parameters: []
      tags:
      - ATS
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAtsRejectionReasonsResponse'
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers: {}
components:
  schemas:
    atsJobId:
      type: string
    ListAtsJobsResponse:
      type: object
      description: 'A page of your organization''s ATS jobs, read live from your connected ATS and annotated with what each job is connected to in Popp (`workflow`, `campaign`, or `analysis`). Cursor-paginated: pass the returned `next` value back as the `next` query parameter for the following page. Filtering by a single `atsJobId` returns an array of length 0 or 1 (never a bare object or a 404). Use an `atsJobId` to connect a workflow to that job via an ATS entry pathway.'
      properties:
        jobs:
          type: array
          title: Jobs
          description: ATS jobs on this page.
          items:
            type: object
            properties:
              atsJobId:
                type: string
                title: ATS Job ID
                description: The job's identifier in your ATS. Use this to connect a workflow to the job via an ATS entry pathway.
              title:
                type:
                - string
                - 'null'
                title: Title
                description: Job title.
              atsJobReference:
                type:
                - string
                - 'null'
                title: ATS Job Reference
                description: Your ATS's requisition or job code for the role, when provided.
              status:
                type:
                - string
                - 'null'
                enum:
                - OPEN
                - CLOSED
                - DRAFT
                - ARCHIVED
                title: Status
                description: Normalized job status, or `null` when your ATS's value doesn't map to one of these (see `rawStatus`).
              rawStatus:
                type:
                - string
                - 'null'
                title: Raw Status
                description: The verbatim status string from your ATS, before normalization.
              remoteWorkStatus:
                type:
                - string
                - 'null'
                enum:
                - REMOTE
                - HYBRID
                - TEMPORARY
                - ON_SITE
                title: Remote Work Status
                description: Normalized remote-work arrangement for the role, when available.
              description:
                type:
                - string
                - 'null'
                title: Description
                description: Job description. May contain HTML.
              department:
                type:
                - string
                - 'null'
                title: Department
                description: Department the role sits in, when provided.
              category:
                type:
                - string
                - 'null'
                title: Category
                description: Job category, when provided.
              experienceLevel:
                type:
                - string
                - 'null'
                title: Experience Level
                description: Experience level for the role, when provided.
              employmentType:
                type:
                - string
                - 'null'
                title: Employment Type
                description: Employment type passed through from your ATS (e.g. `FULL_TIME`, `PART_TIME`, `CONTRACT`).
              visibility:
                type:
                - string
                - 'null'
                title: Visibility
                description: Posting visibility passed through from your ATS (e.g. `PUBLIC`, `INTERNAL`).
              weeklyHours:
                type:
                - number
                - 'null'
                title: Weekly Hours
                description: Contracted weekly hours, when provided.
              postUrl:
                type:
                - string
                - 'null'
                title: Post URL
                description: Public posting URL, when provided.
              remoteUrl:
                type:
                - string
                - 'null'
                title: Remote URL
                description: Provider-hosted job URL, when provided.
              location:
                type: object
                title: Location
                description: Job location, decomposed. Each field is `null` when your ATS doesn't provide it.
                properties:
                  city:
                    type:
                    - string
                    - 'null'
                    title: City
                  state:
                    type:
                    - string
                    - 'null'
                    title: State
                  country:
                    type:
                    - string
                    - 'null'
                    title: Country
                required:
                - city
                - state
                - country
                additionalProperties: false
              salary:
                type: object
                title: Salary
                description: Salary information, when provided by your ATS. Each field is `null` when unavailable.
                properties:
                  amount:
                    type:
                    - number
                    - 'null'
                    title: Amount
                  from:
                    type:
                    - number
                    - 'null'
                    title: From
                  to:
                    type:
                    - number
                    - 'null'
                    title: To
                  currency:
                    type:
                    - string
                    - 'null'
                    title: Currency
                  period:
                    type:
                    - string
                    - 'null'
                    title: Period
                    description: Salary period passed through from your ATS (e.g. `YEAR`, `MONTH`, `HOUR`).
                required:
                - amount
                - from
                - to
                - currency
                - period
                additionalProperties: false
              openedAt:
                type:
                - string
                - 'null'
                format: date-time
                title: Opened At
                description: When the job was opened in your ATS, when provided.
              closedAt:
                type:
                - string
                - 'null'
                format: date-time
                title: Closed At
                description: When the job was closed in your ATS, when provided.
              remoteUpdatedAt:
                type:
                - string
                - 'null'
                format: date-time
                title: Remote Updated At
                description: When the job was last updated in your ATS, when provided.
              customFields:
                type:
                - object
                - 'null'
                title: Custom Fields
                description: Arbitrary custom fields configured in your ATS, as key-value pairs. `null` when none.
                additionalProperties: true
              stages:
                type: array
                title: Stages
                description: The job's hiring-pipeline stages.
                items:
                  type: object
                  properties:
                    atsStageId:
                      type:
                      - string
                      - 'null'
                      title: ATS Stage ID
                    name:
                      type:
                      - string
                      - 'null'
                      title: Name
                    index:
                      type:
                      - integer
                      - 'null'
                      title: Index
                      description: Order within the pipeline, when provided.
                  required:
                  - atsStageId
                  - name
                  - index
                  additionalProperties: false
              screeningQuestions:
                type: array
                title: Screening Questions
                description: The job's screening questions.
                items:
                  type: object
                  properties:
                    atsQuestionId:
                      type:
                      - string
                      - 'null'
                      title: ATS Question ID
                    title:
                      type:
                      - string
                      - 'null'
                      title: Title
                    description:
                      type:
                      - string
                      - 'null'
                      title: Description
                      description: Question help text. May contain HTML.
                    type:
                      type:
                      - string
                      - 'null'
                      title: Type
                      description: Answer format (e.g. `TEXT`, `SINGLE_SELECT`, `MULTI_SELECT`).
                    required:
                      type:
                      - boolean
                      - 'null'
                      title: Required
                    options:
                      type: array
                      title: Options
                      description: Choices for `SINGLE_SELECT` / `MULTI_SELECT` questions.
                      items:
                        type: object
                        properties:
                          atsOptionId:
                            type:
                            - string
                            - 'null'
                            title: ATS Option ID
                          name:
                            type:
                            - string
                            - 'null'
                            title: Name
                        required:
                        - atsOptionId
                        - name
                        additionalProperties: false
                  required:
                  - atsQuestionId
                  - title
                  - description
                  - type
                  - required
                  - options
                  additionalProperties: false
              isConnected:
                type: boolean
                title: Is Connected
                description: True when the job is connected to a workflow, campaign, or analysis.
              workflow:
                type:
                - object
                - 'null'
                title: Connected Workflow
                description: The workflow this job is connected to, or `null`. A job connected to a workflow cannot also be connected to a campaign or analysis.
                required:
                - id
                - name
                additionalProperties: false
                properties:
                  id:
                    type: string
                    title: ID
                    description: Identifier of the connected workflow.
                  name:
                    type: string
                    title: Name
                    description: Human-readable label for the connected workflow.
              campaign:
                type:
                - object
                - 'null'
                title: Connected Campaign
                description: The campaign this job is connected to, or `null`.
                required:
                - id
                - name
                additionalProperties: false
                properties:
                  id:
                    type: string
                    title: ID
                    description: Identifier of the connected campaign.
                  name:
                    type: string
                    title: Name
                    description: Human-readable label for the connected campaign.
              analysis:
                type:
                - object
                - 'null'
                title: Connected Analysis
                description: The analysis this job is connected to, or `null`.
                required:
                - id
                - name
                additionalProperties: false
                properties:
                  id:
                    type: string
                    title: ID
                    description: Identifier of the connected analysis.
                  name:
                    type: string
                    title: Name
                    description: Human-readable label for the connected analysis.
            required:
            - atsJobId
            - isConnected
            - location
            - salary
            - stages
            - screeningQuestions
            additionalProperties: false
        next:
          type:
          - string
          - 'null'
          title: Next
          description: Pagination cursor. Pass as the `next` query parameter to fetch the following page; `null` on the last page.
      required:
      - jobs
      additionalProperties: false
    ListAtsRejectionReasonsResponse:
      type: object
      description: The rejection reasons configured in your connected ATS for the authenticated organization, read live. Empty when none are configured.
      properties:
        rejectionReasons:
          type: array
          title: Rejection Reasons
          description: ATS rejection reasons available to the organization.
          items:
            type: object
            properties:
              atsReasonId:
                type:
                - string
                - 'null'
                title: ATS Reason ID
                description: The rejection reason's identifier in your ATS.
              name:
                type:
                - string
                - 'null'
                title: Name
                description: Human-readable rejection reason.
    atsJobIds:
      type: string
    ListAtsJobStagesResponse:
      type: object
      description: The interview pipeline stages for an ATS job, read live from your connected ATS. Empty when the job has none configured.
      properties:
        stages:
          type: array
          title: Stages
          description: ATS pipeline stages for the job, in the order your ATS defines.
          items:
            type: object
            properties:
              atsStageId:
                type:
                - string
                - 'null'
                title: ATS Stage ID
                description: The stage's identifier in your ATS.
              name:
                type:
                - string
                - 'null'
                title: Name
                description: Human-readable stage name.
              index:
                type:
                - integer
                - 'null'
                title: Index
                description: Zero-based position of the stage in the pipeline, when your ATS provides an ordering.
    nameContains:
      type: string
    jobCodes:
      type: string
    updatedAfter:
      type: string
      format: date-time
    next:
      type: string
    ErrorResponse:
      type: object
    status-8a98e189-83b3-4600-a5a6-22ce67b183c7:
      type: string
      enum:
      - OPEN
      - CLOSED
      - DRAFT
      - ARCHIVED
    pageSize:
      type: integer
      minimum: 1
      maximum: 250
  securitySchemes:
    popp_api_key:
      description: Your Popp API key for authentication
      type: apiKey
      name: x-api-key
      in: header
    organization_id:
      description: Your organization's unique identifier
      type: apiKey
      name: x-organization-id
      in: header
x-provenance:
  method: searched
  source: https://docs.joinpopp.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.joinpopp.com/reference/add-candidates-to-list-by-external-id.md
  - https://docs.joinpopp.com/reference/add-candidates-to-list.md
  - https://docs.joinpopp.com/reference/archive-analysis.md
  - https://docs.joinpopp.com/reference/archive-document-type.md
  - https://docs.joinpopp.com/reference/archive-workflow-by-external-id.md
  - https://docs.joinpopp.com/reference/archive-workflow.md
  - https://docs.joinpopp.com/reference/bulk-create-conversations.md
  - https://docs.joinpopp.com/reference/cancel-booking.md
  - https://docs.joinpopp.com/reference/cancel-workflow-run.md
  - https://docs.joinpopp.com/reference/create-analysis-candidate.md
  - https://docs.joinpopp.com/reference/create-analysis.md
  - https://docs.joinpopp.com/reference/create-campaign.md
  - https://docs.joinpopp.com/reference/create-candidate-list.md
  - https://docs.joinpopp.com/reference/create-candidate-note-by-external-id.md
  - https://docs.joinpopp.com/reference/create-candidate-note.md
  - https://docs.joinpopp.com/reference/create-candidate.md
  - https://docs.joinpopp.com/reference/create-conversation.md
  - https://docs.joinpopp.com/reference/create-custom-field.md
  - https://docs.joinpopp.com/reference/create-document-credential.md
  - https://docs.joinpopp.com/reference/create-document-type.md
  - https://docs.joinpopp.com/reference/create-meeting-template.md
  - https://docs.joinpopp.com/reference/create-organization-config.md
  - https://docs.joinpopp.com/reference/create-scheduling-conversation.md
  - https://docs.joinpopp.com/reference/create-user.md
  - https://docs.joinpopp.com/reference/create-webhook.md
  - https://docs.joinpopp.com/reference/create-workflow.md
  - https://docs.joinpopp.com/reference/deactivate-user-by-email.md
  - https://docs.joinpopp.com/reference/deactivate-user.md
  - https://docs.joinpopp.com/reference/delete-candidate-by-email.md
  - https://docs.joinpopp.com/reference/delete-candidate-by-external-id.md
  - https://docs.joinpopp.com/reference/delete-candidate-by-phone-number.md
  - https://docs.joinpopp.com/reference/delete-candidate-list-by-external-id.md
  - https://docs.joinpopp.com/reference/delete-candidate-list.md
  - https://docs.joinpopp.com/reference/delete-candidate-note.md
  - https://docs.joinpopp.com/reference/delete-candidate.md
  - https://docs.joinpopp.com/reference/delete-custom-field.md
  - https://docs.joinpopp.com/reference/delete-document-credential.md
  - https://docs.joinpopp.com/reference/delete-document-type.md
  - https://docs.joinpopp.com/reference/delete-meeting-template.md
  - https://docs.joinpopp.com/reference/delete-tag.md
  - https://docs.joinpopp.com/reference/delete-user-by-email.md
  - https://docs.joinpopp.com/reference/delete-user.md
  - https://docs.joinpopp.com/reference/delete-webhook.md
  - https://docs.joinpopp.com/reference/download-media.md
  - https://docs.joinpopp.com/reference/generate-preferred-answer-requirements.md
  - https://docs.joinpopp.com/reference/generate-questions.md
  - https://docs.joinpopp.com/reference/generate-requirements.md
  - https://docs.joinpopp.com/reference/get-analysis.md
  - https://docs.joinpopp.com/reference/get-booking.md
  - https://docs.joinpopp.com/reference/get-campaign.md
  - https://docs.joinpopp.com/reference/get-candidate-by-external-id.md
  - https://docs.joinpopp.com/reference/get-candidate-list-by-external-id.md
  - https://docs.joinpopp.com/reference/get-candidate-list.md
  - https://docs.joinpopp.com/reference/get-candidate-profile-by-external-id.md
  - https://docs.joinpopp.com/reference/get-candidate.md
  - https://docs.joinpopp.com/reference/get-conversation.md
  - https://docs.joinpopp.com/reference/get-custom-field.md
  - https://docs.joinpopp.com/reference/get-document-media.md
  - https://docs.joinpopp.com/reference/get-document-type.md
  - https://docs.joinpopp.com/reference/get-document.md
  - https://docs.joinpopp.com/reference/get-meeting-template.md
  - https://docs.joinpopp.com/reference/get-organization-config-by-external-id.md
  - https://docs.joinpopp.com/reference/get-organization-config.md
  - https://docs.joinpopp.com/reference/get-organization-details.md
  - https://docs.joinpopp.com/reference/get-user-by-email.md
  - https://docs.joinpopp.com/reference/get-user-calendar.md
  - https://docs.joinpopp.com/reference/get-user.md
  - https://docs.joinpopp.com/reference/get-workflow-analysis-application.md
  - https://docs.joinpopp.com/reference/get-workflow-analysis.md
  - https://docs.joinpopp.com/reference/get-workflow-by-external-id.md
  - https://docs.joinpopp.com/reference/get-workflow-run.md
  - https://docs.joinpopp.com/reference/get-workflow.md
  - https://docs.joinpopp.com/reference/hand-conversation-to-agent.md
  - https://docs.joinpopp.com/reference/invite-calendar-contact.md
  - https://docs.joinpopp.com/reference/list-agents.md
  - https://docs.joinpopp.com/reference/list-analyses.md
  - https://docs.joinpopp.com/reference/list-ats-job-stages.md
  - https://docs.joinpopp.com/reference/list-ats-jobs.md
  - https://docs.joinpopp.com/reference/list-ats-rejection-reasons.md
  - https://docs.joinpopp.com/reference/list-bookings.md
  - https://docs.joinpopp.com/reference/list-campaigns.md
  - https://docs.joinpopp.com/reference/list-candidate-lists.md
  - https://docs.joinpopp.com/reference/list-candidate-notes-by-external-id.md
  - https://docs.joinpopp.com/reference/list-candidate-notes.md
  - https://docs.joinpopp.com/reference/list-conversation-documents.md
  - https://docs.joinpopp.com/reference/list-conversation-messages.md
  - https://docs.joinpopp.com/reference/list-conversations.md
  - https://docs.joinpopp.com/reference/list-custom-fields.md
  - https://docs.joinpopp.com/reference/list-document-credentials.md
  - https://docs.joinpopp.com/reference/list-document-types.md
  - https://docs.joinpopp.com/reference/list-meeting-templates.md
  - https://docs.joinpopp.com/reference/list-organization-users.md
  - https://docs.joinpopp.com/reference/list-organizations.md
  - https://docs.joinpopp.com/reference/list-tags.md
  - https://docs.joinpopp.com/reference/list-templates.md
  - https://docs.joinpopp.com/reference/list-user-calendars.md
  - https://docs.joinpopp.com/reference/list-users.md
  - https://docs.joinpopp.com/reference/list-webhook-events.md
  - https://docs.joinpopp.com/reference/list-webhooks.md
  - https://docs.joinpopp.com/reference/list-workflow-analysis-application-history.md
  - https://docs.joinpopp.com/reference/list-workflow-analysis-applications.md
  - https://docs.joinpopp.com/reference/list-workflow-runs.md
  - https://docs.joinpopp.com/reference/list-workflows.md
  - https://docs.joinpopp.com/reference/parse-availability.md
  - https://docs.joinpopp.com/reference/pause-workflow-by-external-id.md
  - https://docs.joinpopp.com/reference/pause-workflow.md
  - https://docs.joinpopp.com/reference/process-document.md
  - https://docs.joinpopp.com/reference/publish-workflow-by-external-id.md
  - https://docs.joinpopp.com/reference/publish-workflow.md
  - https://docs.joinpopp.com/reference/reactivate-user-by-email.md
  - https://docs.joinpopp.com/reference/reactivate-user.md
  - https://docs.joinpopp.com/reference/remove-candidate-document-by-external-id.md
  - https://docs.joinpopp.com/reference/remove-candidate-document.md
  - https://docs.joinpopp.com/reference/remove-candidates-from-list-by-external-id.md
  - https://docs.joinpopp.com/reference/remove-candidates-from-list.md
  - https://docs.joinpopp.com/reference/reparse-candidate-cv-by-external-id.md
  - https://docs.joinpopp.com/reference/reparse-candidate-cv.md
  - https://docs.joinpopp.com/reference/resend-booking-url.md
  - https://docs.joinpopp.com/reference/resume-workflow-by-external-id.md
  - https://docs.joinpopp.com/reference/resume-workflow.md
  - https://docs.joinpopp.com/reference/send-conversation-message.md
  - https://docs.joinpopp.com/reference/set-user-calendar-availability.md
  - https://docs.joinpopp.com/reference/sign-out-user-by-email.md
  - https://docs.joinpopp.com/reference/sign-out-user.md
  - https://docs.joinpopp.com/reference/start-workflow-runs-by-external-id.md


# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/popp/refs/heads/main/openapi/popp-ats-api-openapi.yml