Kehittajaportaali

Neo - Pankki Open Banking API v1 - Integraatio-ohjeet ja avainten hallinta

API Yleiskatsaus

v1.0RESTOAuth 2.0

Neo - Pankki API noudattaa REST-arkkitehtuuria ja palauttaa vastaukset JSON-muodossa. Kaikki pyynnot vaativat autentikoinnin.

Base URL: /api/v1

Autentikointi

POST /api/v1/auth/login
Content-Type: application/json
{
"email": "kayttaja@esimerkki.fi",
"password": "salasana123"
}

Vastaus asettaa pankki_session evastteen, jota kaytetaan seuraavissa pyynnoissa.

Endpointit

POST/api/v1/auth/registerLuo uusi tili
Request Body
${body}
Response
{success: true, message: "Tili luotu onnistuneesti"}
POST/api/v1/auth/loginKirjaudu sisaan
Request Body
${body}
Response
{success: true, message: "Kirjautuminen onnistui"}
POST/api/v1/auth/logoutKirjaudu ulos
Response
{success: true}
POST/api/v1/auth/reset-passwordPalauta salasana
Request Body
${body}
Response
{success: true, message: "..."}
GET/api/v1/accountHae tilin tiedot
Response
{uid, name, email, phone, iban, balance, settings}
PUT/api/v1/accountPaivita tilin tiedot
Request Body
${body}
Response
{success: true}
DELETE/api/v1/accountPoista tili
Response
{success: true}
GET/api/v1/account/exportLataa tiedot (GDPR)
Response
JSON-tiedosto
GET/api/v1/transactionsListaa tapahtumat
Request Body
${body}
Response
{transactions: [...], total, limit, offset}
POST/api/v1/transactionsLuo tapahtuma
Request Body
${body}
Response
{success: true, transaction, new_balance}
GET/api/v1/transactions/:idHae yksittainen tapahtuma
Response
{id, date, description, amount, ...}
PUT/api/v1/transactions/:idPaivita tapahtuma
Request Body
${body}
Response
{success: true, transaction}
GET/api/v1/cardsListaa kortit
Response
{cards: [...]}
POST/api/v1/cards/:id/freezeJaadyta kortti
Response
{success: true}
POST/api/v1/cards/:id/unfreezeAktivoi kortti
Response
{success: true}
PUT/api/v1/cards/:id/limitsPaivita kulutusraja
Request Body
${body}
Response
{success: true}
GET/api/v1/ticketsListaa tukipyynnot
Response
{tickets: [...]}
POST/api/v1/ticketsLuo tukipyynto
Request Body
${body}
Response
{success: true, ticket}
GET/api/v1/tickets/:idHae tukipyynto
Response
{id, subject, description, status, responses}
POST/api/v1/chatLaheta chat-viesti
Request Body
${body}
Response
{reply, timestamp}
GET/api/v1/apikeysListaa API-avaimet
Response
{api_keys: [...]}
POST/api/v1/apikeysLuo API-avain
Request Body
${body}
Response
{success: true, api_key}
DELETE/api/v1/apikeys/:idPoista API-avain
Response
{success: true}
GET/api/v1/webhooksListaa webhookit
Response
{webhooks: [...]}
POST/api/v1/webhooksLuo webhook
Request Body
${body}
Response
{success: true, webhook}
PUT/api/v1/webhooks/:idPaivita webhook
Request Body
${body}
Response
{success: true, webhook}
DELETE/api/v1/webhooks/:idPoista webhook
Response
{success: true}
POST/api/v1/webhooks/:id/testTestaa webhook
Response
{success: true, status}
GET/api/v1/healthTerveystarkistus
Response
{status: "ok", version: "2.4.1"}

Virhekoodit

KoodiMerkitys
200Onnistunut pyynto
201Resurssi luotu
400Virheellinen pyynto
401Ei autentikoitu
403Ei oikeuksia
404Resurssia ei loytynyt
409Ristiriita (esim. sahkoposti kaytetty)
429Liian monta pyyntoa
500Palvelinvirhe

Webhook-tapahtumat

TapahtumaKuvaus
transaction.createdUusi tapahtuma luotu
transaction.updatedTapahtuma paivitetty
card.frozenKortti jaadytetty
card.unfrozenKortti aktivoitu
account.updatedTilin tiedot paivitetty

Rajoitukset

  • 100 pyyntoa / minuutti per IP-osoite
  • Maksimi 10 API-avainta per tili
  • Maksimi 5 webhookia per tili
  • Yksittaisen siirron enimmaissumma: 999 999 EUR
  • Webhook-toimituksen aikakatkaisu: 5 sekuntia