codai docs
Referință APIGateway

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.

GET
/v1/cards/weather

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

lat*number
Interval-90 <= value <= 90
lng*number
Interval-180 <= value <= 180
name?string

Numele locației afișat pe card.

Lungimelength <= 200

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc weather și proveniența lui.

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/weather?lat=-90&lng=-180'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/places

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

q?string
Lungimelength <= 300
lat?number
Interval-90 <= value <= 90
lng?number
Interval-180 <= value <= 180
radius?integer
Interval50 <= value <= 50000
Implicit2000
type?string

Doar în apropiere — până la 5 tipuri de locuri Google separate prin virgulă, de ex. restaurant,cafe.

limit?integer
Interval1 <= value <= 20
Implicit8
lang?string
Implicit"ro"
region?string
open_now?string
Valoare din"1""0""true""false"

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc places (null când nu s-a găsit nimic) și proveniența lui, inclusiv costul facturat.

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/places'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/geocode

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

address*string
Lungime2 <= length <= 300
lang?string
Implicit"ro"
region?string

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc map (null când adresa nu a fost găsită), rezultatele și proveniența.

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/geocode?address=string'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/static-map

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

center?string
zoom?integer
Interval1 <= value <= 20
w?integer
Interval64 <= value <= 640
Implicit640
h?integer
Interval64 <= value <= 400
Implicit400
markers?string
maptype?string
Implicit"roadmap"
Valoare din"roadmap""satellite""terrain""hybrid"
lang?string
Implicit"ro"
path?string

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Imaginea hărții.

response?fileimage/png
Formatbinary
Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/static-map'
Exemplu de răspuns
"string"
GET
/v1/cards/fx

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

source?string
Implicit"bnr"
Valoare din"bnr""ecb"
from?string
to?string
amount?number
Implicit1
quote?string
symbols?string

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc metric sau table și proveniența lui (data publicării).

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/fx'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/route

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

origin?string
from?string
Lungime2 <= length <= 300
destination?string
to?string
Lungime2 <= length <= 300
mode?string
Implicit"drive"
Valoare din"drive""walk""bicycle""transit""two_wheeler"
depart_at?string
Formatdate-time
lang?string
Implicit"ro"
region?string

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc map, rezumatul traseului (ambele null fără traseu) și proveniența.

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/route'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/track

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

awb*string
Potrivire^[A-Za-z0-9 ]{6,40}$
carrier?string
Valoare din"sameday""fan""cargus""dpd"

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc timeline (null fără evenimente), rezultatul urmăririi și proveniența (linkul de urmărire).

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/track?awb=string'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
GET
/v1/cards/efactura

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri query

limit?integer
Interval1 <= value <= 50
Implicit10

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul răspunsului

Un bloc table (null fără documente), documentele și proveniența.

application/json
  1. 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.

Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/cards/efactura'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
POST
/v1/cards/unfurl

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul cererii

application/json
  1. body
url*string
Lungimelength <= 2048

Corpul răspunsului

Un bloc links cu un element de previzualizare și proveniența lui.

application/json
  1. 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.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/cards/unfurl' \  -H 'Content-Type: application/json' \  -d '{  "url": "string"}'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
POST
/v1/cards/product

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul cererii

application/json
  1. body
url*string
Lungimelength <= 2048
lang?string

Limba etichetei de disponibilitate (de exemplu "Out of stock" / "Stoc epuizat").

Implicit"en"
Valoare din"en""ro"

Corpul răspunsului

Un bloc products cu un element și proveniența lui (sursa page).

application/json
  1. 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.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/cards/product' \  -H 'Content-Type: application/json' \  -d '{  "url": "string"}'
Exemplu de răspuns
{  "block": {},  "results": [    {}  ],  "route": {},  "result": {},  "documents": [    {}  ],  "provenance": {}}
POST
/v1/cards/render

Autorizare

bearerAuth
headerAutorizareBearer <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).

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128

Corpul cererii

application/json
  1. body
block*

Un bloc de card chart sau qr.

format?string
Implicit"png"
Valoare din"png""svg"
width?integer
Interval64 <= value <= 1200
Implicit480
height?integer
Interval64 <= value <= 1200
Implicit300
theme?string
Implicit"light"
Valoare din"light""dark"
scale?integer
Interval1 <= value <= 3
Implicit2

Corpul răspunsului

Imaginea. x-codai-render-size conține dimensiunea rezultatului în pixeli (LĂȚIMExÎNĂLȚIME).

response?file
Formatbinary
Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/cards/render' \  -H 'Content-Type: application/json' \  -d '{  "block": {    "type": "string"  }}'
Exemplu de răspuns
"string"