Host-uri
Relay-ul care lasă un telefon să ruleze o operație pe desktop-ul tău: stream de prezență, exec și rezultat.
Un host e un dispozitiv care ține deschis GET /v1/hosts/stream. Alt dispozitiv trimite un exec; gateway-ul îl retransmite peste acel stream și blochează până când host-ul trimite rezultatul sau expiră timeout-ul. Prezența expiră la 45 s după ultimul heartbeat. Relay-ul e best-effort și nu face parte din specificația publică a protocolului de sesiuni. Pas cu pas: ghidul de host-uri.
Autorizare
bearerAuth O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de /v1/realtime.
În: header
Parametri header
Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128Corpul răspunsului
application/json
application/json
application/json
curl -X GET "https://example.com/v1/hosts"{ "hosts": [ { "device_id": "2b6d8c1e-4f3a-4e9b-9c0d-7a1e5f6b8c2d", "name": "codai desktop", "platform": "desktop", "os": "windows", "hostname": "dragos-desktop", "roots": [ "E:\\gh", "C:\\Users\\me\\Projects" ], "since": 1758616800000, "last_seen": 1758616845000 } ]}Autorizare
bearerAuth O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de /v1/realtime.
În: header
Parametri query
Eticheta sistemului de operare al host-ului; trunchiată la 40 de caractere.
length <= 40Numele mașinii host; trunchiat la 120 de caractere.
length <= 120Listă separată prin virgulă cu rădăcinile de fișiere expuse de host; golurile sunt eliminate, max 32 intrări.
Parametri header
Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128UUID stabil al dispozitivului. Înregistrează dispozitivul la prima folosire (nume/platformă din x-codai-device-name / x-codai-device-platform) și selectează protocolul de sesiuni partajate.
uuidCorpul răspunsului
text/event-stream
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/hosts/stream" \ -H "x-codai-device: 497f6eca-6276-4993-bfeb-53cbbbba6f08""string"Autorizare
bearerAuth O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de /v1/realtime.
În: header
Parametri de cale
UUID-ul dispozitivului host țintă (din GET /v1/hosts).
uuidParametri header
Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128UUID stabil al dispozitivului. Înregistrează dispozitivul la prima folosire (nume/platformă din x-codai-device-name / x-codai-device-platform) și selectează protocolul de sesiuni partajate.
uuidCorpul cererii
application/json
Definiții TypeScript
Folosește tipul request body în TypeScript.
Corpul răspunsului
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/hosts/497f6eca-6276-4993-bfeb-53cbbbba6f08/exec" \ -H "x-codai-device: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "op": "shell" }'{ "req_id": "b0b81fb9-c6eb-4a11-855e-45e48af9566f", "ok": true, "result": null, "error": "string"}Autorizare
bearerAuth O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de /v1/realtime.
În: header
Parametri de cale
req_id-ul din evenimentul exec (UUID; malformat → 400).
uuidParametri header
Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.
length <= 128UUID stabil al dispozitivului. Înregistrează dispozitivul la prima folosire (nume/platformă din x-codai-device-name / x-codai-device-platform) și selectează protocolul de sesiuni partajate.
uuidCorpul cererii
application/json
Definiții TypeScript
Folosește tipul request body în TypeScript.
Corpul răspunsului
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/hosts/exec/497f6eca-6276-4993-bfeb-53cbbbba6f08/result" \ -H "x-codai-device: 497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "ok": true }'{ "ok": true}