Skip to content

Downloads

All OpenWave spec files are OpenAPI 3.0.3 and fully machine-readable. Import them into any compatible tool in seconds.


OpenAPI Spec Files

Payments API — openwave-payments-v1.yaml

Covers payment sessions, NPT alias routing, recurring mandates, webhooks, and bank partner callbacks.

Key endpoints:

MethodPathDescription
POST/payments/initiateCreate a payment session
GET/payments/{id}/statusPoll payment status
POST/session/{id}/resolve-payerResolve payer alias or IBAN
POST/session/{id}/confirm-otpConfirm OTP auth
POST/aliases/registerRegister an NPT alias
GET/aliases/{alias}Look up an alias
POST/mandates/createCreate recurring mandate
POST/bank/callback/execute-transactionBank executes unified debit+route
POST/bank/callback/notify-creditBank confirms credit to merchant

Open Banking API — openwave-open-banking-v1.0.yaml

Covers OAuth 2.0 + PKCE consent, AISP (account data), PISP (payment initiation), and SCA.

Key endpoints:

MethodPathDescription
POST/ob/consentCreate an account access consent
GET/ob/accountsList customer accounts (AISP)
GET/ob/accounts/{id}/balancesGet account balances
GET/ob/accounts/{id}/transactionsGet transaction history
POST/ob/payment-ordersInitiate a PISP payment
GET/ob/payment-orders/{id}Poll payment order status

Identity Registry API — openwave-identity-v1.0.yaml

Covers NPT handle ownership, multi-bank account linking, public alias resolution, and bank directory.

Key endpoints:

MethodPathDescription
POST/identity/handlesRegister an NPT handle
GET/identity/resolve/{alias}Resolve alias → IBAN + bank
GET/identity/banksList all registered banks
POST/identity/banks/{handle}/accountsLink an account to a handle
DELETE/identity/handles/{alias}Deactivate a handle

Gateway Interconnect API — openwave-gateway-interconnect-v1.yaml

Covers gateway discovery, remote alias resolution, cross-gateway routing, health checks, settlement batches, and gateway-to-gateway authentication.

Key endpoints:

MethodPathDescription
GET/gateway-infoRead gateway capabilities, banks, rails, regions, and fees
POST/gateway-registerRegister or update gateway metadata
GET/gateway-healthCheck peer gateway health and degraded modes
POST/resolve-alias-remoteResolve an alias through a remote gateway
POST/route-paymentRoute a cross-gateway payment
POST/route-statusRead cross-gateway route status
POST/settlement-batchSubmit settlement batch details
GET/settlement-statusRead settlement batch state

Postman Collections

Import any spec file directly into Postman to get a pre-built collection with all endpoints, example payloads, and environment variables.

  1. Open Postman
  2. Click ImportLink
  3. Paste one of these raw URLs:
# Payments
https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml

# Open Banking
https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-open-banking-v1.0.yaml

# Identity Registry
https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-identity-v1.0.yaml

# Gateway Interconnect
https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-gateway-interconnect-v1.yaml
  1. Postman generates the full collection automatically. Set your environment variables:
GATEWAY_URL    = https://your-gateway.example.com
MERCHANT_KEY   = your-merchant-api-key
BANK_KEY       = your-bank-api-key
ADMIN_KEY      = your-admin-api-key
GATEWAY_KEY    = your-peer-gateway-key

Method 2 — Download YAML then import as file

Download the YAML above → in Postman click ImportFile → select the downloaded file.

Suggested Postman environments

VariableUsed byExample
GATEWAY_URLPayments, Open Bankinghttps://sandbox.gateway.example.com
IDENTITY_URLIdentity Registryhttps://identity.example.com
MERCHANT_KEYMerchant payment APIsmk_test_...
BANK_KEYBank-to-registry APIsowbk_...
INTERNAL_KEYGateway-to-bank callbacksow_cbk_...
GATEWAY_KEYGateway interconnectowgw_...
WEBHOOK_SECRETSignature verification testswhsec_...

Swagger / OpenAPI Tools

Swagger UI (online)

Click any "Open in Swagger Editor" button above, or paste a raw URL into editor.swagger.io.

Run Swagger UI locally

bash
docker run -p 8080:8080 \
  -e SWAGGER_JSON_URL=https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  swaggerapi/swagger-ui

Open http://localhost:8080 — full interactive docs with live try-it-out (point it at your gateway).

Redocly

bash
npx @redocly/cli preview-docs openwave-payments-v1.yaml

Insomnia

Use Create → Import from URL and paste any raw OpenAPI URL from this page. Create separate environments for sandbox and production so merchant, bank, and gateway credentials do not mix.

Hoppscotch

Use Collections → Import → OpenAPI for quick browser-based exploration. Keep production credentials out of shared browser sessions.

Stoplight Elements

Teams that want an internal branded API portal can render the same YAML files with Stoplight Elements or any OpenAPI 3.0 compatible documentation renderer.


Code Generation

Generate a type-safe client in any language using openapi-generator:

bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g typescript-fetch \
  -o ./openwave-client-ts
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g typescript-axios \
  -o ./openwave-client-ts-axios
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g kotlin \
  -o ./openwave-client-kotlin
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g python \
  -o ./openwave-client-python
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g go \
  -o ./openwave-client-go
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g java \
  -o ./openwave-client-java
bash
npx @openapitools/openapi-generator-cli generate \
  -i https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -g csharp \
  -o ./openwave-client-dotnet

TypeScript schema-first clients

For frontend and backend teams that prefer lightweight generated types:

bash
npx openapi-typescript \
  https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -o ./src/openwave-payments.d.ts

For typed fetch clients:

bash
npx openapi-fetch \
  https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-payments-v1.yaml \
  -o ./src/openwave-payments-client.ts

Microsoft Kiota

Kiota can generate clients for .NET, Java, Go, PHP, Python, Ruby, and TypeScript:

bash
kiota generate \
  --openapi https://raw.githubusercontent.com/neptune-ly/openwave-spec/main/openwave-open-banking-v1.0.yaml \
  --language typescript \
  --output ./openwave-ob-kiota

Native SDKs

OpenWave-compatible gateway operators may publish hand-crafted SDKs for their own products. For the standard itself, generated clients from the OpenAPI files remain the portable baseline.


Direct GitHub Access

Clone the full spec repository for offline use or CI/CD validation:

bash
git clone https://github.com/neptune-ly/openwave-spec.git
cd openwave-spec

# Validate specs with Redocly CLI
npx @redocly/cli lint openwave-payments-v1.yaml
npx @redocly/cli lint openwave-open-banking-v1.0.yaml
npx @redocly/cli lint openwave-identity-v1.0.yaml
npx @redocly/cli lint openwave-gateway-interconnect-v1.yaml

Versioning

OpenWave follows Semantic Versioning:

ChangeVersion bump
Breaking change to an existing endpointMAJOR (1.x → 2.0)
New endpoint or optional fieldMINOR (1.0 → 1.1)
Clarification, fix, or example updatePATCH (1.0.0 → 1.0.1)

The api_version field in every webhook envelope and the info.version in each spec always reflect the current module version. All changes are logged in CHANGELOG.md.

Last updated: