Check Employees API
The Employees API from Check — 5 operation(s) for employees.
The Employees API from Check — 5 operation(s) for employees.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/check-hq:check-hq-employees-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: check-api Employees API
version: '2025-01-01'
servers:
- url: https://sandbox.checkhq.com
security:
- sec0: []
tags:
- name: Employees
paths:
/employees:
get:
summary: List employees
description: Returns a list of all employees. Employees will be returned from the list endpoint in alphabetical order, sorted by last name, first name.
operationId: list-employees
parameters:
- name: company
in: query
description: Return employees for this company ID.
schema:
type: string
- name: limit
in: query
description: Number of employees returned per page. The maximum value is 100.
schema:
type: integer
format: int32
default: 25
- name: workplace
in: query
description: Return employees who work at these workplaces (can be comma-separated list of workplace IDs)
schema:
type: string
- name: active
in: query
description: Include employees only with a certain active status
schema:
type: boolean
- name: id
in: query
description: Filter the list to the specified IDs. For more details, check out the [Bulk Get Requests guide](https://docs.checkhq.com/docs/bulk-resource-get-requests).
schema:
type: array
items:
type: string
- $ref: '#/components/parameters/MetadataListFilter'
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "[\n\t{\n \"id\": \"emp_zGGp6wYcxAeu1Ng8IA7v\",\n \"first_name\": \"Tony\",\n \"last_name\": \"Stark\",\n \"middle_name\": null,\n \"email\": \"tony@starkindustries.com\",\n \"dob\": \"1970-05-29\",\n \"bank_accounts\": [],\n \"ssn_last_four\": null,\n \"payment_method_preference\": null,\n \"active\": true,\n \"onboard\": {\n \"status\": \"blocking\",\n \"blocking_steps\": [\n \"ssn\"\n ],\n \"remaining_steps\": [\n \"ssn\",\n \"payment_method\"\n \"withholdings\",\n ],\n \"ssn\": [\n \"ssn_submitted\",\n ],\n \"payment_method\": [\n \"payment_method_preference_set\",\n \"bank_account_exists\",\n \"bank_account_verified\",\n ],\n \"withholdings\": [\n {\n \"id\": \"jur_kSO0VneVfdx5TDDQ9Xnp\",\n \"name\": \"Federal\", \n },\n {\n \"id\": \"jur_CUlTApePRnDFn9bPVCQE\",\n \"name\": \"New York\", \n }, \n ],\n },\n \"workplaces\": [\n \"wrk_i8nfu8234r8dkjhzlsdv\"\n ],\n \"company\": \"com_sx3svU6K8c5ZkSFlOh5p\",\n \"start_date\": \"2019-03-01\",\n \"default_net_pay_split\": \"nps_lk218jk9082mjkjljT1c\",\n \"residence\": {\n \"line1\": \"630 Bedford Road\",\n \"line2\": null,\n \"city\": \"Tarrytown\",\n \"state\": \"NY\",\n \"postal_code\": \"10591\",\n \"country\": \"US\"\n },\n \"w2_electronic_consent_provided\": false,\n \"metadata\": {}\n\t}\n]"
deprecated: false
tags:
- Employees
/employees/{employee}/components/tax_setup:
post:
summary: Employee Tax Setup Component
description: This Component allows an employer admin to provide information about a specific employee's tax profile
operationId: employee-tax-setup
parameters:
- name: employee
in: path
description: ID of the employee for which a component link will be generated
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{"url":"{component_url}"}'
schema:
type: object
properties:
url:
type: string
example: '{component_url}'
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Employees
/employees/{employee}/components/withholdings_setup:
post:
summary: Employee Withholdings Setup
description: 'This Component allows an employee to complete and sign state and federal withholding forms (i.e. W-4).
Learn how to embed Components in our guide.'
operationId: employee-withholdings-setup
parameters:
- name: employee
in: path
description: ID of the employee for which a component link will be generated
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{"url":"{component_url}"}'
schema:
type: object
properties:
url:
type: string
example: '{component_url}'
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Employees
/employees/{employee}/paystubs:
get:
summary: List employee paystubs
description: Returns a list of paystubs for the specified employee.
operationId: get-an-employees-paystubs
parameters:
- name: employee
in: path
description: Return paystubs for this employee ID
schema:
type: string
required: true
- name: payroll
in: query
description: Return the paystub for this payroll ID.
schema:
type: string
- name: limit
in: query
description: Number of paystubs returned per page. The maximum value is 100.
schema:
type: integer
format: int32
- name: status
in: query
description: Filters to only show paystubs for payrolls with the specified status. If multiple `status` params are provided, paystubs with any of the statuses will be returned. Accepted values are `pending`, `processing`, `failed`, or `paid`.
schema:
type: string
- name: start
in: query
description: Return paystubs from payrolls with a payday on or after this date (YYYY-MM-DD)
schema:
type: string
format: date
- name: end
in: query
description: Return paystubs from payrolls with a payday on or before this date (YYYY-MM-DD)
schema:
type: string
format: date
- in: query
name: type
schema:
type: string
description: Returns paystubs from payrolls with a specific type. Accepted values are `regular` (the default), `balancing`, and `amendment`.
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"next\": null,\n \"previous\": null,\n \"results\": [\n {\n \"payroll\": \"pay_xUNanwDkP1o8TE6qC77L\",\n \"payday\": \"2021-04-26\",\n \"period_start\": \"2021-03-20\",\n \"period_end\": \"2021-04-02\",\n \"company\": {\n \"trade_name\": null,\n \"legal_name\": \"Stark Industries\",\n \"address\": {\n \"line1\": \"4954 Berkeley Run Crossing\",\n \"line2\": null,\n \"city\": \"Norcross\",\n \"state\": \"GA\",\n \"postal_code\": \"30092\",\n \"country\": \"US\"\n },\n \"phone\": \"2067138013\"\n },\n \"void_of\": null,\n \"voided_by\": null,\n \"employee\": {\n \"first_name\": \"Tony\",\n \"middle_name\": null,\n \"last_name\": \"Stark\",\n \"residence\": {\n \"line1\": \"4954 Berkeley Run Crossing\",\n \"line2\": null,\n \"city\": \"Norcross\",\n \"state\": \"GA\",\n \"postal_code\": \"30092\",\n \"country\": \"US\"\n },\n \"ssn_last_four\": null\n },\n \"earnings\": [\n {\n \"type\": \"hourly\",\n \"code\": null,\n \"earning_code\": null,\n \"amount\": \"300.00\",\n \"amount_ytd\": \"300.00\",\n \"hours\": 40.0,\n \"hours_ytd\": 40.0,\n \"name\": \"Hourly (Regular)\",\n \"current_earnings\": [\n {\n \"description\": \"Work on day 1\",\n \"amount\": \"300.00\",\n \"hours\": 40.0,\n \"workplace\": \"wrk_mhHjtmJh6TBSuhTXpMcp\",\n \"rate\": \"7.500\"\n }\n ]\n },\n {\n \"type\": \"bonus\",\n \"code\": null,\n \"earning_code\": null,\n \"amount\": \"100.00\",\n \"amount_ytd\": \"100.00\",\n \"hours\": null,\n \"hours_ytd\": null,\n \"name\": \"Bonus\",\n \"current_earnings\": [\n {\n \"description\": \"Work on day 2\",\n \"amount\": \"100.00\",\n \"hours\": null,\n \"workplace\": \"wrk_mhHjtmJh6TBSuhTXpMcp\",\n \"rate\": null\n }\n ]\n }\n ],\n \"reimbursements\": [\n \n ],\n \"employee_taxes\": [\n {\n \"amount\": \"24.80\",\n \"amount_ytd\": \"24.80\",\n \"description\": \"FICA\"\n },\n {\n \"amount\": \"27.87\",\n \"amount_ytd\": \"27.87\",\n \"description\": \"Federal Income Tax\"\n },\n {\n \"amount\": \"5.80\",\n \"amount_ytd\": \"5.80\",\n \"description\": \"Medicare\"\n },\n {\n \"amount\": \"10.85\",\n \"amount_ytd\": \"10.85\",\n \"description\": \"Georgia State Tax\"\n }\n ],\n \"company_taxes\": [\n {\n \"amount\": \"24.80\",\n \"amount_ytd\": \"24.80\",\n \"description\": \"Employer FICA Tax\"\n },\n {\n \"amount\": \"2.40\",\n \"amount_ytd\": \"2.40\",\n \"description\": \"Federal Unemployment Tax\"\n },\n {\n \"amount\": \"5.80\",\n \"amount_ytd\": \"5.80\",\n \"description\": \"Employer Medicare Tax\"\n },\n {\n \"amount\": \"10.80\",\n \"amount_ytd\": \"10.80\",\n \"description\": \"Georgia State Unemployment Tax\"\n },\n {\n \"amount\": \"0.24\",\n \"amount_ytd\": \"0.24\",\n \"description\": \"Georgia Administrative Assessment Tax\"\n }\n ],\n \"employee_benefit_contributions\": [\n \n ],\n \"company_benefit_contributions\": [\n \n ],\n \"post_tax_deductions\": [\n \n ],\n \"summary\": {\n \"earnings\": \"400.00\",\n \"earnings_ytd\": \"400.00\",\n \"reimbursements\": \"0.00\",\n \"reimbursements_ytd\": \"0.00\",\n \"employee_taxes\": \"69.32\",\n \"employee_taxes_ytd\": \"69.32\",\n \"company_taxes\": \"44.04\",\n \"company_taxes_ytd\": \"44.04\",\n \"employee_benefit_contributions\": \"0.00\",\n \"employee_benefit_contributions_ytd\": \"0.00\",\n \"company_benefit_contributions\": \"0.00\",\n \"company_benefit_contributions_ytd\": \"0.00\",\n \"post_tax_deductions\": \"0.00\",\n \"post_tax_deductions_ytd\": \"0.00\",\n \"net_pay\": \"330.68\",\n \"net_pay_ytd\": \"330.68\"\n },\n \"time_off_balances\": {\n \"pto_balance_hours\": null,\n \"sick_balance_hours\": null,\n \"state_covid_sick_balance_hours\": null\n }\n }\n ]\n}"
schema:
type: object
properties:
next: {}
previous: {}
results:
type: array
items:
type: object
properties:
payroll:
type: string
example: pay_xUNanwDkP1o8TE6qC77L
payday:
type: string
example: '2021-04-26'
period_start:
type: string
example: '2021-03-20'
period_end:
type: string
example: '2021-04-02'
company:
type: object
properties:
trade_name: {}
legal_name:
type: string
example: Stark Industries
address:
type: object
properties:
line1:
type: string
example: 4954 Berkeley Run Crossing
line2: {}
city:
type: string
example: Norcross
state:
type: string
example: GA
postal_code:
type: string
example: '30092'
country:
type: string
example: US
phone:
type: string
example: '2067138013'
void_of: {}
voided_by: {}
employee:
type: object
properties:
first_name:
type: string
example: Tony
middle_name: {}
last_name:
type: string
example: Stark
residence:
type: object
properties:
line1:
type: string
example: 4954 Berkeley Run Crossing
line2: {}
city:
type: string
example: Norcross
state:
type: string
example: GA
postal_code:
type: string
example: '30092'
country:
type: string
example: US
ssn_last_four: {}
earnings:
type: array
items:
type: object
properties:
type:
type: string
example: hourly
code: {}
earning_code: {}
amount:
type: string
example: '300.00'
amount_ytd:
type: string
example: '300.00'
hours:
type: integer
example: 40
default: 0
hours_ytd:
type: integer
example: 40
default: 0
name:
type: string
example: Hourly (Regular)
current_earnings:
type: array
items:
type: object
properties:
description:
type: string
example: Work on day 1
amount:
type: string
example: '300.00'
hours:
type: integer
example: 40
default: 0
workplace:
type: string
example: wrk_mhHjtmJh6TBSuhTXpMcp
rate:
type: string
example: '7.500'
reimbursements:
type: array
employee_taxes:
type: array
items:
type: object
properties:
amount:
type: string
example: '24.80'
amount_ytd:
type: string
example: '24.80'
description:
type: string
example: FICA
company_taxes:
type: array
items:
type: object
properties:
amount:
type: string
example: '24.80'
amount_ytd:
type: string
example: '24.80'
description:
type: string
example: Employer FICA Tax
employee_benefit_contributions:
type: array
company_benefit_contributions:
type: array
post_tax_deductions:
type: array
summary:
type: object
properties:
earnings:
type: string
example: '400.00'
earnings_ytd:
type: string
example: '400.00'
reimbursements:
type: string
example: '0.00'
reimbursements_ytd:
type: string
example: '0.00'
employee_taxes:
type: string
example: '69.32'
employee_taxes_ytd:
type: string
example: '69.32'
company_taxes:
type: string
example: '44.04'
company_taxes_ytd:
type: string
example: '44.04'
employee_benefit_contributions:
type: string
example: '0.00'
employee_benefit_contributions_ytd:
type: string
example: '0.00'
company_benefit_contributions:
type: string
example: '0.00'
company_benefit_contributions_ytd:
type: string
example: '0.00'
post_tax_deductions:
type: string
example: '0.00'
post_tax_deductions_ytd:
type: string
example: '0.00'
net_pay:
type: string
example: '330.68'
net_pay_ytd:
type: string
example: '330.68'
time_off_balances:
type: object
properties:
pto_balance_hours: {}
sick_balance_hours: {}
state_covid_sick_balance_hours: {}
deprecated: false
tags:
- Employees
/employees/{employee}/reveal:
get:
summary: Reveal employee SSN
description: Reveal unmasked SSN. Reach out to Check to get support for this feature.
operationId: reveal-employee-ssn
parameters:
- name: employee
in: path
description: The ID of the employee whose SSN you want to reveal
schema:
type: string
required: true
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"id\": \"emp_1ATPRmtf6XBdR6jDa9M5\",\n \"first_name\": \"Bob\",\n \"last_name\": \"Jones\",\n \"middle_name\": null,\n \"email\": null,\n \"dob\": \"1970-05-29\",\n \"bank_accounts\": [],\n \"ssn\": \"123456789\", // new SSN field in this response only\n \"ssn_last_four\": \"6789\",\n \"ssn_validation_status\": \"invalid\",\n \"onboard\": {\n \"status\": \"needs_attention\",\n \"blocking_steps\": [],\n \"remaining_steps\": [\n \"withholdings\",\n \"payment_method\"\n ],\n \"payment_method\": [\n \"payment_method_preference_set\",\n \"bank_account_exists\",\n \"bank_account_verified\"\n ],\n \"withholdings\": [\n {\n \"id\": \"jur_KVWAwwuRWhlJoKGuO8sg\",\n \"name\": \"California\",\n \"status\": \"needs_attention\"\n },\n {\n \"id\": \"jur_BnW2zftTxDX3xB1VEL1e\",\n \"name\": \"Federal\",\n \"status\": \"needs_attention\"\n }\n ]\n },\n \"payment_method_preference\": null,\n \"company\": \"com_dsE2Y4wCMg77HGlJB0Mk\",\n \"workplaces\": [\n \"wrk_164u8lrvjkdjdssiidd9\"\n ],\n \"primary_workplace\": \"wrk_164u8lrvjkdjdssiidd9\",\n \"start_date\": \"2019-03-01\",\n \"termination_date\": null,\n \"active\": true,\n \"residence\": {\n \"line1\": \"630 Bedford Road\",\n \"line2\": null,\n \"city\": \"Tarrytown\",\n \"state\": \"NY\",\n \"postal_code\": \"10591\",\n \"country\": \"US\"\n },\n \"w2_electronic_consent_provided\": false,\n \"metadata\": {}\n}"
schema:
type: object
properties:
id:
type: string
example: emp_1ATPRmtf6XBdR6jDa9M5
first_name:
type: string
example: Bob
last_name:
type: string
example: Jones
middle_name: {}
email: {}
dob:
type: string
example: '1970-05-29'
bank_accounts:
type: array
ssn:
type: string
example: '123456789'
ssn_last_four:
type: string
example: '6789'
ssn_validation_status:
type: string
example: invalid
onboard:
type: object
properties:
status:
type: string
example: needs_attention
blocking_steps:
type: array
remaining_steps:
type: array
items:
type: string
example: withholdings
payment_method:
type: array
items:
type: string
example: payment_method_preference_set
withholdings:
type: array
items:
type: object
properties:
id:
type: string
example: jur_KVWAwwuRWhlJoKGuO8sg
name:
type: string
example: California
status:
type: string
example: needs_attention
payment_method_preference: {}
company:
type: string
example: com_dsE2Y4wCMg77HGlJB0Mk
workplaces:
type: array
items:
type: string
example: wrk_164u8lrvjkdjdssiidd9
primary_workplace:
type: string
example: wrk_164u8lrvjkdjdssiidd9
start_date:
type: string
example: '2019-03-01'
termination_date: {}
active:
type: boolean
example: true
default: true
residence:
type: object
properties:
line1:
type: string
example: 630 Bedford Road
line2: {}
city:
type: string
example: Tarrytown
state:
type: string
example: NY
postal_code:
type: string
example: '10591'
country:
type: string
example: US
w2_electronic_consent_provided:
type: boolean
example: false
default: true
metadata:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
tags:
- Employees
components:
parameters:
MetadataListFilter:
name: metadata
in: query
description: Return only results whose metadata contains every given key and value, for example `metadata[external_id]=123`. Pass keys using bracket notation. Multiple keys are combined with AND. Brackets must be URL-encoded in request URLs (`metadata%5Bkey%5D=value`).
schema:
type: object
additionalProperties:
type: string
style: deepObject
explode: true
securitySchemes:
sec0:
type: apiKey
in: header
name: Authorization
x-bearer-format: bearer
x-default: YOUR_API_KEY
x-readme-fauxas: true
x-provenance:
method: searched
source: https://docs.checkhq.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.checkhq.com/reference/add-filing-blockers.md
- https://docs.checkhq.com/reference/approve-a-correction.md
- https://docs.checkhq.com/reference/approve-an-external-payroll.md
- https://docs.checkhq.com/reference/approve-payroll.md
- https://docs.checkhq.com/reference/bulk-get-employee-tax-parameter-settings.md
- https://docs.checkhq.com/reference/bulk-get-employee-tax-params.md
- https://docs.checkhq.com/reference/bulk-update-employee-tax-parameters.md
- https://docs.checkhq.com/reference/cancel-a-payment.md
- https://docs.checkhq.com/reference/company-business-details.md
- https://docs.checkhq.com/reference/company-checklist-component.md
- https://docs.checkhq.com/reference/company-connect-bank-account.md
- https://docs.checkhq.com/reference/company-employee-setup.md
- https://docs.checkhq.com/reference/company-filing-authorization.md
- https://docs.checkhq.com/reference/company-pay-history.md
- https://docs.checkhq.com/reference/company-payment-setup.md
- https://docs.checkhq.com/reference/company-progress-tracker.md
- https://docs.checkhq.com/reference/company-signatory-agreements.md
- https://docs.checkhq.com/reference/company-tax-setup.md
- https://docs.checkhq.com/reference/company-team-setup.md
- https://docs.checkhq.com/reference/company-terms-of-service.md
- https://docs.checkhq.com/reference/company-verification-documents.md
- https://docs.checkhq.com/reference/contractor-roster.md
- https://docs.checkhq.com/reference/create-a-bank-account.md
- https://docs.checkhq.com/reference/create-a-company-provided-document.md
- https://docs.checkhq.com/reference/create-a-contractor-payment.md
- https://docs.checkhq.com/reference/create-a-correction.md
- https://docs.checkhq.com/reference/create-a-pay-schedule.md
- https://docs.checkhq.com/reference/create-a-payroll-item.md
- https://docs.checkhq.com/reference/create-a-post-tax-deduction.md
- https://docs.checkhq.com/reference/create-a-report-run.md
- https://docs.checkhq.com/reference/create-a-workplace.md
- https://docs.checkhq.com/reference/create-an-earning-code.md
- https://docs.checkhq.com/reference/create-an-earning-rate.md
- https://docs.checkhq.com/reference/create-an-external-payroll.md
- https://docs.checkhq.com/reference/create-company-tax-elections.md
- https://docs.checkhq.com/reference/create-net-pay-split.md
- https://docs.checkhq.com/reference/create-payroll.md
- https://docs.checkhq.com/reference/create-the-enrollment-profile.md
- https://docs.checkhq.com/reference/credit-limits.md
- https://docs.checkhq.com/reference/delete-a-bank-account.md
- https://docs.checkhq.com/reference/delete-a-company-benefit.md
- https://docs.checkhq.com/reference/delete-a-contractor-payment.md
- https://docs.checkhq.com/reference/delete-a-correction.md
- https://docs.checkhq.com/reference/delete-a-pay-schedule.md
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/check-hq/refs/heads/main/openapi/check-hq-employees-api-openapi.yml