Temsor
Temsor is a SaaS API platform that provides deterministic validation and lookup for many Turkish and international identifiers—such as national ID, tax number, IBAN, phone, vehicle plate, and address parsing—and also offers finance, shipping, and regulatory checks like BIC, GTIN, email verification, EU VAT rates and validation, sanctions screening, and MRZ parsing.
Latency
931ms p95
Uptime
100.0% 30d
Playground
Verified
live
Endpoints
/v1/id/mrz
Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof.
/v1/pay/epc-qr
Builds an EPC069-12 v3.1 V2 (002) SCT payload. Does not send money; returns text only, no PNG.
/v1/pbx/persons
Light CRM from call graph / facts — caller phones+names and extension identities seen on transfers.
/v1/ai/messages
Single-balance access to upstream LLMs; billed per token, no subscription.
/v1/ai/messages
Single-balance access to upstream LLMs; billed per token, no subscription.
/v1/finance/bic
Checks a SWIFT/BIC against ISO 9362 structure (8 or 11 characters), splits bank/country/location/branch, and names well-known institutions.
/v1/finance/bic
Checks a SWIFT/BIC against ISO 9362 structure (8 or 11 characters), splits bank/country/location/branch, and names well-known institutions.
/v1/shipping/container
Validates an ISO 6346 freight-container number: owner code, category letter, serial and check digit.
/v1/shipping/container
Validates an ISO 6346 freight-container number: owner code, category letter, serial and check digit.
/v1/finance/creditor-ref
Validates or generates an ISO 11649 RF creditor reference (mod-97 check digits).
/v1/finance/creditor-ref
Validates or generates an ISO 11649 RF creditor reference (mod-97 check digits).
/v1/id/gtin
Validates GTIN-8, UPC-A (12), EAN-13 and GTIN-14 check digits for retail barcodes.
/v1/id/gtin
Validates GTIN-8, UPC-A (12), EAN-13 and GTIN-14 check digits for retail barcodes.
/v1/email/verify
Checks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction.
/v1/email/verify
Checks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction.
/v1/eu/vat/rates
Dated EU-27 VAT rates (standard, reduced, super-reduced, parking) plus the Union OSS threshold. Not a goods classification.
/v1/eu/vat/rates
Dated EU-27 VAT rates (standard, reduced, super-reduced, parking) plus the Union OSS threshold. Not a goods classification.
/v1/eu/vat/validate
Validates an EU VAT number against the official VIES register, with per-country format checks and honest handling of upstream outages.
/v1/eu/vat/validate
Validates an EU VAT number against the official VIES register, with per-country format checks and honest handling of upstream outages.
/v1/iban/validate
Validates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes.
/v1/iban/validate
Validates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes.
/v1/id/mrz
Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof.
/v1/id/isbn
Validates ISBN-10 and ISBN-13 check digits and converts between them when the 978 prefix allows it.
/v1/id/isbn
Validates ISBN-10 and ISBN-13 check digits and converts between them when the 978 prefix allows it.
/v1/finance/isin
Validates an ISIN (ISO 6166): country code, national identifier and the letter-aware check digit.
/v1/finance/isin
Validates an ISIN (ISO 6166): country code, national identifier and the letter-aware check digit.
/v1/id/lei/lookup
Looks up a Legal Entity Identifier in the GLEIF register: legal name, registration status, country, and BIC.
/v1/id/lei/lookup
Looks up a Legal Entity Identifier in the GLEIF register: legal name, registration status, country, and BIC.
/v1/id/lei
Validates a 20-character Legal Entity Identifier (ISO 17442) with the ISO 7064 mod-97 check digits.
/v1/id/lei
Validates a 20-character Legal Entity Identifier (ISO 17442) with the ISO 7064 mod-97 check digits.
/v1/mcp/index
Searchable, dated archive of what every public MCP server actually exposes — tool definitions, daily change feed, and rug-pull detection.
/v1/mcp/index
Searchable, dated archive of what every public MCP server actually exposes — tool definitions, daily change feed, and rug-pull detection.
/v1/model/archive
Dated archive of LLM prices, context windows, announced retirement dates and quiet delistings across 400+ models and 50+ providers.
/v1/model/archive
Dated archive of LLM prices, context windows, announced retirement dates and quiet delistings across 400+ models and 50+ providers.
/v1/model/drift
Independent daily record of what changed behind a provider endpoint: which alias resolved to which model, and when behaviour shifted.
/v1/model/drift
Independent daily record of what changed behind a provider endpoint: which alias resolved to which model, and when behaviour shifted.
/v1/pay/epc-qr
Builds an EPC069-12 v3.1 V2 (002) SCT payload. Does not send money; returns text only, no PNG.
/v1/pbx/audio/chunk
Notify an optional audio chunk / customer URI for a live or archived call (idle $0).
/v1/pbx/audio/chunk
Notify an optional audio chunk / customer URI for a live or archived call (idle $0).
/v1/pbx/bridge/multi-agent
Record virtual multi-agent bridge intent + shared memory hint (open promises). Idle $0, no live Asterisk.
/v1/pbx/bridge/multi-agent
Record virtual multi-agent bridge intent + shared memory hint (open promises). Idle $0, no live Asterisk.
/v1/pbx/calls
List recent calls with transfer path crumbs — site + customer archive browser.
/v1/pbx/calls
List recent calls with transfer path crumbs — site + customer archive browser.
/v1/pbx/calls/get
Get one call by id with transfer graph — customer detail drawer.
/v1/pbx/calls/get
Get one call by id with transfer graph — customer detail drawer.
/v1/pbx/calls/graph
GET call graph + transfer edges for a call — who→whom→where the promise stuck (moat).
/v1/pbx/calls/graph
GET call graph + transfer edges for a call — who→whom→where the promise stuck (moat).
/v1/pbx/dictionary
Managed SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums.
/v1/pbx/dictionary
Managed SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums.
/v1/pbx/dictionary/add
Add a synonym/alias (tenant-scoped or global demo) — E4 compounding thickens search boost + Fact extract. ≤60/hour/key → 429. Idle $0. No invented premiums.
/v1/pbx/dictionary/add
Add a synonym/alias (tenant-scoped or global demo) — E4 compounding thickens search boost + Fact extract. ≤60/hour/key → 429. Idle $0. No invented premiums.
/v1/pbx/events
Ingest Asterisk programming-interface (ARI) / Stasis (call-app channel) events. Optional x-temsor-pbx-key or HMAC-SHA256 request signature. Body ≤256 KiB → 429. Idle $0 when no calls.
/v1/pbx/events
Ingest Asterisk programming-interface (ARI) / Stasis (call-app channel) events. Optional x-temsor-pbx-key or HMAC-SHA256 request signature. Body ≤256 KiB → 429. Idle $0 when no calls.
/v1/pbx/facts
List extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q.
/v1/pbx/facts
List extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q.
/v1/pbx/facts/get
Get one extracted fact by id — detail drawer for site + customer.
/v1/pbx/facts/get
Get one extracted fact by id — detail drawer for site + customer.
/v1/pbx/index/partial
Upsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0.
/v1/pbx/index/partial
Upsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0.
/v1/pbx/index/partial/get
GET mid-call partial index — accumulating facts/promises/snippets while live.
/v1/pbx/index/partial/get
GET mid-call partial index — accumulating facts/promises/snippets while live.
/v1/pbx/ingest/transcript
Heuristic TR promise extractor from transcript text — creates open Promise docs (idle $0, no LLM).
/v1/pbx/ingest/transcript
Heuristic TR promise extractor from transcript text — creates open Promise docs (idle $0, no LLM).
/v1/pbx/night-twin/last
GET last gece-ikizi report persisted on forge volume (null if never run). Idle $0.
/v1/pbx/night-twin/last
GET last gece-ikizi report persisted on forge volume (null if never run). Idle $0.
/v1/pbx/night-twin/run
Night scan: open promises older than N hours → unresolved candidates (iptal/iade/söz). ≤20/hour/key → 429. Idle $0, no LLM.
/v1/pbx/night-twin/run
Night scan: open promises older than N hours → unresolved candidates (iptal/iade/söz). ≤20/hour/key → 429. Idle $0, no LLM.
/v1/pbx/orchestra/act
Query→act on managed SaaS runtime: whisper / hold / transfer / pci_stop / snoop. Intent + optional webhook. ≤120/hour/key → 429. No DID sales. Own PBX optional footnote.
/v1/pbx/orchestra/act
Query→act on managed SaaS runtime: whisper / hold / transfer / pci_stop / snoop. Intent + optional webhook. ≤120/hour/key → 429. No DID sales. Own PBX optional footnote.
/v1/pbx/orchestra/acts
List recent managed orchestra intents (whisper/hold/transfer/PCI). Number→flow SaaS · idle $0 · no DID. Own PBX optional footnote.
/v1/pbx/orchestra/acts
List recent managed orchestra intents (whisper/hold/transfer/PCI). Number→flow SaaS · idle $0 · no DID. Own PBX optional footnote.
/v1/pbx/persons
Light CRM from call graph / facts — caller phones+names and extension identities seen on transfers.
/v1/pbx/persons/get
Get one light-CRM identity by id — caller Person or derived extension.
/v1/pbx/persons/get
Get one light-CRM identity by id — caller Person or derived extension.
/v1/pbx/promises
List broken/open promises from the call graph — the hotel / PBX-provider sales demo list.
/v1/pbx/promises
List broken/open promises from the call graph — the hotel / PBX-provider sales demo list.
/v1/pbx/promises/act
E1 moat: who→whom→promise → managed orchestra intent (whisper/transfer/hold). Idle $0. No PSTN. Own PBX optional footnote.
/v1/pbx/promises/act
E1 moat: who→whom→promise → managed orchestra intent (whisper/transfer/hold). Idle $0. No PSTN. Own PBX optional footnote.
/v1/pbx/promises/close
Mark an open promise kept or broken with an optional KVKK-safe note — makes the sales demo writable, not read-only. ≤60/hour/key → 429.
/v1/pbx/promises/close
Mark an open promise kept or broken with an optional KVKK-safe note — makes the sales demo writable, not read-only. ≤60/hour/key → 429.
/v1/pbx/promises/export
Export open/broken promises as CSV or JSON — hotel / PBX-provider unclosed-promise sales list.
/v1/pbx/promises/export
Export open/broken promises as CSV or JSON — hotel / PBX-provider unclosed-promise sales list.
/v1/pbx/promises/reopen
Undo a kept/broken close — restore an open promise so the sales demo can reverse a mis-click. ≤60/hour/key → 429.
/v1/pbx/promises/reopen
Undo a kept/broken close — restore an open promise so the sales demo can reverse a mis-click. ≤60/hour/key → 429.
/v1/pbx/redact
KVKK-first forget (default-on SaaS): clear derived index by id/phone; durable audit who/what/when + tenant scope. ≤30/hour/key → 429. Managed pointer only — not a legal deletion SLA.
/v1/pbx/redact
KVKK-first forget (default-on SaaS): clear derived index by id/phone; durable audit who/what/when + tenant scope. ≤30/hour/key → 429. Managed pointer only — not a legal deletion SLA.
/v1/pbx/redact/audit
List recent KVKK forget actions — who/what/when + tenant scope. Managed SaaS derived-index audit; not a legal deletion SLA.
/v1/pbx/redact/audit
List recent KVKK forget actions — who/what/when + tenant scope. Managed SaaS derived-index audit; not a legal deletion SLA.
/v1/phone/validate
Validates and normalises a phone number to E.164, classifies the line type, and resolves the province for Turkish landlines.
/v1/tr/iban/build
Builds a Turkish IBAN from a 5-digit bank code and account number, computing ISO 7064 check digits.
/v1/tr/iban/build
Builds a Turkish IBAN from a 5-digit bank code and account number, computing ISO 7064 check digits.
/v1/pbx/register
Register a pilot PBX; returns pbx_id + API key once (hashed at rest). ≤5/hour/IP → 429. Idle $0.
/v1/pbx/register
Register a pilot PBX; returns pbx_id + API key once (hashed at rest). ≤5/hour/IP → 429. Idle $0.
/v1/pbx/search
Archive search over call promises and facts — voice-Google for the PBX, not a receptionist bot.
/v1/pbx/search
Archive search over call promises and facts — voice-Google for the PBX, not a receptionist bot.
/v1/pbx/status
Control-plane status for a registered PBX — counts + idle. No DID sales.
/v1/pbx/status
Control-plane status for a registered PBX — counts + idle. No DID sales.
/v1/pbx/synthetic/run
Load demo: sample call utterances → promise extractor → stats (calls, promises_open). ≤10/hour/key → 429. Idle $0, no LLM/PSTN.
/v1/pbx/synthetic/run
Load demo: sample call utterances → promise extractor → stats (calls, promises_open). ≤10/hour/key → 429. Idle $0, no LLM/PSTN.
/v1/pbx/webhooks
Register or list outbound webhooks — customer URL receives promise/fact/orchestra/redact events (HMAC if secret). POST write ≤30/hour/key → 429.
/v1/pbx/webhooks
Register or list outbound webhooks — customer URL receives promise/fact/orchestra/redact events (HMAC if secret). POST write ≤30/hour/key → 429.
/v1/pbx/webhooks/deliveries
List last N outbound webhook deliveries (stub or live) — promise/fact/orchestra/redact/ping.
/v1/pbx/webhooks/deliveries
List last N outbound webhook deliveries (stub or live) — promise/fact/orchestra/redact/ping.
/v1/pbx/whisper/status
Capability: mode=stub|ready from TEMSOR_RTP_*. No live RTP on forge; idle $0.
/v1/pbx/whisper/status
Capability: mode=stub|ready from TEMSOR_RTP_*. No live RTP on forge; idle $0.
/v1/pbx/whisper/suggest
Demo: ≤3 context cards; prefers in-call partial index when present — mock latency_ms; idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms.
/v1/pbx/whisper/suggest
Demo: ≤3 context cards; prefers in-call partial index when present — mock latency_ms; idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms.
/v1/phone/validate
Validates and normalises a phone number to E.164, classifies the line type, and resolves the province for Turkish landlines.
/v1/sanctions/screen
Screens a name against six official sanctions lists — US OFAC, UN, EU, UK OFSI, Switzerland SECO and Canada — with transliteration-aware fuzzy matching.
/v1/sanctions/screen
Screens a name against six official sanctions lists — US OFAC, UN, EU, UK OFSI, Switzerland SECO and Canada — with transliteration-aware fuzzy matching.
/v1/series/history
Returns the accumulated history of public data series with change statistics and a source receipt for every point.
/v1/series/history
Returns the accumulated history of public data series with change statistics and a source receipt for every point.
/v1/shipping/identify
Identifies which carrier a tracking number belongs to, validates it where a checksum exists, and returns the canonical tracking link.
/v1/shipping/identify
Identifies which carrier a tracking number belongs to, validates it where a checksum exists, and returns the canonical tracking link.
/v1/id/tin
Validates a tax identifier for 25+ countries: checksum where the algorithm is public, format-only where it is not. Country is required.
/v1/id/tin
Validates a tax identifier for 25+ countries: checksum where the algorithm is public, format-only where it is not. Country is required.
/v1/tr/address/parse
Splits a free-form Turkish address into neighbourhood, street, building, floor, flat, district, province and postcode.
/v1/tr/address/parse
Splits a free-form Turkish address into neighbourhood, street, building, floor, flat, district, province and postcode.
/v1/tr/business-days
Adds business days or counts them between two dates, accounting for Turkish public and religious holidays including half-day eves.
/v1/tr/business-days
Adds business days or counts them between two dates, accounting for Turkish public and religious holidays including half-day eves.
/v1/tr/fuel/prices
Petrol, diesel and heating-oil pump prices for all 81 Turkish provinces, including the price in force on any past date.
/v1/tr/fuel/prices
Petrol, diesel and heating-oil pump prices for all 81 Turkish provinces, including the price in force on any past date.
/v1/tr/validate
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.
/v1/tr/invoice/build
Builds a UBL-TR e-Invoice or e-Archive XML document from plain JSON, computing every total and validating the parties.
/v1/tr/invoice/build
Builds a UBL-TR e-Invoice or e-Archive XML document from plain JSON, computing every total and validating the parties.
/v1/tr/invoice/parse
Turns a UBL-TR e-Invoice or e-Archive XML document into clean JSON: parties, line items, taxes and totals.
/v1/tr/invoice/parse
Turns a UBL-TR e-Invoice or e-Archive XML document into clean JSON: parties, line items, taxes and totals.
/v1/tr/labor
Computes Turkish severance (kıdem), notice (ihbar) and annual-leave entitlement from service dates and the gross wage, using the official ceiling and minimum-wage tables for the given day.
/v1/tr/labor
Computes Turkish severance (kıdem), notice (ihbar) and annual-leave entitlement from service dates and the gross wage, using the official ceiling and minimum-wage tables for the given day.
/v1/tr/money/to-words
Writes a monetary amount out in Turkish words, the way invoices, cheques and promissory notes require.
/v1/tr/money/to-words
Writes a monetary amount out in Turkish words, the way invoices, cheques and promissory notes require.
/v1/tr/postal-code
Validates a 5-digit Turkish postal code and resolves the province from the first two digits (plate map).
/v1/tr/postal-code
Validates a 5-digit Turkish postal code and resolves the province from the first two digits (plate map).
/v1/tr/pay/qr
Builds a person-to-person TR Karekod (FAST) payment payload from IBAN, name and optional TRY amount. Text only — no PNG.
/v1/tr/pay/qr
Builds a person-to-person TR Karekod (FAST) payment payload from IBAN, name and optional TRY amount. Text only — no PNG.
/v1/tr/tebligat-clock
Computes the deemed-received date and the HMK deadline (with holiday shifting) for a Turkish notification, from the date the underlying event actually happened.
/v1/tr/tebligat-clock
Computes the deemed-received date and the HMK deadline (with holiday shifting) for a Turkish notification, from the date the underlying event actually happened.
/v1/tr/validate
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.
/v1/tr/vat
Splits a Turkish amount into net, VAT and (optionally) withholding: who pays the seller, who remits the withheld VAT.
/v1/tr/vat
Splits a Turkish amount into net, VAT and (optionally) withholding: who pays the seller, who remits the withheld VAT.
/v1/id/uuid
Validates UUID structure and reports version (1–5, 7) and RFC 4122 variant bits. Deterministic.
/v1/id/uuid
Validates UUID structure and reports version (1–5, 7) and RFC 4122 variant bits. Deterministic.
/v1/id/vin
Validates a 17-character VIN: forbidden letters, ISO 3779 check digit, WMI region/manufacturer, model year and plant.
/v1/id/vin
Validates a 17-character VIN: forbidden letters, ISO 3779 check digit, WMI region/manufacturer, model year and plant.
/v1/usage
Own org balance, quota and credit ledger
145 endpoints auto-detected
Authentication
This API uses Bearer token authentication — pass your token in the Authorization header.
curl -X POST \ "https://api.temsor.com/docs/v1/id/mrz" \ -H "Authorization: Bearer YOUR_TOKEN"
api.temsor.com · HTTPS only