digna REST API 2026.11¶
API-ul REST digna permite instrumentelor și pipeline-urilor dvs. să lucreze cu digna prin HTTP și JSON: să citească proiecte și rezultate ale inspecțiilor, să gestioneze surse de date, seturi de date și atribute și să pornească inspecții, de exemplu la finalul unei încărcări de date. Python SDK folosește același API.
Această pagină descrie ce au în comun toate cererile. Paginile de resurse prezintă fiecare punct final cu parametrii, corpul cererii, răspunsurile și schemele sale:
| Resursă | Puncte finale |
|---|---|
| Projects | Citirea proiectelor |
| DB Connections | Citirea conexiunilor la baze de date |
| Data Sources | Crearea, citirea, actualizarea și ștergerea surselor de date |
| Data Sets | Crearea, citirea, actualizarea și ștergerea seturilor de date |
| Attributes | Crearea, citirea, actualizarea și ștergerea atributelor |
| Check Definitions | Citirea definițiilor de verificare |
| Inspection Requests | Pornirea inspecțiilor și urmărirea progresului lor |
| Inspection Statuses | Citirea rezultatelor inspecțiilor pe proiect, sursă de date și set de date |
URL de bază¶
API-ul face parte din backend-ul digna. Fiecare cale începe cu /v1, după adresa backend-ului:
Adresa backend-ului este cea pe care o folosește dashboard-ul: baseUrl din secțiunea [api] a fișierului dashboard/dashboard_config.toml. Folosiți HTTPS ori de câte ori apelantul și digna nu se află pe aceeași mașină, deoarece fiecare cerere conține o cheie API.
Autentificare¶
Fiecare cerere trimite cheia API a unui utilizator digna în antetul Authorization:
Pentru a crea o cheie, deschideți profilul de utilizator din colțul din stânga jos al dashboard-ului, faceți clic pe API Keys, apoi pe Add API Key și copiați cheia. Aceasta este afișată o singură dată. Aceleași chei funcționează și pentru digna MCP Server.
O cerere rulează cu permisiunile utilizatorului căruia îi aparține cheia. Crearea, modificarea și ștergerea necesită rolul de editor în proiect; în caz contrar, cererea este refuzată cu 403 și mesajul You don't have permission to edit this project.
Folosiți un utilizator dedicat pentru automatizare
Creați câte un utilizator digna pentru fiecare integrare, acordați-i doar proiectele și rolurile de care are nevoie și creați-i cheia cu o dată de expirare. Astfel puteți revoca accesul unei integrări ștergându-i cheia, fără a afecta pe nimeni altcineva.
Trimiterea unei cereri¶
export DIGNA_API_KEY='<api key>'
curl https://digna.example.com/v1/projects -H "Authorization: Bearer $DIGNA_API_KEY"
Răspunsurile sunt în format JSON. Listele sunt returnate ca tablou JSON. Corpurile cererilor sunt tot în format JSON și se trimit cu Content-Type: application/json.
Limite și filtre¶
Punctele finale de listare returnează cel mult limit elemente: implicit 200 și până la 5000. O valoare în afara acestui interval este respinsă cu 400. Nu există offset sau token de pagină, așa că restrângeți o listă cu ajutorul filtrelor sale, de exemplu project_id, data_source_id sau start_date și end_date la stările inspecțiilor.
O cerere care durează mai mult de 60 de secunde este anulată cu 408 Request Timeout.
Erori¶
Un răspuns de eroare are un corp JSON cu un cod și un mesaj:
| Stare | Cod | Semnificație |
|---|---|---|
400 | BAD_REQUEST | Cererea este invalidă, de exemplu o valoare limit în afara intervalului |
401 | NOT_AUTHENTICATED | Cheia API lipsește, are un format greșit, este necunoscută sau a expirat |
403 | NOT_AUTHORIZED | Utilizatorul cheii nu are rolul necesar pentru această cerere |
403 | INVALID_LICENSE | Licența digna a expirat |
404 | NOT_FOUND | Proiectul, sursa de date sau alt element nu există |
500 | INTERNAL_ERROR | O eroare neașteptată în digna. Detaliile se află în jurnalul backend-ului |
Câmpul message al unui răspuns 401 arată ce este în neregulă cu cheia:
| Mesaj | Cauză |
|---|---|
Missing Authorization header | Nu a fost trimis niciun antet Authorization |
Invalid Authorization header format | Valoarea nu începe cu Bearer |
Invalid API key | Cheia este greșită sau a fost ștearsă |
API key expired | Cheia a expirat. Creați una nouă |
Rularea unei inspecții¶
O integrare tipică pornește o inspecție după ce s-a încheiat o încărcare de date, așteaptă finalizarea ei și citește rezultatul:
- Porniți inspecția cu
POST /v1/inspection-requests. Răspunsul conțineid-ul cererii. - Urmăriți progresul cu
GET /v1/inspection-requests/{inspection_request_id}. Câmpulstatustrece de laPENDINGprinRUNNINGlaCOMPLETEDsau se încheie caFAILED,ABORTEDoriCANCELLED. Interogați din nou la câteva secunde, până când nu se mai schimbă. - Citiți rezultatul cu
GET /v1/inspection-statuses/data-sourcespentru zilele inspectate. Fiecare element are unstatusgeneral:0(OK),1(avertisment),2(critic) sau-1(fără stare), precum și o stare pentru fiecare modul, cu numărul de verificări reușite, incerte și eșuate.
curl -X POST https://digna.example.com/v1/inspection-requests \
-H "Authorization: Bearer $DIGNA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"project_id": 1,
"include_all_data_sources": true,
"data_source_ids": [],
"start_date": "2026-11-06",
"end_date": "2026-11-06",
"mode": "DAILY",
"weekly_mode_weekdays": [],
"monthly_mode_days": [],
"use_notification": true
}'
Documentul OpenAPI¶
Fiecare instalare digna descrie acest API într-un document OpenAPI 3.1 și oferă o interfață interactivă Swagger UI în care puteți încerca cereri:
| Ce | Adresă |
|---|---|
| Document OpenAPI | https://digna.example.com/api-docs/stable/v1/openapi.json |
| Swagger UI | https://digna.example.com/v1/swagger-ui |
Documentul pentru Release 2026.11 este disponibil și aici: openapi.json. Folosiți-l pentru a genera un client în alt limbaj de programare.
Sunt acoperite doar punctele finale /v1
Dashboard-ul comunică cu backend-ul și prin alte puncte finale, interne. Acestea nu fac parte din acest API și se pot schimba cu orice versiune, așa că construiți integrările doar pe punctele finale /v1.