codai docs
Referință APIGateway

Poarta de protecție a sistemului

Politica efectivă a organizației pentru excepțiile de la verificările de protecție și evenimentul de audit trimis când o excepție este acordată sau revocată.

Două endpoint-uri susțin poarta de protecție a sistemului. Ambele cer o cheie API codai_ ca token Bearer.

GET /v1/policy întoarce { "os_gate": { "allow_override": boolean } }, combinat peste toate organizațiile din care faci parte: dacă oricare dintre ele interzice excepțiile, răspunsul este false. Răspunsul are Cache-Control: private, max-age=300; clienții îl păstrează în cache și folosesc ultima valoare offline. O pană a bazei de date dă 503 policy_unavailable — păstrează valoarea din cache, nu presupune niciodată o valoare permisivă.

POST /v1/os-gate/events înregistrează o acordare sau o revocare în jurnalul de audit al contului (os_gate.override). Corpul strict conține doar action, checks (între 1 și 16 id-uri de verificări cunoscute), surface, app_version și at; niciun detaliu de detecție. Răspunde 202 { "ok": true }.

Aceleași operații există în SDK-uri: client.osGate.policy() / client.osGate.recordEvent(event) în TypeScript și client.os_gate.policy() / client.os_gate.record_event(...) în Python. Serverul MCP expune politica prin unealta os_gate_policy, doar pentru citire (setul account); evenimentul de audit este telemetrie a dispozitivului și nu are unealtă MCP.

GET
/v1/policy

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

Politica efectivă pentru apelant.

application/json
  1. response
os_gate*
Exemplu de cerere
curl -X GET 'https://ai.codai.ro/v1/policy'
Exemplu de răspuns
{  "os_gate": {    "allow_override": true  }}
POST
/v1/os-gate/events

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

Evenimentul de excepție, așa cum a fost înregistrat pe dispozitiv.

application/json
  1. body
action*string

Dacă utilizatorul a acordat sau a revocat excepția.

Valoare din"granted""revoked"
checks*array<>

Id-urile verificărilor acoperite de excepție (spec packages/agent-core/spec/os-gate.json).

Elemente1 <= items <= 16
surface*string

Aplicația codai pe care excepția a fost acordată sau revocată.

Valoare din"desktop""headless""codaid""phone""mobile_agent""wear""vscode"
app_version*string

Versiunea aplicației care a înregistrat evenimentul.

Lungime1 <= length <= 64
at*string

Momentul în care utilizatorul a acordat sau a revocat excepția (ISO 8601).

Formatdate-time

Corpul răspunsului

Evenimentul a fost acceptat în jurnalul de audit.

application/json
  1. response
ok*boolean
Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/os-gate/events' \  -H 'Content-Type: application/json' \  -d '{  "action": "granted",  "checks": [    "win.uac_off"  ],  "surface": "desktop",  "app_version": "0.9.4",  "at": "2026-10-19T21:00:00Z"}'
Exemplu de răspuns
{  "ok": true}