components:
  schemas:
    AccountDetails:
      description: Details of the account.
      properties:
        bban:
          description: Account number.
          type: string
        country:
          description: Country code.
          type: string
        currency:
          description: Currency code.
          type: string
        retail_number:
          description: Retail number.
          type: string
        users:
          description: Users with their authorization right towards specific account.
          items:
            $ref: '#/components/schemas/PaymentAuthorization'
          type: array
      type: object
    AdditionalDataResponse:
      description: Additional data.
      properties:
        total_number_of_payments:
          description: Number of payments fulfilling the search criteria.
          format: int64
          type: integer
      type: object
    AddressResponse:
      description: Address information for UK payments.
      properties:
        line_1:
          description: First line of address, typically street address and building
            number.
          example: 10 Downing Street
          type: string
        line_2:
          description: Second line of address, typically city or town name.
          example: London
          type: string
      type: object
    AgreementDetails:
      description: Agreements available.
      properties:
        accounts:
          description: Accounts available within the agreement.
          items:
            $ref: '#/components/schemas/AccountDetails'
          type: array
        agreement_number:
          description: Agreement Number.
          type: string
      type: object
    AuthorizationRequestTemplate:
      description: Details of the preferred authentication type.
      discriminator:
        propertyName: authentication_type
      properties:
        authentication_type:
          type: string
      required:
      - authentication_type
      type: object
    BankInformationResponse:
      description: 'Creditor bank information.

        Provided creditor bank information (bank_code, name and address lines) is
        overwritten in the response with the official information for the bank stored
        in Nordea''s register.'
      properties:
        address:
          $ref: '#/components/schemas/AddressResponse'
        bank_code:
          description: Name of the creditor bank.
          example: '999992'
          type: string
        country:
          description: Name of the creditor bank.
          example: GB
          type: string
        name:
          description: Name of the creditor bank.
          example: Andersen Bank
          type: string
      type: object
    ChapsPaymentAddressUk:
      description: Address information for UK payments.
      properties:
        line_1:
          description: First line of address, typically street address and building
            number.
          example: 222 Broadway
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        line_2:
          description: Second line of address, typically city or town name.
          example: New York
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - line_1
      type: object
    ChapsPaymentBankInformationUk:
      description: Creditor bank information for UK payments. Includes sort code and
        optional bank details.
      properties:
        address:
          $ref: '#/components/schemas/ChapsPaymentAddressUk'
        bank_code:
          description: Sort Code
          example: '202020'
          maxLength: 6
          minLength: 0
          type: string
        country:
          description: ISO 3166-1 alpha-2 country code
          example: GB
          type: string
        name:
          description: Name of the creditor's bank. Optional but helps with payment
            processing.
          example: Bank of America, N.A
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - address
      - bank_code
      - name
      type: object
    ChapsPaymentCreditAccountNumberUk:
      description: Creditor account information.
      properties:
        value:
          description: Account number.
          example: '36756901'
          type: string
      required:
      - value
      type: object
    ChapsPaymentCreditorUk:
      description: Details of the creditor.
      properties:
        account:
          $ref: '#/components/schemas/ChapsPaymentCreditAccountNumberUk'
        address:
          $ref: '#/components/schemas/ChapsPaymentAddressUk'
        bank:
          $ref: '#/components/schemas/ChapsPaymentBankInformationUk'
        country:
          description: ISO 3166-1 alpha-2 country code
          example: US
          type: string
        message:
          description: Message to beneficiary.
          example: Invoice 5071
          maxLength: 134
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        name:
          description: Name of the creditor.
          example: Beneficiary name
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        srd_roll_number:
          description: The secondary identifier used by building societies.
          maxLength: 18
          minLength: 4
          pattern: ^\w*$
          type: string
      required:
      - account
      - bank
      - name
      type: object
    ChapsPaymentDebitAccountNumberUk:
      description: Debtor account information.
      properties:
        currency:
          description: Currency of the debtor account. Only ISO 4217 three-letter
            code is accepted.
          example: GBP
          type: string
        value:
          description: Account number.
          example: '3046731485'
          type: string
      required:
      - currency
      - value
      type: object
    ChapsPaymentDebtorUk:
      description: Details of the debtor.
      properties:
        account:
          $ref: '#/components/schemas/ChapsPaymentDebitAccountNumberUk'
        own_reference:
          description: Reference for debtor's use.
          example: Own message
          maxLength: 20
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - account
      type: object
    ChapsPaymentUk:
      allOf:
      - $ref: '#/components/schemas/PaymentRequestTemplate'
      - properties:
          amount:
            description: Amount of the payment.
            example: 194.34
            type: number
          creditor:
            $ref: '#/components/schemas/ChapsPaymentCreditorUk'
          currency:
            description: Currency code of the payment. Only ISO 4217 three-letter
              code is accepted.
            enum:
            - GBP
            example: GBP
            type: string
          debtor:
            $ref: '#/components/schemas/ChapsPaymentDebtorUk'
          external_id:
            description: Unique identification as defined by the PISP (Payment Initiation
              Service Provider) to identify the payment.
            example: 034b6b69-a75b-4866-805b-4abde2656dfd
            maxLength: 36
            minLength: 1
            type: string
          requested_execution_date:
            description: Date of payment execution requested by user. Default is current
              date.
            example: '2025-11-15'
            type: string
          template_id:
            description: CHAPS_PAYMENT_UK is used for initiation of UK Chaps Payments.
            enum:
            - CHAPS_PAYMENT_UK
            type: string
        type: object
      description: CHAPS_PAYMENT_UK is used for initiation of UK Chaps Payments.
      required:
      - amount
      - creditor
      - currency
      - debtor
      - external_id
      - template_id
      type: object
    CreditAccountNumberResponse:
      description: Creditor account information.
      properties:
        currency:
          description: Currency of the creditor account. Only ISO 4217 three-letter
            code is accepted.
          example: GBP
          type: string
        value:
          description: Account number.
          example: '12345678'
          type: string
      required:
      - value
      type: object
    DebitAccountNumberResponse:
      description: Debtor account information.
      properties:
        currency:
          description: Currency of the debtor account. Only ISO 4217 three-letter
            code is accepted.
          example: GBP
          type: string
        value:
          description: Account number.
          example: '3046796220'
          type: string
      required:
      - value
      type: object
    DecoupledAuthorizationPaymentRequest:
      allOf:
      - $ref: '#/components/schemas/AuthorizationRequestTemplate'
      - properties:
          authentication_method:
            description: 'Authentication method to be initiated for authorizer.

              * MTA = Nordea ID - Online.'
            enum:
            - MTA
            example: MTA
            type: string
          authentication_type:
            description: 'Value that identifies the type of authentication requested.

              * DECOUPLED = Indicate immediate initiation of authentication session
              on Corporate Netbank user device. User will be able to confirm the instruction
              by selected authentication method.'
            enum:
            - DECOUPLED
            example: DECOUPLED
            type: string
        type: object
      description: Authorize requested action using decoupled flow by initiating authentication
        session for the provided authorizer_id.
      required:
      - authentication_method
      - authentication_type
      type: object
    ErrorPayload:
      description: Error response body
      properties:
        failures:
          description: More details on the occurred error
          items:
            $ref: '#/components/schemas/Failure'
          type: array
        request:
          $ref: '#/components/schemas/RequestEcho'
      type: object
    ErrorResponse:
      description: Error response
      properties:
        error:
          $ref: '#/components/schemas/ErrorPayload'
        group_header:
          $ref: '#/components/schemas/ResponseHeader'
      type: object
    Failure:
      description: Validation error
      properties:
        code:
          description: Failure code
          type: string
        description:
          description: Failure description
          type: string
        path:
          description: JSON path of the failing element if applicable
          type: string
        type:
          description: Type of the validation error, e.g. NotNull
          type: string
      type: object
    FasterPaymentAddressUk:
      description: Address information for UK payments.
      properties:
        line_1:
          description: First line of address, typically street address and building
            number.
          example: 222 Broadway
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        line_2:
          description: Second line of address, typically city or town name.
          example: New York
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - line_1
      type: object
    FasterPaymentBankInformationUk:
      description: Creditor bank information for UK payments. Includes sort code and
        optional bank details.
      properties:
        address:
          $ref: '#/components/schemas/FasterPaymentAddressUk'
        bank_code:
          description: Sort Code
          example: '202020'
          maxLength: 6
          minLength: 0
          type: string
        country:
          description: ISO 3166-1 alpha-2 country code
          example: GB
          type: string
        name:
          description: Name of the creditor's bank. Optional but helps with payment
            processing.
          example: Bank of America, N.A
          maxLength: 140
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - address
      - bank_code
      - name
      type: object
    FasterPaymentCreditAccountNumberUk:
      description: Creditor account information.
      properties:
        value:
          description: Account number.
          example: '36756901'
          type: string
      required:
      - value
      type: object
    FasterPaymentCreditorUk:
      description: Details of the creditor.
      properties:
        account:
          $ref: '#/components/schemas/FasterPaymentCreditAccountNumberUk'
        address:
          $ref: '#/components/schemas/FasterPaymentAddressUk'
        bank:
          $ref: '#/components/schemas/FasterPaymentBankInformationUk'
        country:
          description: ISO 3166-1 alpha-2 country code
          example: US
          type: string
        message:
          description: Message to beneficiary.
          example: Invoice 5071
          maxLength: 18
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        name:
          description: Name of the creditor.
          example: Beneficiary name
          maxLength: 35
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
        srd_roll_number:
          description: The secondary identifier used by building societies.
          maxLength: 16
          minLength: 4
          pattern: ^\w*$
          type: string
      required:
      - account
      - bank
      - message
      - name
      type: object
    FasterPaymentDebitAccountNumberUk:
      description: Debtor account information.
      properties:
        currency:
          description: Currency of the debtor account. Only ISO 4217 three-letter
            code is accepted.
          example: GBP
          type: string
        value:
          description: Account number.
          example: '3046731485'
          type: string
      required:
      - currency
      - value
      type: object
    FasterPaymentDebtorUk:
      description: Details of the debtor.
      properties:
        account:
          $ref: '#/components/schemas/FasterPaymentDebitAccountNumberUk'
        own_reference:
          description: Reference for debtor's use.
          example: Own message
          maxLength: 20
          minLength: 0
          pattern: ^$|^[a-zA-Z0-9 ,.'\+\(\)\?''\-/]{0,2}[a-zA-Z0-9][a-zA-Z0-9 ,.'\+\(\)\?''\-/]*$
          type: string
      required:
      - account
      type: object
    FasterPaymentUk:
      allOf:
      - $ref: '#/components/schemas/PaymentRequestTemplate'
      - properties:
          amount:
            description: Amount of the payment.
            example: 194.34
            type: number
          creditor:
            $ref: '#/components/schemas/FasterPaymentCreditorUk'
          currency:
            description: Currency code of the payment. Only ISO 4217 three-letter
              code is accepted.
            enum:
            - GBP
            example: GBP
            type: string
          debtor:
            $ref: '#/components/schemas/FasterPaymentDebtorUk'
          external_id:
            description: Unique identification as defined by the PISP (Payment Initiation
              Service Provider) to identify the payment.
            example: 034b6b69-a75b-4866-805b-4abde2656dfd
            maxLength: 36
            minLength: 1
            type: string
          requested_execution_date:
            description: Date of payment execution requested by user. Default is current
              date.
            example: '2025-11-15'
            type: string
          template_id:
            description: FASTER_PAYMENT_UK is used for initiation of UK Faster Payments.
            enum:
            - FASTER_PAYMENT_UK
            type: string
        type: object
      description: FASTER_PAYMENT_UK is used for initiation of UK Faster Payments.
      required:
      - amount
      - creditor
      - currency
      - debtor
      - external_id
      - template_id
      type: object
    Link:
      description: Context specific link (only GET supported)
      properties:
        href:
          description: Relative path to the linked resource
          type: string
        rel:
          description: Describes the nature of the link, e.g. 'details' for a link
            to the detailed information of a listed resource.
          type: string
      type: object
    Payment:
      description: UK payment information.
      properties:
        _id:
          description: Unique payment identifier assigned for new payment.
          example: 7f156cea-0ebb-4c7e-ab55-96ea9fc3b024
          type: string
        _links:
          description: 'HATEOAS inspired links: ''rel'' and ''href'''
          items:
            $ref: '#/components/schemas/Link'
          type: array
        amount:
          description: Amount of the payment.
          example: 123.45
          type: number
        create_timestamp:
          description: Payment creation timestamp. ISO 8601 format yyyy-mm-ddThh:mm:ss.fffZ.
          example: '2019-05-09T06:00:00.385Z'
          format: date-time
          type: string
        creditor:
          $ref: '#/components/schemas/PaymentCreditorResponse'
        currency:
          description: Currency code of the payment. Only ISO 4217 three-letter code
            is accepted.
          example: SEK
          type: string
        debtor:
          $ref: '#/components/schemas/PaymentDebtorResponse'
        execution_date:
          description: Date of payment execution.
          example: '2019-07-31'
          format: date
          type: string
        external_id:
          description: Unique identification as defined by the PISP (Payment Initiation
            Service Provider) to identify the payment.
          example: d630b00a-227c-474e-8d20-1fc2b7141fdc
          type: string
        payment_status:
          description: 'Status of the payment.

            * AUTHORIZATION_PENDING = Payment instruction is undergoing authorization
            by account holder

            * AUTHORIZATION_PARTIAL= Payment needs additional authorization

            * AUTHORIZATION_FAILED = The given authorization was not correct

            * PAYMENT_INITIATED = Payment is initiated

            * PAYMENT_ACCEPTED = Payment is waiting to be executed

            * PAYMENT_EXECUTED = Payment is executed

            * PAYMENT_REJECTED = Payment is rejected

            * PAYMENT_CANCELLED = Payment is cancelled

            * NOT_FOUND = Payment not found'
          enum:
          - AUTHORIZATION_PENDING
          - AUTHORIZATION_PARTIAL
          - AUTHORIZATION_FAILED
          - PAYMENT_ACCEPTED
          - PAYMENT_EXECUTED
          - PAYMENT_REJECTED
          - PAYMENT_INITIATED
          - PAYMENT_CANCELLED
          - NOT_FOUND
          example: AUTHORIZATION_PENDING
          readOnly: true
          type: string
        payment_status_reason:
          description: Reason behind payment status where applicable.
          type: string
        payment_status_reason_description:
          description: Additional payment status reason information.
          type: string
        requested_execution_date:
          description: Date of payment execution requested by user. Default is current
            date.
          example: '2019-07-31'
          format: date
          type: string
        status_timestamp:
          description: Timestamp when the payment status was last updated. ISO 8601
            format yyyy-mm-ddThh:mm:ss.fffZ.
          example: '2019-05-09T06:16:25.484Z'
          format: date-time
          type: string
        template_id:
          description: Template id.
          enum:
          - CHAPS_PAYMENT_UK
          - FASTER_PAYMENT_UK
          example: FASTER_PAYMENT_UK
          type: string
      required:
      - _id
      - amount
      - creditor
      - currency
      - debtor
      - payment_status
      - template_id
      type: object
    PaymentAgreementListResponse:
      description: Agreements available response.
      properties:
        group_header:
          $ref: '#/components/schemas/ResponseHeader'
        response:
          description: Payload
          items:
            $ref: '#/components/schemas/AgreementDetails'
          type: array
      type: object
    PaymentAuthorization:
      description: Details of the users authorization rights.
      properties:
        authorization_permission:
          description: Permission level for the payment authorization.
          enum:
          - ACT_ALONE
          - TWO_TOGETHER
          - KEY_IN
          - VIEW
          - NONE
          type: string
        authorizer_id:
          description: Identifier of the user.
          type: string
      type: object
    PaymentCreditorResponse:
      description: Details of the creditor.
      properties:
        account:
          $ref: '#/components/schemas/CreditAccountNumberResponse'
        address:
          $ref: '#/components/schemas/AddressResponse'
        bank:
          $ref: '#/components/schemas/BankInformationResponse'
        country:
          description: Creditor's country. Only ISO 3166 alpha-2 codes are used.
          example: GB
          type: string
        message:
          description: Message to beneficiary.
          example: Invoice 5071
          type: string
        name:
          description: Name of the creditor.
          example: Beneficiary name
          type: string
        srd_roll_number:
          description: The secondary identifier used by building societies.
          type: string
      type: object
    PaymentDebtorResponse:
      description: Details of the debtor.
      properties:
        account:
          $ref: '#/components/schemas/DebitAccountNumberResponse'
        own_reference:
          description: Reference for debtor's use.
          example: Own message
          type: string
      type: object
    PaymentInitiationRequest:
      description: Request used to initiate payment.
      properties:
        payment_instruction:
          description: Choose the preferred payment template for payment instruction.
          oneOf:
          - $ref: '#/components/schemas/ChapsPaymentUk'
          - $ref: '#/components/schemas/FasterPaymentUk'
      required:
      - payment_instruction
      type: object
    PaymentList:
      description: List of payments.
      properties:
        _links:
          description: 'HATEOAS inspired links: ''rel'' and ''href'''
          items:
            $ref: '#/components/schemas/Link'
          type: array
        additional_data:
          $ref: '#/components/schemas/AdditionalDataResponse'
        payments:
          description: List of payments.
          items:
            $ref: '#/components/schemas/Payment'
          type: array
      type: object
    PaymentListResponse:
      description: Payments list response.
      properties:
        group_header:
          $ref: '#/components/schemas/ResponseHeader'
        response:
          $ref: '#/components/schemas/PaymentList'
      type: object
    PaymentRequestTemplate:
      description: Request used to initiate payment.
      discriminator:
        propertyName: template_id
      properties:
        template_id:
          enum:
          - CHAPS_PAYMENT_UK
          - FASTER_PAYMENT_UK
          type: string
      type: object
    PaymentResponse:
      description: UK payment information response.
      properties:
        group_header:
          $ref: '#/components/schemas/ResponseHeader'
        response:
          $ref: '#/components/schemas/Payment'
      type: object
    PaymentTemplateListResponse:
      description: Example of the template used to initiate new payment response.
      properties:
        group_header:
          $ref: '#/components/schemas/ResponseHeader'
        response:
          description: Payload
          items:
            $ref: '#/components/schemas/PaymentTemplateResponse'
          type: array
      type: object
    PaymentTemplateResponse:
      description: Example of the template used to initiate new payment.
      properties:
        description:
          description: Description of the template.
          type: string
        template_id:
          description: Value that identifies request used to initiate new payment.
          type: string
      type: object
    RedirectAuthorizationPaymentRequest:
      allOf:
      - $ref: '#/components/schemas/AuthorizationRequestTemplate'
      - properties:
          authentication_method:
            description: 'Default authentication method to be used after redirection.

              * MTA = Nordea ID - Online.'
            enum:
            - MTA
            example: MTA
            type: string
          authentication_type:
            description: 'Value that identifies the type of authentication requested.

              * REDIRECT = Indicate initiation of redirect OAuth flow where Corporate
              Netbank user requesting the authorization will be able to confirm the
              instruction using one of supported authentication methods via Nordea
              page.'
            enum:
            - REDIRECT
            example: REDIRECT
            type: string
          language:
            description: Language of message that will be displayed to client - ISO639-1.
            enum:
            - fi
            - da
            - sv
            - en
            - nb
            example: en
            type: string
          redirect_uri:
            description: Redirect URI you used when this application was registered
              with Nordea.
            example: https://example.com
            maxLength: 255
            minLength: 0
            pattern: ^((https?://)(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:|:blank:]])?$
            type: string
          state:
            description: The OAuth2 state parameter.
            example: 38ee6abc-fd48-4b11-bd6a-97501fce702e
            maxLength: 255
            minLength: 0
            type: string
        type: object
      description: Authorize requested action using OAuth flow.
      required:
      - authentication_method
      - authentication_type
      - redirect_uri
      - state
      type: object
    RequestEcho:
      description: Original request information
      properties:
        url:
          description: Original request url
          type: string
      type: object
    ResponseHeader:
      description: External response header
      properties:
        creation_date_time:
          description: Response creation time
          format: date-time
          type: string
        http_code:
          description: HTTP code for response
          example: 200
          format: int32
          type: integer
        message_identification:
          description: Original request id for correlation purposes
          type: string
      type: object
  securitySchemes:
    ClientId:
      in: header
      name: X-IBM-Client-Id
      type: apiKey
    ClientSecret:
      in: header
      name: X-IBM-Client-Secret
      type: apiKey
    DecoupledAuth:
      flows:
        authorizationCode:
          authorizationUrl: /v3/authorize
          scopes:
            PAYMENTS_UK: Scope used to make and access UK payments
          tokenUrl: /v3/authorize/token
      type: oauth2
host: api.nordeaopenbanking.com
info:
  contact:
    email: support@nordeaopenbanking.com
    name: Open Banking team
    url: https://nordeaopenbanking.com
  description: UK Corporate Payments API
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: UK Corporate Payments API
  version: '1.0'
  x-ibm-name: corporate-pis-uk-v1
  x-version: '1.0'
openapi: 3.0.1
paths:
  /uk/v1/payments:
    get:
      description: Payments list
      operationId: getPaymentList
      parameters:
      - description: List payments by create timestamp starting from and including
          this date.
        in: query
        name: creation_from_timestamp
        required: false
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: List payments by create timestamp until and including this date.
        in: query
        name: creation_to_timestamp
        required: false
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: List payments by execution date starting from and including this
          date.
        in: query
        name: execution_from_date
        required: false
        schema:
          format: date
          type: string
        x-availabilityStatus: Stable
      - description: List payments by execution date until and including this date.
        in: query
        name: execution_to_date
        required: false
        schema:
          format: date
          type: string
        x-availabilityStatus: Stable
      - description: List payments by requested execution date starting from and including
          this date.
        in: query
        name: requested_execution_from_date
        required: false
        schema:
          format: date
          type: string
        x-availabilityStatus: Stable
      - description: List payments by requested execution date until and including
          this date.
        in: query
        name: requested_execution_to_date
        required: false
        schema:
          format: date
          type: string
        x-availabilityStatus: Stable
      - description: List payments by authorizer used in payment initiation process.
        in: query
        name: created_by
        required: false
        schema:
          maxLength: 22
          minLength: 0
          pattern: ^[0-9]*$
          type: string
        x-availabilityStatus: Stable
      - description: List payments which PSU created.
        in: query
        name: created_by_me
        required: false
        schema:
          type: boolean
        x-availabilityStatus: Stable
      - description: List payments which PSU can confirm.
        in: query
        name: confirmable_by_me
        required: false
        schema:
          type: boolean
        x-availabilityStatus: Stable
      - description: List payments by expected payment statuses divided by comma.
        in: query
        name: payment_status
        required: false
        schema:
          items:
            type: string
          type: array
        x-availabilityStatus: Stable
      - description: List payments by debited account number.
        in: query
        name: debtor_account
        required: false
        schema:
          maxLength: 32
          minLength: 0
          pattern: ^\w*$
          type: string
        x-availabilityStatus: Stable
      - description: List payments by minimum amount.
        in: query
        name: min_amount
        required: false
        schema:
          type: number
        x-availabilityStatus: Stable
      - description: List payments by maximum amount.
        in: query
        name: max_amount
        required: false
        schema:
          type: number
        x-availabilityStatus: Stable
      - description: Page number.
        in: query
        name: page
        required: false
        schema:
          default: 1
          format: int32
          type: integer
        x-availabilityStatus: Stable
      - description: Page size.
        in: query
        name: size
        required: false
        schema:
          default: 20
          format: int32
          type: integer
        x-availabilityStatus: Stable
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentListResponse'
          description: List of payments
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
    post:
      description: Initiate payment
      operationId: initiatePayment
      parameters:
      - description: 'Use to invoke prepared scenario. List of available scenarios:  *
          paymentVerificationRequired - When used, changes the payment status to ''AUTHORIZATION_PARTIAL''
          with payment_status_reason ''info.payment.verification_required''.'
        example: paymentVerificationRequired
        in: query
        name: X-Response-Scenarios
        schema:
          enum:
          - paymentVerificationRequired
          type: string
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: 'The Digest Header header as defined in [RFC3230] contains a
          Hash of the message body. The only hash algorithms that may be used to calculate
          the Digest within the context of this specification are SHA-256 and SHA-512
          as defined in [RFC5843]. For POST with ''application/x-www-form-urlencoded''
          content type Digest should be calculated for normalized string created from
          request parameters like this: ''param1&#61;value1&#38;param2&#61;value2''.
          It is important that parameters should be placed in alphabetic order'
        in: header
        name: Digest
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentInitiationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: New payment details
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
      x-isPolymorphic: 'true'
  /uk/v1/payments/templates:
    get:
      description: List available templates
      operationId: paymentTemplateList
      parameters:
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentTemplateListResponse'
          description: Templates list
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - {}
      tags:
      - corporate-pis-uk-v1
      x-availabilityInfo: This version can change upon Your feedback
      x-availabilityStatus: Sandbox Only - Beta
  /uk/v1/payments/users:
    get:
      description: List payment authorization permissions held by each user.
      operationId: getPaymentsAuthorizations
      parameters:
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentAgreementListResponse'
          description: List of payment authorization permissions held by each user.
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - {}
      tags:
      - corporate-pis-uk-v1
      x-availabilityInfo: This version can change upon Your feedback
      x-availabilityStatus: Sandbox Only - Beta
  /uk/v1/payments/{payment_id}:
    get:
      description: Get payment details
      operationId: getPaymentDetails
      parameters:
      - description: Payment id of the requested payment for details.
        in: path
        name: payment_id
        required: true
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: Details of the payment
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
  /uk/v1/payments/{payment_id}/cancel:
    put:
      description: Cancel a payment
      operationId: cancelPayment
      parameters:
      - description: Payment id of the requested payment for details.
        in: path
        name: payment_id
        required: true
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: 'The Digest Header header as defined in [RFC3230] contains a
          Hash of the message body. The only hash algorithms that may be used to calculate
          the Digest within the context of this specification are SHA-256 and SHA-512
          as defined in [RFC5843]. For POST with ''application/x-www-form-urlencoded''
          content type Digest should be calculated for normalized string created from
          request parameters like this: ''param1&#61;value1&#38;param2&#61;value2''.
          It is important that parameters should be placed in alphabetic order'
        in: header
        name: Digest
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/DecoupledAuthorizationPaymentRequest'
              - $ref: '#/components/schemas/RedirectAuthorizationPaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: Details of the payment
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
      x-isPolymorphic: 'true'
  /uk/v1/payments/{payment_id}/confirm:
    put:
      description: Confirm payment execution
      operationId: confirmPayment
      parameters:
      - description: Payment id of the requested payment for confirmation.
        in: path
        name: payment_id
        required: true
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: 'The Digest Header header as defined in [RFC3230] contains a
          Hash of the message body. The only hash algorithms that may be used to calculate
          the Digest within the context of this specification are SHA-256 and SHA-512
          as defined in [RFC5843]. For POST with ''application/x-www-form-urlencoded''
          content type Digest should be calculated for normalized string created from
          request parameters like this: ''param1&#61;value1&#38;param2&#61;value2''.
          It is important that parameters should be placed in alphabetic order'
        in: header
        name: Digest
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/DecoupledAuthorizationPaymentRequest'
              - $ref: '#/components/schemas/RedirectAuthorizationPaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: Details of the payment
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
      x-isPolymorphic: 'true'
  /uk/v1/payments/{payment_id}/verify:
    put:
      description: Verify payment execution
      operationId: verifyPayment
      parameters:
      - description: Verify payment execution
        in: path
        name: payment_id
        required: true
        schema:
          type: string
        x-availabilityStatus: Stable
      - description: Bearer &lt;Access Token&gt; Token provided to TPP in authorization
          flow
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Id of the Client
        in: header
        name: X-IBM-Client-Id
        required: true
        schema:
          type: string
      - description: Secret password generated for the Client
        in: header
        name: X-IBM-Client-Secret
        required: true
        schema:
          type: string
      - description: "A signature of request by the TPP on application level. The\
          \ process of signing a request is described in 'Signing HTTP Messages' RFC\
          \ draft version 10 (<a href=\"https://tools.ietf.org/html/draft-cavage-http-signatures-10\"\
          \ target=\"_blank\">https://tools.ietf.org/html/draft-cavage-http-signatures-10</a>).\
          \ The request signature needs to be sent in the 'Signature' HTTP header\
          \ as described in the RFC. Additional requirements from Nordea \n - The\
          \ only allowed algorithm is RSA-SHA256 \n- The key size for the used RSA\
          \ key pair has to be at least 2048 bit \n- The keyId is the clientId of\
          \ your application originating from the Nordea Developer Portal \n- We require\
          \ the following headers to be used in the signature \n* Request without\
          \ body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ \n* Request with body: (request-target) X-Nordea-Originating-Host X-Nordea-Originating-Date\
          \ Content-type Digest \n* The request-target is a combination of the HTTP\
          \ action verb and the request URI path"
        in: header
        name: Signature
        required: true
        schema:
          type: string
      - description: HTTP header element for specification of the domain name of the
          server. It is similar to standard HTTP 'Host' header but it won't be overridden
          by proxies. It also allows to set it under JavaScript in browser while standard
          'Host' is forbidden
        in: header
        name: X-Nordea-Originating-Host
        required: true
        schema:
          type: string
      - description: 'HTTP header element for date and time represented as RFC 7231
          Full Dates (GMT). Example date: **Wed, 24 Apr 2019 14:00:37 GMT**. It is
          similar to standard HTTP ''Date'' expect that it allows to set it under
          JavaScript in browser while standard ''Date'' is forbidden'
        in: header
        name: X-Nordea-Originating-Date
        required: true
        schema:
          type: string
      - description: 'The Digest Header header as defined in [RFC3230] contains a
          Hash of the message body. The only hash algorithms that may be used to calculate
          the Digest within the context of this specification are SHA-256 and SHA-512
          as defined in [RFC5843]. For POST with ''application/x-www-form-urlencoded''
          content type Digest should be calculated for normalized string created from
          request parameters like this: ''param1&#61;value1&#38;param2&#61;value2''.
          It is important that parameters should be placed in alphabetic order'
        in: header
        name: Digest
        required: true
        schema:
          type: string
      - description: End user (i.e. PSU) IP address, to be provided if TPP is in session
          with the PSU
        in: header
        name: X-Nordea-Originating-User-Ip
        required: false
        schema:
          type: string
      - description: End user (i.e. PSU) agent information, to be provided if TPP
          is in session with the PSU
        in: header
        name: X-Nordea-Originating-User-Agent
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/DecoupledAuthorizationPaymentRequest'
              - $ref: '#/components/schemas/RedirectAuthorizationPaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: Details of the payment
        '400':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Unauthorized with failure code:

            * error.apikey.missing = Missing API key. This operation requires API
            key, but it was missing.

            * error.token = Unspecified error with supplied token.

            * error.token.invalid = Missing access token or token did not authorized
            requested operation. This operation requires valid access token, but it
            was missing.

            * error.token.expired = Access token has expired.'
        '403':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: 'Forbidden with failure code:

            * error.resource.denied = Requested resource is not authorized by access
            token.'
        '404':
          content:
            application/json:
              schema:
                description: Error response
                properties:
                  error:
                    $ref: '#/components/schemas/ErrorPayload'
                  group_header:
                    $ref: '#/components/schemas/ResponseHeader'
                type: object
          description: Resource not found
      security:
      - DecoupledAuth:
        - PAYMENTS_UK
      tags:
      - corporate-pis-uk-v1
      x-availabilityStatus: Stable
security:
- ClientId: []
  ClientSecret: []
servers:
- url: https://sandbox-corporate-obh.esp.rs.dev01.qaoneadr.local
tags:
- description: Payment initiation and confirmation.
  name: corporate-pis-uk-v1
