codai docs
Referință APIGateway

Prompturi în așteptare

Prompturi gata de lipit pe care agenții (sau tu) le lasă pentru un chat viitor — predări, continuări programate — cu mementouri și lansare dintr-un clic pe un dispozitiv.

Un prompt în așteptare este un prompt complet, de sine stătător, salvat pentru mai târziu: predarea pe care o scrie un agent când termină un obiectiv, o continuare care trebuie să înceapă abia după o dată sau o idee pe care vrei s-o reiei într-un chat nou. Este stocat central, deci aceeași listă apare în aplicația desktop, pe telefon și în hub.

Agenții citesc lista prin uneltele serverului MCP prompts_list (status, limit) și prompts_get (id). Ambele sunt doar citire: lansarea unui prompt pornește o rulare plătită, deci rămâne în hub, pe desktop și pe telefon.

Prompturi în așteptare: cum lasă agenții prompturi pentru mai târziu

  1. Captură. La finalul unui obiectiv, agentul trimite promptul „pornește un chat nou cu asta” la POST /v1/prompts. Hook-ul Stop din Copilot, unealta de predare din desktop, telefonul și hub-ul folosesc același endpoint, iar source spune care dintre ele.
  2. Deduplicare și înlocuire. Același text este stocat o singură dată (sha256 al promptului cu spațiile normalizate), așa că două căi de captură nu creează dubluri — al doilea apel răspunde 200 cu created: false. Trimite un goal_key stabil și orice prompt deschis mai vechi cu aceeași cheie devine superseded: rămâne deschisă doar ultima predare pentru un obiectiv.
  3. Așteptare. Fără not_before, promptul este scadent imediat. Cu o dată (2026-10-01 înseamnă ora 07:00 UTC în acea zi) sau o dată-oră ISO, rămâne tăcut până atunci.
  4. Memento. Când not_before trece, primești o notificare prompt.due în inbox (plus push), cu url codai://prompts/<id>. Cu auto_run: true, promptul este și lansat automat pe target_device_id sau pe cel mai recent dispozitiv desktop/Android al tău.
  5. Acțiune. Deschide promptul și copiază-l, amână-l (PATCH cu un nou not_before — rearmează memento-ul), marchează-l done / dismissed sau apelează POST …/launch: se deschide o sesiune partajată nouă și textul este trimis către un dispozitiv ca un control send. Promptul trece în launched și păstrează run_session_id.
import { Codai } from 'codai-sdk';

const codai = new Codai({ apiKey: process.env.CODAI_API_KEY! });
const saved = await codai.prompts.create({
  prompt: 'Scop: termină exportul de facturare…',
  source: 'agent',
  goal_key: 'billing-export',
  not_before: '2026-10-01',
});
const due = await codai.prompts.list({ status: 'due' });
await codai.prompts.launch(saved.id);
from codai import Codai

codai = Codai(api_key="codai_...")
saved = codai.prompts.create({"prompt": "Scop: termină exportul de facturare…", "goal_key": "billing-export"})
codai.prompts.update(saved["id"], {"not_before": "2026-10-03"})  # amânare
codai.prompts.launch(saved["id"])

Stări: open → launched → sent → answered → verified, plus stările de închidere done / dismissed / superseded. GET /v1/prompts întoarce implicit open; status=active întoarce tot ce e încă în lucru (open, launched, sent, answered), status=due întoarce prompturile deschise al căror not_before lipsește sau a trecut deja, iar status=all le întoarce pe toate.

Trimis, răspuns, verificat

Nu mai trebuie să marchezi manual un prompt după ce l-ai lipit într-un chat:

  • Trimis (sent). Când o sesiune raportează un turn_start al cărui text se potrivește cu un prompt activ (același hash, aceleași prime 4 000 de caractere sau cel puțin 85 % cuvinte comune), gateway-ul marchează promptul sent și salvează match_ref (sesiunea) și match_turn_id. Clienții care văd chaturi pe care gateway-ul nu le vede (extensia VS Code citește sesiunile locale din Copilot Chat) raportează același lucru cu POST /v1/prompts/{id}/match. Potrivirea nu blochează și nu strică niciodată tura.
  • Răspuns (answered). Când tura respectivă se termină (turn_end), promptul trece în answered.
  • Verificat (verified). POST /v1/prompts/{id}/verify îl întreabă pe codai-fast dacă chatul a făcut cu adevărat ce cerea promptul. Citește transcrierea sesiunii, plus opțional un diff (de exemplu git diff base_sha..HEAD) și files trimise de client, și salvează un report (verdict done / partial / not_started, summary, changed, remaining). Verdictul done mută promptul în verified; orice alt verdict lasă starea neschimbată. POST /v1/prompts/verify face același lucru pentru toate prompturile active care au o sesiune (sau pentru ids primite). Fiecare client are un buton Verifică tot pentru asta.

Actualizări în timp real

GET /v1/prompts/stream e un flux server-sent events: câte un eveniment prompt la fiecare creare, modificare sau ștergere a unui prompt al tău, astfel încât desktopul, telefonul, hub-ul și VS Code arată aceeași stare în una-două secunde. Un telefon aflat în fundal primește în schimb o notificare push.

GET
/v1/prompts

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

status?string

Filtru: o stare de prompt, active (open, launched, sent sau answered), due sau all.

Implicit"open"
Valoare din"open""due""all""launched""done""dismissed""superseded""active""sent""answered""verified"
limit?integer

Numărul maxim de rânduri (1–200).

Interval1 <= value <= 200
Implicit100

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

Prompturile găsite.

application/json
  1. response
data*array<>
Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/prompts'
Exemplu de răspuns
{  "data": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "title": "string",      "prompt": "string",      "status": "open",      "source": "vscode",      "repo": "string",      "tracker": "string",      "goal_key": "string",      "not_before": "2019-08-24T14:15:22Z",      "auto_run": true,      "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",      "origin": {},      "notified_at": "2019-08-24T14:15:22Z",      "launched_at": "2019-08-24T14:15:22Z",      "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",      "done_at": "2019-08-24T14:15:22Z",      "sent_at": "2019-08-24T14:15:22Z",      "answered_at": "2019-08-24T14:15:22Z",      "verified_at": "2019-08-24T14:15:22Z",      "match_ref": "string",      "match_turn_id": "string",      "match_score": 0,      "base_sha": "string",      "head_sha": "string",      "report": {        "verdict": "done",        "summary": "string",        "changed": [          "string"        ],        "remaining": [          "string"        ],        "evidence": "transcript+diff",        "model": "string",        "at": "2019-08-24T14:15:22Z"      },      "report_at": "2019-08-24T14:15:22Z",      "created_at": "2019-08-24T14:15:22Z",      "updated_at": "2019-08-24T14:15:22Z"    }  ]}
POST
/v1/prompts

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
prompt*string
Lungime1 <= length <= 32000
title?string
Lungime1 <= length <= 200
source?PromptSource
Valoare din"vscode""cli""desktop""phone""agent""hub""manual""transcript"
repo?string
Lungimelength <= 300
tracker?string
Lungimelength <= 300
goal_key?string

Cheie stabilă a obiectivului; un prompt nou le înlocuiește pe cele deschise mai vechi cu aceeași cheie.

Lungime1 <= length <= 200
not_before?|

Dată-oră ISO cu offset sau YYYY-MM-DD (ora 07:00 UTC). null = scadent imediat.

auto_run?boolean

Lansează automat la scadență.

Implicitfalse
target_device_id?|
Formatuuid
origin?

Metadate libere despre captură (sesiune, transcript, gazdă).

Corpul răspunsului

Același text exista deja; nu s-a creat nimic.

application/json
  1. response

Un prompt în așteptare. Marcajele de timp sunt șiruri ISO sau null.

id*string
Formatuuid
title*string

Implicit prima linie a promptului (max. 120 de caractere).

prompt*string
status*PromptStatus
Valoare din"open""launched""sent""answered""verified""done""dismissed""superseded"
source*PromptSource
Valoare din"vscode""cli""desktop""phone""agent""hub""manual""transcript"
repo*string|null
tracker*string|null
goal_key*string|null
not_before*|

Promptul devine scadent din acest moment.

Formatdate-time
auto_run*boolean
target_device_id*|
Formatuuid
origin*
notified_at*|

Când a fost trimis memento-ul de scadență.

Formatdate-time
launched_at*|
Formatdate-time
run_session_id*|
Formatuuid
done_at*|
Formatdate-time
sent_at*|

Când promptul a fost văzut trimis într-un chat.

Formatdate-time
answered_at*|

Când s-a încheiat tura de chat care l-a dus.

Formatdate-time
verified_at*|

Când un raport l-a considerat prima dată realizat.

Formatdate-time
match_ref*|

Id-ul sau cheia sesiunii în care a fost trimis.

match_turn_id*|

Id-ul acelei ture de chat.

match_score*|

Încrederea potrivirii, 0–1.

base_sha*|

HEAD-ul repository-ului la trimitere.

head_sha*|

HEAD-ul repository-ului la ultima verificare.

report*|

Ultimul raport de verificare sau null.

report_at*|

Când a fost produs report.

Formatdate-time
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
created*boolean

false când același text exista deja.

superseded*integer

Prompturi deschise mai vechi cu același goal_key, acum superseded.

Interval0 <= value
Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/prompts' \  -H 'Content-Type: application/json' \  -d '{  "prompt": "string"}'
Exemplu de răspuns
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "title": "string",  "prompt": "string",  "status": "open",  "source": "vscode",  "repo": "string",  "tracker": "string",  "goal_key": "string",  "not_before": "2019-08-24T14:15:22Z",  "auto_run": true,  "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",  "origin": {},  "notified_at": "2019-08-24T14:15:22Z",  "launched_at": "2019-08-24T14:15:22Z",  "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",  "done_at": "2019-08-24T14:15:22Z",  "sent_at": "2019-08-24T14:15:22Z",  "answered_at": "2019-08-24T14:15:22Z",  "verified_at": "2019-08-24T14:15:22Z",  "match_ref": "string",  "match_turn_id": "string",  "match_score": 0,  "base_sha": "string",  "head_sha": "string",  "report": {    "verdict": "done",    "summary": "string",    "changed": [      "string"    ],    "remaining": [      "string"    ],    "evidence": "transcript+diff",    "model": "string",    "at": "2019-08-24T14:15:22Z"  },  "report_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "created": true,  "superseded": 0}
GET
/v1/prompts/{id}

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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

Promptul.

application/json
  1. response

Un prompt în așteptare. Marcajele de timp sunt șiruri ISO sau null.

id*string
Formatuuid
title*string

Implicit prima linie a promptului (max. 120 de caractere).

prompt*string
status*PromptStatus
Valoare din"open""launched""sent""answered""verified""done""dismissed""superseded"
source*PromptSource
Valoare din"vscode""cli""desktop""phone""agent""hub""manual""transcript"
repo*string|null
tracker*string|null
goal_key*string|null
not_before*|

Promptul devine scadent din acest moment.

Formatdate-time
auto_run*boolean
target_device_id*|
Formatuuid
origin*
notified_at*|

Când a fost trimis memento-ul de scadență.

Formatdate-time
launched_at*|
Formatdate-time
run_session_id*|
Formatuuid
done_at*|
Formatdate-time
sent_at*|

Când promptul a fost văzut trimis într-un chat.

Formatdate-time
answered_at*|

Când s-a încheiat tura de chat care l-a dus.

Formatdate-time
verified_at*|

Când un raport l-a considerat prima dată realizat.

Formatdate-time
match_ref*|

Id-ul sau cheia sesiunii în care a fost trimis.

match_turn_id*|

Id-ul acelei ture de chat.

match_score*|

Încrederea potrivirii, 0–1.

base_sha*|

HEAD-ul repository-ului la trimitere.

head_sha*|

HEAD-ul repository-ului la ultima verificare.

report*|

Ultimul raport de verificare sau null.

report_at*|

Când a fost produs report.

Formatdate-time
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08'
Exemplu de răspuns
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "title": "string",  "prompt": "string",  "status": "open",  "source": "vscode",  "repo": "string",  "tracker": "string",  "goal_key": "string",  "not_before": "2019-08-24T14:15:22Z",  "auto_run": true,  "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",  "origin": {},  "notified_at": "2019-08-24T14:15:22Z",  "launched_at": "2019-08-24T14:15:22Z",  "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",  "done_at": "2019-08-24T14:15:22Z",  "sent_at": "2019-08-24T14:15:22Z",  "answered_at": "2019-08-24T14:15:22Z",  "verified_at": "2019-08-24T14:15:22Z",  "match_ref": "string",  "match_turn_id": "string",  "match_score": 0,  "base_sha": "string",  "head_sha": "string",  "report": {    "verdict": "done",    "summary": "string",    "changed": [      "string"    ],    "remaining": [      "string"    ],    "evidence": "transcript+diff",    "model": "string",    "at": "2019-08-24T14:15:22Z"  },  "report_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}
PATCH
/v1/prompts/{id}

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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
Proprietăți1 <= properties
title?string
Lungime1 <= length <= 200
prompt?string
Lungime1 <= length <= 32000
status?PromptStatus
Valoare din"open""launched""sent""answered""verified""done""dismissed""superseded"
not_before?|

Dată-oră ISO cu offset sau YYYY-MM-DD (ora 07:00 UTC). null = scadent imediat.

auto_run?boolean
target_device_id?|
Formatuuid
tracker?|
Lungimelength <= 300

Corpul răspunsului

Promptul actualizat.

application/json
  1. response

Un prompt în așteptare. Marcajele de timp sunt șiruri ISO sau null.

id*string
Formatuuid
title*string

Implicit prima linie a promptului (max. 120 de caractere).

prompt*string
status*PromptStatus
Valoare din"open""launched""sent""answered""verified""done""dismissed""superseded"
source*PromptSource
Valoare din"vscode""cli""desktop""phone""agent""hub""manual""transcript"
repo*string|null
tracker*string|null
goal_key*string|null
not_before*|

Promptul devine scadent din acest moment.

Formatdate-time
auto_run*boolean
target_device_id*|
Formatuuid
origin*
notified_at*|

Când a fost trimis memento-ul de scadență.

Formatdate-time
launched_at*|
Formatdate-time
run_session_id*|
Formatuuid
done_at*|
Formatdate-time
sent_at*|

Când promptul a fost văzut trimis într-un chat.

Formatdate-time
answered_at*|

Când s-a încheiat tura de chat care l-a dus.

Formatdate-time
verified_at*|

Când un raport l-a considerat prima dată realizat.

Formatdate-time
match_ref*|

Id-ul sau cheia sesiunii în care a fost trimis.

match_turn_id*|

Id-ul acelei ture de chat.

match_score*|

Încrederea potrivirii, 0–1.

base_sha*|

HEAD-ul repository-ului la trimitere.

head_sha*|

HEAD-ul repository-ului la ultima verificare.

report*|

Ultimul raport de verificare sau null.

report_at*|

Când a fost produs report.

Formatdate-time
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
Exemplu de cerere
curl -X PATCH 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Content-Type: application/json' \  -d '{}'
Exemplu de răspuns
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "title": "string",  "prompt": "string",  "status": "open",  "source": "vscode",  "repo": "string",  "tracker": "string",  "goal_key": "string",  "not_before": "2019-08-24T14:15:22Z",  "auto_run": true,  "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",  "origin": {},  "notified_at": "2019-08-24T14:15:22Z",  "launched_at": "2019-08-24T14:15:22Z",  "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",  "done_at": "2019-08-24T14:15:22Z",  "sent_at": "2019-08-24T14:15:22Z",  "answered_at": "2019-08-24T14:15:22Z",  "verified_at": "2019-08-24T14:15:22Z",  "match_ref": "string",  "match_turn_id": "string",  "match_score": 0,  "base_sha": "string",  "head_sha": "string",  "report": {    "verdict": "done",    "summary": "string",    "changed": [      "string"    ],    "remaining": [      "string"    ],    "evidence": "transcript+diff",    "model": "string",    "at": "2019-08-24T14:15:22Z"  },  "report_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}
DELETE
/v1/prompts/{id}

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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

Câte prompturi au fost șterse (0 sau 1).

application/json
  1. response
deleted*integer
Interval0 <= value
Exemplu de cerere
curl -X DELETE 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08'
Exemplu de răspuns
{  "deleted": 0}
POST
/v1/prompts/{id}/launch

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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
device_id?string

Unul dintre dispozitivele tale; are prioritate față de ținta promptului.

Formatuuid

Corpul răspunsului

Sesiunea pornită.

application/json
  1. response
session_id*string
Formatuuid
device_id*string
Formatuuid
pushed*boolean

Dacă un push de dispecerizare a ajuns la dispozitiv.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08/launch' \  -H 'Content-Type: application/json' \  -d '{}'
Exemplu de răspuns
{  "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82",  "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",  "pushed": true}
POST
/v1/prompts/{id}/match

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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
ref*string

Unde a fost trimis: id-ul sau cheia de sesiune folosită de client.

Lungime1 <= length <= 300
turn_id?string

Id-ul turei de chat care a dus promptul.

Lungimelength <= 300
score?number

Încrederea potrivirii, 0–1.

Interval0 <= value <= 1
sent_at?string

Când a fost trimis (implicit acum).

Formatdate-time
answered?boolean

Tura s-a încheiat deja: trece direct în answered.

base_sha?string

HEAD-ul repository-ului la trimitere.

Lungimelength <= 100

Corpul răspunsului

Promptul actualizat.

application/json
  1. response
prompt*

Un prompt în așteptare. Marcajele de timp sunt șiruri ISO sau null.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08/match' \  -H 'Content-Type: application/json' \  -d '{  "ref": "string"}'
Exemplu de răspuns
{  "prompt": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "title": "string",    "prompt": "string",    "status": "open",    "source": "vscode",    "repo": "string",    "tracker": "string",    "goal_key": "string",    "not_before": "2019-08-24T14:15:22Z",    "auto_run": true,    "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",    "origin": {},    "notified_at": "2019-08-24T14:15:22Z",    "launched_at": "2019-08-24T14:15:22Z",    "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",    "done_at": "2019-08-24T14:15:22Z",    "sent_at": "2019-08-24T14:15:22Z",    "answered_at": "2019-08-24T14:15:22Z",    "verified_at": "2019-08-24T14:15:22Z",    "match_ref": "string",    "match_turn_id": "string",    "match_score": 0,    "base_sha": "string",    "head_sha": "string",    "report": {      "verdict": "done",      "summary": "string",      "changed": [        "string"      ],      "remaining": [        "string"      ],      "evidence": "transcript+diff",      "model": "string",      "at": "2019-08-24T14:15:22Z"    },    "report_at": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  }}
POST
/v1/prompts/{id}/verify

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 de cale

id*string

Id-ul promptului în așteptare (uuid). Un id străin sau malformat primește 404.

Formatuuid

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
transcript?string

Transcriptul chatului (max. 40 000 de caractere).

Lungimelength <= 40000
diff?string

Diff-ul repository-ului față de base_sha (max. 40 000 de caractere).

Lungimelength <= 40000
head_sha?string

HEAD-ul repository-ului la care s-a luat diff-ul.

Lungimelength <= 100
files?array<string>

Căile fișierelor modificate.

Elementeitems <= 500

Corpul răspunsului

Promptul actualizat și raportul salvat.

application/json
  1. response
prompt*

Un prompt în așteptare. Marcajele de timp sunt șiruri ISO sau null.

report*

Raportul de verificare LLM al unui prompt.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/prompts/497f6eca-6276-4993-bfeb-53cbbbba6f08/verify' \  -H 'Content-Type: application/json' \  -d '{}'
Exemplu de răspuns
{  "prompt": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "title": "string",    "prompt": "string",    "status": "open",    "source": "vscode",    "repo": "string",    "tracker": "string",    "goal_key": "string",    "not_before": "2019-08-24T14:15:22Z",    "auto_run": true,    "target_device_id": "12785743-1d27-41cd-88a7-0ac66360e3d6",    "origin": {},    "notified_at": "2019-08-24T14:15:22Z",    "launched_at": "2019-08-24T14:15:22Z",    "run_session_id": "4b290cc7-5731-4ce8-8cd7-1bbbd88cfdb2",    "done_at": "2019-08-24T14:15:22Z",    "sent_at": "2019-08-24T14:15:22Z",    "answered_at": "2019-08-24T14:15:22Z",    "verified_at": "2019-08-24T14:15:22Z",    "match_ref": "string",    "match_turn_id": "string",    "match_score": 0,    "base_sha": "string",    "head_sha": "string",    "report": {      "verdict": "done",      "summary": "string",      "changed": [        "string"      ],      "remaining": [        "string"      ],      "evidence": "transcript+diff",      "model": "string",      "at": "2019-08-24T14:15:22Z"    },    "report_at": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  },  "report": {    "verdict": "done",    "summary": "string",    "changed": [      "string"    ],    "remaining": [      "string"    ],    "evidence": "transcript+diff",    "model": "string",    "at": "2019-08-24T14:15:22Z"  }}
POST
/v1/prompts/verify

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
ids?array<>

Id-urile prompturilor tale de verificat (se procesează max. 20).

Elemente1 <= items <= 200
all_active?boolean

Verifică prompturile tale active care au o sesiune de citit.

Corpul răspunsului

Câte un rezultat pentru fiecare prompt procesat.

application/json
  1. response
results*array<>
Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/prompts/verify' \  -H 'Content-Type: application/json' \  -d '{}'
Exemplu de răspuns
{  "results": [    {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "ok": true,      "verdict": "done",      "error": "string"    }  ]}
GET
/v1/prompts/stream

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 răspunsului

Stream SSE (text/event-stream, cache-control: no-cache).

response?stringtext/event-stream
Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/prompts/stream'
Exemplu de răspuns
"string"

Ultima actualizare:

Pe această pagină