Pocopay - Open Banking API documentation (1.0.0-oas3)

Download OpenAPI specification:Download

Pocopay PSD2 public API. For more information, visit our webpage.

Authentication

bearerAuth

Authorization: Bearer ACCESS_TOKEN

Security scheme type: HTTP
HTTP Authorization Scheme bearer

Authentication Token

OAuth 2.0 token endpoint.

query Parameters
grant_type
required
string
Enum: "client_credentials" "refresh_token"
refresh_token
string
Default: "REFRESH_TOKEN"

Responses

200

success

401

err.security.unauthorized

post /oauth/token
https://localhost/oauth/token
http://localhost/oauth/token

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access_token": "0036aff4-73c5-458d-929f-609820711e6c",
  • "token_type": "bearer",
  • "refresh_token": "0036aff4-73c5-458d-929f-609820711e6c",
  • "expires_in": 84325,
  • "scope": "read trust write"
}

Consents

Create a new consent request and authorisation resource.

Create a new consent request and authorisation resource. Consent types: * accounts - allows viewing account information including IBAN

  • balances - allows to view account balance and make a funds-confirmations request
  • transactions - allows viewing account statement"

When balances or transactions consent is given then accounts consent is also received. Possible errors:

  • err.consent.invalidIban
  • err.security.unauthorized - invalid or expired OAuth2 token
Authorizations:
header Parameters
Authorization
string
Example: Bearer Token
PSU-IP-Address
string
Example: The forwarded IP Address. The corresponding HTTP request IP Address field between PSU and TPP.
X-Request-ID
string
Example: UUID
Request Body schema: application/json

Consent

access
object (ConsentRequest_access)
recurringIndicator
boolean
Default: true
validUntil
string <date>
frequencyPerDay
string

Responses

201

created

post /consents
https://localhost/consents
http://localhost/consents

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access":
    {
    },
  • "recurringIndicator": true,
  • "validUntil": "2019-01-01",
  • "frequencyPerDay": "100"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "consentStatus": "RECEIVED",
  • "consentId": 10100001,
  • "_links":
    {
    }
}

Find consent details.

Possible errors:

  • err.consent.consentIdInvalid - invalid consent id
  • err.security.unauthorized - invalid or expired OAuth2 token
Authorizations:
path Parameters
consentId
required
integer <int64>
Example: 10100001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Consent information

get /consents/{consentId}
https://localhost/consents/{consentId}
http://localhost/consents/{consentId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "access":
    {
    },
  • "recurringIndicator": true,
  • "validUntil": "2019-01-01",
  • "frequencyPerDay": "100",
  • "consentStatus": "valid"
}

Delete consent details

Possible errors:

  • err.consent.consentIdInvalid - invalid consent id
  • err.security.unauthorized - invalid or expired OAuth2 token
Authorizations:
path Parameters
consentId
required
integer <int64>
Example: 10100001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

204

Consent information

delete /consents/{consentId}
https://localhost/consents/{consentId}
http://localhost/consents/{consentId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Find consent status

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.consent.consentIdInvalid - invalid consent id
Authorizations:
path Parameters
consentId
required
integer <int64>
Example: 101000001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning consent status

get /consents/{consentId}/status
https://localhost/consents/{consentId}/status
http://localhost/consents/{consentId}/status

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "consentStatus": "ACTIVE"
}

Payments

Create new sepa payment request

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.payment.payerIbanInvalid - invalid IBAN
  • err.payment.counterpartyIbanInvalid - invalid IBAN
  • err.payment.amountInvalid - invalid amount
  • err.payment.counterpartyNameInvalid - counterparty name invalid
Authorizations:
header Parameters
Authorization
string
Example: Bearer Token
PSU-IP-Address
required
string
Example: 8.8.8.8
X-Request-ID
required
string
Example: UUID
Request Body schema: application/json

Consent

payerIban
string (Iban)
amount
number <double>
currency
string
counterpartyName
string
counterpartyIban
string (Iban)
details
string
referenceNumber
string

Responses

201

Created a sepa payment

post /payments/sepa-credit-transfers
https://localhost/payments/sepa-credit-transfers
http://localhost/payments/sepa-credit-transfers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "payerIban": "EE229999000000010166",
  • "amount": 8.75,
  • "currency": "EUR",
  • "counterpartyName": "John Smith",
  • "counterpartyIban": "EE229999000000010166",
  • "details": "Some text",
  • "referenceNumber": "RF12345"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionStatus": "RCVD",
  • "paymentId": 10100001,
  • "_links":
    {
    }
}

Find payment details

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.payment.paymentIdInvalid - invalid payment id
Authorizations:
path Parameters
paymentId
required
integer <int64>
Example: 101000001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning payment details'

get /payments/sepa-credit-transfers/{paymentId}
https://localhost/payments/sepa-credit-transfers/{paymentId}
http://localhost/payments/sepa-credit-transfers/{paymentId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "paymentId": 10100001,
  • "status": "PDNG",
  • "entryDate": "2019-10-15",
  • "payerIban": "EE229999000000010166",
  • "amount": 11.21,
  • "currency": "EUR",
  • "counterpartyIban": "EE229999000000010166",
  • "details": "test payment",
  • "referenceNumber": "RF123456",
  • "counterpartyName": "John Smith",
  • "payerName": "John Doe",
  • "_links":
    {
    }
}

Find payment status

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.payment.paymentIdInvalid - invalid payment id
Authorizations:
path Parameters
paymentId
required
integer <int64>
Example: 101000001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning payment status

get /payments/sepa-credit-transfers/{paymentId}/status
https://localhost/payments/sepa-credit-transfers/{paymentId}/status
http://localhost/payments/sepa-credit-transfers/{paymentId}/status

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "transactionStatus": "ACCP"
}

Find account balance

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.fundsConfirmation.ibanInvalid - invalid Iban
  • err.fundsConfirmation.amountInvalid - invalid amount
Authorizations:
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID
Request Body schema: application/json

Confirm funds

instructedAmount
object (InstructedAmount)
account
object (ConfirmFundsRequest_account)

Responses

200

Confirm funds response

post /funds-confirmations
https://localhost/funds-confirmations
http://localhost/funds-confirmations

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "instructedAmount":
    {
    },
  • "account":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "fundsAvailable": true
}

Accounts

Find all accounts

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
Authorizations:
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID
Consent-ID
required
integer <int64>
Example: 101000001

Responses

200

Returning all accounts

get /accounts
https://localhost/accounts
http://localhost/accounts

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Find account

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.account.accountIdInvalid - invalid payment id
Authorizations:
path Parameters
accountId
required
integer <int64>
Example: 101000001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning account details

get /accounts/{accountId}
https://localhost/accounts/{accountId}
http://localhost/accounts/{accountId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "accountId": 10100001,
  • "iban": "EE229999000000010166",
  • "currency": "EUR",
  • "_links":
    {
    }
}

Find account transactions

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.account.accountIdInvalid - invalid account id
Authorizations:
path Parameters
accountId
required
integer <int64>
Example: 101000001
query Parameters
fromDate
required
string <date>
toDate
required
string <date>
startAfterId
required
string <date>
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning account transactions

get /accounts/{accountId}/transactions
https://localhost/accounts/{accountId}/transactions
http://localhost/accounts/{accountId}/transactions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "accountId": 10100001,
  • "iban": "EE229999000000010166",
  • "_links":
    {
    },
  • "transactions":
    [
    ]
}

Find account balance

Possible errors:

  • err.security.unauthorized - invalid or expired OAuth2 token
  • err.account.accountIdInvalid - invalid account id
Authorizations:
path Parameters
accountId
required
integer <int64>
Example: 101000001
header Parameters
Authorization
string
Example: Bearer Token
X-Request-ID
string
Example: UUID

Responses

200

Returning account balance

get /accounts/{accountId}/balances
https://localhost/accounts/{accountId}/balances
http://localhost/accounts/{accountId}/balances

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "accountId": 10100001,
  • "iban": "EE229999000000010166",
  • "currency": "EUR",
  • "reservedAmount": 10.08,
  • "availableAmount": 10.08
}