Skoči na vsebino

digna REST API 2026.11

REST API digna omogoča vašim lastnim orodjem in cevovodom, da z digna delajo prek HTTP in JSON: berejo projekte in rezultate inšpekcij, upravljajo podatkovne vire, nabore podatkov in atribute ter zaganjajo inšpekcije, na primer ob koncu nalaganja podatkov. Isti API uporablja tudi Python SDK.

Ta stran opisuje, kar je skupno vsem zahtevam. Strani virov navajajo vsako končno točko z njenimi parametri, telesom zahteve, odgovori in shemami:

Vir Končne točke
Projects Branje projektov
DB Connections Branje povezav z bazami podatkov
Data Sources Ustvarjanje, branje, posodabljanje in brisanje podatkovnih virov
Data Sets Ustvarjanje, branje, posodabljanje in brisanje naborov podatkov
Attributes Ustvarjanje, branje, posodabljanje in brisanje atributov
Check Definitions Branje definicij preverjanj
Inspection Requests Zagon inšpekcij in spremljanje njihovega poteka
Inspection Statuses Branje rezultatov inšpekcij po projektih, podatkovnih virih in naborih podatkov

Osnovni URL

API je del zaledja digna. Vsaka pot se za naslovom zaledja začne z /v1:

https://digna.example.com/v1/projects

Naslov zaledja je isti, kot ga uporablja nadzorna plošča: baseUrl v razdelku [api] datoteke dashboard/dashboard_config.toml. HTTPS uporabljajte vedno, kadar klicatelj in digna nista na istem računalniku, saj vsaka zahteva vsebuje ključ API.


Overjanje

Vsaka zahteva pošlje ključ API uporabnika digna v glavi Authorization:

Authorization: Bearer <api key>

Ključ ustvarite tako, da v spodnjem levem kotu nadzorne plošče odprete svoj uporabniški profil, kliknete API Keys, nato Add API Key in kopirate ključ. Prikazan je le enkrat. Isti ključi delujejo tudi za digna MCP Server.

Zahteva se izvede z dovoljenji uporabnika, ki mu ključ pripada. Ustvarjanje, spreminjanje in brisanje zahteva vlogo urejevalca v projektu; sicer je zahteva zavrnjena s kodo 403 in sporočilom You don't have permission to edit this project.

Za avtomatizacijo uporabite namenskega uporabnika

Za vsako integracijo ustvarite svojega uporabnika digna, dodelite mu le projekte in vloge, ki jih potrebuje, in njegov ključ ustvarite z rokom veljavnosti. Tako lahko dostop posamezne integracije prekličete z brisanjem njenega ključa, ne da bi vplivali na kogar koli drugega.


Pošiljanje zahteve

export DIGNA_API_KEY='<api key>'
curl https://digna.example.com/v1/projects -H "Authorization: Bearer $DIGNA_API_KEY"

Odgovori so v obliki JSON. Seznami so vrnjeni kot polje JSON. Tudi telesa zahtev so v obliki JSON in se pošiljajo z glavo Content-Type: application/json.


Omejitve in filtri

Končne točke za sezname vrnejo največ limit elementov: privzeto 200 in največ 5000. Vrednost zunaj tega razpona je zavrnjena s kodo 400. Odmika (offset) ali žetona strani ni, zato seznam zožite z njegovimi filtri, na primer z project_id, data_source_id ali z start_date in end_date pri statusih inšpekcij.

Zahteva, ki traja dlje kot 60 sekund, je preklicana z 408 Request Timeout.


Napake

Odgovor z napako ima telo JSON s kodo in sporočilom:

{
  "code": "NOT_FOUND",
  "message": "Data set not found"
}
Status Koda Pomen
400 BAD_REQUEST Zahteva je neveljavna, na primer limit zunaj razpona
401 NOT_AUTHENTICATED Ključ API manjka, je napačno oblikovan, neznan ali potekel
403 NOT_AUTHORIZED Uporabnik ključa nima vloge, ki jo ta zahteva potrebuje
403 INVALID_LICENSE Licenca digna je potekla
404 NOT_FOUND Projekt, podatkovni vir ali drug element ne obstaja
500 INTERNAL_ERROR Nepričakovana napaka v digna. Podrobnosti so v dnevniku zaledja

Polje message odgovora 401 pove, kaj je narobe s ključem:

Sporočilo Vzrok
Missing Authorization header Glava Authorization ni bila poslana
Invalid Authorization header format Vrednost se ne začne z Bearer
Invalid API key Ključ je napačen ali je bil izbrisan
API key expired Ključ je potekel. Ustvarite novega

Zagon inšpekcije

Tipična integracija zažene inšpekcijo, ko se nalaganje podatkov konča, počaka, da se konča, in prebere rezultat:

  1. Zaženite inšpekcijo z POST /v1/inspection-requests. Odgovor vsebuje id zahteve.
  2. Spremljajte njen potek z GET /v1/inspection-requests/{inspection_request_id}. Njen status se spreminja od PENDING prek RUNNING do COMPLETED ali pa se konča kot FAILED, ABORTED ali CANCELLED. Poizvedbo ponavljajte na nekaj sekund, dokler se ne preneha spreminjati.
  3. Preberite rezultat z GET /v1/inspection-statuses/data-sources za datume, ki jih je zajela inšpekcija. Vsak element ima skupni status: 0 (OK), 1 (opozorilo), 2 (kritično) ali -1 (brez statusa), ter status za vsak modul s številom uspešnih, negotovih in neuspešnih preverjanj.
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
  }'

Dokument OpenAPI

Vsaka namestitev digna opisuje ta API v dokumentu OpenAPI 3.1 in ponuja interaktivni Swagger UI, v katerem lahko preizkusite zahteve:

Kaj Naslov
Dokument OpenAPI https://digna.example.com/api-docs/stable/v1/openapi.json
Swagger UI https://digna.example.com/v1/swagger-ui

Dokument za Release 2026.11 je na voljo tudi tukaj: openapi.json. Z njim lahko ustvarite odjemalca v drugem programskem jeziku.

Zajete so le končne točke /v1

Nadzorna plošča z zaledjem komunicira tudi prek drugih, internih končnih točk. Te niso del tega API in se lahko spremenijo s katero koli izdajo, zato integracije gradite le na končnih točkah /v1.