Carduri
Date pentru carduri tipizate: vreme, locuri, geocodare, hărți statice, cursuri de schimb și previzualizări de linkuri, ca blocuri de card gata făcute.
Fiecare endpoint JSON întoarce { block, provenance }, unde block este un bloc @codai/cards valid. Locurile, geocodarea și hărțile statice sunt facturate la prețul de listă Google și limitate pe utilizator pe zi (200 de căutări de locuri, 500 de hărți, 500 de previzualizări de linkuri, 2000 de randări; super_admin exceptat). POST /v1/cards/render transformă un bloc chart sau qr în PNG sau SVG; blocurile Mermaid și math nu sunt încă suportate (422 render_unsupported). Schema, tool-urile agentului și facturarea: ghidul de carduri.
bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
lat*number-90 <= value <= 90lng*number-180 <= value <= 180name?stringNumele locației afișat pe card.
length <= 200x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc weather și proveniența lui.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/weather?lat=-90&lng=-180'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
q?stringlength <= 300lat?number-90 <= value <= 90lng?number-180 <= value <= 180radius?integer50 <= value <= 500002000type?stringDoar în apropiere — până la 5 tipuri de locuri Google separate prin virgulă, de ex. restaurant,cafe.
limit?integer1 <= value <= 208lang?string"ro"region?stringopen_now?string"1""0""true""false"x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc places (null când nu s-a găsit nimic) și proveniența lui, inclusiv costul facturat.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/places'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
address*string2 <= length <= 300lang?string"ro"region?stringx-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc map (null când adresa nu a fost găsită), rezultatele și proveniența.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/geocode?address=string'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
center?stringzoom?integer1 <= value <= 20w?integer64 <= value <= 640640h?integer64 <= value <= 400400markers?stringmaptype?string"roadmap""roadmap""satellite""terrain""hybrid"lang?string"ro"path?stringx-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Imaginea hărții.
response?fileimage/pngbinarycurl -X GET 'https://ai.codai.ro/v1/cards/static-map'"string"bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
source?string"bnr""bnr""ecb"from?stringto?stringamount?number1quote?stringsymbols?stringx-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc metric sau table și proveniența lui (data publicării).
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/fx'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
origin?stringfrom?string2 <= length <= 300destination?stringto?string2 <= length <= 300mode?string"drive""drive""walk""bicycle""transit""two_wheeler"depart_at?stringdate-timelang?string"ro"region?stringx-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc map, rezumatul traseului (ambele null fără traseu) și proveniența.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/route'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
awb*string^[A-Za-z0-9 ]{6,40}$carrier?string"sameday""fan""cargus""dpd"x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc timeline (null fără evenimente), rezultatul urmăririi și proveniența (linkul de urmărire).
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/track?awb=string'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
limit?integer1 <= value <= 5010x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Un bloc table (null fără documente), documentele și proveniența.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X GET 'https://ai.codai.ro/v1/cards/efactura'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128application/json- body
url*stringlength <= 2048Un bloc links cu un element de previzualizare și proveniența lui.
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X POST 'https://ai.codai.ro/v1/cards/unfurl' \ -H 'Content-Type: application/json' \ -d '{ "url": "string"}'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128application/json- body
url*stringlength <= 2048lang?stringLimba etichetei de disponibilitate (de exemplu "Out of stock" / "Stoc epuizat").
"en""en""ro"Un bloc products cu un element și proveniența lui (sursa page).
application/json- response
Un bloc de card gata de afișat din @codai/cards plus sursa datelor lui.
block*Un bloc de card (weather, places, map, metric, table sau links); null când nu s-a găsit nimic.
results?array<>Doar la geocodare — potrivirile brute din spatele blocului de hartă.
route?Doar la traseu — { mode, durationS, staticDurationS, distanceM, polyline }, null fără traseu.
result?Doar la urmărire — curierul, AWB-ul, dacă urmărirea live e configurată, evenimentele și linkul.
documents?array<>Doar la e-Factura — documentele fiscale proprii cu starea lor ANAF e-Factura.
provenance*Sursa, atribuirea, momentul descărcării, dacă vine din cache și (la apelurile plătite) costul facturat.
curl -X POST 'https://ai.codai.ro/v1/cards/product' \ -H 'Content-Type: application/json' \ -d '{ "url": "string"}'{ "block": {}, "results": [ {} ], "route": {}, "result": {}, "documents": [ {} ], "provenance": {}}bearerAuthAutorizareBearer <codai_…>O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).
x-request-id?stringId de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128application/json- body
block*Un bloc de card chart sau qr.
format?string"png""png""svg"width?integer64 <= value <= 1200480height?integer64 <= value <= 1200300theme?string"light""light""dark"scale?integer1 <= value <= 32Imaginea. x-codai-render-size conține dimensiunea rezultatului în pixeli (LĂȚIMExÎNĂLȚIME).
response?filebinarycurl -X POST 'https://ai.codai.ro/v1/cards/render' \ -H 'Content-Type: application/json' \ -d '{ "block": { "type": "string" }}'"string"