API Tablouri
Un Tablou este o suprafață de desen colaborativă din sesiune (Excalidraw la bază). Când operatorul îl capturează, platforma captează ambele — PNG-ul randat și JSON-ul canonic al elementelor Excalidraw — hash-uite împreună, astfel încât lanțul de audit poate dovedi că aceleași forme pe care le-ați văzut pe ecran sunt cele pe care le vede auditorul mai târziu.
O captură de tablou este doar un rând Evidence cu kind=whiteboard. Endpoint-ul dedicat de mai jos este un filtru de conveniență — folosiți-l când vă interesează doar tablourile, iar API Probe când doriți toate artefactele deodată.
Listați tablourile unei sesiuni
GET /api/v1/public/sessions/{session_id}/whiteboards — permisiune whiteboards:read
curl "https://app.nexbasira.com/api/v1/public/sessions/0c8f.../whiteboards?limit=25" \
-H "Authorization: Bearer nb_sec_..." Returnează rânduri Evidence paginate prin cursor de tipul kind=whiteboard.
{
"data": [
{
"id": "ev-wb1...",
"session": "0c8f...",
"kind": "whiteboard",
"status": "ready",
"mime": "image/png",
"byte_size": 42178,
"sha256": "8e2c01...",
"captured_at": "2026-05-23T10:18:44Z",
"created_at": "2026-05-23T10:18:44Z",
"completed_at":"2026-05-23T10:18:45Z"
}
],
"has_more": false,
"next_cursor": null
} Descărcare + verificare
La fel ca orice alt rând Evidence — obțineți un URL semnat de la endpoint-ul de descărcare Evidence, calculați hash-ul octeților cu SHA-256 și comparați cu valoarea returnată sha256:
curl "https://app.nexbasira.com/api/v1/public/evidence/ev-wb1.../download" \
-H "Authorization: Bearer nb_sec_..." JSON-ul elementelor Excalidraw
Câmpul integrity_jsonb.whiteboard_state al fiecărui rând de tablou stochează scena canonică Excalidraw care a produs PNG-ul. Combinația sha256 ancorează PNG-ul și JSON-ul împreună, astfel încât rerandarea JSON-ului mai târziu produce un PNG identic la nivel de octet. JSON-ul este în mod intenționat absent din forma publică de citire — solicitați URL-ul /download pentru rând pentru a prelua .pngbrut și folosiți endpoint-ul de verificare a auditului din SPA când aveți nevoie de JSON pentru dovezi de rerandare.
Erori frecvente
| Stare | Cod | Când |
|---|---|---|
| 403 | permission_denied | Credențialul nu are whiteboards:read. |
| 404 | not_found | Sesiunea nu există în organizația credențialului. |