API za razvijalce

    Zakaj kopirati imena med sistemi, ko en klic API opravi vse?

    Vgradite potrjevanje podjetij, mapiranje lastništva, preverjanje PEP, negativne medije in sankcijske signale neposredno v obstoječe delovne procese.

    POST/api/v1/searchbash
    curl -X POST https://screenveritai.com/api/v1/search \
      -H 'X-API-Key: YOUR_API_KEY' \
      -H 'Content-Type: application/json' \
      -d '{
        "entity_name": "Acme Trading LLC",
        "entity_type": "company",
        "country": "AE",
        "search_type": "sanctions_check"
      }'
    # 202 Accepted
    # { "search_id": "SEARCH_ID", "status": "processing",
    #   "estimated_time_seconds": 15 }

    The request

    One POST call, then your poll loop.

    Entity name, type, country, screening type. The call returns 202 with a search_id and an ETA, and the agent works in the background — you poll for the result rather than hold the connection open.

    • entity_nameRequired, 1-500 characters. Alias-aware matching
    • entity_type"person", "company" or "any" (default "any")
    • countryOptional context field; does not filter Quick Check matching
    • search_type"sanctions_check", "adverse_media" or "full_search"

    The response

    Structured JSON. Findings, not a score.

    Core-jurisdiction fields and per-source arrays, plus criminal-watchlist and PEP/RCA findings. Review the available markdown, identifiers and source references; the response does not provide a numeric risk score.

    GET/api/v1/search/{search_id}200 OK
    {
      "id": "SEARCH_ID",
      "entity_name": "Acme Trading LLC",
      "entity_type": "company",
      "status": "completed",
      "search_type": "sanctions_check",
      "ofac_sanctions": "## OFAC Sanctions Findings\n\n**Status:** *Sanctioned*\n\n**Details:**\n- **Matched entity:** ACME TRADING LLC\n- **Authority:** US Treasury OFAC\n...",
      "eu_sanctions": "## EU Sanctions Findings\n\n**Status:** *No relevant listing found*\n...",
      "sanctions_sources": [
        { "source_id": "ofac_sanctions", "title": "OFAC Sanctions",
          "authority": "US Treasury OFAC", "hit_count": 1 },
        { "source_id": "eu_sanctions", "title": "EU Sanctions",
          "authority": "", "hit_count": 0 }
      ],
      "criminal_watchlists": null,
      "pep": null,
      "news_summary": null,
      "final_report": null,
      "created_at": "2026-09-04T09:20:03.771000+00:00",
      "completed_at": "2026-09-04T09:20:19.088000+00:00"
    }
    No relevant listing found / nullSanctioned / potential matchPer-source hit_countStatus and search_type
    • "ofac_sanctions"One markdown field per jurisdiction; read the *Status:* line
    • "sanctions_sources"source_id, title, authority, details, hit_count per source
    • "criminal_watchlists"Markdown when matched, null when nothing matched
    • "pep"Markdown when matched, null when nothing matched
    • "news_summary"Adverse-media report on adverse_media and full_search
    • "status"completed when done; error_* on failure

    API reference

    Three calls cover a screening integration: queue it, poll it, or hand over a file.

    POST/api/v1/searchQueue a screening run. Returns immediately with a search_id; the work happens in the background.202 Accepted
    Requestbash
    curl -X POST https://screenveritai.com/api/v1/search \
      -H 'X-API-Key: YOUR_API_KEY' \
      -H 'Content-Type: application/json' \
      -d '{"entity_name": "Acme Trading LLC", "entity_type": "company",
           "country": "AE", "search_type": "sanctions_check"}'
    Response202 Accepted
    { "search_id": "SEARCH_ID", "status": "processing",
      "message": "Search queued successfully. Poll the GET endpoint for results.",
      "estimated_time_seconds": 15 }
    GET/api/v1/search/{search_id}Poll for the result. Terminal status is completed; failures land in an error_* status.200 OK
    Requestbash
    curl https://screenveritai.com/api/v1/search/SEARCH_ID \
      -H 'X-API-Key: YOUR_API_KEY'
    Response200 OK
    { "id": "SEARCH_ID", "status": "completed", "search_type": "sanctions_check",
      "ofac_sanctions": "## OFAC Sanctions Findings ... *Sanctioned* ...",
      "eu_sanctions": "... *No relevant listing found* ...",
      "sanctions_sources": [{ "source_id": "ofac_sanctions", "hit_count": 1 }],
      "criminal_watchlists": null, "pep": null }
    POST/api/v1/batchUpload a CSV or XLSX with a name column — up to 100 rows and 2 MB. Poll the job, then export the CSV.202 Accepted
    Requestbash
    curl -X POST https://screenveritai.com/api/v1/batch \
      -H 'X-API-Key: YOUR_API_KEY' \
      -F 'file=@portfolio.csv'
    Response202 Accepted
    { "job_id": "JOB_ID", "total_rows": 100, "credits_charged": 100,
      "search_type": "sanctions_check", "status": "pending",
      "message": "Batch job created successfully. Poll the GET endpoint for status." }

    Integration patterns

    The API sits between data entry and decision — wherever you need a risk signal.

    • Customer onboarding

      1. Customer signup
      2. POST/api/v1/search
      3. Poll until completed
      4. Approve / hold
    • Payment processing

      1. Transaction init
      2. POST/api/v1/search
      3. Poll until completed
      4. Release / hold
    • CRM re-screen

      1. Record updated
      2. Your scheduler fires
      3. POST/api/v1/search
      4. Write result back

    Gradnja lastne rešitve proti integraciji ScreenVeritAI

    Gradnja lastne rešitve proti integraciji ScreenVeritAI
    VidikGradnja lastne rešitveAPI ScreenVeritAI
    Čas do produkcije6–12 mesecev za pridobitev seznamov, gradnjo ujemanja in obravnavo posebnih primerovDnevi do integracije — pripravljeno za produkcijo že od prvega klica API
    Pokritost seznamov sankcijRočno vnašanje vsake oblike seznama; stalno vzdrževanje shemeVsak večji vir, stalno vzdrževan in posodabljan
    Natančnost ujemanjaLastno približno ujemanje zahteva strokovnost NLP in stalno prilagajanjeUI s približnim ujemanjem, transliteracijo, razreševanjem vzdevkov in fonetičnimi algoritmi
    PEP in negativni medijiLočeni ponudniki, ločene integracije, ločeni proračuniPodatki PEP, negativnih medijev in UBO v istem odgovoru API
    Stalno vzdrževanjeNamenska ekipa za posodobitve seznamov, spremembe sheme, prilagajanje lažno pozitivnih zadetkovPopolnoma upravljano — posodobitve, izboljšave in infrastruktura poskrbljene za vas
    Revizijska sledZgradite lastno infrastrukturo za beleženje, dokaze in hranjenjeDokazni paketi s časovnim žigom, ki vključujejo navedbo virov

    Štirje koraki do vgrajene skladnosti

    1. Pridobite svoj API ključ

      V nadzorni plošči ustvarite ključ z opredeljenim obsegom pravic z najmanjšimi potrebnimi pravicami: search:read, search:write, batch:read, batch:write.

    2. Vključite endpoint

      En klic POST v vaš proces sprejema strank, plačil ali CRM — pošljite ime subjekta, vrsto in državo, prejmete identifikator opravila.

    3. Obdelajte rezultate

      Anketirajte endpoint za rezultate za strukturiran JSON — kontekst podjetja, lastništvo, PEP, negativni mediji, sankcijski signali in ocene tveganja.

    4. Spremljajte in opozarjajte

      Nastavite stalno spremljanje — API pošlje opozorila, ko se seznami sankcij posodobijo ali se pojavijo novi negativni mediji.

    Začnite v nekaj minutah

    En sam klic API vrne popoln rezultat preverjanja.

    Preverite subjektbash
    curl -X POST https://screenveritai.com/api/v1/search \
      -H 'X-API-Key: YOUR_API_KEY' \
      -H 'Content-Type: application/json' \
      -d '{"entity_name": "Acme Trading LLC", "country": "AE", "search_type": "sanctions_check"}'
    
    # 202 Accepted
    # { "search_id": "SEARCH_ID", "status": "processing", "estimated_time_seconds": 15 }
    Preverite rezultatbash
    curl https://screenveritai.com/api/v1/search/SEARCH_ID \
      -H 'X-API-Key: YOUR_API_KEY'
    
    # 200 OK
    # { "id": "SEARCH_ID", "status": "completed",
    #   "ofac_sanctions": "## OFAC Sanctions Findings ... *No relevant listing found* ...",
    #   "criminal_watchlists": null, "pep": null }

    Zmogljivost API

    • €0.39

      Quick Check na klic, brez platformne pristojbine

    • 202

      HTTP status ob sprejetem iskanju; rezultat nato poizvedujete

    • EU

      Gostovanje na Finskem; podatki v mirovanju ostanejo v EU

    Pogosta vprašanja o integraciji API

    Kako avtenticiram zahtevke API?

    Zahtevke API avtenticirajte s skrivnim ključem, posredovanim v glavi X-API-Key. Ključi se ustvarijo v vaši nadzorni plošči z omejenimi pravicami po načelu najmanjših potrebnih privilegijev.

    Ali je API sinhron ali asinhron?

    Asinhron. Oddate zahtevo, prejmete identifikator opravila, rezultate pridobite z anketiranjem. Vaš proces se nikoli ne blokira.

    V kakšni obliki API vrne odgovor?

    Strukturiran JSON s polji glavnih jurisdikcij in polji rezultatov po virih ter ugotovitvami s seznamov iskanih oseb in PEP/RCA. Preglejte razpoložljivi markdown, identifikatorje in vire. Odgovor ne vsebuje številčne ocene tveganja.

    Katere omejitve hitrosti veljajo?

    Dodeljene glede na paket naročnine za vsak API ključ. Glave odgovora vključujejo preostalo kvoto in čas ponastavitve.

    Ali lahko subjekte preverjam paketno prek API?

    Da. Endpoint za pakete sprejme CSV ali XLSX z do 100 vrsticami na zahtevek, rezultate pa pridobite po vrstici ali kot celoten izvoz.

    Kako nastavim stalno spremljanje prek API?

    Spremljanje nastavite po prvotnem preverjanju. Ko se seznami posodobijo ali se pojavijo novi negativni mediji, spremljanje označi spremembo in vas opozori v aplikaciji.

    Kateri podatki o skladnosti so vključeni v vsak rezultat preverjanja?

    Zadetki sankcij v vsakem večjem viru, status PEP z družinskimi povezavami, negativni mediji z večjezičnimi navedbami, podatki UBO, raven tveganja in dokazni paket s časovnim žigom.

    Koliko časa traja preverjanje?

    Standardno preverjanje sankcij: nekaj sekund. Poglobljena raziskava z negativnimi mediji in mapiranjem lastništva: manj kot dve minuti.

    Terminologija API

    REST API
    Spletni API, ki uporablja standardne metode HTTP — združljiv s katerim koli jezikom ali ogrodjem, ki lahko izvaja zahtevke HTTP.
    Asinhrona obdelava
    API opravilo takoj sprejme in ga obdela v ozadju — rezultate pridobite z anketiranjem.
    API ključ
    Skrivni žeton za avtentikacijo zahtevkov API, z opredeljenim obsegom pravic za dostop z najmanjšimi potrebnimi pravicami.
    Omejevanje hitrosti
    Omeji zahtevke API na časovno okno glede na paket naročnine — preostala kvota in čas ponastavitve v glavah odgovora.
    Strukturiran odgovor
    Strojno berljiv JSON z doslednimi imeni in vrstami polj, ki omogoča samodejno razčlenjevanje in logiko odločanja.

    REST API za preverjanje AML

    Vključite preverjanje sankcij, PEP, kazenskih nadzornih seznamov, negativnih medijev in KYB/UBO neposredno v svoje procese sprejema strank, spremljanja in transakcij. API je v produkciji: avtenticirajte se z API ključem in kličite isti sistem preverjanja, ki ga uporablja portal.

    Endpoint-i so splošno dostopni z avtentikacijo prek API ključa in omejitvami zahtevkov po paketu. Raziščite vsak endpoint v interaktivni dokumentaciji OpenAPI na /api/v1/docs.

    Hitri začetek

    1. 1. Ustvarite API ključ

      V nadzorni plošči ustvarite API ključ z opredeljenim obsegom pravic ali ga programsko izdajte s tokenom nosilca svojega računa za zahtevke med strežniki.

      POST/api/v1/keyscurl
      curl -X POST https://screenveritai.com/api/v1/keys \
        -H "Authorization: Bearer <SUPABASE_JWT>" \
        -H "Content-Type: application/json" \
        -d '{"name":"server-key","permissions":["search:read","search:write"]}'
    2. 2. Zaženite prvo iskanje

      Pošljite subjekt z glavo X-API-Key. API vrne identifikator iskanja, ki ga pridobite, ko se obdelava zaključi.

      POST/api/v1/searchcurl
      curl -X POST https://screenveritai.com/api/v1/search \
        -H "X-API-Key: <YOUR_API_KEY>" \
        -H "Content-Type: application/json" \
        -d '{"entity_name":"Acme Ltd","entity_type":"company","search_type":"full_search"}'
    3. 3. Pošljite paket

      Pošljite datoteko CSV/XLSX za preverjanje več subjektov v enem opravilu, nato ob zaključku paketa pridobite vrstice ali izvoze.

      POST/api/v1/batchcurl
      curl -X POST https://screenveritai.com/api/v1/batch \
        -H "X-API-Key: <YOUR_API_KEY>" \
        -F "file=@entities.csv"

    Ključni endpoint-i

    • POST/api/v1/search

      Ustvari zahtevo za preverjanje enega subjekta. Vrne identifikator iskanja in stanje obdelave. Pod /api/v1 so na voljo tudi endpoint-i za račun, pokritost in stanje sistema.

      Avtentikacija: X-API-Key (search:write)

    • POST/api/v1/batch

      Pošljite datoteke CSV/XLSX za preverjanje velikega obsega, nato ob zaključku opravil pridobite vrstice ali izvoze.

      Avtentikacija: X-API-Key (batch:write)

    • POST/api/v1/keys

      Ustvarjajte in upravljajte poverilnice API z opredeljenim obsegom pravic, omejitvami zahtevkov po paketu in sledenjem porabe.

      Avtentikacija: token nosilca (račun)

    Crypto address checks. Source evidence at 0,39 €.

    Check an address against OFAC’s published digital-currency identifiers. Add native-USDC issuer-block status on Ethereum in the same request, at the same price.

    0,39 € per completed address check · prepaid PAYG only

    • POST/api/v1/crypto-address/checks
    • GET/api/v1/crypto-address/checks/{id}
    OFAC address match
    Exact address lookup under the requested OFAC currency label, such as ETH, XBT, TRX, USDT or USDC. Evidence includes the publication date, source URL, export hash and matching OFAC record.
    Ethereum USDC
    Set network to ethereum to check native-USDC issuer-block status at a finalized Ethereum mainnet block. The result includes the contract address, block number, block hash and contract response. Omit network for an OFAC-only check.
    Create a check
    POST requires X-API-Key with search:write, an Idempotency-Key of 16–128 ASCII letters, digits, underscores, dots, colons or hyphens, and address, currency and integer max_prepaid_cents fields. Set max_prepaid_cents to 39 to authorize the current price. A completed request returns HTTP 200 synchronously.
    Retrieve and retry
    GET requires search:read and returns your saved check without another charge. If a POST response is lost, reuse the same Idempotency-Key and payload. Keep that key while the outcome is uncertain; create a new key only for a deliberate new check.
    Billing
    Completed checks debit 0,39 € from your EUR prepaid balance. Minimum balance top-up: €5. Subscription allowances do not apply. Source failures are unpaid.

    A negative result means no published OFAC match or no native-USDC issuer block in the checked source. It does not establish wallet ownership or clear an address of all risk.

    This is an address-level source check. Transaction tracing, exposure scoring and continuous KYT monitoring are outside its scope. Crypto checks use this separate API; they are not available through name-screening batch uploads, portal history or PDF reports.

    Zakaj ekipe uporabljajo ta API

    • Ena integracija za preverjanje sankcij, PEP, kazenskih nadzornih seznamov, negativnih medijev in KYB/UBO
    • Avtentikacija z API ključem prek glave X-API-Key, s ključi z opredeljenim obsegom pravic za dostop z najmanjšimi potrebnimi pravicami
    • Omejitve zahtevkov po paketu z beleženjem porabe za nadzor in obvladovanje stroškov
    • Endpoint-i za iskanje, pakete, ključe, račun, pokritost in stanje sistema pod /api/v1
    • Interaktivna dokumentacija OpenAPI na /api/v1/docs ter strojno berljiva shema OpenAPI
    • Strukturiran izpis, primeren za revizijske dnevnike, dosjeje primerov in nadaljnje odločitve

    Integration playbooks

    Pogosta vprašanja o API

    Kako avtenticiram zahtevke API?

    Zahtevki za preverjanje na /api/v1/search in /api/v1/batch se avtenticirajo z API ključem, poslanim v glavi X-API-Key. Ključe ustvarite v nadzorni plošči ali programsko prek /api/v1/keys, po avtentikaciji s tokenom nosilca svojega računa.

    Ali je API splošno dostopen?

    Da. API v1 je v produkciji in splošno dostopen. Avtenticirajte se z API ključem, kličite endpoint-e za iskanje, pakete in upravljanje ključev ter raziščite vse v interaktivni dokumentaciji OpenAPI na /api/v1/docs.

    Ali lahko omejim pravice API ključa?

    Da. Ključi podpirajo pravice, kot so search:read, search:write, batch:read in batch:write, tako da lahko za vsako integracijo uveljavite dostop z najmanjšimi potrebnimi pravicami.

    Katere omejitve zahtevkov veljajo?

    Omejitve zahtevkov so dodeljene glede na raven API in se uveljavljajo za vsak API ključ posebej — raven določa pretočnost zahtevkov, ne obračunavanja. Glave odgovora vključujejo omejitev, preostalo kvoto in čas ponastavitve, tako da lahko zahtevke ustrezno prilagodite.

    Kje lahko hitro preizkusim endpoint-e?

    Uporabite interaktivno dokumentacijo na /api/v1/docs za testiranje Swagger in /api/v1/redoc za referenčno dokumentacijo. Shema OpenAPI je na voljo na /api/v1/openapi.json.

    Začnite preverjanje v nekaj minutah.

    Izberite paket in še danes začnite s preverjanjem.