API za razvojne inženjere

    Zašto prepisivati imena između sustava kad jedan API poziv radi sve?

    Ugradite verifikaciju tvrtki, mapiranje vlasništva, PEP provjeru, negativne medije i sankcijske signale izravno u svoje postojeće 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

    Vlastita izrada naspram integracije ScreenVeritAI-a

    Vlastita izrada naspram integracije ScreenVeritAI-a
    AspektVlastita izradaScreenVeritAI API
    Vrijeme do produkcije6-12 mjeseci za nabavu lista, izgradnju podudaranja, obradu rubnih slučajevaDani za integraciju — spremno za produkciju od prvog API poziva
    Pokrivenost sankcijskih listaRučno preuzimanje svakog formata liste; stalno održavanje shemeSvaki veći izvor, kontinuirano održavan i ažuriran
    Točnost podudaranjaPrilagođeno neizravno podudaranje zahtijeva NLP stručnost i stalno podešavanjeAI s neizravnim podudaranjem, transliteracijom, razrješavanjem pseudonima, fonetičkim algoritmima
    PEP i negativni medijiZasebni dobavljači, zasebne integracije, zasebni proračuniPEP, negativni mediji i UBO podaci u istom API odgovoru
    Tekuće održavanjePoseban tim za ažuriranja lista, promjene sheme, podešavanje lažno pozitivnih rezultataPotpuno upravljano — ažuriranja, poboljšanja i infrastrukturu rješavamo umjesto Vas
    Revizijski tragIzgradite vlastitu infrastrukturu za evidenciju, dokaze i čuvanje podatakaVremenski označeni paketi dokaza s referencama izvora uključeni

    Četiri koraka do ugrađene sukladnosti

    1. Zatražite API ključ

      Izradite ključ s definiranim ovlastima iz svoje nadzorne ploče, s pristupom najmanjih potrebnih prava: search:read, search:write, batch:read, batch:write.

    2. Integrirajte krajnju točku

      Jedan POST poziv u Vaš proces onboardinga, plaćanja ili CRM-a — pošaljite naziv subjekta, vrstu i državu, dobijte identifikator zadatka natrag.

    3. Obradite rezultate

      Ispitujte krajnju točku rezultata za strukturirani JSON — kontekst tvrtke, vlasništvo, PEP, negativni mediji, sankcijski signali i ocjene rizika.

    4. Pratite i primajte upozorenja

      Konfigurirajte kontinuirano praćenje — API šalje upozorenja kad se sankcijske liste ažuriraju ili se pojave novi negativni mediji.

    Počnite unutar nekoliko minuta

    Jedan API poziv vraća potpun rezultat provjere.

    Provjerite 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 }
    Provjerite 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 }

    Performanse API-ja

    • €0.39

      Quick Check po pozivu, bez naknade za platformu

    • 202

      HTTP status kada je pretraga prihvaćena; rezultat se zatim dohvaća

    • EU

      Hostano u Finskoj; podaci u mirovanju ostaju u EU

    Česta pitanja o API integraciji

    Kako autentificiram API zahtjeve?

    Autentificirajte API zahtjeve tajnim ključem proslijeđenim u zaglavlju X-API-Key. Ključevi se izrađuju u Vašoj nadzornoj ploči s ograničenim, najnužnijim ovlastima.

    Je li API sinkroni ili asinkroni?

    Asinkroni. Predajte zahtjev, dobijte identifikator zadatka, preuzmite rezultate ispitivanjem statusa. Vaš sustav se nikad ne blokira.

    U kojem formatu API vraća odgovor?

    Strukturirani JSON s poljima glavnih jurisdikcija i nizovima po izvorima te nalazima s popisa traženih osoba i PEP/RCA. Pregledajte dostupni markdown, identifikatore i izvore. Odgovor ne daje brojčanu ocjenu rizika.

    Koja ograničenja brzine vrijede?

    Dodjeljuju se prema razini pretplate po API ključu. Zaglavlja odgovora uključuju preostalu kvotu i vrijeme resetiranja.

    Mogu li provjeravati subjekte skupno putem API-ja?

    Da. Krajnja točka za skupnu obradu prihvaća CSV ili XLSX s do 100 redaka po zahtjevu, a rezultati se mogu preuzeti po retku ili kao potpuni izvoz.

    Kako postavim kontinuirano praćenje putem API-ja?

    Konfigurirajte praćenje nakon početne provjere. Kad se liste ažuriraju ili se pojave novi negativni mediji, praćenje označava promjenu i upozorava Vas u aplikaciji.

    Koji su podaci o sukladnosti uključeni u svaki rezultat provjere?

    Podudaranja sa sankcijama kroz svaki veći izvor, PEP status s obiteljskim vezama, negativni mediji s višejezičnim citatima, UBO podaci, razina rizika i vremenski označen paket dokaza.

    Koliko traje provjera?

    Standardna provjera sankcija: nekoliko sekundi. Dubinsko istraživanje s negativnim medijima i mapiranjem vlasništva: manje od dvije minute.

    API terminologija

    REST API
    Web API koji koristi standardne HTTP metode — kompatibilan sa svakim jezikom ili okvirom koji može slati HTTP zahtjeve.
    Asinkrona obrada
    API odmah prihvaća zadatak i obrađuje ga u pozadini — rezultate preuzimate ispitivanjem statusa.
    API ključ
    Tajni token za autentifikaciju API zahtjeva, s definiranim ovlastima za pristup s najmanjim potrebnim pravima.
    Ograničenje brzine
    Ograničava broj API zahtjeva po vremenskom prozoru prema razini pretplate — preostala kvota i vrijeme resetiranja nalaze se u zaglavljima odgovora.
    Strukturirani odgovor
    Strojno čitljiv JSON s dosljednim nazivima i vrstama polja, koji omogućuje automatsku obradu i logiku odlučivanja.

    REST API za AML provjeru

    Integrirajte provjeru sankcija, PEP-a, popisa traženih osoba, negativnih medija i KYB/UBO izravno u svoje procese onboardinga, praćenja i transakcija. API je aktivan: autentificirajte se API ključem i pozovite isti sustav provjere koji koristi portal.

    Krajnje točke su općenito dostupne uz autentifikaciju API ključem i ograničenja brzine po razini. Istražite svaku krajnju točku u interaktivnoj OpenAPI dokumentaciji na /api/v1/docs.

    Brzi početak

    1. 1. Izradite API ključ

      Izradite API ključ s definiranim ovlastima u svojoj nadzornoj ploči, ili ga programski generirajte s bearer tokenom svog računa za server-server zahtjeve.

      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. Pokrenite prvu pretragu

      Predajte subjekt uz zaglavlje X-API-Key. API vraća identifikator pretrage koji preuzimate kad obrada završ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šaljite skupnu obradu

      Pošaljite CSV/XLSX datoteku za provjeru mnogo subjekata u jednom zadatku, a zatim preuzmite retke ili izvoze kad skupna obrada završi.

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

    Osnovne krajnje točke

    • POST/api/v1/search

      Izradite zahtjev za provjeru jednog subjekta. Vraća identifikator pretrage i status obrade. Krajnje točke za račun, pokrivenost i status dostupnosti također su dostupne pod /api/v1.

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

    • POST/api/v1/batch

      Predajte CSV/XLSX datoteke za provjeru velikog obujma, a zatim preuzmite retke ili izvoze kad zadaci završe.

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

    • POST/api/v1/keys

      Izrađujte i upravljajte API vjerodajnicama s definiranim ovlastima, ograničenjima brzine ovisnima o razini i praćenjem korištenja.

      Autentifikacija: Bearer token (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.

    Zašto timovi koriste API

    • Jedinstvena integracija za provjeru sankcija, PEP-a, popisa traženih osoba, negativnih medija i KYB/UBO
    • Autentifikacija API ključem putem zaglavlja X-API-Key, s ključevima ograničenih ovlasti za pristup s najmanjim potrebnim pravima
    • Ograničenja brzine po razini uz evidenciju korištenja za upravljanje i kontrolu troškova
    • Krajnje točke za pretragu, skupnu obradu, ključeve, račun, pokrivenost i status dostupnosti pod /api/v1
    • Interaktivna OpenAPI dokumentacija na /api/v1/docs plus strojno čitljiva OpenAPI shema
    • Strukturirani izlaz prikladan za revizijske zapise, dosjee predmeta i daljnje odluke

    Integration playbooks

    Česta pitanja o API-ju

    Kako autentificiram API zahtjeve?

    Zahtjevi za provjeru prema /api/v1/search i /api/v1/batch autentificiraju se API ključem poslanim u zaglavlju X-API-Key. Izradite ključeve u svojoj nadzornoj ploči, ili programski putem /api/v1/keys nakon autentifikacije bearer tokenom svog računa.

    Je li API općenito dostupan?

    Da. API v1 je aktivan i općenito dostupan. Autentificirajte se API ključem, pozovite krajnje točke za pretragu, skupnu obradu i upravljanje ključevima, te istražite sve u interaktivnoj OpenAPI dokumentaciji na /api/v1/docs.

    Mogu li ograničiti ovlasti API ključa?

    Da. Ključevi podržavaju ovlasti poput search:read, search:write, batch:read i batch:write, tako da možete provesti pristup s najmanjim potrebnim pravima po integraciji.

    Koja ograničenja brzine vrijede?

    Ograničenja brzine dodjeljuju se po API razini i provode se po API ključu — razina određuje propusnost zahtjeva, ne naplatu. Zaglavlja odgovora uključuju ograničenje, preostalu kvotu i vremenske oznake resetiranja, tako da možete uredno usporiti zahtjeve.

    Gdje mogu brzo testirati krajnje točke?

    Koristite interaktivnu dokumentaciju na /api/v1/docs za Swagger testiranje i /api/v1/redoc za dokumentaciju u referentnom stilu. OpenAPI shema poslužuje se na /api/v1/openapi.json.

    Započnite provjeru u minutama.

    Odaberite plan i počnite provjeravati već danas.