Reference

API reference

Generated from the live OpenAPI 3.1 document (version 2026-10-01). Base URL:

https://tax-api-dev.itensiahr.com/v1

Download openapi.json Try in playground

Endpoints

Look up every tax for a paycheck

GET/rates/lookup

Returns all federal taxes plus the work state's taxes (and the residence state's income tax withholding if different) in force on `pay_date`. Taxes without a published version for that date are listed in `meta.unavailable` — never silently omitted.

ParameterTypeDescription
work_staterequiredquery · stringTwo-letter state where the work is performed
pay_datequery · string (date)Defaults to today (UTC)
residence_statequery · stringEmployee's resident state, if different
filing_statusquery · stringFilters per-status values and brackets (single, married_joint, head_of_household, …)
includequery · stringComma list: federal, state
as_ofquery · string (date-time)Answer exactly as the API would have at this moment (Growth plan and up)

Responses: 200 Taxes in force · 400 Invalid parameter · 401 Missing or invalid API key · 402 Trial ended · 403 Account suspended, or the feature is not in your plan (PLAN_FEATURE) · 404 Not found · 429 Rate limit (RATE_LIMITED) or monthly quota (QUOTA_EXCEEDED) reached

List jurisdictions and their tax programs

GET/jurisdictions

Responses: 200 Jurisdictions · 400 Invalid parameter · 401 Missing or invalid API key · 402 Trial ended · 403 Account suspended, or the feature is not in your plan (PLAN_FEATURE) · 404 Not found · 429 Rate limit (RATE_LIMITED) or monthly quota (QUOTA_EXCEEDED) reached

All taxes in force for one jurisdiction

GET/jurisdictions/{code}
ParameterTypeDescription
coderequiredpath · stringUS for federal, or a state code
datequery · string (date)

Responses: 200 Jurisdiction taxes · 400 Invalid parameter · 401 Missing or invalid API key · 402 Trial ended · 403 Account suspended, or the feature is not in your plan (PLAN_FEATURE) · 404 Not found · 429 Rate limit (RATE_LIMITED) or monthly quota (QUOTA_EXCEEDED) reached

One published (or superseded) version, by id

GET/versions/{id}
ParameterTypeDescription
idrequiredpath · string

Responses: 200 Version · 400 Invalid parameter · 401 Missing or invalid API key · 402 Trial ended · 403 Account suspended, or the feature is not in your plan (PLAN_FEATURE) · 404 Not found · 429 Rate limit (RATE_LIMITED) or monthly quota (QUOTA_EXCEEDED) reached

Change feed (Starter plan and up)

GET/changes

Versions published or superseded since a timestamp. Poll it daily, or after each payroll run.

ParameterTypeDescription
sincequery · string (date-time)Defaults to 30 days ago

Responses: 200 Changes · 400 Invalid parameter · 401 Missing or invalid API key · 402 Trial ended · 403 Account suspended, or the feature is not in your plan (PLAN_FEATURE) · 404 Not found · 429 Rate limit (RATE_LIMITED) or monthly quota (QUOTA_EXCEEDED) reached

Service status and data freshness

GET/status

No authentication

Responses: 200 Status

This specification

GET/openapi.json

No authentication

Responses: 200 OpenAPI document

Schemas

Meta

FieldTypeDescription
request_idstring
processing_msinteger
api_versionstring

Bracket

FieldTypeDescription
tablestring
filing_statusstring
periodstring
overstring
not_overstring | null
ratestring
base_taxstring

Tax

FieldTypeDescription
tax_codestring
tax_typestring
namestring
jurisdictionobject
applies_tofederal | work | residence
rate_structurestring
effective_fromstring (date)
effective_tostring,null (date)Exclusive end: the first date this version no longer applies. null while open-ended.
tax_yearinteger
parametersobject
bracketsarray of Bracket
notesstring | null
versionobject
sourcesarray of object

LookupResponse

FieldTypeDescription
dataobject
meta

Jurisdiction

FieldTypeDescription
codestring
statestring | null
namestring
levelstring
has_wage_income_taxboolean
taxesarray of object

Error

FieldTypeDescription
errorobject