Pinpoint Applicants API

Candidate (applicant) records.

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/pinpoint-applicants-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 email required.

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

OpenAPI Specification

pinpoint-applicants-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Pinpoint Applicants API
  description: REST API for the Pinpoint applicant tracking system (ATS) and recruitment platform. The API adheres to the JSON:API specification and is served on a per-tenant basis. All requests must be made over HTTPS to https://{subdomain}.pinpointhq.com/api/v1, where {subdomain} matches the subdomain used to log in to Pinpoint. Authentication uses an X-API-KEY header generated from Settings > API & Webhooks. Requests and responses use the application/vnd.api+json media type. Not to be confused with AWS Pinpoint (customer engagement messaging) or Pinpoint (signal / data intelligence).
  termsOfService: https://www.pinpointhq.com/legal/
  contact:
    name: Pinpoint Support
    url: https://developers.pinpointhq.com/docs/introduction
  version: '1.0'
servers:
- url: https://{subdomain}.pinpointhq.com/api/v1
  description: Per-tenant Pinpoint API base URL.
  variables:
    subdomain:
      default: acme
      description: The subdomain used to log in to your Pinpoint account.
security:
- ApiKeyAuth: []
tags:
- name: Applicants
  description: Candidate (applicant) records.
paths:
  /candidates:
    get:
      operationId: listCandidates
      tags:
      - Applicants
      summary: List candidates (applicants)
      parameters:
      - $ref: '#/components/parameters/PageNumber'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Include'
      responses:
        '200':
          description: A list of candidates.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CandidateCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /candidates/{id}:
    parameters:
    - $ref: '#/components/parameters/ResourceId'
    get:
      operationId: getCandidate
      tags:
      - Applicants
      summary: Fetch candidate (applicant)
      description: Fetch a candidate. Uploaded documents can be read through the attachments relationship using the extra_fields parameter.
      parameters:
      - $ref: '#/components/parameters/Include'
      - name: extra_fields[candidates]
        in: query
        description: Request expensive fields such as attachments.
        schema:
          type: string
      responses:
        '200':
          description: The requested candidate.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CandidateSingle'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateCandidate
      tags:
      - Applicants
      summary: Update candidate (applicant)
      description: Update a candidate, including uploading documents via a documents_base64 array attribute.
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/CandidateSingleWrite'
      responses:
        '200':
          description: The updated candidate.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CandidateSingle'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  schemas:
    CandidateSingleWrite:
      type: object
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              example: candidates
            id:
              type: string
            attributes:
              $ref: '#/components/schemas/CandidateAttributes'
    PaginationMeta:
      type: object
      properties:
        total_count:
          type: integer
        page_count:
          type: integer
    CandidateSingle:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Candidate'
    Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: string
              title:
                type: string
              detail:
                type: string
              source:
                type: object
                properties:
                  pointer:
                    type: string
    CandidateCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Candidate'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    CandidateAttributes:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone:
          type: string
        linkedin_url:
          type: string
        documents_base64:
          type: array
          description: Base64-encoded documents to upload on update.
          items:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Candidate:
      type: object
      properties:
        type:
          type: string
          example: candidates
        id:
          type: string
        attributes:
          $ref: '#/components/schemas/CandidateAttributes'
        relationships:
          type: object
          additionalProperties: true
  parameters:
    PageNumber:
      name: page[number]
      in: query
      description: The page of results to return. Defaults to 1.
      schema:
        type: integer
        default: 1
    Sort:
      name: sort
      in: query
      description: Comma-separated sort fields (e.g. created_at, -updated_at). Prefix with a hyphen for descending order.
      schema:
        type: string
    ResourceId:
      name: id
      in: path
      required: true
      description: The resource identifier.
      schema:
        type: string
    Include:
      name: include
      in: query
      description: Comma-separated list of relationship paths to side-load, with dot notation for nested relationships (JSON:API includes).
      schema:
        type: string
    PageSize:
      name: page[size]
      in: query
      description: Number of results per page (0-1000). Defaults to 100.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
        default: 100
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/Errors'
    UnprocessableEntity:
      description: Validation failed for the submitted resource.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/Errors'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key generated in Settings > API & Webhooks > API Keys. Sent with every request as the X-API-KEY header. Missing or invalid keys return HTTP 401.