Skip to content

API Overview

OpenWave is defined by four OpenAPI 3.0.3 specification files. All are ready to load into Swagger UI, Postman, Redocly, or any OpenAPI-compatible tool.

Spec Files

FileCoversDownload
openwave-payments-v1.yamlPayments · Recurring · Alias · WebhooksView
openwave-open-banking-v1.0.yamlAISP · PISP · OAuth 2.0 + PKCE ConsentView
openwave-identity-v1.0.yamlNPT Identity · Multi-bank Alias · Bank PhonebookView
openwave-gateway-interconnect-v1.yamlGateway Discovery · Remote Routing · Interconnect SettlementView

Interactive Explorer

▶ Open API Explorer →

Browse and test the full API surface in your browser.

API Modules

Payments (openwave-payments-v1.yaml)

MethodPathDescription
POST/payments/sessionsCreate a payment session
GET/payments/sessions/{id}Get session status
GET/payments/sessionsList sessions
POST/payments/sessions/{id}/cancelCancel a pending session

Recurring Payments

MethodPathDescription
POST/recurring/mandatesCreate a recurring mandate
GET/recurring/mandates/{id}Get mandate details
DELETE/recurring/mandates/{id}Cancel a mandate
POST/recurring/mandates/{id}/chargeExecute a charge

Alias (NPT)

MethodPathDescription
GET/alias/{username}Get alias details
GET/alias/{username}/accountsList linked accounts
DELETE/alias/{username}Deactivate alias

Webhooks

MethodPathDescription
POST/merchants/{id}/webhooksRegister webhook endpoint
GET/merchants/{id}/webhooksList webhook endpoints
DELETE/merchants/{id}/webhooks/{wid}Remove endpoint
GET/admin/webhooksList all deliveries (admin)
POST/admin/webhooks/{id}/retryRetry failed delivery

Open Banking (openwave-open-banking-v1.0.yaml)

MethodPathDescription
POST/ob/consentsCreate a consent request
GET/ob/consents/{id}Get consent status
DELETE/ob/consents/{id}Revoke consent
POST/ob/tokenExchange code or refresh token
POST/ob/token/revokeRevoke a token (RFC 7009)
GET/ob/accountsList consented accounts
GET/ob/accounts/{id}/balancesGet account balances
GET/ob/accounts/{id}/transactionsGet transactions
POST/ob/payment-ordersInitiate a payment order
GET/ob/payment-orders/{id}Get payment order status
GET/banks/{handle}/capabilitiesBank OB capabilities

Identity Registry (openwave-identity-v1.0.yaml)

MethodPathDescription
GET/v1/identity/resolveResolve alias → IBAN (public)
POST/v1/identity/claimClaim an NPT handle
GET/v1/identity/{handle}Get public profile
GET/v1/identity/{handle}/accountsList linked accounts
POST/v1/identity/{handle}/accountsLink additional bank
PATCH/v1/identity/{handle}/defaultSet default account
DELETE/v1/identity/{handle}Delete identity
GET/v1/banksBank phonebook (public)
POST/v1/banksRegister bank (admin)
GET/v1/registry/infoRegistry metadata (public)

Gateway Interconnect (openwave-gateway-interconnect-v1.yaml)

MethodPathDescription
GET/gateway-infoGet gateway metadata, capabilities, and fees
POST/gateway-registerRegister or update a gateway profile
POST/resolve-alias-remoteResolve an alias hosted by another gateway
POST/route-paymentInitiate a cross-gateway payment route
POST/route-statusCheck cross-gateway route status
POST/settlement-batchSubmit gateway-to-gateway settlement batch
GET/settlement-statusCheck settlement batch status
GET/gateway-healthGet gateway health and routing availability

Base URL

https://<your-gateway-host>/api/v1

The exact base URL depends on your gateway operator. Example:

https://astro.neptune.ly/api/v1

Which endpoint should I read first?

I am building...Start hereThen read
Merchant checkoutPOST /payments/sessionsGET /payments/sessions/{id}, webhook events, idempotency
Subscription billingPOST /recurring/mandateshosted mandate consent, mandate charges, cancellation
Bank connector/send-otp, /verify-otp, /execute-transaction, /notify-creditcallback authentication and CBS idempotency
Open Banking TPP appPOST /ob/consentsPKCE, scopes, token exchange, consent revocation
NPT identity registryGET /v1/identity/resolveclaim/link/default-account operations
Gateway operatorGET /gateway-infoPOST /route-payment, status, settlement batch

Common headers

HeaderDirectionUsed byNotes
Authorization: Bearer mk_...Merchant → GatewayPayment sessions, mandates, merchant webhooksKeep server-side only
X-OpenWave-Internal-Key: ow_cbk_...Gateway → BankBank callback interfaceDB/configured per bank integration
X-OpenWave-Bank-Key: owbk_...Bank → Identity RegistryNPT claims and bank-owned account changesBank-scoped; not customer login
X-OpenWave-Gateway-Key: owgw_...Gateway → GatewayOW-GIP interconnect callsProduction profiles must also use mTLS
Idempotency-KeyClient → APIPayment/session/route/create operationsRequired for retry-safe writes