Errors & Service Status

The status codes the API returns, what each error body looks like, and how to check whether a validation source is down.

Status Codes

StatusMeaning
200Success. Check each service's completed flag: false means the upstream source was unavailable and the result is not ready yet.
400Invalid request: a required field for a requested service is missing, a field value is invalid, an unknown field was sent, or a requested service is not enabled for your account.
401The API key is missing, not recognized, or lacks the permission this endpoint requires. The message field says which; see Authentication.
404The request id was not found on your account.
405Wrong HTTP method, such as GET on a validate endpoint.

Error Formats

A validation request that cannot be processed returns HTTP 400 with an object keyed by the field at fault, each listing the problems found:

{
  "foo": [ "The key foo is not a valid key for the request object." ],
  "tin": [ "TIN is invalid." ]
}

Lookups by id, such as request-details, report errors with the request path and a list of messages instead:

{
  "url": "/api/v1/request-details",
  "errors": [ "The id provided could not be found" ]
}

Handling Errors in Code

Check the status code before reading the body:

# -w prints the HTTP status after the body, so you can see which case you hit
curl -s -w "\nHTTP %{http_code}\n" -X POST https://www.tincomply.com/api/v1/validate/irs-tin-name-matching \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "tin": "123-12-1234", "name": "JOHN SMITH" }'

Service Status

GET /api/v1/status returns the operating status of every validation service, and GET /api/v1/status/{service} returns one. No API key is required; send Accept: application/json. Codes: 0 operational, 1 degraded, 2 partial outage, 3 major outage. The same information is on the status page.

curl https://www.tincomply.com/api/v1/status -H "Accept: application/json"

Sample response:

{
  "irs-tin-name-matching": { "code": 0, "message": "Operational" },
  "list-sanctions": { "code": 0, "message": "Operational" },
  "npi-registry": { "code": 0, "message": "Operational" },
  "lastUpdated": "2026-10-06T03:03:00Z"
}