---
title: "Validates Turkish national ID, tax number, IBAN, licence plate, IMEI, barcodes, KEP, MERSİS, postal code and ISBN from one endpoint, with type auto-detection."
method: GET
path: "/v1/tr/validate"
tags: ["Validation"]
---

# Validates Turkish national ID, tax number, IBAN, licence plate, IMEI, barcodes, KEP, MERSİS, postal code and ISBN from one endpoint, with type auto-detection.

`GET /v1/tr/validate`

## Request

- Base URL: `https://api.temsor.com`
- URL: `https://api.temsor.com/v1/tr/validate`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Goes past a yes/no: resolves the bank behind an IBAN, the province behind a licence plate and the GS1 country prefix behind a barcode. Pure local computation — no upstream service is called, so latency is microseconds and the answer never changes for the same input.

**Credits per call:** 1 · **Operation id:** `tr_validate`

In the GET form every field is a query parameter; object and array fields are JSON-encoded.

## Query parameters

- `value` string, required: Value to validate.
- `type` 'auto' | 'tckn' | 'vkn' | 'iban' | 'plate' | 'imei' | 'gtin' | 'kep' | 'mersis' | 'postal' | 'isbn': Omitted → inferred from the format.

## Response `200`

Success

- object
  - `ok` unknown, required
  - `data` object, required
    - `input` string, required
    - `type` string, nullable, required
    - `valid` boolean, required
    - `reason` string, nullable, required
    - `details` object, required
  - `meta` object
    - `credits` integer
    - `cached` boolean
    - `requestId` string
    - `durationMs` integer

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `429`: Rate limit exceeded — wait `Retry-After` seconds. The RateLimit headers are sent here too.

---

[API](https://skmtc.dev/temsor/apis/temsor-api.md) · [All operations](https://skmtc.dev/temsor/apis/temsor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/temsor/apis/temsor-api/revisions/19702107e15a?raw)
