Yapily Payments API (PIS)

Payment Initiation Service Provider (PISP) endpoints for initiating single, scheduled, periodic, bulk, and international payments directly from a customer's bank account. Single-use consent per payment.

Operations 5

POST /bulk-payments Create Bulk Payment #
GET /bulk-payments/{bulkPaymentId} Get Bulk Payment File Status #
GET /bulk-payments/{bulkPaymentId}/details Get Bulk Payment Status Details #
POST /payments Create Payment #
GET /payments/{paymentId}/details Get Payment Details #

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/yapily-payments-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

yapily-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yapily Beneficiaries Application Beneficiaries Payments API
  description: Application and User Beneficiaries endpoints for managing reusable payment counterparties.
  version: 12.4.0
  contact:
    name: Yapily Support
    url: https://docs.yapily.com/resources/support
    email: support@yapily.com
servers:
- url: https://api.yapily.com
security:
- basicAuth: []
tags:
- description: In order to make a Payment on behalf of a user, you are required to request an [Authorisation](#tag/Authorisations) from the user to authorise the user's account to make the payment from. Once a `consent-token` is obtained, you can call the necessary Payments endpoint(s) to execute a payment.
  name: Payments
paths:
  /bulk-payments:
    post:
      description: "Creates a bulk payment after obtaining the user's authorisation. \n\nFeature: `CREATE_BULK_PAYMENT`"
      operationId: createBulkPayment
      parameters:
      - description: __Mandatory__. The `consent-token` containing the user's authorisation to make the request.
        example: '{consentToken}'
        in: header
        name: consent
        required: true
        schema:
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a personal account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-id
        required: false
        schema:
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a business account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-corporate-id
        required: false
        schema:
          type: string
      - description: "__Conditional__. The IP address of the PSU. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-ip-address
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              UK Bulk Payment Example Request:
                $ref: '#/components/examples/uk-bulk-payment-example-request'
            schema:
              $ref: '#/components/schemas/SubmitBulkPaymentRequest'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              examples:
                UK Bulk Payment Example Response:
                  $ref: '#/components/examples/uk-bulk-payment-example-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfCreateBulkPaymentRequest'
          description: Created
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Create Bulk Payment
      tags:
      - Payments
      x-mint:
        content: '<Info>Learn more: [Bulk Payments Overview](/payments/bulk-payments/overview)</Info>'
  /bulk-payments/{bulkPaymentId}:
    get:
      description: Returns the bulk file status of the bulk payment for given bulkPaymentId
      summary: Get Bulk Payment File Status
      tags:
      - Payments
      operationId: getBulkPaymentStatus
      parameters:
      - schema:
          type: string
        in: header
        name: consent
        description: __Mandatory__. The `consent token` containing the user's authorisation to make the request.
        required: true
      - schema:
          type: string
        in: path
        name: bulkPaymentId
        description: __Mandatory__. Bulk payment id returned when bulk payment request was submitted.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                    properties:
                      tracingId:
                        type: string
                  data:
                    type: object
                    properties:
                      id:
                        description: Unique identifier of the Bulk Payment
                        type: string
                      consentId:
                        description: Identification of the consent.
                        type: string
                      statusDetails:
                        type: object
                        properties:
                          status:
                            type: string
                            description: 'Bulk file status. Enum: `COMPLETED` `PENDING` `FAILED` `UNKNOWN`

                              These values are subject to change.'
                          updatedAt:
                            type: string
                            format: date-time
                      createdAt:
                        type: string
                        format: date-time
              examples:
                Successful 200 OK:
                  value:
                    meta:
                      tracingId: 27b47dca-fb0f-4448-b470-1cd2d5516d0f
                    data:
                      id: 76ad88c7-6e99-4a16-a277-e428a73d1e86
                      consentId: 5daeb980-5ff5-49db-b7a0-e93dd9c93533
                      statusDetails:
                        status: COMPLETED
                        updatedAt: '2024-07-25T18:14:52.672Z'
                      createdAt: '2024-07-25T18:14:52.672Z'
        '400':
          description: Required parameter missing or invalid
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
        '401':
          description: Authentication Error
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/401-error-response'
        '404':
          description: Bulk payment not found for provided id
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/404-error-response'
        '500':
          description: An unexpected error occurred.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/500-error-response'
      x-mint:
        content: '<Info>Learn more: [Bulk Payment Status Monitoring](/payments/bulk-payments/additional-information#bulk-payment-status-and-monitoring)</Info>'
  /bulk-payments/{bulkPaymentId}/details:
    get:
      description: "Retrieve details of each payment submitted for a given bulkPaymentId. \n\nFeature: `EXISTING_BULK_PAYMENT_DETAILS`"
      operationId: getBulkPaymentDetailsById
      summary: Get Bulk Payment Status Details
      tags:
      - Payments
      parameters:
      - schema:
          type: string
        in: header
        name: consent
        description: __Mandatory__. The `consent token` containing the user's authorisation to make the request.
        required: true
      - schema:
          type: string
        in: path
        name: bulkPaymentId
        description: __Mandatory__. Bulk payment id returned when bulk payment request was submitted
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/BulkPaymentDetailsResponse'
              examples:
                Successful 200 OK:
                  $ref: '#/components/examples/bulk-payment-details-by-id-response'
        '400':
          description: Required parameter missing or invalid
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/400-error-response'
        '401':
          description: Authentication Error
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/401-error-response'
        '404':
          description: Bulk payment not found for provided id
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/404-error-response'
        '500':
          description: An unexpected error occurred.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseV2'
              examples:
                Example-1:
                  $ref: '#/components/examples/500-error-response'
  /payments:
    post:
      description: "Creates a payment after obtaining the user's authorisation. \n\nFeatures:\n\n- `CREATE_DOMESTIC_PERIODIC_PAYMENT`\n- `CREATE_DOMESTIC_SCHEDULED_PAYMENT`\n- `CREATE_DOMESTIC_SINGLE_INSTANT_PAYMENT`\n- `CREATE_DOMESTIC_SINGLE_PAYMENT`\n- `CREATE_INTERNATIONAL_PERIODIC_PAYMENT`\n- `CREATE_INTERNATIONAL_SCHEDULED_PAYMENT`\n- `CREATE_INTERNATIONAL_SINGLE_PAYMENT`"
      operationId: createPayment
      parameters:
      - description: __Mandatory__. The `consent-token` containing the user's authorisation to make the request.
        example: '{consentToken}'
        in: header
        name: consent
        required: true
        schema:
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a personal account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-id
        required: false
        schema:
          title: User Id
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a business account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-corporate-id
        required: false
        schema:
          title: Corporate User Id
          type: string
      - description: "__Conditional__. The IP address of the PSU. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-ip-address
        required: false
        schema:
          title: User IP Address
          type: string
      - $ref: '#/components/parameters/SubAppHeader'
      requestBody:
        content:
          application/json;charset=UTF-8:
            examples:
              EUR Domestic Single Payment Example Request:
                $ref: '#/components/examples/eur-domestic-single-payment-example-request'
              GBP Domestic Single Payment Example Request:
                $ref: '#/components/examples/gbp-domestic-single-payment-example-request'
            schema:
              $ref: '#/components/schemas/PaymentRequest'
        required: true
      responses:
        '201':
          content:
            application/json;charset=UTF-8:
              examples:
                EUR Domestic Single Payment Example Response:
                  $ref: '#/components/examples/eur-domestic-single-payment-example-response'
                GBP Domestic Single Payment Example Response:
                  $ref: '#/components/examples/gbp-domestic-single-payment-example-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfPaymentResponse'
          description: Created
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Create Payment
      tags:
      - Payments
      x-mint:
        content: '<Info>Learn more: [Payment Types](/payments/payment-resources/intro-to-payment-execution#payment-types) - This endpoint supports 7 payment types (single, periodic, scheduled, international)</Info>'
  /payments/{paymentId}/details:
    get:
      description: "Returns the details of a payment. \n\nMost commonly used to check for payment status updates. \n\nFeature: `EXISTING_PAYMENTS_DETAILS`"
      operationId: getPayments
      parameters:
      - description: __Mandatory__. The payment Id of the payment.
        in: path
        name: paymentId
        required: true
        schema:
          type: string
      - description: __Mandatory__. The `consent-token` containing the user's authorisation to make the request.
        example: '{consentToken}'
        in: header
        name: consent
        required: true
        schema:
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a personal account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-id
        required: false
        schema:
          title: User Id
          type: string
      - description: "__Conditional__. Represents the user's login ID for the `Institution` to a business account. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-corporate-id
        required: false
        schema:
          title: Corporate User Id
          type: string
      - description: "__Conditional__. The IP address of the PSU. \n\nSee [PSU identifiers](/open-banking-flow/user-authorisation/psu-identifiers) to see if this header is required."
        in: header
        name: psu-ip-address
        required: false
        schema:
          title: User IP Address
          type: string
      - $ref: '#/components/parameters/SubAppHeader'
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              examples:
                EUR Single Domestic Payment Example Response:
                  $ref: '#/components/examples/eur-single-domestic-payment-details-example-response'
                GBP Single Domestic Payment Example Response:
                  $ref: '#/components/examples/gbp-single-domestic-payment-details-example-response'
                UK Bulk Payment Example Response:
                  $ref: '#/components/examples/uk-bulk-payment-details-example-response'
              schema:
                $ref: '#/components/schemas/ApiResponseOfPaymentResponses'
          description: Ok
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Get Payment Details
      tags:
      - Payments
      x-mint:
        content: '<Info>Learn more: [Payment Status Lifecycle](/payments/payment-resources/payment-status) for monitoring payment execution</Info>'
components:
  schemas:
    Payer:
      title: Payer Details
      required:
      - accountIdentifications
      type: object
      properties:
        name:
          title: Payer Name
          type: string
          description: The account holder name of the Payer.
          example: John Doe
        accountIdentifications:
          uniqueItems: true
          type: array
          description: __Mandatory__. The account identifications that identify the `Payer` bank account.
          items:
            $ref: '#/components/schemas/AccountIdentification'
        address:
          $ref: '#/components/schemas/Address'
      description: __Conditional__. Details of the benefactor [person or business].
    PriorityCodeEnum:
      type: string
      enum:
      - NORMAL
      - URGENT
    InternationalPaymentRequest:
      required:
      - currencyOfTransfer
      type: object
      properties:
        currencyOfTransfer:
          type: string
          description: __Mandatory__. The currency to be transferred to the payee. This may differ from the currency the payment is denoted in and the currency of the payer's account. Specified as a 3-letter code (ISO 4217).
        exchangeRateInformation:
          $ref: '#/components/schemas/ExchangeRateInformation'
        purpose:
          type: string
          description: __Optional__. Used to indicate the external purpose as a [ISO20022 purpose code](https://www.rba.hr/documents/20182/183267/External+purpose+codes+list/8a28f888-1f83-5e29-d6ed-fce05f428689?version=1.1) value.
        priority:
          $ref: '#/components/schemas/PriorityCodeEnum'
        chargeBearer:
          $ref: '#/components/schemas/ChargeBearerType'
      description: "__Conditional__. Used to specify properties to define an international payment. \n\nMust be specified when the payment `type` is one of the following:\n\n- `INTERNATIONAL_SINGLE_PAYMENT`\n- `INTERNATIONAL_SCHEDULED_PAYMENT`\n- `INTERNATIONAL_PERIODIC_PAYMENT`"
    ApiResponseOfPaymentResponses:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          $ref: '#/components/schemas/PaymentResponses'
        links:
          type: object
          additionalProperties:
            type: string
        forwardedData:
          type: array
          items:
            $ref: '#/components/schemas/ResponseForwardedData'
        raw:
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/RawResponse'
        tracingId:
          type: string
          writeOnly: true
    ApiResponseOfCreateBulkPaymentRequest:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          $ref: '#/components/schemas/BulkPaymentResponse'
        links:
          type: object
          additionalProperties:
            type: string
        forwardedData:
          type: array
          items:
            $ref: '#/components/schemas/ResponseForwardedData'
        raw:
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/RawResponse'
        tracingId:
          type: string
          writeOnly: true
    PaymentPurposeCode:
      title: Payment Purpose Code
      type: string
      description: "__Optional__. The payment purpose code. \n\nAllowed values: INTP, DEPT, BEXP, LICF, SERV, SUPP, TRAD, SUBS, GDSV, ROYA, COMT, CHAR, ECPR, CLPR, INTE, LOAN, LOAR, INPC, INPR, INSC, INSU, LIFI, PPTI, HLRP, HLST, PDEP, IVPT, REBT, REFU, CDBL, CPKC, EDUC, FEES, GAMB, LOTT, GIFT, INSM, REOD, GOVT, TCSC, BLDM, RENT, DIVD, INVS, SAVG, HLTI, DNTS, LTCF, MDCS, VIEW, BECH, BENE, SSBE, PEFC, PENS, ADCS, BONU, COMM, SALA, ESTX, HSTX, INTX, PTXP, RDTX, TAXS, VATX, WHLD, TAXR, CBTV, ELEC, GASB, PHON, UBIL, WTER . \n\nSee [Payment Purpose code](/getting-started/application-management#payment-purpose-code-and-user-groups) to see the definition of each code"
    AccountIdentification:
      title: Account Identifications
      required:
      - type
      - identification
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AccountIdentificationType'
        identification:
          title: Account Identification
          type: string
          description: "__Mandatory__. The value associated with the account identification type.\n\n See [Account Identification Combinations](/payments/payment-resources/intro-to-payment-execution#account-identifications-combinations) for more information on the format of the values."
          example: '401016'
    RawResponse:
      deprecated: true
      type: object
      description: '[DEPRECATED] Interaction (raw request and response) that occurred with the `Institution` in order to fulfil a request.'
      properties:
        request:
          $ref: '#/components/schemas/RawRequest'
        duration:
          type: string
          format: iso8601
        headers:
          type: object
          additionalProperties:
            type: string
        resultCode:
          type: integer
          format: int32
        result:
          type: object
    SubmitBulkPaymentRequest:
      required:
      - payments
      type: object
      properties:
        idempotencyId:
          type: string
          minLength: 1
          maxLength: 40
          pattern: ^\S{1,40}$
          description: __Optional__. An alphanumeric string (1-40 chars) used for idempotency. Unique per consent ID for 24 hours. Prevents duplicate bulk file payment submissions.
          example: 1cc3e60d-5500-42be-aaeb-3c5e2f5ed048
        payments:
          type: array
          description: __Mandatory__. The array of `PaymentRequest` objects to initiate in the bulk payment.
          items:
            $ref: '#/components/schemas/PaymentRequest'
        originatorIdentificationNumber:
          type: string
          description: '__Conditional__. The identification number of the originator.


            - Mandatory for AIB bulk payments'
        executionDateTime:
          type: string
          description: __Optional__. Used to schedule the bulk payment to be executed at a future date if supported by the `Institution`. This value must fall on the same calendar day as the `executionDateTime` provided in the consent/authorisation phase. If the dates do not match, the bulk file payment will fail.
          format: date-time
      description: The payment request object defining the details of the bulk payment
    ApiErrorResponseV2:
      type: object
      description: API Error Response
      properties:
        error:
          required:
          - tracingId
          - code
          - status
          - issues
          type: object
          properties:
            tracingId:
              type: string
              description: Unique identifier of the request, used by Yapily for support purposes
            code:
              type: integer
              format: int32
              description: Numeric HTTP status code associated with the error
            status:
              type: string
              description: Textual description of the HTTP status
            supportUrl:
              type: string
              description: Link to where further information regarding the error can be found
            source:
              type: string
              description: Source of the error. This may be YAPILY, the INSTITUTION, or the USER
            issues:
              type: array
              description: List of issues relating to the error
              items:
                required:
                - message
                - code
                type: object
                description: Detailed information regarding the issue that was experienced during processing of the request
                properties:
                  type:
                    type: string
                    description: Category of the issue
                  code:
                    type: string
                    description: 5 digit Error Code that uniquely identifies the type of issue, for full list of error codes pelase check our documentation
                  message:
                    type: string
                    description: Human readable description of the issue that was experienced
    PaymentStatus:
      type: string
      description: "The status of the Payment. \n\nFor more information, see [Payment Status](/guides/payments/payment-status/)"
      enum:
      - PENDING
      - FAILED
      - DECLINED
      - COMPLETED
      - COMPLETED_SETTLEMENT_IN_PROCESS
      - EXPIRED
      - UNKNOWN
      - ACTIVE
      - INACTIVE
    ExchangeRateInformationResponse:
      required:
      - rateType
      - unitCurrency
      type: object
      properties:
        unitCurrency:
          type: string
          description: __Mandatory__. The currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is `GBP`.
        rate:
          type: number
          description: __Optional__. The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.
        rateType:
          $ref: '#/components/schemas/RateTypeEnum'
        foreignExchangeContractReference:
          type: string
          description: __Optional__. The unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.
        exchangeRateExpiryDate:
          type: string
          format: date-time
    PaymentRequest:
      required:
      - amount
      - payee
      - paymentIdempotencyId
      - type
      type: object
      properties:
        paymentIdempotencyId:
          title: Idempotency Id
          type: string
          description: __Mandatory__. A unique identifier that you must provide to identify the payment. This can be any alpha-numeric string but is limited to a maximum of 35 characters.
          example: 04ab4536gaerfc0e1f93c4f4
        payer:
          $ref: '#/components/schemas/Payer'
        reference:
          title: Payment Reference
          type: string
          description: __Optional__. The payment reference or description. Limited to a maximum of 18 characters long.
          example: Bill payment
        contextType:
          $ref: '#/components/schemas/PaymentContextType'
        purposeCode:
          $ref: '#/components/schemas/PaymentPurposeCode'
        type:
          $ref: '#/components/schemas/PaymentType'
        payee:
          $ref: '#/components/schemas/Payee'
        periodicPayment:
          $ref: '#/components/schemas/PeriodicPaymentRequest'
        internationalPayment:
          $ref: '#/components/schemas/InternationalPaymentRequest'
        amount:
          $ref: '#/components/schemas/Amount'
        paymentDateTime:
          title: Payment Date
          type: string
          description: '__Conditional__. Used to specify the date of the payment when the payment type is one of the following:


            - `DOMESTIC_SCHEDULED_PAYMENT`

            - `DOMESTIC_PERIODIC_PAYMENT`

            - `INTERNATIONAL_SCHEDULED_PAYMENT`

            - `INTERNATIONAL_PERIODIC_PAYMENT`'
          format: date-time
          example: '2021-07-21T17:32:28Z'
        readRefundAccount:
          title: Read Refund Account
          type: boolean
          description: '__Optional__. Used to request the payer details in the payment response when the `Institution` provides the feature `READ_DOMESTIC_SINGLE_REFUND`.


            See [Reverse Payments](/payments/payment-resources/reverse-payments) for more information.'
          example: false
      description: __Mandatory__. The payment request object defining the details of the payment.
    ApiResponseOfPaymentResponse:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseMeta'
        data:
          $ref: '#/components/schemas/PaymentResponse'
        links:
          type: object
          additionalProperties:
            type: string
        forwardedData:
          type: array
          items:
            $ref: '#/components/schemas/ResponseForwardedData'
        raw:
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/RawResponse'
        tracingId:
          type: string
          writeOnly: true
    ChargeBearerType:
      type: string
      description: '__Conditional__. Depending on the bank and payment type for international Euro payments. The field ChargeBearer specifies which party/parties will bear the charges associated with the processing of the payment transaction. Valid values are:


        - `DEBT` - All transaction charges are to be borne by the debtor.

        - `CRED` - All transaction charges are to be borne by the creditor.

        - `SHAR` - In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor

        - `SLEV` - Charges are to be applied following the rules agreed in the service level and/or scheme.'
      enum:
      - DEBT
      - CRED
      - SHAR
      - SLEV
    RefundAccount:
      type: object
      description: The account to which funds should be returned if the payment is to be later refunded.
      properties:
        name:
          type: string
        accountIdentifications:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentification'
    BulkPaymentIndividualStatus:
      type: object
      required:
      - id
      - status
      properties:
        id:
          type: string
          description: __Mandatory__. Unique identifier of the individual payment.
        status:
          $ref: '#/components/schemas/PaymentStatus'
        statusDetails:
          type: object
          title: BulkPaymentIndividualStatusDetails
          description: __Conditional__. Details regarding the status of an individual payment within a bulk request. This object is conditionally returned, typically when the status is not `COMPLETED`.
          properties:
            code:
              type: string
              description: __Conditional__. The unique 4-digit error code identifying the specific issue. Refer to the official documentation for a comprehensive list of error codes
            reason:
              type: string
              description: __Optional__. A human-readable description providing additional context or the specific error message encountered.
          required:
          - code
    BulkPaymentStatusDetails:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/PaymentStatus'
        statusReason:
          type: string
        statusReasonDescription:
          type: string
        statusUpdateDate:
          type: string
          format: date-time
        multiAuthorisationStatus:
          $ref: '#/components/schemas/MultiAuthorisation'
        isoStatus:
          type: object
          description: The Institution's status for this Bulk Payment.
          properties:
            code:
              type: string
              description: The Institution's status code for this Bulk Payment. It will often be a 3-letter ISO 20022 status code, but it may also contain other values.
              example: ACSP
            name:
              type: string
              description: The full name for the status code, provided only when it is a valid ISO 20022 status code.
              example: AcceptedSettlementInProcess
    PaymentResponses:
      type: object
      properties:
        payments:
          type: array
          items:
            $ref: '#/components/schemas/PaymentResponse'
    PaymentStatusDetails:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/PaymentStatus'
        statusReason:
          type: string
        statusReasonDescription:
          type: string
        statusUpdateDate:
          type: string
          format: date-time
        multi

# --- truncated at 32 KB (102 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yapily/refs/heads/main/openapi/yapily-payments-api-openapi.yml