API Endpoint: Validate

The validate endpoint is the primary API endpoint, capable of processing all available validation types. You can either run all validations or restrict them by specifying the requestedServices parameter.

POST /api/v1/validate

https://www.tincomply.com/api/v1/validate

Runs one or more validation services against a single record in one call. Send whatever fields you have; every service those fields support runs, unless you narrow the list with requestedServices.

Request body

FieldTypeDescription
tin string Taxpayer Identification Number (EIN, SSN or ITIN). 9 digits; hyphens are ignored.
name string Legal name of the entity or individual, as it should appear in IRS records.
street string Street address line 1.
suite string Street address line 2, suite or unit.
city string City.
state string Two-letter state abbreviation.
zip5 string 5-digit ZIP code.
zip4 string ZIP+4 extension.
address string Single-line address, as an alternative to the structured fields.
giin string FATCA Global Intermediary Identification Number (19 characters with dots).
lei string Legal Entity Identifier (20 characters).
npi string 10-digit National Provider Identifier.
dot string USDOT number (not an MC docket number).
requestedServices string[] Service identifiers to run (see the list below). Omit to run every service enabled on your account that the supplied fields allow.

Only the result objects for services that ran are included in the response. Each service also has its own endpoint (listed in the navigation) that runs exactly that one service.

What to do with this result

When you seeDo this
A result object is missingThat service did not run: the fields it needs were not sent, or it is not in requestedServices. Each result object reads the same as on its own endpoint page.
Any result has completed falseKeep the request id and call request-details later. Results that already finished are final; only the pending ones fill in.

Sample request

curl -X POST https://www.tincomply.com/api/v1/validate \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tin":"13-0871985","name":"INTERNATIONAL BUSINESS MACHINES CORPORATION","street":"PO BOX 218","city":"YORKTOWN HEIGHTS","state":"NY","zip5":"10598","requestedServices":["irs-tin-name-matching","address-validation","list-sanctions"]}'

Sample response

{
  "id": "ZfPjtFHAXEep29ZZTc5rpgj1",
  "request": {
    "tin": "XXXXX1985",
    "name": "INTERNATIONAL BUSINESS MACHINES CORPORATION",
    "street": "PO BOX 218",
    "city": "YORKTOWN HEIGHTS",
    "state": "NY",
    "zip5": "10598",
    "requestDate": "2026-10-01T14:02:11Z",
    "requestedServices": "irs-tin-name-matching,address-validation,list-sanctions"
  },
  "irsTinNameMatchingResult": {
    "message": "TIN and Name combination matches IRS EIN records",
    "result": 7,
    "completed": true
  },
  "addressValidationResult": {
    "street": "218 PO BOX",
    "city": "YORKTOWN HEIGHTS",
    "state": "NY",
    "zip5": "10598",
    "zip4": "0218",
    "countyName": "WESTCHESTER",
    "message": "Address was confirmed as valid",
    "found": true,
    "completed": true,
    "corrections": [ "PO BOX match.", "ZIP+4 corrected." ]
  },
  "listSanctionsMatchResult": {
    "completed": true,
    "anyFiltered": false,
    "results": [
      {
        "name": "INTERNATIONAL BUSINESS MACHINES",
        "type": "Organization",
        "confidence": 75,
        "list": "Business Identifier Code (BIC) Reference Data"
      }
    ]
  }
}

Errors

Requests that cannot be processed return HTTP 400 with an object keyed by field name, each listing what was wrong. Authentication, permission and other status codes are covered in Errors & service status.

This endpoint requires an API key with the Validate permission.

See how this check works in the portal and what it costs: All validations