Modulr Payment Initiations API

The Payment Initiations API from Modulr — 5 operation(s) for payment initiations.

Operations 5

POST /standing-order-initiations Initiate standing order from ASPSP #
POST /payment-initiations Initiate payment from ASPSP #
GET /standing-order-initiations/{standingOrderInitiationId} Get standing order initiation request details #
GET /payment-initiations/{paymentInitiationId} Get payment initiation request details #
GET /aspsps Get supported ASPSPs #

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/modulr-payment-initiations-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

modulr-payment-initiations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Modulr Payment Initiations API
  description: Modulr API
  license:
    name: © Modulr Finance
    url: https://www.modulrfinance.com
  version: '1.0'
servers:
- url: https://api-sandbox.modulrfinance.com/api-sandbox-token
security:
- modulo_security: []
tags:
- name: Payment Initiations
paths:
  /standing-order-initiations:
    post:
      tags:
      - Payment Initiations
      summary: Initiate standing order from ASPSP
      description: Initiate a new standing order to the specified destination account from an account held at an ASPSP.
      operationId: createStandingOrderInitiation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pispgateway.CreateStandingOrderInitiationRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.CreateStandingOrderInitiationResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /payment-initiations:
    post:
      tags:
      - Payment Initiations
      summary: Initiate payment from ASPSP
      description: Initiate a payment to the specified destination account from an account held at an ASPSP.
      operationId: createPaymentInitiation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pispgateway.CreatePaymentInitiationRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.CreatePaymentInitiationResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /standing-order-initiations/{standingOrderInitiationId}:
    get:
      tags:
      - Payment Initiations
      summary: Get standing order initiation request details
      description: Retrieve the details of a specific standing order initiation request.
      operationId: getStandingOrderInitiation
      parameters:
      - name: standingOrderInitiationId
        in: path
        description: Standing order initiation ID
        required: true
        style: simple
        explode: false
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Standing order initiation found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.StandingOrderInitiationResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.MessageResponse'
        '404':
          description: Standing order initiation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.StandingOrderInitiationResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /payment-initiations/{paymentInitiationId}:
    get:
      tags:
      - Payment Initiations
      summary: Get payment initiation request details
      description: Retrieve the details of a specific payment initiation request.
      operationId: getPaymentInitiation
      parameters:
      - name: paymentInitiationId
        in: path
        description: Payment initiation ID
        required: true
        style: simple
        explode: false
        schema:
          type: string
          minLength: 1
      responses:
        '200':
          description: Payment initiation found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.PaymentInitiationResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.MessageResponse'
        '404':
          description: Payment initiation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pispgateway.PaymentInitiationResponse'
      security:
      - HMAC: []
      - TOKEN: []
  /aspsps:
    get:
      tags:
      - Payment Initiations
      summary: Get supported ASPSPs
      description: Gets a list of all supported Account Servicing Payment Service Providers (ASPSPs).
      operationId: getAspsProviders
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.AspsProviderResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/pispgateway.MessageResponse'
      security:
      - HMAC: []
      - TOKEN: []
components:
  schemas:
    pispgateway.DeliveryAddress:
      type: object
      description: Information that locates and identifies a specific address, as defined by postal services or in free format text, must be specified if paymentContextCode is ECOMMERCEGOODS
      properties:
        addressLine1:
          type: string
          description: First line of the address
          maxLength: 70
          minLength: 0
        addressLine2:
          type: string
          description: Second line of the address
          maxLength: 70
          minLength: 0
        postTown:
          type: string
          description: The post town
          maxLength: 35
          minLength: 0
        postCode:
          type: string
          description: The postcode
          maxLength: 16
          minLength: 0
        country:
          type: string
          description: The country
          minLength: 1
      required:
      - addressLine1
      - country
      - postCode
      - postTown
    pispgateway.StandingOrderSchedule:
      type: object
      description: The schedule of the standing order
      properties:
        frequency:
          type: string
          description: Type of the capability, can be one of WEEKLY, MONTHLY
          enum:
          - WEEKLY
          - MONTHLY
        initialDate:
          type: string
          description: The date on which the standing order should begin. This must be at least 3 days in the future from today. Date format 'yyyy-MM-dd'
          example: '2021-03-25'
        finalDate:
          type: string
          description: The optional date on which the standing order should end. If unspecified, the standing order will continue until cancelled.This must be at least 3 days in the future from today. Date format 'yyyy-MM-dd'
          example: '2021-03-25'
      required:
      - frequency
      - initialDate
    pispgateway.PaymentAmount:
      type: object
      description: The amount of the payment
      properties:
        currency:
          type: string
          description: Currency of the account in ISO 4217 format. Only allowable value is GBP
          enum:
          - GBP
        value:
          type: number
          description: Amount of the payment in Major Currency Units - '1' = 1.00 GBP
          example: '100.00'
          maximum: 2147483647
          minimum: 0.01
      required:
      - currency
      - value
    pispgateway.PaymentInitiationResponse:
      type: object
      description: Response object for Get Payment Initiation
      properties:
        id:
          type: string
          description: The identifier of the payment initiation
          example: I000000001
        status:
          type: string
          description: The status of the payment initiation, can be one of SUBMITTED, AWAITING_CONSENT, CONSENT_REJECTED, EXECUTED, ER_EXPIRED, ER_EXTSYS, ER_GENERAL
          example: AWAITING_CONSENT
        paymentAmount:
          $ref: '#/components/schemas/pispgateway.PaymentAmount'
          description: The payment amount
        paymentReference:
          type: string
          description: The payment reference
        destination:
          $ref: '#/components/schemas/pispgateway.Destination'
          description: The payment destination
        aspspId:
          type: string
          description: The identifier of the ASPSP used for the payment
          example: H100000001
        aspspPaymentStatus:
          type: string
          description: The status of the payment at the ASPSP. When available, this is passed through from the ASPSP without modification.
          example: AcceptedSettlementCompleted
    pispgateway.Destination:
      type: object
      description: The destination account for the payment
      properties:
        type:
          type: string
          description: Indicates the type of destination. Can be one of ACCOUNT, SCAN
          enum:
          - ACCOUNT
          - SCAN
        id:
          type: string
          description: Identifier of the destination account if using ACCOUNT type
          example: A1100001
        accountNumber:
          type: string
          description: Account Number of destination account if using SCAN type
          example: '12345678'
          pattern: ^[0-9]{8}$
        sortCode:
          type: string
          description: Sort Code of destination account if using SCAN type
          example: '000000'
          pattern: ^[0-9]{6}$
        name:
          type: string
          description: Name of destination account if using SCAN type (this may be truncated)
          example: Test
          maxLength: 70
          minLength: 0
      required:
      - type
    pispgateway.AspsProviderResponse:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier (within Modulr) of the ASPSP
          example: H100000001
        name:
          type: string
          description: Name of the ASPSP
          example: Bank of Money
        capabilities:
          type: array
          description: Capability list of the ASPSP
          items:
            $ref: '#/components/schemas/pispgateway.Capability'
    pispgateway.CreateStandingOrderInitiationRequest:
      type: object
      description: Request object to Initiate Standing Order
      properties:
        aspspId:
          type: string
          description: Identifier for ASPSP being used for the standing order
          example: H100000001
          minLength: 1
        payment:
          $ref: '#/components/schemas/pispgateway.StandingOrderPayment'
          description: The payment of the standing order
        schedule:
          $ref: '#/components/schemas/pispgateway.StandingOrderSchedule'
          description: The schedule of the standing order
        context:
          $ref: '#/components/schemas/pispgateway.PaymentContext'
          description: Payment context used to specify additional details for risk scoring
      required:
      - aspspId
      - context
      - payment
      - schedule
    pispgateway.PaymentContext:
      type: object
      description: Payment context for the initiation request
      properties:
        paymentContextCode:
          type: string
          description: Indicates type of Payment Context, can be one of BILLPAYMENT, ECOMMERCEGOODS, ECOMMERCESERVICES, OTHER, PARTYTOPARTY. If no value or paymentContext is provided, PARTYTOPARTY is considered the default value.
          enum:
          - BILLPAYMENT
          - ECOMMERCEGOODS
          - ECOMMERCESERVICES
          - OTHER
          - PARTYTOPARTY
        deliveryAddress:
          $ref: '#/components/schemas/pispgateway.DeliveryAddress'
          description: Delivery address, must be specified if paymentContextCode is 'ECOMMERCEGOODS'
        merchant:
          $ref: '#/components/schemas/pispgateway.MerchantDetails'
          description: The merchant for the payment context
      required:
      - merchant
    pispgateway.CreatePaymentInitiationRequest:
      type: object
      description: Request object to Initiate Payment
      properties:
        paymentAmount:
          $ref: '#/components/schemas/pispgateway.PaymentAmount'
          description: The amount of the payment
        paymentReference:
          type: string
          description: Reference to be used for the Payment. This will appear on the Account statement/the recipient's bank account. Min 6 to max 18 characters. Can contain alphanumeric, '-', '.', '&', '/' and space.
          example: Invoice ABC123
          minLength: 1
        destination:
          $ref: '#/components/schemas/pispgateway.Destination'
          description: The destination account for the payment
        aspspId:
          type: string
          description: Identifier for ASPSP being used for the payment
          example: H100000001
          minLength: 1
        paymentContext:
          $ref: '#/components/schemas/pispgateway.LegacyPaymentContext'
          description: Payment context used to specify additional details for risk scoring
      required:
      - aspspId
      - destination
      - paymentAmount
      - paymentReference
    pispgateway.Capability:
      type: object
      properties:
        type:
          type: string
          description: Type of the capability.
          enum:
          - SINGLE_IMMEDIATE
          - STANDING_ORDER
          - SWEEPING_VRP
          - COMMERCIAL_VRP
          example: SINGLE_IMMEDIATE
        status:
          type: string
          description: Status of the capability.
          enum:
          - ENABLED
          - DISABLED
          example: ENABLED
    pispgateway.CreatePaymentInitiationResponse:
      type: object
      description: Response object to Initiate Payment
      properties:
        paymentInitiationId:
          type: string
          description: The unique identifier of the payment initiation request at Modulr
          example: I000000001
        redirectUrl:
          type: string
          description: A redirect URL for the user to authorise the payment initiation request at the ASPSP
          example: https://www.bankofmoney.com/authorize
    pispgateway.LegacyPaymentContext:
      type: object
      description: Payment context for the initiation request
      properties:
        paymentContextCode:
          type: string
          description: Indicates type of Payment Context, can be one of BILLPAYMENT, ECOMMERCEGOODS, ECOMMERCESERVICES, OTHER, PARTYTOPARTY. If no value or paymentContext is provided, PARTYTOPARTY is considered the default value.
          enum:
          - BILLPAYMENT
          - ECOMMERCEGOODS
          - ECOMMERCESERVICES
          - OTHER
          - PARTYTOPARTY
        deliveryAddress:
          $ref: '#/components/schemas/pispgateway.DeliveryAddress'
          description: Delivery address, must be specified if paymentContextCode is 'ECOMMERCEGOODS'
        merchantCategoryCode:
          type: string
          description: Merchant category code conform to ISO 18245, related to the type of services or goods provided for the transaction. Must be specified if paymentContextCode is either ECOMMERCEGOODS or ECOMMERCESERVICES
          maxLength: 4
          minLength: 3
        merchantCustomerIdentification:
          type: string
          description: Merchant customer identification, must be specified if paymentContextCode is either ECOMMERCEGOODS or ECOMMERCESERVICES
          maxLength: 70
          minLength: 1
    pispgateway.CreateStandingOrderInitiationResponse:
      type: object
      description: Response object to Initiate Standing Order
      properties:
        standingOrderInitiationId:
          type: string
          description: The unique identifier of the standing order initiation request at Modulr
          example: I000000001
        redirectUrl:
          type: string
          description: A redirect URL for the user to authorise the standing order initiation request at the ASPSP
          example: https://www.bankofmoney.com/authorize
    pispgateway.MerchantDetails:
      type: object
      description: Merchant details for the payment context
      properties:
        categoryCode:
          type: string
          description: Merchant category code conform to ISO 18245, related to the type of services or goods provided for the transaction. Must be specified if paymentContextCode is either ECOMMERCEGOODS or ECOMMERCESERVICES
          maxLength: 4
          minLength: 3
        customerId:
          type: string
          description: Merchant customer identification, must be specified if paymentContextCode is either ECOMMERCEGOODS or ECOMMERCESERVICES
          maxLength: 70
          minLength: 1
    pispgateway.StandingOrderInitiationResponse:
      type: object
      description: Response object for Get Standing Order Initiation
      properties:
        id:
          type: string
          description: The identifier of the standing order initiation
          example: I000000001
        payment:
          $ref: '#/components/schemas/pispgateway.StandingOrderPayment'
          description: The payment of the standing order
        schedule:
          $ref: '#/components/schemas/pispgateway.StandingOrderSchedule'
          description: The schedule of the standing order
        status:
          type: string
          description: The status of the standing order initiation, can be one of SUBMITTED, AWAITING_CONSENT, CONSENT_REJECTED, EXECUTED, ER_EXPIRED, ER_EXTSYS, ER_GENERAL
          example: AWAITING_CONSENT
        aspspId:
          type: string
          description: The identifier of the ASPSP used for the standing order
          example: H100000001
        standingOrderStatus:
          type: string
          description: The status of the standing order at the ASPSP. When available, this is passed through from the ASPSP without modification.
          example: InitiationCompleted
    pispgateway.StandingOrderPayment:
      type: object
      description: The payment of the standing order
      properties:
        destination:
          $ref: '#/components/schemas/pispgateway.Destination'
          description: The destination account for the payment
        amount:
          $ref: '#/components/schemas/pispgateway.StandingOrderPaymentAmount'
          description: The amount of the standing order
        reference:
          type: string
          description: Reference to be used for the Payment. This will appear on the Account statement/the recipient's bank account. Min 6 to max 18 characters. Can contain alphanumeric, '-', '.', '&', '/' and space.
          example: Invoice ABC123
          minLength: 1
      required:
      - amount
      - destination
      - reference
    pispgateway.MessageResponse:
      type: object
      properties:
        field:
          type: string
        code:
          type: string
          enum:
          - GENERAL
          - BUSINESSRULE
          - MFASTATUS
          - MFAERROR
          - MFATIMEOUT
          - MFADEVICEMM
          - MFAMESSAGEINVALID
          - NOTFOUND
          - DUPLICATE
          - INVALID
          - CONNECTION
          - RETRY
          - RATELIMIT
          - PERMISSION
          - NOTACCEPTABLE
          - MFAVERIFICATION
          - TOKENEXPIRED
        errorCode:
          type: string
        message:
          type: string
        sourceService:
          type: string
    pispgateway.StandingOrderPaymentAmount:
      type: object
      description: The amount of the standing order
      properties:
        currency:
          type: string
          description: Currency of the account in ISO 4217 format. Default is GBP
          enum:
          - GBP
        recurringAmount:
          type: number
          description: Recurring amount of the payment in Major Currency Units - '1' = 1.00 GBP
          example: '100.00'
          maximum: 2147483647
          minimum: 0.01
      required:
      - currency
      - recurringAmount
  securitySchemes:
    modulo_security:
      type: apiKey
      name: Authorization
      in: header
    TOKEN:
      type: apiKey
      name: Authorization
      in: header
x-readme:
  proxy-enabled: false