Kehittäjä-API

    Liitä pakoteseulonta omaan työnkulkuusi API:lla

    ScreenVeritAI:n API tuo pakote-, PEP- ja rikollisuuden tarkkailulistojen seulonnan sinne, missä päätös tehdään — esimerkiksi asiakkaan rekisteröitymiseen, maksun hyväksyntään tai CRM-järjestelmään. Tulos palautuu strukturoituna JSON-datana, jonka voi ohjata suoraan tarkistukseen ja päätöslogiikkaan.

    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

    Rakenna vai osta

    Rakenna vai osta
    NäkökohtaRakenna itseScreenVeritAI API
    Aika tuotantoon6–12 kuukautta luetteloiden hankkimiseen, vertailulogiikan rakentamiseen ja reunatapausten käsittelyynPäiviä integrointiin; tuotantovalmis ensimmäisestä API-kutsusta
    Pakoteluetteloiden kattavuusKunkin luettelomuodon manuaalinen syöttö; jatkuva ylläpito skeemojen muuttuessaJokainen merkittävä lähde ylläpidettynä ja jatkuvasti päivitettynä
    Vertailun tarkkuusRäätälöity sumea vertailu vaatii NLP-asiantuntemusta ja jatkuvaa virittämistäTekoälyagentti sumealla vertailulla, translitteroinnilla, aliasratkaisulla ja foneettisilla algoritmeilla
    PEP ja kielteinen julkisuusErilliset datan toimittajat, erilliset integraatiot, erilliset budjetitPEP-, kielteisen julkisuuden ja tosiasiallisten omistajien tiedot sisältyvät samaan API-vastaukseen
    Jatkuva ylläpitoDedikoitu insinööritiimi luettelopäivityksille, skeemamuutoksille ja väärien positiivisten virittämiselleTäysin hallittu — luettelopäivitykset, mallien parannukset ja infrastruktuuri hoidettu puolestasi
    KirjausketjuRakenna oma kirjaamis-, todisteiden luomis- ja säilytysinfrastruktuurisiAikaleimalla varustetut todisteet lähdeviitteineen ja päätöksen perusteluineen sisältyvät

    Neljä vaihetta tuotantoon

    1. Hae API-avaimesi

      Luo rajattu API-avain ScreenVeritAI-hallintapaneelista. Määritä oikeudet — search:read, search:write, batch:read, batch:write — vähimmäisoikeuksien käyttöoikeuksille.

    2. Integroi päätepiste

      Lisää yksi POST-kutsu liittymis-, maksu- tai CRM-työnkulkuusi. Lähetä tahon nimi, tyyppi ja maa. API palauttaa työtunnuksen asynkroniseen tulosten noutoon.

    3. Käsittele tulokset

      Kysele tulosten päätepistettä ja saat strukturoidun JSON-vastauksen — yrityskonteksti, omistus, PEP, kielteinen julkisuus, pakotesignaalit ja riskipisteet.

    4. Seuraa ja hälytä

      Konfiguroi jatkuva seuranta tarkistetuille tahoille. Kun pakoteluetteloita päivitetään tai uutta kielteistä julkisuutta ilmaantuu, API lähettää hälytyksiä, jotta järjestelmäsi voi käynnistää uusintatarkistuksen automaattisesti.

    Aloita minuuteissa

    Yksi API-kutsu palauttaa täydellisen tarkistustuloksen.

    Tarkista tahobash
    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 }
    Tarkista tulosbash
    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 }

    API:n suorituskyky

    • €0.39

      Quick Check per kutsu, ei alustamaksua

    • 202

      HTTP-tila, kun haku on hyväksytty; tulos noudetaan sen jälkeen

    • EU

      Isännöity Suomessa; tallennettu data pysyy EU:ssa

    API-integraation UKK

    Miten API-pyynnöt todennetaan?

    Kaikki API-pyynnöt todennetaan API-avaimella, joka välitetään X-API-Key-otsikossa. Avaimet luodaan ScreenVeritAI-hallintapaneelista rajatuilla oikeuksilla (search:read, search:write, batch:read, batch:write) vähimmäisoikeuksien käyttöoikeuden noudattamiseksi.

    Onko API synkroninen vai asynkroninen?

    Asynkroninen. Lähetä pyyntö, saat työtunnuksen ja noudat tulokset kyselemällä. Putkesi ei koskaan esteydy.

    Missä muodossa API palauttaa vastauksen?

    Rakenteinen JSON sisältää keskeisten lainkäyttöalueiden kentät, lähdekohtaiset taulukot sekä etsintäkuulutus- ja PEP/RCA-havainnot. Tarkista saatavilla oleva markdown, tunnisteet ja lähdeviitteet. Vastaus ei anna numeerista riskipistemäärää.

    Mitkä nopeusrajoitukset pätevät?

    Nopeusrajoitukset määräytyvät tilaustasojen mukaan ja niitä sovelletaan API-avainkohtaisesti. Vastausotsikot sisältävät nykyisen rajasi, jäljellä olevan kiintiön ja nollausaikaleiman. Jos tarvitset suurempaa läpimenoa massatarkistukseen, eräpäätepiste hyväksyy CSV/XLSX-latauksia suurten volyymien tarkistukseen.

    Voinko tarkistaa tahoja erässä API:n kautta?

    Kyllä. Eräpäätepiste hyväksyy CSV- tai XLSX-tiedostoja, joissa on enintään 100 riviä pyyntöä kohti. Jokainen rivi käsitellään yksittäisenä tarkistuksena, ja tulokset ovat noudettavissa rivin mukaan tai täydellisenä ladattavana vientinä työn valmistuessa.

    Miten jatkuva seuranta asetetaan API:n kautta?

    Konfiguroi seuranta ensimmäisen seulonnan jälkeen. Kun listat päivittyvät tai uutta kielteistä julkisuutta ilmaantuu, seuranta merkitsee muutoksen ja hälyttää sinut sovelluksessa.

    Mitä vaatimustenmukaisuustietoja sisältyy kuhunkin tarkistustulokseen?

    Jokainen tulos sisältää pakoteosamat jokaisesta merkittävästä lähteestä, PEP-aseman perhe- ja lähipiiriyhteyksineen, kielteisen julkisuuden osumat monikielisine lähdeviitteineen, tosiasiallisten omistajien omistustiedot, riskitasoluokituksen ja aikaleimalla varustetun todistepaketin, joka soveltuu auditointiin ja sääntelyarviointiin.

    Kuinka kauan tarkistus kestää?

    Tavanomainen pakoteseuranta valmistuu tyypillisesti sekunneissa. Syvätutkimustarkistus — mukaan lukien kielteisen julkisuuden analyysi ja omistuskartoitus — kestää keskimäärin alle kaksi minuuttia. Asynkroninen malli tarkoittaa, että järjestelmäsi ei koskaan esty odottaessaan tuloksia.

    API-terminologia

    REST API
    Web API -arkkitehtuuri, joka käyttää standardeja HTTP-menetelmiä (GET, POST, PUT, DELETE) resurssien kanssa vuorovaikutukseen. ScreenVeritAI:n API noudattaa REST-käytäntöjä, mikä tekee siitä yhteensopivan minkä tahansa kielen tai kehyksen kanssa, joka osaa tehdä HTTP-pyyntöjä.
    Asynkroninen käsittely
    API hyväksyy työn heti ja käsittelee sen taustalla — nouda tulokset kyselemällä.
    API-avain
    Salainen tunnus, jota käytetään palvelimelta palvelimelle API-pyyntöjen todentamiseen. ScreenVeritAI API -avaimilla on rajatut oikeudet (search:read, search:write, batch:read, batch:write) vähimmäisoikeuksien käyttöoikeusmallien noudattamiseksi.
    Nopeusrajoitus
    Mekanismi, joka rajoittaa API-pyyntöjen määrää, jonka asiakas voi tehdä annetun aikaikkunan sisällä. Nopeusrajoitukset määräytyvät tilaustasojen mukaan ja välitetään vastausotsikoiden kautta, mukaan lukien jäljellä oleva kiintiö ja nollausaikaleima.
    Strukturoitu vastaus
    Koneluettava API-vastausmuoto (JSON) johdonmukaisilla kenttänimillä, tyypeillä ja sisäkkäisyydellä. Strukturoidut vastaukset mahdollistavat automatisoidun jäsentämisen, päätöslogiikan ja kirjausketjun luomisen ilman manuaalista tietojen eristämistä.

    REST API AML-seulontaan

    Integroi pakote-, PEP-, rikollisuuden tarkkailulistojen, kielteisen julkisuuden ja KYB/UBO-seulonta suoraan liittymis-, seuranta- ja transaktiovirtoihisi. API on toiminnassa: todennat API-avaimella ja kutsut samaa seulontamoottoria, jota portaali käyttää.

    Päätepisteet ovat yleisesti saatavilla API-avaintodennuksella ja tasokohtaisilla käyttörajoilla. Tutustu jokaiseen päätepisteeseen interaktiivisessa OpenAPI-dokumentaatiossa osoitteessa /api/v1/docs.

    Pika-aloitus

    1. 1. Luo API-avain

      Luo rajattu API-avain hallintapaneelistasi, tai luo sellainen ohjelmallisesti tilisi bearer-tokenilla palvelimelta palvelimelle -pyyntöjä varten.

      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. Suorita ensimmäinen haku

      Lähetä toimija X-API-Key-otsikolla. API palauttaa haun tunnisteen, jonka noudat käsittelyn valmistuttua.

      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. Lähetä erä

      Lähetä CSV/XLSX-tiedosto seuloaksesi monta toimijaa yhdessä työssä, ja nouda sitten rivit tai viennit erän valmistuttua.

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

    Keskeiset päätepisteet

    • POST/api/v1/search

      Luo seulontapyynnön yhdelle toimijalle. Palauttaa haun tunnisteen ja käsittelytilan. Myös tili-, kattavuus- ja tilapäätepisteet ovat saatavilla /api/v1-osoitteessa.

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

    • POST/api/v1/batch

      Lähetä CSV/XLSX-tiedostoja suurivolyymiseen seulontaan, ja nouda sitten rivit tai viennit työn valmistuttua.

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

    • POST/api/v1/keys

      Luo ja hallitse API-tunnuksia rajatuin oikeuksin, tasotietoisin käyttörajoin ja käytön seurannalla.

      Todennus: Bearer-token (tili)

    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.

    Miksi tiimit käyttävät API:a

    • Yksi integraatio pakote-, PEP-, rikollisuuden tarkkailulistojen, kielteisen julkisuuden ja KYB/UBO-seulontaan
    • API-avaintodennus X-API-Key-otsikon kautta, oikeusrajatuin avaimin vähimmäisoikeuksien käyttöoikeuksia varten
    • Tasokohtaiset käyttörajat käyttölokituksella hallintaa ja kustannusten valvontaa varten
    • Haku-, erä-, avain-, tili-, kattavuus- ja tilapäätepisteet osoitteessa /api/v1
    • Interaktiivinen OpenAPI-dokumentaatio osoitteessa /api/v1/docs sekä koneluettava OpenAPI-skeema
    • Strukturoitu tuloste, joka sopii auditointilokeihin, tapaustiedostoihin ja jatkopäätöksiin

    Integration playbooks

    API:n UKK

    Miten API-pyynnöt todennetaan?

    Seulontapyynnöt osoitteisiin /api/v1/search ja /api/v1/batch todennetaan API-avaimella, joka lähetetään X-API-Key-otsikossa. Luo avaimet hallintapaneelistasi tai ohjelmallisesti /api/v1/keys-osoitteen kautta tilisi bearer-tokenilla todennuksen jälkeen.

    Onko API yleisesti saatavilla?

    Kyllä. API v1 on toiminnassa ja yleisesti saatavilla. Todennat API-avaimella, kutsut haku-, erä- ja avainhallintapäätepisteitä ja tutustut kaikkeen interaktiivisessa OpenAPI-dokumentaatiossa osoitteessa /api/v1/docs.

    Voinko rajata API-avaimen oikeuksia?

    Kyllä. Avaimet tukevat oikeuksia kuten search:read, search:write, batch:read ja batch:write, joten voit toteuttaa vähimmäisoikeuksien käyttöoikeuden per integraatio.

    Mitä käyttörajoja sovelletaan?

    Käyttörajat määräytyvät API-tason mukaan ja niitä sovelletaan per API-avain — taso ohjaa pyyntöjen läpäisykykyä, ei laskutusta. Vastausotsikot sisältävät rajan, jäljellä olevan kiintiön ja nollausaikaleimat, jotta voit hidastaa pyyntöjä siististi.

    Missä voin testata päätepisteitä nopeasti?

    Käytä interaktiivista dokumentaatiota osoitteessa /api/v1/docs Swagger-testaukseen ja /api/v1/redoc viitetyylistä dokumentaatiota varten. OpenAPI-skeema tarjoillaan osoitteessa /api/v1/openapi.json.

    Aloita seulonta minuuteissa.

    Valitse sopiva paketti ja aloita seulonta jo tänään.