Certn Applications API

Invite or instantly screen applicants and list applications (HR and PM surfaces).

OpenAPI Specification

certn-applications-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Certn Applications API
  description: 'Certn is a background check and identity verification platform. This API lets partner platforms (HR, property management, gig/marketplace) order background screening for applicants, retrieve consolidated reports, manage the checks and packages that make up a screen, and receive status updates via signed webhooks. Certn screens candidates across 200+ countries and territories.


    Authentication uses OAuth 2.0 client credentials: a Client ID and Client Secret (created in the Partner tab under API Keys) are exchanged for a Bearer access token that is sent on every request.


    Base URL is https://api.certn.co for production and https://demo-api.certn.co for the demo/testing environment.


    IMPORTANT - endpoint provenance: The original api.certn.co v1 REST endpoints (under /api/v1/hr, /api/v1/pm, /api/v1/users, /api/v2/teams) are documented and CONFIRMED against the public reference, but Certn deprecated them on 2026-04-13 with discontinuation on 2026-08-05 in favor of the newer CertnCentric APIs. The CertnCentric documentation portal (centric-api-docs.certn.co) is a client-rendered SPA whose exact endpoint paths could not be scraped; its resource groupings (cases, checks, reports, packages, webhooks) are MODELED here honestly and marked with x-endpoint-status. Confirm all shapes against the live docs before use.'
  version: '1.0'
  contact:
    name: Certn
    url: https://certn.co
  license:
    name: Proprietary
    url: https://certn.co/terms/
servers:
- url: https://api.certn.co
  description: Production
- url: https://demo-api.certn.co
  description: Demo / testing
security:
- bearerAuth: []
tags:
- name: Applications
  description: Invite or instantly screen applicants and list applications (HR and PM surfaces).
paths:
  /api/v1/hr/applications/invite/:
    post:
      operationId: inviteHrApplicant
      tags:
      - Applications
      summary: Invite an HR applicant to complete a screen
      description: Invite an applicant to complete a screen via email. The applicant fills in their own information and consent, then the requested checks run. (Deprecated in the v1 API; use the CertnCentric equivalent.)
      deprecated: true
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationInvite'
      responses:
        '201':
          description: Application created and invitation sent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/hr/applications/quick/:
    post:
      operationId: quickScreenHrApplicant
      tags:
      - Applications
      summary: Screen an HR applicant instantly
      description: Screen an applicant using only the information supplied in the body of the request, without sending an invitation email. (Deprecated in the v1 API.)
      deprecated: true
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuickScreen'
      responses:
        '201':
          description: Application created and screening started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/hr/applicants/:
    get:
      operationId: listHrApplicants
      tags:
      - Applications
      summary: List HR applications
      description: Retrieve a paginated list of all applications, in chronological order, with filtering by team or owner.
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Team'
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: A paginated list of applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/pm/applications/invite/:
    post:
      operationId: invitePmApplicant
      tags:
      - Applications
      summary: Invite a property-management applicant to complete a screen
      description: Invite one or more applicants to complete a property-management screening form; supports batch invitations. (Deprecated in the v1 API.)
      deprecated: true
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationInvite'
      responses:
        '201':
          description: Application(s) created and invitation(s) sent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/pm/applications/quick/:
    post:
      operationId: quickScreenPmApplicant
      tags:
      - Applications
      summary: Screen a property-management applicant instantly
      description: Screen an applicant using only the information in the body of the request. (Deprecated in the v1 API.)
      deprecated: true
      x-endpoint-status: confirmed
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuickScreen'
      responses:
        '201':
          description: Application created and screening started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/pm/applicants/:
    get:
      operationId: listPmApplicants
      tags:
      - Applications
      summary: List property-management applications
      description: View details of all applications, paginated in chronological order.
      x-endpoint-status: confirmed
      parameters:
      - $ref: '#/components/parameters/Team'
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: A paginated list of applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationList'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Applicant:
      type: object
      properties:
        id:
          type: string
          format: uuid
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
          format: email
        date_of_birth:
          type: string
          format: date
    Check:
      type: object
      description: An individual check within an application, or an available check type.
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          description: Check type - e.g. CRIMINAL_RECORD_CHECK, ENHANCED_CRIMINAL_RECORD_CHECK, INTERNATIONAL_CRIMINAL_RECORD_CHECK, IDENTITY_VERIFICATION, CREDIT_CHECK, PUBLIC_RECORDS, EMPLOYMENT_VERIFICATION, EDUCATION_VERIFICATION, CREDENTIAL_VERIFICATION, REFERENCE_CHECK, DRIVERS_ABSTRACT, WORKING_WITH_CHILDREN, SOCIAL_MEDIA.
        status:
          type: string
          description: Check status (e.g. PENDING, ANALYZING, COMPLETE, CANCELLED).
        result:
          type: string
          description: Adjudicated result (e.g. CLEAR, CONSIDER, IN_DISPUTE).
        country:
          type: string
          description: ISO country code the check was run in.
    ApplicationList:
      type: object
      properties:
        count:
          type: integer
        next:
          type: string
          nullable: true
        previous:
          type: string
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/Application'
    ApplicationInvite:
      type: object
      description: Request to invite an applicant to complete a screen.
      required:
      - email
      properties:
        email:
          type: string
          format: email
          description: Applicant email to send the invitation to.
        first_name:
          type: string
        last_name:
          type: string
        package:
          type: string
          description: ID of the screening package to apply.
        team:
          type: string
          description: Team ID that owns the application.
        request_criminal_record_check:
          type: boolean
        request_identity_verification:
          type: boolean
        request_credit_check:
          type: boolean
        request_employment_verification:
          type: boolean
        request_education_verification:
          type: boolean
        request_reference_check:
          type: boolean
    Report:
      type: object
      description: Consolidated report across all checks in an application.
      properties:
        id:
          type: string
          format: uuid
        applicant_id:
          type: string
          format: uuid
        overall_result:
          type: string
          description: Overall adjudicated outcome / risk assessment.
        risk_assessment:
          type: string
        checks:
          type: array
          items:
            $ref: '#/components/schemas/Check'
        report_url:
          type: string
          format: uri
          description: Link to the rendered PDF/HTML report.
        completed:
          type: string
          format: date-time
    QuickScreen:
      type: object
      description: Instant screen using information supplied directly in the request.
      required:
      - email
      properties:
        email:
          type: string
          format: email
        first_name:
          type: string
        last_name:
          type: string
        date_of_birth:
          type: string
          format: date
        package:
          type: string
        checks:
          type: array
          items:
            type: string
          description: Check type identifiers to run.
    Error:
      type: object
      properties:
        detail:
          type: string
        code:
          type: string
    Application:
      type: object
      description: A screening application for an applicant.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          description: Overall application status (e.g. PENDING, ANALYZING, COMPLETE).
        applicant:
          $ref: '#/components/schemas/Applicant'
        checks:
          type: array
          items:
            $ref: '#/components/schemas/Check'
        report:
          $ref: '#/components/schemas/Report'
        created:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
  parameters:
    Owner:
      name: owner
      in: query
      required: false
      description: Filter results by owner (user) ID.
      schema:
        type: string
    Limit:
      name: limit
      in: query
      required: false
      description: Maximum number of records to return.
      schema:
        type: integer
        minimum: 1
        maximum: 100
    Offset:
      name: offset
      in: query
      required: false
      description: Number of records to skip for pagination.
      schema:
        type: integer
        minimum: 0
    Team:
      name: team
      in: query
      required: false
      description: Filter results by team ID.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Missing or invalid Bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth 2.0 client credentials. Exchange your Client ID and Client Secret for an access token, then send it as "Authorization: Bearer {token}".'
Where this information came from

This is an independent, third-party profile of Certn Applications API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.