API-pikaopas

Ensimmäinen API-kutsu 60 sekunnissa. 20 EU-tietolähdettä, yksi API-avain. Suunniteltu julkishallinnon tarpeisiin.

1. Aloitus

Kehitysympäristön asennus

# 1. Kloonaa repository ja asenna riippuvuudet
git clone <repo> && cd pauhu-stack
npm install

# 2. Aseta ympäristömuuttujat
cp .env.example .env
# Täytä:
#   VITE_API_URL=https://staging.pauhu.eu
#   VITE_API_KEY=pk_...

# 3. Käynnistä kehityspalvelin
npm run dev

API-avaimen luominen

Luo API-avain osoitteessa staging.pauhu.eu/keys/. Avaimet alkavat etuliitteellä pk_ ja ne tallennetaan SHA-256-tiivisteenä — Pauhu ei koskaan tallenna avainta selkokielisenä.

Kaksi tunnistautumistapaa

Välitä API-avain jommallakummalla otsikolla:

# Vaihtoehto 1: Bearer-tunniste
Authorization: Bearer pk_...

# Vaihtoehto 2: API-avain-otsikko
X-API-Key: pk_...

Ilmainen taso

Jokainen tili sisältää 3 ilmaista kyselyä päivässä ilman API-avainta (IP-pohjainen rajoitus). API-avaimen lisääminen avaa tilauksesi mukaisen kiintiön.

2. API-esimerkit

Kopioi ja liitä nämä esimerkit suoraan komentoriville. Kaikki päätepisteet palauttavat JSON-muotoisen vastauksen.

Hae EUR-Lex-lainsäädäntöä

GET /eurlex/all
curl "https://staging.pauhu.eu/eurlex/all?lang=fi&limit=3"

Hakee EU-lainsäädäntöä suomeksi. Parametri lang määrittää kielen (24 EU-kieltä tuettu), limit rajoittaa tulosten määrää.

Hae TED-hankintailmoituksia

GET /eurlex/all?classification=ted
curl "https://staging.pauhu.eu/eurlex/all?lang=fi&classification=ted&limit=3"

TED-hankintailmoitukset haetaan yhtenäisen hakurajapinnan kautta classification=ted -parametrillä.

IATE-termistöhaku

GET /iate/lookup
curl "https://staging.pauhu.eu/iate/lookup?term=julkinen+hankinta&lang=fi"

Hakee termin "julkinen hankinta" virallisen EU-käännöksen kaikilla 24 kielellä IATE-termistöstä (2,4 miljoonaa termiä).

Käännä fi→en

POST /v1/translate
curl -X POST "https://staging.pauhu.eu/v1/translate" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hankintayksikön on noudatettava avoimuusperiaatetta.","source_lang":"fi","target_lang":"en"}'

Kääntää tekstin suomesta englanniksi. Tukee 552 kieliparia (Helsinki-NLP OPUS-MT).

Upotusvektorit (BGE-M3)

POST /v1/embeddings
curl -X POST "https://staging.pauhu.eu/v1/embeddings" \
  -H "Content-Type: application/json" \
  -d '{"text":"julkiset hankinnat","model":"bge-m3"}'

Luo 1024-ulotteisen upotusvektorin semanttista hakua varten. Monikielinen BGE-M3-malli tukee kaikkia 24 EU-kieltä.

Keskustelu (SSE-virta)

POST /v1/chat
curl -N -X POST "https://staging.pauhu.eu/v1/chat" \
  -H "Content-Type: application/json" \
  -d '{"query":"Mitkä ovat hankintaviranomaisen velvollisuudet tekoälyjärjestelmän käyttöönotossa?"}'

Lähteisiin perustuva vastaus Server-Sent Events -virtana. Vastaus sisältää viittaukset alkuperäisiin EU-lähteisiin.

Kaikki päätepisteet hyväksyvät valinnaisen Authorization-otsikon. Ilman sitä käytössä on ilmainen taso (3 kyselyä/päivä).

3. 20 tietolähdettä

Pauhu® yhdistää 20 EU-tietolähdettä yhteen rajapintaan. Kaikki data on Helsingin EU-palvelimilla, ja automaattinen synkronointi pitää tiedot ajantasaisina.

Tietolähde Kuvaus Esimerkkikysely
TED-hankintailmoitukset EU:n julkisten hankintojen ilmoitukset /eurlex/all?classification=ted&lang=fi
EUR-Lex-lainsäädäntö EU:n lainsäädäntö, asetukset ja direktiivit /eurlex/all?lang=fi&limit=5
IATE-termistö 2,4 miljoonaa EU-termiä 24 kielellä /iate/lookup?term=tekoäly&lang=fi
EU-tuomioistuimen oikeuskäytäntö Unionin tuomioistuimen ratkaisut /eurlex/all?classification=curia&lang=fi
Kansallinen lainsäädäntö 28 EU-maan kansalliset lait /eurlex/all?classification=lex&lang=fi
Eurooppa-neuvoston asiakirjat Neuvoston päätelmät ja pöytäkirjat /eurlex/all?classification=consilium&lang=fi
Euroopan komission asiakirjat Komission tiedonannot ja päätökset /eurlex/all?classification=commission&lang=fi
Euroopan parlamentin asiakirjat Parlamentin päätöslauselmat /eurlex/all?classification=europarl&lang=fi
Lainsäädäntömenettelyn seuranta EU-lainsäädännön eteneminen /eurlex/all?classification=oeil&lang=fi
ECHA-kemikaalitiedot Kemikaalien rekisteröinti ja arviointi /eurlex/all?classification=echa&lang=fi
EMA-lääketiedot Lääkkeiden myyntiluvat /eurlex/all?classification=ema&lang=fi
EPO-patenttitiedot Euroopan patenttiviraston julkaisut /eurlex/all?classification=epo&lang=fi
CORDIS-tutkimushankkeet EU:n rahoittamat tutkimusprojektit /eurlex/all?classification=cordis&lang=fi
Digitaaliset tuotepassit ESPR 2024/1781 -tuotetiedot /eurlex/all?classification=dpp&lang=fi
EKP:n julkaisut Euroopan keskuspankin raportit /eurlex/all?classification=ecb&lang=fi
Eurostat-tilastot EU:n viralliset tilastot /eurlex/all?classification=eurostat&lang=fi
EU:n julkaisutoimisto Viralliset EU-julkaisut /eurlex/all?classification=publications&lang=fi
Data Europa EU:n avoin data -portaali /eurlex/all?classification=dataeuropa&lang=fi
EU:n organisaatiohakemisto EU-toimielinten henkilöhakemisto /eurlex/all?classification=whoiswho&lang=fi
Wikipedia-viitetiedot Täydentävä taustatietolähde /eurlex/all?classification=wiki&lang=fi

4. Turvallisuus

Pauhu® noudattaa teollisuusautomaation tietoturvastandardia IEC 62443-3-3 ja toteuttaa vyöhykepohjaisen turvallisuusarkkitehtuurin, jossa data kulkee valvottujen porttien läpi.

IEC 62443-3-3

Vyöhykepohjainen turvallisuusarkkitehtuuri. Suojatut, valvotut ja ulkoiset vyöhykkeet eriytetty. Turvallisuustasot SL-1 – SL-4.

GDPR Art. 25 ja Art. 32

Sisäänrakennettu tietosuoja (Privacy by Design) ja käsittelyn turvallisuus. Tietosuojavastaava: dpo@pauhu.ai.

Selainpohjainen päättely

AI-päättely tapahtuu käyttäjän selaimessa (ONNX Runtime). Kyselyt eivät poistu laitteelta — palvelin tarjoaa vain pisteytetyn korpuksen.

EU-infrastruktuuri

Kaikki infrastruktuuri sijaitsee Helsingissä EU-alueella. Ei kolmansien maiden tiedonsiirtoa. Kaikki tietokannat ja tallennustilat EU-lainkäyttöalueella.

Kvanttiturvallinen avaimenvaihto

X25519Kyber768-avaimenvaihto suojaa dataa myös tulevaisuuden kvanttitietokoneilta. Ed25519-allekirjoitukset mallien eheyden varmistamiseksi.

Auditoitavuus

Kaikki järjestelmätapahtumat kirjataan auditointilokiin (FR6). Toimintoloki mahdollistaa pyynnön elinkaaren seurannan viranomaistarkastusta varten.

5. eForms ja julkiset hankinnat

Pauhu tarjoaa suoran pääsyn TED-hankintailmoituksiin eForms SDK 1.14 -muodossa. Tämä on erityisen hyödyllinen julkishallinnon hankintatoimelle.

Hankintailmoitusten haku

# Kaikki hankintailmoitukset suomeksi
curl "https://staging.pauhu.eu/eurlex/all?classification=ted&lang=fi&limit=10"

# ICT-hankinnat yli 140 000 EUR (CPV 72000000)
curl "https://staging.pauhu.eu/eurlex/all?classification=ted&lang=fi&q=CPV+72000000"

# Tekoälyyn liittyvät tarjouspyynnöt
curl "https://staging.pauhu.eu/eurlex/all?classification=ted&lang=fi&q=tekoäly+artificial+intelligence"

eForms BT-kentät

Vastaukset sisältävät eForms-rakenteen mukaiset BT-kentät (Business Term):

BT-21 Title BT-23 Main Nature BT-27 Estimated Value BT-262 CPV Code

CPV-koodien (Common Procurement Vocabulary) avulla voit suodattaa hankintailmoituksia toimialoittain:

CPV-koodiKuvausEsimerkki
72000000IT-palvelutTietojärjestelmien kehitys ja ylläpito
48000000OhjelmistotuotteetValmisohjelmistot ja lisenssit
64200000TietoliikennepalvelutVerkko- ja viestintäpalvelut
79530000KäännöspalvelutAsiakirjojen käännös ja lokalisointi

Esimerkkikysely: Traficomin päivittäinen hankintaseuranta

# Hae uusimmat ICT-hankinnat
curl "https://staging.pauhu.eu/eurlex/all?classification=ted&lang=fi&q=CPV+72000000&limit=5"

# Hae tekoälyjärjestelmien hankinnat
curl "https://staging.pauhu.eu/eurlex/all?classification=ted&lang=fi&q=artificial+intelligence+AI+system&limit=5"

eForms SDK 1.14 -yhteensopivat vastaukset. BT-kenttien täydellinen dokumentaatio: eForms-kenttäopas.

6. Käännökset ja termistö

OPUS-MT: 552 kieliparia

Pauhu käyttää Helsinki-NLP:n OPUS-MT-malleja, jotka tukevat 552 kieliparia. Käännökset noudattavat ISO 18587 -standardin mukaista 10-vaiheista käännöskaskadia:

  1. TM — Käännösmuistihaku (Translation Memory)
  2. PRE-EDIT — Esikäsittely ja normalisointi
  3. TB — Termistötarkistus (IATE-termistö)
  4. DNT — Kääntämättömät termit (Do Not Translate)
  5. QA-RULES — Laatusäännöt ennen käännöstä
  6. DOMAIN-CLASSIFY — Toimialaluokitus (EuroVoc)
  7. NMT — Neurokonekäännös (OPUS-MT)
  8. POST-EDIT — Jälkikäsittely
  9. TM-WRITE — Käännösmuistiin tallennus
  10. QA — Lopullinen laadunvarmistus

Käännösesimerkki

# Käännä suomesta englanniksi
curl -X POST "https://staging.pauhu.eu/v1/translate" \
  -H "Content-Type: application/json" \
  -d '{"text":"Julkinen hankinta on toteutettava syrjimättömästi.","source_lang":"fi","target_lang":"en"}'

# Käännä suomesta ruotsiksi
curl -X POST "https://staging.pauhu.eu/v1/translate" \
  -H "Content-Type: application/json" \
  -d '{"text":"Julkinen hankinta on toteutettava syrjimättömästi.","source_lang":"fi","target_lang":"sv"}'

IATE-termistö: 2,4 miljoonaa termiä

IATE (Inter-Active Terminology for Europe) on EU:n virallinen termistötietokanta. Hae termin viralliset käännökset kaikilla 24 EU-kielellä:

# Hae termi "julkinen hankinta" kaikilla kielillä
curl "https://staging.pauhu.eu/iate/lookup?term=julkinen+hankinta&lang=fi"

# Hae englanninkielinen termi
curl "https://staging.pauhu.eu/iate/lookup?term=public+procurement&lang=en"

# Hae ruotsinkielinen termi
curl "https://staging.pauhu.eu/iate/lookup?term=offentlig+upphandling&lang=sv"

Termistöhaku palauttaa kaikki kielet, toimialat ja luotettavuustasot. Chat-käyttöliittymässä käännökset sisältävät automaattisesti IATE-termistötarkistuksen.

Seuraavat askeleet

Kysyttävää? Ota yhteyttä osoitteeseen api@pauhu.eu tai hallinnoi API-avaimiasi API-hallintapaneelissa.