openapi: 3.0.3 info: title: Checkr Account Invitations API description: The Checkr API is a RESTful interface for running compliant employment background checks. Employers, staffing firms, and platform partners create candidates, send invitations, order packages, and retrieve reports composed of individual screenings - SSN trace, county/state/national/federal criminal searches, sex offender registry, motor vehicle records, and education / employment verifications. The API also covers adverse action workflows, subscriptions and continuous checks, node/hierarchy and geo account structure, documents, Form I-9, and webhooks for event-driven report status updates. Authentication is HTTP Basic auth with your secret API key as the username and an empty password; Checkr Partner integrations use OAuth. All responses are JSON. This document models the widely used, publicly documented endpoints; it is not exhaustive of every screening type Checkr offers. version: '1.0' contact: name: Checkr url: https://checkr.com termsOfService: https://checkr.com/terms-of-service servers: - url: https://api.checkr.com/v1 description: Production - url: https://api.checkr-staging.com/v1 description: Staging security: - basicAuth: [] tags: - name: Invitations description: Hosted invitations for candidates to submit their own information. paths: /invitations: get: operationId: listInvitations tags: - Invitations summary: List invitations parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - name: status in: query schema: type: string enum: - pending - completed - expired responses: '200': description: A paginated list of invitations. content: application/json: schema: $ref: '#/components/schemas/InvitationList' post: operationId: createInvitation tags: - Invitations summary: Create an invitation requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InvitationCreate' responses: '201': description: The created invitation. content: application/json: schema: $ref: '#/components/schemas/Invitation' /invitations/{id}: parameters: - $ref: '#/components/parameters/ResourceId' get: operationId: getInvitation tags: - Invitations summary: Retrieve an invitation responses: '200': description: The invitation. content: application/json: schema: $ref: '#/components/schemas/Invitation' delete: operationId: cancelInvitation tags: - Invitations summary: Cancel an invitation responses: '200': description: The cancelled invitation. content: application/json: schema: $ref: '#/components/schemas/Invitation' components: parameters: Page: name: page in: query description: The page of results to return. schema: type: integer default: 1 PerPage: name: per_page in: query description: The number of results per page (default 25). schema: type: integer default: 25 maximum: 100 ResourceId: name: id in: path required: true description: The unique identifier of the resource. schema: type: string schemas: InvitationCreate: type: object required: - candidate_id - package properties: candidate_id: type: string package: type: string work_locations: type: array items: type: object properties: country: type: string state: type: string city: type: string node: type: string Invitation: type: object properties: id: type: string object: type: string example: invitation status: type: string enum: - pending - completed - expired candidate_id: type: string package: type: string invitation_url: type: string expires_at: type: string format: date-time created_at: type: string format: date-time InvitationList: type: object properties: data: type: array items: $ref: '#/components/schemas/Invitation' object: type: string example: list count: type: integer securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic auth with your secret API key as the username and an empty password. Checkr Partner integrations authenticate on behalf of customer accounts using OAuth instead.