{"openapi":"3.1.0","info":{"title":"Datero API","description":"Romanian public data over two identical channels: REST and MCP (https://api.datero.ro/mcp). Human docs: https://datero.ro/docs","version":"1.0.0"},"components":{"schemas":{},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Datero API key (`dat_live_…`), created in the dashboard. Reference-data endpoints also work unauthenticated (rate-limited, not metered)."}}},"paths":{"/api/auth/{*}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"*","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/mcp":{"post":{"responses":{"200":{"description":"Default Response"}}},"get":{"responses":{"200":{"description":"Default Response"}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/health":{"get":{"summary":"Health check","tags":["System"],"description":"Returns OK if the API is running.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}}}}}}}}},"/v1/status":{"get":{"summary":"API status","tags":["System"],"description":"Returns API version, uptime, environment, and current timestamp.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["version","uptime","environment","timestamp"],"properties":{"version":{"type":"string"},"uptime":{"type":"number"},"environment":{"type":"string"},"timestamp":{"format":"date-time","type":"string"}}}}}}}}},"/v1/plans":{"get":{"summary":"Plan catalog","tags":["System"],"description":"Public plan catalog: monthly credits, rate limits and prices (EUR, excl. VAT). Sign up at https://datero.ro/login.","responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["code","name","monthlyCredits","rateLimitRps","rateLimitBurst","priceEurMonthly","purchasable"],"properties":{"code":{"type":"string"},"name":{"type":"string"},"monthlyCredits":{"description":"-1 = unlimited.","type":"integer"},"rateLimitRps":{"type":"integer"},"rateLimitBurst":{"type":"integer"},"priceEurMonthly":{"description":"List price excl. VAT; 0 for Free/Enterprise.","type":"number"},"purchasable":{"description":"Self-serve checkout available.","type":"boolean"}}}}}}}}}},"/v1/keys":{"post":{"summary":"Create an API key","tags":["API Keys"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"minLength":1,"maxLength":100,"type":"string"}}}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["id","name","prefix","key","createdAt"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"prefix":{"type":"string"},"key":{"type":"string"},"createdAt":{"type":"string"}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}},"get":{"summary":"List API keys","tags":["API Keys"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"additionalProperties":true,"type":"object","properties":{}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/keys/{id}":{"delete":{"summary":"Revoke an API key","tags":["API Keys"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response"},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/usage":{"get":{"summary":"Current plan and usage","tags":["Account"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":false,"type":"object","required":["plan","period","monthlyCredits","creditsUsed","creditsRemaining","rateLimit"],"properties":{"plan":{"type":"string"},"period":{"type":"string"},"monthlyCredits":{"type":"integer"},"creditsUsed":{"type":"integer"},"creditsRemaining":{"anyOf":[{"type":"integer"},{"type":"null"}]},"rateLimit":{"type":"object","required":["rps","burst"],"properties":{"rps":{"type":"integer"},"burst":{"type":"integer"}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/billing/checkout":{"post":{"summary":"Start a subscription checkout","tags":["Billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["plan"],"properties":{"plan":{"type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/billing/portal":{"post":{"summary":"Open the billing portal","tags":["Billing"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/invoices":{"get":{"summary":"List the fiscal invoices issued to your organization","tags":["Billing"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["invoices"],"properties":{"invoices":{"type":"array","items":{"type":"object","required":["id","number","issueDate","currency","netTotal","vatTotal","grossTotal","efacturaStatus","pdfReady"],"properties":{"id":{"type":"string"},"number":{"type":"string"},"issueDate":{"type":"string"},"currency":{"type":"string"},"netTotal":{"type":"integer"},"vatTotal":{"type":"integer"},"grossTotal":{"type":"integer"},"efacturaStatus":{"type":"string"},"pdfReady":{"type":"boolean"}}}}}}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/invoices/{id}/pdf":{"get":{"summary":"Download an invoice PDF","tags":["Billing"],"parameters":[{"schema":{"format":"uuid","type":"string"},"in":"path","name":"id","required":true}],"responses":{"401":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/contact":{"post":{"summary":"Send a message to the Datero team","tags":["System"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","message"],"properties":{"name":{"minLength":2,"maxLength":120,"type":"string"},"email":{"format":"email","maxLength":200,"type":"string"},"message":{"minLength":10,"maxLength":5000,"type":"string"},"website":{"maxLength":0,"type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}},"429":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}}}}}}}}},"/v1/companies/{cui}":{"get":{"summary":"Get a company by CUI","tags":["Companies"],"description":"Company profile sourced from Companero. Use ?include= to embed balance sheets and legal representatives.","parameters":[{"schema":{"type":"string"},"in":"query","name":"include","required":false,"description":"Comma-separated sub-resources to embed, e.g. \"balanceSheets,legalRepresentatives\"."},{"schema":{"pattern":"^\\d+$","type":"string"},"in":"path","name":"cui","required":true,"description":"Company tax id (CUI), digits only.","example":"2816464"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Profil firmă după CUI","description":"Datele de identificare, sediu și statut TVA, direct după CUI.","value":{"taxId":2816464,"name":"DEDEMAN SRL","companyType":"SRL","tradeNumber":"J04/2621/1992","county":"BACĂU","city":"Bacău","mainNaceCode":"4752","registrationDate":"1993-01-27","registrationStatus":"INREGISTRAT din data 27.01.1993","stateRegistration":"in_operation","address":"JUD. BACĂU, MUN. BACĂU, STR. ALEXEI TOLSTOI, NR.8","postalCode":"600093","legalForm":"SOCIETATE COMERCIALĂ CU RĂSPUNDERE LIMITATĂ","ownershipForm":"PROPR.PRIVATA-CAPITAL PRIVAT AUTOHTON","organizationForm":"PERSOANA JURIDICA","fiscalAuthority":"Direcţia Generală de Administrare a Marilor Contribuabili","vatPayer":true,"vatSince":null,"vatOnCollection":false,"vatSplit":false,"phone":"0234513330","website":null}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":1,"x-entitlement":"companies.read","x-mcp-tool":"get_company","x-capability":"companies.get","x-anonymous-access":true}},"/v1/companies":{"get":{"summary":"Search companies","tags":["Companies"],"description":"Full-text + filtered company search, backed by Companero (Elasticsearch).","parameters":[{"schema":{"type":"string"},"in":"query","name":"q","required":false,"description":"Free-text company name.","example":"dedeman"},{"schema":{"type":"string"},"in":"query","name":"county","required":false,"description":"County name (e.g. \"Cluj\") or code."},{"schema":{"type":"string"},"in":"query","name":"city","required":false},{"schema":{"type":"string"},"in":"query","name":"naceCode","required":false,"description":"CAEN code (4 digits)."},{"schema":{"type":"string"},"in":"query","name":"industryId","required":false},{"schema":{"pattern":"^(100|[1-9][0-9]?)$","type":"string"},"in":"query","name":"limit","required":false,"description":"1–100, default 25.","example":"1"},{"schema":{"pattern":"^(0|[1-9][0-9]{0,5})$","type":"string"},"in":"query","name":"offset","required":false,"description":"0–999999, default 0."},{"schema":{"type":"string"},"in":"query","name":"sortBy","required":false},{"schema":{"type":"string"},"in":"query","name":"sortDirection","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Căutare după denumire","description":"Full-text pe denumire; răspunsul include totalCount și un eșantion paginat.","value":{"totalCount":4,"limit":1,"offset":0,"tookMs":30,"items":[{"taxId":2816464,"name":"DEDEMAN SRL","companyType":"SRL","tradeNumber":"J04/2621/1992","county":"BACĂU","city":"Bacău","mainNaceCode":"4752","registrationDate":"1993-01-27","stateRegistration":"in_operation","address":"JUD. BACĂU, MUN. BACĂU, STR. ALEXEI TOLSTOI, NR.8","vatPayer":true,"phone":"0234513330","website":null}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":1,"x-entitlement":"companies.search","x-mcp-tool":"search_companies","x-capability":"companies.search","x-anonymous-access":true}},"/v1/caen-codes":{"get":{"summary":"Search the CAEN Rev.3 classification","tags":["CAEN"],"description":"Official Romanian CAEN Rev.3 activity classification (in force since 2025-01-01), hierarchical: section (letter A–U) → division (2 digits) → group (3) → class (4). No filters returns the whole nomenclature, paginated. Free of charge.","parameters":[{"schema":{"type":"string"},"in":"query","name":"q","required":false,"description":"Free text (activity name, diacritics-insensitive) or a code prefix.","example":"software"},{"schema":{"type":"string"},"in":"query","name":"code","required":false,"description":"Exact codes, comma-separated, e.g. \"6210,6220\"."},{"schema":{"pattern":"^(section|division|group|class)$","type":"string"},"in":"query","name":"type","required":false,"description":"Hierarchy level: \"section\", \"division\", \"group\" or \"class\"."},{"schema":{"pattern":"^([A-Za-z]|\\d{2,4})$","type":"string"},"in":"query","name":"parent","required":false,"description":"Parent code — returns its direct children, e.g. \"J\", \"62\", \"620\"."},{"schema":{"pattern":"^(100|[1-9][0-9]?)$","type":"string"},"in":"query","name":"limit","required":false,"description":"1–100, default 50.","example":"2"},{"schema":{"pattern":"^(0|[1-9][0-9]{0,5})$","type":"string"},"in":"query","name":"offset","required":false,"description":"0–999999, default 0."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Căutare după denumirea activității","description":"Full-text, fără diacritice — găsește grupa și clasele \"software\".","value":{"totalCount":3,"limit":2,"offset":0,"items":[{"code":"582","name":"Activități de editare a produselor software","type":"group","description":null,"parentCode":"58"},{"code":"5829","name":"Activități de editare a altor produse software","type":"class","description":null,"parentCode":"582"}]}},"example-2":{"summary":"Copiii direcți ai unei diviziuni","description":"parent=\"62\" listează grupele diviziunii 62.","value":{"totalCount":3,"limit":50,"offset":0,"items":[{"code":"621","name":"Activități de programare","type":"group","description":null,"parentCode":"62"},{"code":"622","name":"Activități de consultanță în tehnologia informației și de management (gestiune și exploatare) al mijloacelor de calcul","type":"group","description":null,"parentCode":"62"},{"code":"629","name":"Alte activități de servicii privind tehnologia informației","type":"group","description":null,"parentCode":"62"}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"caen.read","x-mcp-tool":"search_caen_codes","x-capability":"caen.search","x-anonymous-access":true}},"/v1/caen-codes/{code}":{"get":{"summary":"Get a CAEN code with hierarchy and Rev.2 mapping","tags":["CAEN"],"description":"One CAEN Rev.3 code with its full ancestor chain, direct children and the Rev.2 codes it replaces. Looking up a dropped Rev.2 code answers 404 listing its Rev.3 successors (migration aid for pre-2025 codes). Free of charge.","parameters":[{"schema":{"pattern":"^([A-Za-z]|\\d{2,4})$","type":"string"},"in":"path","name":"code","required":true,"description":"Section letter (\"J\") or 2–4 digit code (\"62\", \"620\", \"6210\").","example":"6210"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Clasa 6210 cu ierarhie și echivalențe Rev.2","description":"Răspunsul include lanțul de părinți (secțiune → diviziune → grupă) și codurile Rev.2 înlocuite.","value":{"code":"6210","name":"Activități de realizare a softului la comandă (software orientat client)","type":"class","description":null,"parentCode":"621","parents":[{"code":"K","name":"Telecomunicații; activități de programare și de consultanță în tehnologia informației; alte servicii informaționale","type":"section","description":null,"parentCode":null},{"code":"62","name":"Activități de programare și activități de consultanță în tehnologia informației","type":"division","description":null,"parentCode":"K"},{"code":"621","name":"Activități de programare","type":"group","description":null,"parentCode":"62"}],"children":[],"replacesRev2Codes":[6201]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"caen.read","x-mcp-tool":"get_caen_code","x-capability":"caen.get","x-anonymous-access":true}},"/v1/counties":{"get":{"summary":"List / search Romanian counties (județe)","tags":["Locations"],"description":"The 41 counties + Bucharest, with slug, plate code (e.g. \"CJ\"), ANAF and SIRUTA codes. No filters returns the full list; \"q\" is a fuzzy, diacritics-insensitive name match. Free of charge.","parameters":[{"schema":{"type":"string"},"in":"query","name":"q","required":false,"description":"County name, fuzzy (e.g. \"cluj\", \"Bucuresti\").","example":"cluj"},{"schema":{"type":"string"},"in":"query","name":"id","required":false,"description":"Exact ids, comma-separated."},{"schema":{"pattern":"^(100|[1-9][0-9]?)$","type":"string"},"in":"query","name":"limit","required":false,"description":"1–100, default 50."},{"schema":{"pattern":"^(0|[1-9][0-9]{0,5})$","type":"string"},"in":"query","name":"offset","required":false,"description":"0–999999, default 0."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Căutare județ după nume","description":"Match fuzzy, fără diacritice — \"cluj\" găsește județul CLUJ.","value":{"totalCount":1,"limit":50,"offset":0,"items":[{"id":12,"name":"CLUJ","slug":"cluj","shortCode":"CJ","anafCode":12,"sirutaCode":13}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"locations.read","x-mcp-tool":"search_counties","x-capability":"locations.counties","x-anonymous-access":true}},"/v1/cities":{"get":{"summary":"Search Romanian localities (localități)","tags":["Locations"],"description":"Romanian localities — municipalities, towns, communes, villages, Bucharest sectors — with type, county, ANAF and SIRUTA codes. Filter by \"q\" (name, diacritics-insensitive) and/or \"county\" (county ids). Free of charge.","parameters":[{"schema":{"type":"string"},"in":"query","name":"q","required":false,"description":"Locality name, fuzzy (e.g. \"cluj napoca\").","example":"cluj-napoca"},{"schema":{"type":"string"},"in":"query","name":"id","required":false,"description":"Exact ids, comma-separated."},{"schema":{"type":"string"},"in":"query","name":"county","required":false,"description":"County ids, comma-separated (see /v1/counties)."},{"schema":{"pattern":"^(100|[1-9][0-9]?)$","type":"string"},"in":"query","name":"limit","required":false,"description":"1–100, default 25.","example":"1"},{"schema":{"pattern":"^(0|[1-9][0-9]{0,5})$","type":"string"},"in":"query","name":"offset","required":false,"description":"0–999999, default 0."}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Căutare localitate după nume","description":"Răspunsul include tipul localității, județul și codurile ANAF/SIRUTA.","value":{"totalCount":1,"limit":1,"offset":0,"items":[{"id":115,"name":"Cluj-Napoca","slug":"cluj-napoca","type":"municipality","countyId":12,"countyName":"CLUJ","countyCode":"CJ","anafCode":103,"sirutaCode":54975}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"locations.read","x-mcp-tool":"search_cities","x-capability":"locations.cities","x-anonymous-access":true}},"/v1/fx-rates":{"get":{"summary":"BNR exchange rates for one day","tags":["FX"],"description":"Official BNR (National Bank of Romania) reference rates — RON per 1 unit of each currency. Without \"date\" returns the latest published fixing. BNR publishes business days only: weekend/holiday requests answer with the previous fixing and the effective \"date\" in the response. Free of charge.","parameters":[{"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"in":"query","name":"date","required":false,"description":"Requested day, YYYY-MM-DD. Default: the latest published fixing.","example":"2026-06-10"},{"schema":{"type":"string"},"in":"query","name":"currency","required":false,"description":"Filter currencies, comma-separated ISO 4217, e.g. \"EUR,USD\".","example":"EUR,USD"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Cursul EUR și USD într-o zi anume","description":"\"date\" în răspuns este ziua fixing-ului efectiv aplicat.","value":{"date":"2026-06-10","requestedDate":"2026-06-10","target":"RON","source":"BNR","items":[{"currency":"EUR","rate":5.2344},{"currency":"USD","rate":4.5286}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"fx.read","x-mcp-tool":"get_fx_rates","x-capability":"fx.rates","x-anonymous-access":true}},"/v1/fx-rates/history":{"get":{"summary":"BNR exchange-rate history for one currency","tags":["FX"],"description":"Daily BNR fixing series (business days only) for one currency against RON. Maximum range: 366 days per request — paginate by year for longer histories. Defaults: to=today, from=to−30 days. Free of charge.","parameters":[{"schema":{"pattern":"^[A-Za-z]{3}$","type":"string"},"in":"query","name":"currency","required":true,"description":"ISO 4217 currency code, e.g. \"EUR\".","example":"EUR"},{"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"in":"query","name":"from","required":false,"description":"Range start, YYYY-MM-DD.","example":"2026-06-01"},{"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"in":"query","name":"to","required":false,"description":"Range end, YYYY-MM-DD.","example":"2026-06-05"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Istoricul EUR pe un interval","description":"Doar zile bancare — weekendul lipsește din serie.","value":{"currency":"EUR","target":"RON","source":"BNR","from":"2026-06-01","to":"2026-06-05","items":[{"date":"2026-06-02","rate":5.2556},{"date":"2026-06-03","rate":5.2592},{"date":"2026-06-04","rate":5.2581},{"date":"2026-06-05","rate":5.2488}]}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"fx.read","x-mcp-tool":"get_fx_rate_history","x-capability":"fx.history","x-anonymous-access":true}},"/v1/fx-rates/convert":{"get":{"summary":"Convert an amount between currencies at the BNR rate","tags":["FX"],"description":"Converts an amount between any two currencies quoted by BNR (RON included), using the official fixing of the given day (default: latest). Cross rates go through RON, e.g. EUR→USD = (EUR→RON)/(USD→RON). Free of charge.","parameters":[{"schema":{"pattern":"^\\d+(\\.\\d+)?$","type":"string"},"in":"query","name":"amount","required":true,"description":"Amount to convert, e.g. \"1500\" or \"99.90\".","example":"2500"},{"schema":{"pattern":"^[A-Za-z]{3}$","type":"string"},"in":"query","name":"from","required":true,"description":"Source currency, e.g. \"EUR\".","example":"EUR"},{"schema":{"pattern":"^[A-Za-z]{3}$","type":"string"},"in":"query","name":"to","required":true,"description":"Target currency, e.g. \"RON\".","example":"USD"},{"schema":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"in":"query","name":"date","required":false,"description":"Fixing day, YYYY-MM-DD. Default: the latest published fixing.","example":"2026-06-10"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","properties":{}},"examples":{"example-1":{"summary":"Conversie EUR → USD (cross prin RON)","description":"EUR→USD = (EUR→RON)/(USD→RON), la fixing-ul zilei cerute.","value":{"amount":2500,"from":"EUR","to":"USD","date":"2026-06-10","rate":1.155854,"result":2889.6348,"source":"BNR"}}}}},"headers":{"RateLimit-Limit":{"description":"Requests allowed per second for the caller’s plan.","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"Tokens left in the caller’s rate-limit bucket.","schema":{"type":"string"}},"x-credits-cost":{"description":"Credits charged for this call (0 = free reference data).","schema":{"type":"string"}},"x-credits-remaining":{"description":"Credits left in the org’s monthly quota (absent for anonymous/unlimited).","schema":{"type":"string"}},"x-cache":{"description":"HIT when served from Datero’s upstream cache.","schema":{"type":"string","enum":["HIT","MISS"]}}}},"400":{"description":"Invalid input — RFC 7807 problem with the validation message.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Invalid input — RFC 7807 problem with the validation message."}}}},"402":{"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Monthly credit quota exhausted — RFC 7807 problem; upgrade or wait for the period reset."}}}},"403":{"description":"Plan lacks the required entitlement — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Plan lacks the required entitlement — RFC 7807 problem."}}}},"404":{"description":"Resource not found — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Resource not found — RFC 7807 problem."}}}},"429":{"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Rate limited — RFC 7807 problem; respect Retry-After and the RateLimit-* headers."}}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"}}}},"500":{"description":"Unexpected server error — RFC 7807 problem (no internals exposed).","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Unexpected server error — RFC 7807 problem (no internals exposed)."}}}},"502":{"description":"Upstream data source error — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream data source error — RFC 7807 problem."}}}},"503":{"description":"Service temporarily unavailable — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Service temporarily unavailable — RFC 7807 problem."}}}},"504":{"description":"Upstream timeout — RFC 7807 problem.","content":{"application/json":{"schema":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"}},"description":"Upstream timeout — RFC 7807 problem."}}}}},"x-credits-cost":0,"x-entitlement":"fx.read","x-mcp-tool":"convert_currency","x-capability":"fx.convert","x-anonymous-access":true}}},"servers":[{"url":"https://api.datero.ro","description":"Production"}],"externalDocs":{"url":"https://datero.ro/docs","description":"Human documentation (Romanian)"},"security":[{"apiKey":[]},{}]}