Token.io Payment Links API

The Payment Links API from Token.io — 2 operation(s) for payment links.

Operations 4

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/token-io-payment-links-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

token-io-payment-links-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Token Payment Links API
  version: 1.0.0
  description: Token REST API.
servers:
- url: https://api.token.io/v1
tags:
- name: Payment Links
paths:
  /v2/payment-links:
    get:
      operationId: PaymentLinkService.ListPaymentLinks
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.paymentlinks.PaymentLinksResponse'
      parameters:
      - name: ids
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: statuses
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            enum:
            - UNKNOWN
            - LINK_ACTIVE
            - LINK_EXPIRED
            - LINK_CANCELED
            - USAGE_LIMIT_REACHED
            - AMOUNT_LIMIT_REACHED
            type: string
            default: UNKNOWN
      - name: createdAfter
        in: query
        required: false
        schema:
          type: string
      - name: createdBefore
        in: query
        required: false
        schema:
          type: string
      - name: expiresAfter
        in: query
        required: false
        schema:
          type: string
      - name: expiresBefore
        in: query
        required: false
        schema:
          type: string
      - name: externalPsuReference
        in: query
        required: false
        schema:
          type: string
      - name: onBehalfOfId
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        required: false
        schema:
          type: string
      tags:
      - Payment Links
      summary: Payment link service list payment links
      x-summary-source: derived
    post:
      operationId: PaymentLinkService.CreatePaymentLink
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.paymentlinks.PaymentLinkResponse'
      tags:
      - Payment Links
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/io.token.proto.gateway.paymentlinks.CreatePaymentLinkRequest'
        required: true
      summary: Payment link service create payment link
      x-summary-source: derived
  /v2/payment-links/{paymentLinkId}:
    get:
      operationId: PaymentLinkService.GetPaymentLink
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.paymentlinks.PaymentLinkResponse'
      parameters:
      - name: paymentLinkId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Payment Links
      summary: Payment link service get payment link
      x-summary-source: derived
    delete:
      operationId: PaymentLinkService.CancelPaymentLink
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/io.token.proto.gateway.paymentlinks.PaymentLinkResponse'
      parameters:
      - name: paymentLinkId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Payment Links
      summary: Payment link service cancel payment link
      x-summary-source: derived
components:
  schemas:
    io.token.proto.common.money.Money:
      type: object
      properties:
        currency:
          type: string
        value:
          type: string
    io.token.proto.common.v2.common.CreditorInformation:
      type: object
      properties:
        accountNumber:
          type: string
        accountVerificationId:
          type: string
        address:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.Address'
        bankName:
          type: string
        bankgiroNumber:
          type: string
        bban:
          type: string
        beneficiaryId:
          type: string
        bic:
          type: string
        clearingNumber:
          type: string
        iban:
          type: string
        name:
          type: string
        plusgiroNumber:
          type: string
        sortCode:
          type: string
        ultimateCreditorName:
          type: string
        virtualAccountId:
          type: string
    io.token.proto.common.v2.common.Address:
      type: object
      properties:
        addressLine:
          items:
            type: string
          type: array
        buildingNumber:
          type: string
        country:
          type: string
        countrySubDivision:
          items:
            type: string
          type: array
        district:
          type: string
        postCode:
          type: string
        state:
          type: string
        streetName:
          type: string
        townName:
          type: string
    io.token.proto.common.v2.paging.PageInfo:
      type: object
      properties:
        haveMore:
          format: boolean
          type: boolean
        limit:
          format: int32
          type: integer
        nextOffset:
          type: string
        offset:
          type: string
    io.token.proto.common.v2.openbanking.paymentlink.PaymentTemplate:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/io.token.proto.common.money.Money'
        callbackUrl:
          type: string
        chargeBearer:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.common.ChargeBearer'
        confirmFunds:
          format: boolean
          type: boolean
        creditor:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.CreditorInformation'
        externalPsuReference:
          type: string
        id:
          type: string
        localInstrument:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.LocalInstrument'
        onBehalfOfId:
          type: string
        refId:
          type: string
        remittanceInformationPrimary:
          type: string
        remittanceInformationSecondary:
          type: string
        returnRefundAccount:
          format: boolean
          type: boolean
        risk:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.Risk'
    io.token.proto.common.v2.common.LocalInstrument:
      enum:
      - INVALID_LOCAL_INSTRUMENT
      - SEPA
      - SEPA_INSTANT
      - SWIFT
      - FASTER_PAYMENTS
      - CHAPS
      - ELIXIR
      - EXPRESS_ELIXIR
      - BLUE_CASH
      - SORBNET
      - BANKGIRO
      - PLUSGIRO
      - EU_DOMESTIC_NON_EURO
      - EU_DOMESTIC_NON_EURO_INSTANT
      - AUTO_SELECT
      default: INVALID_LOCAL_INSTRUMENT
      type: string
    io.token.proto.gateway.paymentlinks.CreatePaymentLinkRequest:
      type: object
      properties:
        linkConfig:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.LinkConfig'
        paymentTemplate:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.PaymentTemplate'
    io.token.proto.common.v2.openbanking.paymentlink.LinkConfig:
      type: object
      properties:
        expiresAt:
          type: string
        maxUsageCount:
          format: int32
          type: integer
        perPaymentAmountLimit:
          type: string
        totalAmountLimit:
          type: string
    io.token.proto.gateway.paymentlinks.PaymentLinksResponse:
      type: object
      properties:
        pageInfo:
          $ref: '#/components/schemas/io.token.proto.common.v2.paging.PageInfo'
        paymentLinks:
          items:
            $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.PaymentLink'
          type: array
    io.token.proto.common.v2.common.PaymentContextCode:
      enum:
      - INVALID_PAYMENT_CONTEXT_CODE
      - BILL_PAYMENT
      - ECOMMERCE_GOODS
      - ECOMMERCE_SERVICES
      - OTHER
      - PARTY_TO_PARTY
      - BILLING_GOODS_AND_SERVICES_IN_ADVANCE
      - BILLING_GOODS_AND_SERVICES_IN_ARREARS
      - PISP_PAYEE
      - ECOMMERCE_MERCHANT_INITIATED_PAYMENT
      - FACE_TO_FACE_POINT_OF_SALE
      - TRANSFER_TO_SELF
      - TRANSFER_TO_THIRD_PARTY
      default: INVALID_PAYMENT_CONTEXT_CODE
      type: string
    io.token.proto.common.v2.common.Risk:
      type: object
      properties:
        beneficiaryAccountType:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.BeneficiaryAccountType'
        beneficiaryPrepopulatedIndicator:
          format: boolean
          type: boolean
        contractPresentIndicator:
          format: boolean
          type: boolean
        contractPresentInidicator:
          format: boolean
          type: boolean
        deliveryAddress:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.Address'
        merchantCategoryCode:
          type: string
        paymentContextCode:
          $ref: '#/components/schemas/io.token.proto.common.v2.common.PaymentContextCode'
        paymentPurposeCode:
          type: string
        psuId:
          type: string
    io.token.proto.common.v2.openbanking.common.ChargeBearer:
      enum:
      - UNKNOWN_CHARGE_BEARER
      - CRED
      - DEBT
      - SHAR
      - SLEV
      default: UNKNOWN_CHARGE_BEARER
      type: string
    io.token.proto.common.v2.openbanking.paymentlink.PaymentLinkStatus:
      enum:
      - UNKNOWN
      - LINK_ACTIVE
      - LINK_EXPIRED
      - LINK_CANCELED
      - USAGE_LIMIT_REACHED
      - AMOUNT_LIMIT_REACHED
      default: UNKNOWN
      type: string
    io.token.proto.common.v2.openbanking.paymentlink.CurrentUsage:
      type: object
      properties:
        remainingAmount:
          type: string
        remainingCount:
          format: int32
          type: integer
    io.token.proto.gateway.paymentlinks.PaymentLinkResponse:
      type: object
      properties:
        paymentLink:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.PaymentLink'
    io.token.proto.common.v2.common.BeneficiaryAccountType:
      enum:
      - INVALID_BENEFICIARY_ACCOUNT_TYPE
      - PERSONAL
      - JOINT_PERSONAL
      - PERSONAL_SAVINGS_ACCOUNT
      - BUSINESS
      - BUSINESS_SAVINGS_ACCOUNT
      - CHARITY
      - COLLECTION
      - CORPORATE
      - GOVERNMENT
      - EWALLET
      - INVESTMENT
      - ISA
      - PREMIER
      - WEALTH
      - PENSION
      default: INVALID_BENEFICIARY_ACCOUNT_TYPE
      type: string
    io.token.proto.common.v2.openbanking.paymentlink.PaymentLink:
      type: object
      properties:
        createdAt:
          type: string
        currentUsage:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.CurrentUsage'
        id:
          type: string
        linkConfig:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.LinkConfig'
        memberId:
          type: string
        paymentTemplate:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.PaymentTemplate'
        status:
          $ref: '#/components/schemas/io.token.proto.common.v2.openbanking.paymentlink.PaymentLinkStatus'
        url:
          type: string