Lookup sandbox environment

What is it?

Sandbox environment in Lookup allows you to test your integration with the TIN Validation API without triggering real tax authority lookups. It simulates a wide range of outcomes, including successful validations, input issues, service errors, and delays — all through the same API endpoints used in production.

This ensures your implementation handles all realistic scenarios before you go live.

Key benefits

  • Safe environment for QA and testing.
  • Supports both common and edge-case responses.
  • Same API structure and format as in production.
  • Allows simulation of country-specific logic and error conditions.
  • Features like webhooks or fuzzy matching work as in production

Supported test inputs for TIN validation

To simulate different validation outcomes, use the following TIN values. The behavior may vary depending on the country selected, even for the same TIN.

TIN

Simulated Behavior

1000

Valid format, not found online

2000

Valid format, found online

2100

The same result as 2000, with 5–15s background processing delay

2101

The same result as 2000, with 1–3s ingestion delay (to simulate SLA breach)

3000

Special case for country-specific scenarios:

  • *• India** – Simulates a PAN validation response
  • *• South Korea** – Returns a tax-exempt case
  • *• Poland** – Includes a deregistration_date field to test deregistered entities
  • *• Brazil** – Returns individual-related fields for CPF validation

5001

Valid format, returns error_code: NETWORK_ERROR

5002

Valid format, returns error_code: TEMPORARY_UNAVAILABLE

5003

Valid format, returns error_code: UNKNOWN_RESPONSE

5004

Valid format, returns error_code: INCOMPLETE_IMPLEMENTATION

5005

Valid format, returns error_code: ONLINE_CHECK_NOT_SUPPORTED

5006

Valid format, returns error_code: TAX_AUTHORITY_CREDENTIALS_REJECTED

5101

Mexico only – returns error_code: MX_NAME_MISMATCH

5102

Mexico only – returns error_code: MX_ZIPCODE_MISMATCH

5103

Mexico only – returns error_code: MX_NAME_AND_ZIPCODE_MISMATCH

5104

USA only – returns error_code: TAX_AUTHORITY_SAME_TAX_ID_LIMIT_REACHED

123456789

USA only - an individual tin to demonstrate how SSN's are masked

6000

Returns error_code: ONLINE_CHECK_NOT_SUPPORTED (validation not scheduled)

6001

Returns error_code: MISSING_REQUIRED_INPUT (validation not scheduled)

6002

Returns error_code: INVALID_REQUIRED_INPUT (validation not scheduled)

6003

Returns error_code: MISSING_TAX_AUTHORITY_CREDENTIALS (validation not scheduled)

7000

HTTP 500 Internal Server Error with JSON body { "code": "INTERNAL_ERROR" }

7001

HTTP 400 Bad Request with JSON body { "code": "COUNTRIES_NOT_ALLOWED" } to simulate running a validation for a country that is not enabled for the tenant.

Any other value

Treated as invalid TIN format (validation not scheduled)


Validation source handling

If the validation_database_source parameter is used (e.g., vies), the system applies the same source-selection and fallback logic as in production. This includes:

  • Preferring VIES results where available.
  • Falling back to local sources or returning appropriate errors based on input and country logic.

Example request

You can test Sandbox behavior using the TIN values described above across all supported validation endpoints:

  • Works with both API v1 and v2
  • Supports both single and batch validation endpoints

Below is an example using the v2 single validation endpoint with a test TIN (2000):

curl --location 'https://sandbox.fonoa.com/lookup/v2/single-validations' \
--header 'Content-Type: application/json' \
--header 'Ocp-Apim-Subscription-Key: <your-sandbox-API-key>' \
--data '{
    "country_iso_code": "pl",
    "tax_identification_number": "2000"
}'