API conventions
Authentication, sessions, and host isolationAutentificare, sesiuni și izolarea hosturilor
Authenticate on the exact host you intend to use. Sessions are host-only cookies scoped to docula.ro, and copied examples use $COOKIE_JAR rather than a browser token store.Autentifică-te pe hostul exact pe care îl vei folosi. Sesiunile sunt cookie-uri legate strict de hostul docula.ro, iar exemplele copiate folosesc $COOKIE_JAR, nu un token stocat în browser.
Origin, Referer, and CSRFOrigin, Referer și CSRF
Protected browser mutations require the exact Origin or Referer accepted for that host and the X-CSRF-Token bound to the current session. A role never bypasses request-integrity checks.Mutațiile protejate din browser cer valoarea exactă Origin sau Referer acceptată pentru host și X-CSRF-Token asociat sesiunii curente. Rolul nu ocolește verificările de integritate.
Roles and authorizationRoluri și autorizare
Roles apply only after the forced-password state is cleared. While must_change_password is true, only session read, password change, and logout are authorized; all other operations return 403 regardless of role. Authorization is enforced by the Go API.Rolurile se aplică numai după ieșirea din starea de schimbare obligatorie a parolei. Cât timp must_change_password este true, sunt permise doar citirea sesiunii, schimbarea parolei și deconectarea; toate celelalte operații răspund cu 403 indiferent de rol. Autorizarea este aplicată de API-ul Go.
RFC 9457 problemsProbleme RFC 9457
Errors use application/problem+json. Read the HTTP status, stable problem code, correlation identifier, and field pointers before choosing a recovery action.Erorile folosesc application/problem+json. Citește statusul HTTP, codul stabil, identificatorul de corelare și pointerii câmpurilor înainte de a alege recuperarea.
Idempotent replayReluare idempotentă
Where documented, reuse the same Idempotency-Key only for the same logical request. A changed payload requires a new key; a safe replay returns the canonical prior result.Acolo unde este documentat, refolosește același Idempotency-Key doar pentru aceeași cerere logică. Un payload schimbat cere o cheie nouă; reluarea sigură întoarce rezultatul canonic anterior.
ETags and strong preconditionsETag și precondiții ferme
Read the current strong ETag and send it unchanged in If-Match for revisioned mutations. A stale value fails explicitly and never overwrites newer work.Citește ETag-ul ferm curent și trimite-l neschimbat în If-Match pentru mutațiile cu revizie. O valoare expirată eșuează explicit și nu suprascrie lucrul mai nou.
SSE resume and deduplicationReluare și deduplicare SSE
Persist the latest event identifier and reconnect with Last-Event-ID. Deduplicate by the canonical event identity, then reconcile terminal state with the execution resource.Păstrează ultimul identificator de eveniment și reconectează-te cu Last-Event-ID. Deduplică după identitatea canonică, apoi reconciliază starea terminală cu resursa execuției.
Authorized downloadsDescărcări autorizate
Retrieve DOCX and PDF artifacts only through the documented download endpoint and current host-local session. Object-store keys are evidence, not public URLs.Descarcă artefactele DOCX și PDF doar prin endpointul documentat și sesiunea curentă a hostului. Cheile din object storage sunt dovezi, nu URL-uri publice.
Body and resource limitsLimite pentru body și resurse
Respect the operation-specific request, response, stream, and artifact limits before sending bytes. A missing measurement is unavailable, never zero or unlimited.Respectă limitele specifice operației pentru cereri, răspunsuri, fluxuri și artefacte înainte de a trimite bytes. O măsurătoare lipsă este indisponibilă, nu zero sau nelimitată.
Effective time and receipt timeTimp efectiv și timp de primire
object_effective_at selects eligible immutable configuration. received_at records when Docula accepted the submission; it does not replace business effective time.object_effective_at selectează configurația imuabilă eligibilă. received_at înregistrează când Docula a acceptat solicitarea; nu înlocuiește timpul efectiv de business.
Immutable versionsVersiuni imuabile
Published contract, transformer, template, ingestion-model, and release versions never change. New content creates a new version and preserves prior evidence.Versiunile publicate de contract, transformer, template, ingestion model și release nu se schimbă. Conținutul nou creează o versiune nouă și păstrează dovezile anterioare.
Configuration lifecycle orderOrdinea ciclului de configurare
Create the contract version, deterministic case, transformer version, template version, ingestion-model version, release, and configuration deployment in that dependency order before submitting work.Creează în ordine versiunea contractului, cazul determinist, versiunea transformerului, versiunea template-ului, versiunea modelului de ingestie, release-ul și deploymentul configurației înainte de a trimite solicitări.