Temsor API — Turkey & EU business data
REMOTE · API.TEMSOR.COM · SCANNED SEP 24
Turkey & EU business data: validation, sanctions screening, parsing, FX and fuel price history
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 72 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 13973 tokens (~194/item across 72 items; 72 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 84% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pay_epc_qr" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 72 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the Temsor API — Turkey & EU business data MCP server?
Temsor API — Turkey & EU business data is a hosted endpoint at https://api.temsor.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.temsor.com
claude mcp add --transport http com-temsor-api 'https://api.temsor.com/mcp'
{
"mcpServers": {
"com-temsor-api": {
"url": "https://api.temsor.com/mcp"
}
}
} {
"servers": {
"com-temsor-api": {
"type": "http",
"url": "https://api.temsor.com/mcp"
}
}
} [mcp_servers.com-temsor-api] url = "https://api.temsor.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-temsor-api": {
"type": "remote",
"url": "https://api.temsor.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-temsor-api --url 'https://api.temsor.com/mcp' --transport streamable-http
mcp_servers:
com-temsor-api:
url: "https://api.temsor.com/mcp" {
"McpServers": {
"com-temsor-api": {
"Transport": "http",
"Url": "https://api.temsor.com/mcp"
}
}
} assistant mcp add com-temsor-api -t streamable-http -u 'https://api.temsor.com/mcp'
{
"mcpServers": {
"com-temsor-api": {
"type": "http",
"url": "https://api.temsor.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 24 Sept 26 0
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “pbx_enrich” was removed ▼ security
- 23 Sept 26 0
- New tool “pbx_enrich” functional
- 22 Sept 26 0
- Tool “pbx_bridge_multi_agent” rewrote its description, which is the text the model reads security
- Tool “pbx_calls_graph” rewrote its description, which is the text the model reads security
- Tool “pbx_events” rewrote its description, which is the text the model reads security
- Tool “pbx_facts” rewrote its description, which is the text the model reads security
- Tool “pbx_orchestra_act” rewrote its description, which is the text the model reads security
- Tool “pbx_orchestra_acts” rewrote its description, which is the text the model reads security
- Tool “pbx_persons” rewrote its description, which is the text the model reads security
- Tool “pbx_promises” rewrote its description, which is the text the model reads security
- Tool “pbx_promises_act” rewrote its description, which is the text the model reads security
- Tool “pbx_search” rewrote its description, which is the text the model reads security
- Tool “pbx_status” rewrote its description, which is the text the model reads security
- Tool “pbx_webhooks” rewrote its description, which is the text the model reads security
- Tool “pbx_webhooks_deliveries” rewrote its description, which is the text the model reads security
- Tool “pbx_whisper_suggest” rewrote its description, which is the text the model reads security
- Tool “pbx_bridge_multi_agent” changed its title: PBX Multi-Agent Bridge → Multi-Agent Handoff Bridge cosmetic
- Tool “pbx_calls_graph” changed its title: PBX Call Graph / Transfers → Call Handoff Graph cosmetic
- Tool “pbx_events” changed its title: PBX Events → Call Events Ingest cosmetic
- Tool “pbx_orchestra_act” changed its title: PBX ARI Orchestra Act → Call Orchestra Act cosmetic
- Tool “pbx_promises” changed its title: PBX Open Promises → Open Call Promises cosmetic
- Tool “pbx_search” changed its title: PBX Search → Voice Archive Search cosmetic
- 15 Sept 26 +53
- Injection markers: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- HSTS header: fail → pass ▲ security
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 72 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Tool “pbx_dictionary” rewrote its description, which is the text the model reads security
- Tool “pbx_dictionary_add” rewrote its description, which is the text the model reads security
- Tool “pbx_index_partial” rewrote its description, which is the text the model reads security
- Tool “pbx_index_partial_get” rewrote its description, which is the text the model reads security
- Tool “pbx_orchestra_act” rewrote its description, which is the text the model reads security
- Tool “pbx_redact” rewrote its description, which is the text the model reads security
- Tool “pbx_redact_audit” rewrote its description, which is the text the model reads security
- Tool “pbx_whisper_suggest” rewrote its description, which is the text the model reads security
- MCP protocol: unverified → fail ▼ functional
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- New tool “pbx_orchestra_acts” functional
- New tool “pbx_promises_act” functional
- New tool “pbx_whisper_status” functional
- “pbx_dictionary” reworded the description of “domain” cosmetic
- “pbx_dictionary_add” reworded the description of “domain” cosmetic
- “pbx_facts” reworded the description of “domain” cosmetic
- 14 Sept 26 −53
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- HSTS header: pass → fail ▼ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
- Capabilities: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 13 Sept 26 0
- New tool “ai_messages” functional
- 9 Sept 26 0
- Schema quality: 229 → 191 ▲ functional
- New tool “pbx_audio_chunk” functional
- New tool “pbx_bridge_multi_agent” functional
- New tool “pbx_calls” functional
- New tool “pbx_calls_get” functional
- New tool “pbx_calls_graph” functional
- New tool “pbx_dictionary” functional
- New tool “pbx_dictionary_add” functional
- New tool “pbx_events” functional
- New tool “pbx_facts” functional
- New tool “pbx_facts_get” functional
- New tool “pbx_index_partial” functional
- New tool “pbx_index_partial_get” functional
- New tool “pbx_ingest_transcript” functional
- New tool “pbx_night_twin_last” functional
- New tool “pbx_night_twin_run” functional
- New tool “pbx_orchestra_act” functional
- New tool “pbx_persons” functional
- New tool “pbx_persons_get” functional
- New tool “pbx_promises” functional
- New tool “pbx_promises_close” functional
- New tool “pbx_promises_export” functional
- New tool “pbx_promises_reopen” functional
- New tool “pbx_redact” functional
- New tool “pbx_redact_audit” functional
- New tool “pbx_register” functional
- New tool “pbx_search” functional
- New tool “pbx_status” functional
- New tool “pbx_synthetic_run” functional
- New tool “pbx_webhooks” functional
- New tool “pbx_webhooks_deliveries” functional
- New tool “pbx_whisper_suggest” functional
- 7 Sept 26 0
- Tool “tr_validate” rewrote its description, which is the text the model reads security
- Schema quality: 7444 → 8501 ▼ functional
- New tool “ean_gtin” functional
- New tool “isbn_validate” functional
- New tool “tr_iban_olustur” functional
- New tool “tr_posta_kodu” functional
- New tool “tr_qr_odeme” functional
- New tool “uuid_validate” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Probed https://api.temsor.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=temsor.com | CN=WE1,O=Google Trust Services,C=US | 4 Sept 2026 | 3 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | a95a54f96a088ea131768b8200d188e |
| SANs: temsor.com, *.temsor.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of api.temsor.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| temsor.com. | present | 2371 | 13 | Verified |
| api.temsor.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=15552000; includeSubDomains |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.temsor.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.temsor.com/mcp | HTTPS enforced | 301 | https://api.temsor.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ai_messages AI Messages (preview) ~100
Single-balance access to upstream LLMs; billed per token, no subscription.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer | yes | Maximum tokens to generate. |
| messages | array | yes | Conversation turns, in order. |
| model | string | yes | Upstream model identifier, e.g. xai/grok-4.6. |
| stream | boolean | – | Not supported in this preview; must be omitted or false. |
| system | string | – | Optional system prompt. |
No output schema declared.
No examples provided.
bic_validate SWIFT/BIC Validation ~187
Checks a SWIFT/BIC against ISO 9362 structure (8 or 11 characters), splits bank/country/location/branch, and names well-known institutions. Payment files reject a BIC that is the wrong length or uses a forbidden character in the location code long before they care which bank it is. This checks the ISO 9362 pattern, flags test BICs (a 0 in the location code), and treats XXX as the primary office. A handful of well-known 8-character bank codes resolve to a name; anything else returns bankName null rather than a guess. This is not a lookup in the SWIFT directory. A structurally valid BIC can still be unissued, deactivated or mistyped by one letter that still fits the pattern.
| Name | Type | Req | Description |
|---|---|---|---|
| bic | string | yes | SWIFT/BIC, 8 or 11 characters, with or without spaces. |
No output schema declared.
No examples provided.
container_validate ISO 6346 Container Number ~143
Validates an ISO 6346 freight-container number: owner code, category letter, serial and check digit. Bills of lading and terminal scans mistype container numbers constantly; the check digit (ISO 6346) catches almost all of those before a customs filing. The fourth letter is the category (U freight, J equipment, Z chassis, R reefer). Owner codes are not resolved to a company — BIC's owner-code register is a separate paid product. A valid number is arithmetically self-consistent, not proof the box exists.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | ISO 6346 container number, e.g. CSQU3054383. |
No output schema declared.
No examples provided.
creditor_ref RF Creditor Reference ~159
Validates or generates an ISO 11649 RF creditor reference (mod-97 check digits). SEPA credit transfers carry an RF creditor reference so remittance data survives the payment chain. The check digits are the same ISO 7064 mod-97 used for IBAN: RF and the two digits move to the end, letters become 10–35, remainder must be 1. If the input already starts with RF and two digits it is validated; otherwise a 1–21 character alphanumeric payload is encoded. A bad checksum is rejected with 400 — a self-inconsistent reference must not enter a payment file.
| Name | Type | Req | Description |
|---|---|---|---|
| reference | string | yes | ISO 11649 RF creditor reference, or a 1–21 character payload to encode. |
No output schema declared.
No examples provided.
ean_gtin GTIN / EAN Check Digit ~151
Validates GTIN-8, UPC-A (12), EAN-13 and GTIN-14 check digits for retail barcodes. Retail GTINs share one GS1 check-digit algorithm with length-dependent packing (8 / 12 / 13 / 14). This endpoint stays on that retail identity: it does not guess shipping carriers. For 13-digit codes the leading three digits are returned as a GS1 company-prefix hint; 868/869 mark Türkiye. A matching check digit is arithmetic consistency, not proof the SKU is listed in a brand catalogue.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | GTIN-8, UPC-A (12), EAN-13 or GTIN-14. |
No output schema declared.
No examples provided.
email_verify E-mail Verification ~193
Checks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction. No SMTP probing. Most competitors connect to the target server and try RCPT TO, which sounds thorough but produces a confident-looking number you cannot trust: most servers are catch-all, the big providers refuse to answer, and doing it in bulk gets the probing IP blacklisted. We report only what is provable — whether the domain has a mail exchanger, whether it is a known disposable service, whether the mailbox belongs to a role rather than a person, and whether the domain looks like a typo of a common one (gmial.com → gmail.com). Addresses are also normalised, so Gmail dots and +tags stop creating duplicate signups.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | E-mail address to check. | |
| rejectFreeProviders | boolean | – | – |
| rejectRoleAccounts | boolean | – | – |
No output schema declared.
No examples provided.
eu_vat_rates EU VAT Rates ~199
Dated EU-27 VAT rates (standard, reduced, super-reduced, parking) plus the Union OSS threshold. Not a goods classification. Invoice software that hard-codes “Germany is 19%” breaks the day a member state moves a rate, and it never knew the reduced list. This is a point-in-time schedule of published rates for the EU VAT area, keyed by country and asOf. It is a schedule of rates, not which goods fall in which reduced band — there is no HS or NACE mapping. Great Britain, Northern Ireland, Switzerland, Norway and Türkiye are recognised and returned with null rates. If the table has no row for that date the rates are null; the last known line is not reused.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | – | ISO date YYYY-MM-DD. Defaults to today UTC. |
| country | string | yes | ISO 3166-1 alpha-2 country (EL accepted as Greece). |
No output schema declared.
No examples provided.
eu_vat_validate EU VAT Number Validation ~210
Validates an EU VAT number against the official VIES register, with per-country format checks and honest handling of upstream outages. VIES is free but unreliable: member-state services drop out individually and a failed lookup can easily be mistaken for a rejection. Treating an outage as "invalid" means charging VAT to a customer who should have been exempt — an error with a price tag. So this endpoint never returns `invalid` when the service could not answer; it returns `unknown` and names the reason, and reports whether that country's service is currently up. Format is checked locally first, so an obvious typo never becomes an upstream call. Results are cached for 24 hours. Note that most member states do not publish the company name; when they do, it is returned.
| Name | Type | Req | Description |
|---|---|---|---|
| countryCode | string | – | Country code, when the number is given without a prefix. |
| vatNumber | string | yes | VAT number with or without the country prefix, e.g. "DE811907980". |
No output schema declared.
No examples provided.
iban_validate IBAN Validation ~198
Validates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes. Most free libraries stop at the mod-97 checksum. That only says the digits are self-consistent — not that the number could exist in that country. This checks the country's BBAN structure too, so a wrong-length or wrong-shaped account is rejected before your payment file reaches the bank. When only the two check digits are wrong, the correct ones are computed and returned as a suggestion, because that is what people actually mistype. Turkish, Dutch and Belgian IBANs additionally resolve to a bank name when the national code is in our table; otherwise bankName is null. This is not a SWIFT directory.
| Name | Type | Req | Description |
|---|---|---|---|
| expectCountry | string | – | Expected country code (ISO 3166-1 alpha-2). |
| iban | string | yes | IBAN, with or without spaces. |
No output schema declared.
No examples provided.
id_mrz MRZ Check Digits ~173
Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof. Machine-readable zones on passports and ID cards carry ICAO 9303 check digits (weights 7,3,1). This parses TD3 (2×44, typical passport) and TD1 (3×30, typical ID card) and reports each field check. A mismatched check digit is HTTP 200 with valid:false — the string is still an MRZ, just inconsistent. This is a format check, not identity proof: it does not confirm the document was issued or that the holder is who they claim.
| Name | Type | Req | Description |
|---|---|---|---|
| mrz | string | yes | ICAO 9303 MRZ text: TD3 two lines of 44, or TD1 three lines of 30. |
No output schema declared.
No examples provided.
isbn_validate ISBN Validate & Convert ~173
Validates ISBN-10 and ISBN-13 check digits and converts between them when the 978 prefix allows it. Catalogue and retail systems still mix ISBN-10 and ISBN-13. This checks the ISBN-10 weighted mod-11 digit (X allowed) and the ISBN-13 / EAN-13 alternating 1–3 check digit. When an ISBN-10 is valid it returns the ISBN-13 form (978 + body + new check). ISBN-13 values starting with 978 convert back to ISBN-10; 979 prefixes have no ISBN-10 equivalent and isbn10 stays null. Hyphens and spaces are stripped. A valid checksum is not proof the title exists in a national bibliography.
| Name | Type | Req | Description |
|---|---|---|---|
| isbn | string | yes | ISBN-10 or ISBN-13, with or without hyphens. |
No output schema declared.
No examples provided.
isin_validate ISIN Validation ~157
Validates an ISIN (ISO 6166): country code, national identifier and the letter-aware check digit. Portfolio imports and corporate-action files fail on a single mistyped ISIN. The check digit is a Luhn variant that first expands letters to two digits (A=10…Z=35), so a swapped letter is caught, not just a swapped digit. XS (international), EU and other reserved prefixes are accepted as country codes even though they are not ISO 3166 territories. A valid ISIN is self-consistent. It is not proof the security exists, is listed, or is the one you meant.
| Name | Type | Req | Description |
|---|---|---|---|
| isin | string | yes | ISIN, 12 characters, e.g. US0378331005. |
No output schema declared.
No examples provided.
lei_lookup LEI Lookup ~196
Looks up a Legal Entity Identifier in the GLEIF register: legal name, registration status, country, and BIC. Checksum-valid is not the same as currently registered — a LAPSED or MERGED LEI still passes ISO 7064. This endpoint checks the digits locally first (a typo never becomes an upstream call) then GET the GLEIF lei-records API. Results are cached for 24 hours. GLEIF allows 60 requests per minute; above that, or on timeout/5xx, we return `unknown` rather than invent a registration. HTTP 404 means the service answered and the LEI is not in the index (`invalid`). This is not a replacement for GLEIF’s own API for bulk. `status` is registration.status (ISSUED/LAPSED/MERGED/…), not entity.status (ACTIVE).
| Name | Type | Req | Description |
|---|---|---|---|
| lei | string | yes | Legal Entity Identifier, 20 characters. |
No output schema declared.
No examples provided.
lei_validate LEI Validation ~173
Validates a 20-character Legal Entity Identifier (ISO 17442) with the ISO 7064 mod-97 check digits. KYC and MiFID reporting reject an LEI that fails the check digits before anyone looks the entity up. The algorithm is the same family as IBAN (ISO 7064 mod 97-10) over all 20 characters; the remainder must be 1. The first 4 characters are the issuing LOU prefix, the next 14 the entity, the last 2 the check digits. This does not call GLEIF. A checksum-valid LEI can be lapsed, merged, or never issued. Use GLEIF's free API if you need "this legal entity is currently registered".
| Name | Type | Req | Description |
|---|---|---|---|
| lei | string | yes | Legal Entity Identifier, 20 characters. |
No output schema declared.
No examples provided.
mcp_index MCP Tool Surface Index ~414
Searchable, dated archive of what every public MCP server actually exposes — tool definitions, daily change feed, and rug-pull detection. The official MCP registry publishes a server’s name and address but not its tool surface; the only way to learn what a server exposes is to connect and call `tools/list`. This endpoint does that daily across every public remote server and keeps the result. Three things become answerable that the source cannot answer: tool-level search (the registry has none), uptime, and — the one that matters for security — what a tool’s description said yesterday. In MCP a tool description is part of the context handed to the model, so it is prompt text; if it changes after the user approved the server, the server has silently injected new instructions. Each indexed tool also carries a review score with the matched evidence, so the claim can be checked rather than trusted. Measurement boundary: only `initialize` and `tools/list` are ever called — never `tools/call`.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Window in days (`changes` and `server`). |
| limit | integer | – | – |
| minRisk | integer | – | Only tools whose review score is at or above this (only `search`). |
| q | string | – | Search term (only `search`), e.g. `invoice`, `calendar`, `sql`. |
| server | string | – | Registry server name, e.g. `com.temsor/api`. Required for `server`/`tool` views. |
| severity | string | – | Only `changes`. |
| tool | string | – | Tool name (only `tool` view). |
| type | string | – | Event type filter (only `changes`), e.g. `tool_description_changed`. |
| view | string | – | `search`: search tool name/description · `changes`: change feed (the actual product) · `server`: per-day measurement history for one server · `tool`: definition history for one tool · `stats`: index-… |
No output schema declared.
No examples provided.
model_archive LLM Price & Lifecycle Archive ~357
Dated archive of LLM prices, context windows, announced retirement dates and quiet delistings across 400+ models and 50+ providers. Providers overwrite their pricing pages and drop models from their catalogs without publishing what changed. This endpoint keeps a daily record, so three otherwise unanswerable questions become answerable: what a model cost on a given date (a contract and budget question), which models were quietly removed (a dependency-audit question), and when a retirement date was first announced and whether it later moved (a migration-planning question). Price points land in the shared time series, so a full range query is available through `series/history` under `model.price.<provider>/<model>.<input|output|cache_read>`. The archive can only accumulate forward — it cannot be reconstructed after the fact.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | `events`: window in days. |
| includeDelisted | boolean | – | `catalog`: include delisted models. |
| limit | integer | – | – |
| provider | string | – | Provider prefix, e.g. `anthropic`, `openai`, `google`. |
| q | string | – | Search in model id/name (only `catalog`). |
| severity | string | – | – |
| slug | string | – | Full model id, e.g. `anthropic/claude-opus-5` (only `events`). |
| type | string | – | Event type (only `events`). |
| view | string | – | `catalog`: tracked models · `expiring`: retirement announced · `delisted`: dropped from the catalogue · `events`: lifecycle events · `stats`: archive totals. |
| withinDays | integer | – | `expiring`: retire within this many days. |
No output schema declared.
No examples provided.
model_drift LLM Endpoint Drift ~242
Independent daily record of what changed behind a provider endpoint: which alias resolved to which model, and when behaviour shifted. Providers update models behind stable endpoint names. This endpoint publishes an independent measurement: a fixed probe suite is sent daily at temperature 0, three repeats per probe, and the identity a provider declares in its own response (`modelVersion`, `system_fingerprint`, region) is recorded alongside. A change is only reported as drift when the repeats agree with each other and disagree with the previous run — same-day disagreement is noise, not drift. `aliases` answers "what was actually behind `gemini-flash-latest` on that day"; a question that cannot be answered retroactively.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | History window in days (only `events`). |
| limit | integer | – | – |
| provider | string | – | Filter by provider (gemini, groq, cerebras, mistral). |
| severity | string | – | Only for the `events` view. |
| view | string | – | `aliases`: alias → the real model behind it · `events`: drift events · `probes`: probe status from the last run. |
No output schema declared.
No examples provided.
pay_epc_qr EPC QR Payload ~263
Builds an EPC069-12 v3.1 V2 (002) SCT payload. Does not send money; returns text only, no PNG. European payments often start from a QR that encodes an EPC069-12 credit-transfer payload. This endpoint builds that text in version 002 (V2): BCD, UTF-8, SCT, optional BIC, name, electronic IBAN, EUR amount. Purpose and structured remittance are left empty; unstructured remittance is copied if given. Lines are LF, not CRLF. IBAN spaces are stripped and letters uppercased; mod-97 is not required here. TRY, USD and any non-EUR currency are rejected. This does not send money and does not render a QR image.
| Name | Type | Req | Description |
|---|---|---|---|
| amountEur | number | yes | Transfer amount in EUR (positive). |
| bic | string | – | Beneficiary BIC; optional in V2 (002). |
| currency | string | – | Must be EUR if provided. Other currencies are rejected. |
| iban | string | yes | Beneficiary IBAN, with or without spaces. |
| name | string | yes | Beneficiary name (SCT Name). |
| remittance | string | – | Unstructured remittance (e.g. invoice number). |
No output schema declared.
No examples provided.
pbx_audio_chunk PBX Audio Chunk ~105
Notify an optional audio chunk / customer URI for a live or archived call (idle $0). Prefer customer storage URI. Temsor keeps a pointer; STT only while a call is active.
| Name | Type | Req | Description |
|---|---|---|---|
| bytes_b64 | string | – | Optional small demo chunk; production prefers URI. |
| call_id | string | yes | – |
| pbx_id | string | – | – |
| t_ms | integer | – | – |
| uri | string | – | Customer-side media URI (preferred). |
No output schema declared.
No examples provided.
pbx_bridge_multi_agent Multi-Agent Handoff Bridge ~181
Multi-agent handoff bridge intent + shared open-promise memory. Idle $0. No live PSTN. POST /v1/pbx/bridge/multi-agent {call_id, agents:[{role,label}]}. Records a virtual multi-agent handoff bridge intent in the PBX index for co-agent orchestration. Returns shared_memory linking open promises on the call. Idle $0. No Telnyx/DID/LLM/live PSTN. Advanced: intent only — no live Asterisk/ExternalMedia.
| Name | Type | Req | Description |
|---|---|---|---|
| agents | array | yes | Virtual RTP agents to bridge (intent only — no live Asterisk). |
| call_id | string | yes | Call id to attach the multi-agent bridge intent to. |
| pbx_id | string | – | Optional PBX scope; falls back to x-temsor-pbx-key or demo PBX. |
No output schema declared.
No examples provided.
pbx_calls PBX Recent Calls ~72
List recent calls with transfer path crumbs — site + customer archive browser. GET /v1/pbx/calls?limit=20. Scoped by x-temsor-pbx-key when set. Idle $0. No DID sales.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max recent calls to return (1–100). |
No output schema declared.
No examples provided.
pbx_calls_get PBX Get Call ~75
Get one call by id with transfer graph — customer detail drawer. GET /v1/pbx/calls/get?call_id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | Call id (e.g. call_msp_002). |
No output schema declared.
No examples provided.
pbx_calls_graph Call Handoff Graph ~134
Handoff graph + transfer edges — who→whom→where the promise stuck (moat). Idle $0. GET /v1/pbx/calls/graph?call_id=…&stuck_at=310. Returns path, path_tr (plain Turkish), edges, and raw transfers. Compounding asset for search/orchestration: handoff edges, not a bot transcript. Idle $0. No DID sales / no live PSTN.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | Call id whose transfer graph to return. |
| stuck_at | string | – | Optional override for where the promise stuck (extension). |
No output schema declared.
No examples provided.
pbx_dictionary PBX Domain Dictionary ~160
Managed SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums. GET /v1/pbx/dictionary?domain=otel|santral_firmasi|sigorta|finans|enerji|otomotiv|msp|all (msp = legacy alias for santral_firmasi). Idle $0, no LLM. Synonyms feed archive search (match crumbs) and transcript Fact extraction. Write path: POST /v1/pbx/dictionary/add.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | Domain slice: otel | santral_firmasi | sigorta | finans | enerji | otomotiv (legacy msp) | all |
No output schema declared.
No examples provided.
pbx_dictionary_add PBX Dictionary Add Alias ~294
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. POST /v1/pbx/dictionary/add {term, alias, domain:otel|santral_firmasi|sigorta|finans|enerji|otomotiv, scope?:pbx|global}. Managed SaaS compounding (E4): tenant-scoped aliases thicken search + fact extract. No invented premiums/prices. Idle $0, no LLM. Legacy msp → santral_firmasi.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | Synonym / alias to add (e.g. cooling, line package). |
| boost | number | – | Search boost weight (default 2). |
| domain | string | – | Domain: otel | santral_firmasi | sigorta | finans | enerji | otomotiv (legacy msp accepted). |
| hint_en | string | – | – |
| hint_tr | string | – | – |
| kind | string | – | Fact kind; inferred from seed term when omitted. |
| scope | string | – | pbx = scoped to x-temsor-pbx-key; global = demo-wide. Default: pbx if registered key, else global. |
| term | string | yes | Canonical term (e.g. AC, tariff). Plain Turkish preferred. |
No output schema declared.
No examples provided.
pbx_events Call Events Ingest ~183
Ingest call-ops events → open promises + transfer crumbs for search/orchestration. Optional HMAC. Idle $0 when no calls. Demo stores events in memory/file. Auth: omit, x-temsor-pbx-key, or x-temsor-signature = hex(HMAC-SHA256(api_key, body)); bad signature rejected when header present. BridgeEnter → transfer/handoff crumbs. Utterance/text → open Promise docs via heuristic (no LLM). Idle $0. Body ≤256 KiB → 429. Advanced: ARI/Stasis batch shape when customer runs own PBX — not Asterisk-first product copy.
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | yes | ARI / Stasis event batch. Utterance/text fields trigger heuristic promise extract. |
| pbx_id | string | – | PBX id that emitted the ARI batch. |
No output schema declared.
No examples provided.
pbx_facts PBX Facts List ~223
List extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q. GET /v1/pbx/facts?call_id=&kind=&domain=otel|santral_firmasi|all&q=&limit=50. Facts come from transcript extract + domain dictionary; persist in pbx-index. Scoped by x-temsor-pbx-key. Idle $0. No DID sales. KVKK forget ready. Advanced: own PBX/Asterisk stays on customer.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | – | Filter by call id (e.g. call_msp_001). |
| domain | string | – | Domain slice: otel | santral_firmasi | sigorta | finans | enerji (legacy msp) | all. |
| kind | string | – | Fact kind key (imei, oda, tarife, ...) or all. |
| limit | integer | – | Max facts to return (1–200). |
| q | string | – | Free-text filter over kind + value + call_id. |
No output schema declared.
No examples provided.
pbx_facts_get PBX Get Fact ~76
Get one extracted fact by id — detail drawer for site + customer. GET /v1/pbx/facts/get?id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0. No DID sales.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Fact id (e.g. fact_001). |
No output schema declared.
No examples provided.
pbx_index_partial PBX In-Call Partial Index Upsert ~251
Upsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0. POST /v1/pbx/index/partial {call_id, text?, speaker?, t_ms?, is_final?, live?, end_call?, promote?}. Streams partial STT queue into accumulating Fact/Promise hints while the call is live. No Temsor STT/LLM — customer posts text. Managed SaaS in-call index; no DID sales. Own PBX optional footnote. Idle $0.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | Live call id to upsert partial index for. |
| end_call | boolean | – | Mark live=false; idle $0 for this call. |
| is_final | boolean | – | Finalized utterance span (vs interim). |
| live | boolean | – | Default true while call is live. |
| pbx_id | string | – | – |
| promote | boolean | – | Promote heuristic hints into durable Promise/Fact docs. |
| speaker | – | – | – |
| t_ms | – | – | – |
| text | string | – | Partial utterance / snippet (customer STT or demo). Empty = metadata-only. |
No output schema declared.
No examples provided.
pbx_index_partial_get PBX In-Call Partial Index Read ~94
GET mid-call partial index — accumulating facts/promises/snippets while live. GET /v1/pbx/index/partial/get?call_id=…. Returns live partial state for whisper ≤400ms path. Idle $0 when no live call. Managed SaaS in-call index; no DID sales. Own PBX optional footnote.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | yes | Call id whose live partial index to read. |
No output schema declared.
No examples provided.
pbx_ingest_transcript PBX Ingest Transcript ~159
Heuristic TR promise extractor from transcript text — creates open Promise docs (idle $0, no LLM). Detects promise-like sentences (söz, vaat, edeceğiz, iade, iptal, yarın…). Optional persist_promises=false for extract without writing. Also wired via utterance text on POST /v1/pbx/events.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | – | – |
| ext | string | – | – |
| pbx_id | string | – | – |
| persist_promises | boolean | – | When false, extract only (dry-run, no write). When true, create Promise docs status=open. |
| transcript | string | yes | TR utterance / transcript text to scan for promises. |
| who | string | – | – |
No output schema declared.
No examples provided.
pbx_night_twin_last PBX Night Twin Last Report ~68
GET last gece-ikizi report persisted on forge volume (null if never run). Idle $0. GET /v1/pbx/night-twin/last — last report from POST /v1/pbx/night-twin/run. No LLM/Telnyx.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pbx_night_twin_run PBX Night Twin Run ~152
Night scan: open promises older than N hours → unresolved candidates (iptal/iade/söz). ≤20/hour/key → 429. Idle $0, no LLM. POST /v1/pbx/night-twin/run {pbx_id?, older_than_hours?}. Heuristic night twin — still-open promises older than N hours whose text matches iptal/iade/söz. Persists last report on forge volume. No Telnyx/LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| older_than_hours | number | – | Scan open promises whose call is older than this many hours. |
| pbx_id | string | – | Optional PBX scope; falls back to x-temsor-pbx-key scope. |
No output schema declared.
No examples provided.
pbx_orchestra_act Call Orchestra Act ~248
Agent orchestration: search/promise hits → whisper / hold / transfer / PCI handoff intent. Idle $0. No live PSTN. Own PBX = advanced footnote. POST /v1/pbx/orchestra/act {call_id, action, params?, stasis_webhook_url?}. Turns search/promise/suggest hits into managed orchestra intents (handoff-ready) on Temsor runtime. No live RTP required for stub. Idle $0. Not a receptionist bot. Prefer POST /v1/pbx/promises/act for promise→graph closed loop (E1). Advanced: optional own-PBX Stasis/ARI webhook forward — not Asterisk-first glue.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | whisper | hold | transfer | pci_stop | snoop |
| call_id | string | yes | Live or indexed call id to act on. |
| params | object | – | Action params (to_ext required for transfer). |
| pbx_id | string | – | – |
| skip_forward | boolean | – | Record only; do not POST webhook. |
| stasis_webhook_url | string | – | Optional customer Stasis webhook — forge POSTs the act intent there. |
No output schema declared.
No examples provided.
pbx_orchestra_acts PBX Orchestra Recent Acts ~174
List recent orchestration/handoff intents (whisper/hold/transfer/PCI). Number→flow SaaS · idle $0 · no DID. Own PBX = advanced footnote. GET /v1/pbx/orchestra/acts?limit=20&call_id=. Tenant-scoped recent orchestra intents (E.5) for agent audit. Pairs with POST /v1/pbx/orchestra/act and POST /v1/pbx/promises/act (E1 closed loop). Managed SaaS runtime — idle $0 · not live PSTN. Advanced: not Asterisk-first glue; own PBX optional footnote.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | – | Optional filter — only acts for this call_id. |
| limit | integer | – | Max recent orchestra acts (default 20). |
No output schema declared.
No examples provided.
pbx_persons PBX Persons List ~199
Light CRM from call graph / facts — caller phones+names and extension identities seen on transfers. GET /v1/pbx/persons?call_id=&kind=caller|extension|all&q=&limit=50. Durable Person rows from pbx-index plus derived extension identities (ext_NNN) from Transfer edges / promise.ext. Scoped by x-temsor-pbx-key. Idle $0. No DID sales. KVKK forget ready. Advanced: own PBX/Asterisk stays on customer.
| Name | Type | Req | Description |
|---|---|---|---|
| call_id | string | – | Filter persons seen on this call id. |
| include_extensions | boolean | – | Include derived extension identities (default true). |
| kind | string | – | caller = durable Person; extension = derived from call-graph hops; all = both. |
| limit | integer | – | Max persons to return (1–200). |
| q | string | – | Free-text over names, phones, org, extensions, facts. |
No output schema declared.
No examples provided.
pbx_persons_get PBX Get Person ~95
Get one light-CRM identity by id — caller Person or derived extension. GET /v1/pbx/persons/get?id=per_001|ext_101. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0. No DID sales.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Person id (e.g. per_001) or extension id (e.g. ext_101). |
No output schema declared.
No examples provided.
pbx_promises Open Call Promises ~99
List open/broken call promises for agent handoff tracking — hotel / MSP sales demo. Idle $0. GET /v1/pbx/promises?status=open returns open/unclosed promises with transfer/handoff path for orchestration. Scoped by x-temsor-pbx-key when set. Idle $0. No live PSTN.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Promise status filter; closed = kept|broken. Sales demo uses open. |
No output schema declared.
No examples provided.
pbx_promises_act Promise → Orchestra Closed Loop ~227
E1 moat: who→whom→promise → orchestra handoff intent (whisper/transfer/hold). Idle $0. No live PSTN. Own PBX = advanced footnote. POST /v1/pbx/promises/act {promise_id, action?}. Loads the promise + call graph, suggests whisper/transfer/hold, records orchestra intent with source_type=promise for agent handoff. Managed SaaS runtime. ≤120/hour/key (shares orchestra bucket). Idle $0. carrier/pstn always false. No cross-tenant graph merge. Advanced: not Asterisk-first glue; own PBX optional footnote.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Default whisper. transfer uses graph stuck_at / promise.ext. |
| agent_ext | string | – | – |
| pbx_id | string | – | – |
| promise_id | string | yes | Open (or any) promise id — closed loop reads call graph then records orchestra intent. |
| skip_forward | boolean | – | Default true — record intent only. |
| stasis_webhook_url | string | – | – |
No output schema declared.
No examples provided.
pbx_promises_close PBX Close Promise ~163
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. POST /v1/pbx/promises/close {promise_id, status:kept|broken, note?}. Phones/emails in note are scrubbed. Scoped by x-temsor-pbx-key when set. Idle $0 — no LLM/PSTN.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | Optional short operator note. Phones/emails stripped (KVKK-safe). |
| promise_id | string | yes | Promise id (prm_*). Sales demo marks open promises kept|broken. |
| status | string | yes | Close outcome: kept (honoured) or broken (not kept). |
No output schema declared.
No examples provided.
pbx_promises_export PBX Promises Export ~113
Export open/broken promises as CSV or JSON — hotel / PBX-provider unclosed-promise sales list. GET /v1/pbx/promises/export?status=open|closed&format=csv|json. CSV/JSON include closed_at, close_note, path crumbs. Scoped by x-temsor-pbx-key when set. Idle $0.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Export format. |
| status | string | – | Promise status filter; closed = kept|broken. Sales demo uses open. |
No output schema declared.
No examples provided.
pbx_promises_reopen PBX Reopen Promise ~109
Undo a kept/broken close — restore an open promise so the sales demo can reverse a mis-click. ≤60/hour/key → 429. POST /v1/pbx/promises/reopen {promise_id}. Only kept|broken → open; clears closed_at/close_note. Scoped by x-temsor-pbx-key when set. Idle $0.
| Name | Type | Req | Description |
|---|---|---|---|
| promise_id | string | yes | Promise id (prm_*). Undo a kept|broken close — restore open. |
No output schema declared.
No examples provided.
pbx_redact PBX Redact ~255
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. E.3 KVKK-first redaction for managed SaaS. mode=anonymize|delete. Lookup by target_id or phone. Clears Person/Promise/Fact/partial index + Temsor audio pointers in your tenant only (no cross-tenant). Durable audit. Raw media stays on your side. Not a legal deletion SLA. List: GET /v1/pbx/redact/audit.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | anonymize (default) scrubs fields; delete removes docs. |
| phone | string | – | Caller phone — finds Person phones (+ linked derived index). |
| reason | string | – | KVKK (personal-data) / forget reason. |
| target_id | string | – | Document id (prm_*, per_*, call_*, fact_*). |
| target_type | string | – | Index document type. Optional when `phone` is set. |
| who | string | – | Actor label for durable audit (defaults to pbx scope / demo-operator). |
No output schema declared.
No examples provided.
pbx_redact_audit PBX Redact Audit ~122
List recent KVKK forget actions — who/what/when + tenant scope. Managed SaaS derived-index audit; not a legal deletion SLA. GET /v1/pbx/redact/audit?limit=20. Durable audit from POST /v1/pbx/redact (E.3). Tenant-scoped. Derived index cleared; raw media not deleted by Temsor. Number→flow managed SaaS; own PBX optional. No DID sales.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max recent forget actions to return (default 20). |
No output schema declared.
No examples provided.
pbx_register PBX Register ~247
Register a pilot PBX; returns pbx_id + API key once (hashed at rest). ≤5/hour/IP → 429. Idle $0. Control-plane register. API key shown once; stored hashed at rest. Send x-temsor-pbx-key to scope GET /v1/pbx/promises to this pbx_id. No speech recognition while idle.
| Name | Type | Req | Description |
|---|---|---|---|
| ari_webhook_secret | string | – | ARI webhook signing secret (stored as hint only). |
| string | – | Pilot contact email. | |
| label | string | – | Human label, e.g. hotel or PBX/IT provider site. |
| name | string | – | Pilot contact name (waitlist / register). |
| pbx_id | string | – | Pilot PBX id; auto-minted if omitted. |
| webhook_events | – | – | Event list or comma string: promise.opened|closed, fact.extracted, orchestra.act, redact, or *. |
| webhook_secret | string | – | Optional HMAC secret for outbound webhook signatures (x-temsor-signature). |
| webhook_url | string | – | Optional outbound webhook URL — Temsor POSTs promise/fact/orchestra/redact events. |
No output schema declared.
No examples provided.
pbx_search Voice Archive Search ~176
Agent archive search over call promises and facts — voice-Google for call-ops, not a receptionist bot. Idle $0. Demo index + domain dictionary v0. Filters: status, date, ext, competitor, stuck_after (transfer/handoff hop). Returns call-graph path + transfer edges for orchestration. Idle $0. No live PSTN.
| Name | Type | Req | Description |
|---|---|---|---|
| competitor | string | – | – |
| date_from | string | – | ISO date/time lower bound (promise.when_iso / call.started_at). |
| date_to | string | – | ISO date/time upper bound. |
| ext | string | – | – |
| q | string | – | Full-text query over promises, facts, and call summaries. |
| status | string | – | – |
| stuck_after | string | – | Filter: promise stuck after transfer to this extension (to_ext hop). |
No output schema declared.
No examples provided.
pbx_status PBX Status ~75
Control-plane status — promise/orchestra/search counts + idle $0. No DID sales. GET /v1/pbx/status. Scoped by x-temsor-pbx-key when set. Derived index on Temsor for agent search/orchestration. Idle $0. Advanced: own PBX/Asterisk stays on customer.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pbx_synthetic_run PBX Synthetic Caller Run ~171
Load demo: sample call utterances → promise extractor → stats (calls, promises_open). ≤10/hour/key → 429. Idle $0, no LLM/PSTN. POST /v1/pbx/synthetic/run {scenario:ivr_menu|promise_heavy, count:10..500}. Generates deterministic fake utterances, runs heuristic ingest/transcript extract, returns calls + promises_open. No Telnyx/DID/LLM.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | Fake call count, capped 10..500. |
| pbx_id | string | – | Optional PBX scope; falls back to x-temsor-pbx-key or demo PBX. |
| scenario | string | – | ivr_menu = DTMF/menu stress; promise_heavy = dense commitment lexicon. |
No output schema declared.
No examples provided.
pbx_webhooks PBX Outbound Webhooks ~251
Register or list outbound webhooks — customer URL receives promise/fact/orchestra/redact events (HMAC if secret). POST write ≤30/hour/key → 429. POST /v1/pbx/webhooks {url, secret?, events?, ping?} registers. GET lists. ping:true sends a test delivery. Events: promise.opened, promise.closed, fact.extracted, orchestra.act, redact. Signed with x-temsor-signature when secret set. Idle $0. No DID sales. KVKK. Advanced: own PBX/Asterisk stays on customer.
| Name | Type | Req | Description |
|---|---|---|---|
| events | – | – | Events: promise.opened|closed, fact.extracted, orchestra.act, redact, or *. |
| limit | integer | – | List limit (default 50). |
| ping | boolean | – | If true with url → register then ping; if true without url → ping existing. |
| secret | string | – | Optional HMAC-SHA256 secret → x-temsor-signature: sha256=<hex>. |
| url | string | – | Outbound webhook URL (http/https). Present → register; omit on GET → list. |
| webhook_id | string | – | For ping: target webhook id. |
No output schema declared.
No examples provided.
pbx_webhooks_deliveries PBX Webhook Deliveries ~120
List last N outbound webhook deliveries (stub or live) — promise/fact/orchestra/redact/ping. GET /v1/pbx/webhooks/deliveries?limit=20&webhook_id=. Durable log of Temsor→customer POSTs. HMAC when secret set. Idle $0. No DID sales. KVKK. Advanced: own PBX/Asterisk stays on customer.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max deliveries (default 20). |
| webhook_id | string | – | Filter by webhook id. |
No output schema declared.
No examples provided.
What is the Temsor API — Turkey & EU business data MCP server?
Temsor API — Turkey & EU business data is an MCP server listed in the public MCP registry as com.temsor/api. Turkey & EU business data: validation, sanctions screening, parsing, FX and fuel price history. This page covers its hosted endpoint (https://api.temsor.com/mcp).
Is the Temsor API — Turkey & EU business data MCP server safe to use?
Temsor API — Turkey & EU business data scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Temsor API — Turkey & EU business data MCP server expose?
Temsor API — Turkey & EU business data exposes 72 tools: ai_messages, bic_validate, container_validate, creditor_ref, ean_gtin, and 67 more. Their descriptions and schemas cost roughly 13,973 tokens of context every time the server is loaded.
Does the Temsor API — Turkey & EU business data MCP server require authentication?
No. We connected to Temsor API — Turkey & EU business data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Temsor API — Turkey & EU business data MCP server still maintained?
Temsor API — Turkey & EU business data is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.