JavaScript is required to view this page
Metadata Endpoint

Metadata Endpoint

Each product has its own metadata endpoint, returning information about the banks available to you and their capabilities. Use it to configure your integration from bank features rather than hard-coding them. The two responses differ: only the Blink Payments one carries payment limits, flow support and authorisation timeouts.

GET /payments/v1/meta HTTP/1.1
Host: sandbox.debit.blinkpay.co.nz
Authorization: Bearer {access_token}

Required scope: view:metadata

Response

[
  {
    "name": "ASB",
    "payment_limit": {
      "total": "100000",
      "currency": "NZD"
    },
    "features": {
      "enduring_consent": {
        "enabled": true,
        "consent_indefinite": false
      },
      "decoupled_flow": {
        "enabled": true,
        "available_identifiers": [
          { "type": "mobile_number", "name": "Mobile Number" },
          { "type": "consent_id", "name": "Consent ID" }
        ],
        "request_timeout": "PT10M"
      }
    },
    "redirect_flow": {
      "enabled": true,
      "request_timeout": "PT10M"
    }
  }
]

Payment Metadata Fields

FieldDescription
payment_limit.totalBlinkPay's maximum for a single payment to this bank, in NZD: one value per bank, applied to every flow and every consent type. An amount string such as "100000". A payment over it is rejected with 400 BP229. It doesn't show the bank's own limits, such as a daily total or ASB's $10,000 per AutoPay payment, so a smaller payment can still be declined at the bank; see Transaction Limits. A separate limit applies to your account
features.decoupled_flow.enabledWhether decoupled flow is supported
features.decoupled_flow.available_identifiersSupported identifier types
features.decoupled_flow.request_timeoutTimeout for decoupled consent (ISO 8601)
features.enduring_consent.enabledWhether recurring payments are supported
features.enduring_consent.consent_indefiniteWhether indefinite consents are allowed
features.enduring_consent.maximum_consentMaximum consent duration (ISO 8601)
features.card_payment.enabledWhether card payments are supported
features.card_payment.allowed_card_payment_typesSupported card payment types (e.g. PANENTRY, GOOGLEPAY)
features.card_payment.allowed_card_networksSupported card networks (e.g. VISA, MASTERCARD)
redirect_flow.enabledWhether redirect flow is supported
redirect_flow.request_timeoutTimeout for redirect consent (ISO 8601)

Card Payment Metadata

When card payments are enabled for your account, an entry with "name": "Card" appears in the same array as the bank entries:

{
  "name": "Card",
  "features": {
    "card_payment": {
      "enabled": true,
      "allowed_card_payment_types": [
        "APPLEPAY",
        "CLICKTOPAY",
        "GOOGLEPAY",
        "PANENTRY"
      ],
      "allowed_card_networks": [
        "VISA",
        "MASTERCARD"
      ]
    }
  }
}

If the card payment entry is not present, card payment onboarding has not been completed; the Blink Payments card payments guide describes the onboarding steps.

GET /v1/meta HTTP/1.1
Host: sandbox.data.blinkpay.co.nz
Authorization: Bearer {access_token}

Required scope: read:meta

Response

The response is a top-level JSON array with one entry per bank enabled for your organisation, so it lists only the banks you can create consents for:

[
  {
    "bank_id": "59a68dd9-6070-11f0-bb8d-0ad2a4bc413d",
    "name": "ASB",
    "features": {
      "accounts": true,
      "balances": true,
      "transactions": true,
      "statements": true,
      "party": true
    }
  }
]

Data Metadata Fields

FieldDescription
bank_idIdentifier for the bank. It differs between sandbox and production, so don't hard-code it; use name (the bank value you send when creating a consent)
nameBank display name
features.accountsWhether account data is supported
features.balancesWhether balance data is supported
features.transactionsWhether transaction data is supported
features.statementsWhether statement data is supported (false at Kiwibank and NZHL)
features.partyWhether party (account holder) data is supported

Caching

Metadata changes infrequently. Cache the response for up to 24 hours to reduce API calls.

Use Cases

Use caseProductHow
Bank selection UIBothBlink Payments: show only banks whose redirect_flow or features.decoupled_flow is enabled for the flow you use. Blink Data: show the banks in the response, which are those enabled for your organisation
Payment limitsBlink Payments onlyCheck the payment amount against payment_limit.total before submitting
Card payment availabilityBlink Payments onlyCheck for the Card entry and its allowed card types and networks
Timeout configurationBlink Payments onlySize your polling window from request_timeout. The Blink Data response has no timeouts
Permission availabilityBlink Data onlyRequest only the permissions the bank supports, for example leave out ReadStatements where features.statements is false (otherwise 400 BDT241)