openapi: 3.0.1
info:
  title: SEPA transfers
  version: '1.0'
servers:
  - url: https://api.solaris-sandbox.de
    description: Sandbox
  - url: https://api.solarisbank.de
    description: Production
paths:
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_direct_debit:
    post:
      tags:
        - SEPA Direct Debits
      summary: Create a SEPA Direct Debit for a freelancer
      description: >-
        Initiates a SEPA Direct Debit from the debtor specified in the request
        body to the freelancer's account specified in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                reference:
                  type: string
                  description: >-
                    UUID reference for the transaction. Acts as an idempotency
                    key.
                amount:
                  description: The amount to debit from the debtor.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                description:
                  type: string
                  description: >-
                    A description for the transaction, which will be visible to
                    the customer and the debtor.
                collection_date:
                  type: string
                  description: The date on which to execute the SEPA Direct Debit.
                mandate:
                  type: object
                  description: >-
                    Object containing information about the direct debit
                    mandate.
                  properties:
                    reference:
                      type: string
                      description: >-
                        Reference of the mandate. Must be unique to the
                        `creditor_identifier`.
                    creditor_identifier:
                      type: string
                      description: >-
                        Unique reference that identifies a party collecting
                        payments under the SEPA Direct Debit scheme. For more
                        information, see the [Deutsche Bundesbank's page about
                        Creditor
                        Identifiers](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704).
                    scheme:
                      type: string
                      description: >-
                        The payment scheme of the mandate. Use `CORE` unless
                        otherwise directed.
                      enum:
                        - B2B
                        - CORE
                    sequence_type:
                      type: string
                      description: >-
                        Specifies whether the SDD should occur once or more than
                        once.
                      enum:
                        - ONE_OFF
                        - RECURRING
                    signature_date:
                      type: string
                      description: The date when the debtor signed the mandate release.
                    debtor_name:
                      type: string
                      description: The debtor's name.
                    debtor_iban:
                      type: string
                      description: The debtor's IBAN.
                    debtor_bic:
                      type: string
                      description: The debtor's BIC.
                end_to_end_id:
                  type: string
                  description: >-
                    SEPA identifier provided by the customer initiating the
                    transaction. This value is routed through the entire payment
                    process.
              example:
                reference: f69f6431-bfb7-4c7e-81ba-8a4f023362c2
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                description: Example transaction
                collection_date: '2016-02-11T00:00:00.000Z'
                mandate:
                  reference: '1'
                  creditor_identifier: DE98ZZZ09999999999
                  scheme: B2B
                  sequence_type: ONE_OFF
                  signature_date: '2016-02-02T00:00:00.000Z'
                  debtor_name: Hans Mustermann
                  debtor_iban: DE32110101001000000029
                  debtor_bic: COBADEFFXXX
                end_to_end_id: ABC123
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaDebitTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - >-
              solaris_service_person_account_sepa_debit_transaction#create_with_person
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_direct_debit/{id}:
    get:
      tags:
        - SEPA Direct Debits
      summary: Retrieve a SEPA Direct Debit for a freelancer
      description: >-
        Returns information about the SEPA Direct Debit specified in the request
        URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaDebitTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_debit_transaction#find
  /v1/accounts/{account_id}/transactions/sepa_direct_debit:
    post:
      tags:
        - SEPA Direct Debits
      summary: Create a SEPA Direct Debit to a billing account
      description: >-
        Initiates a SEPA Direct Debit transaction from an external account
        (i.e., your customer account) to your billing account. You must add the
        `account_id` of your billing account in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                reference:
                  type: string
                  description: >-
                    Optional reference for the transaction. Acts as an
                    idempotency key.
                amount:
                  description: The amount to debit from the external account.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                description:
                  type: string
                  description: >-
                    Optional description for the transaction, which will be
                    visible to the debtor. Limited to 140 characters.
                collection_date:
                  type: string
                  description: >-
                    The date on which to collect the direct debit. The default
                    value is the day after the current day. The latest possible
                    date is 14 calendar days in the future.
                mandate:
                  type: object
                  description: >-
                    Object containing information about the direct debit
                    mandate.
                  properties:
                    reference:
                      type: string
                      description: >-
                        Reference of the mandate. Must be unique for the
                        creditor identifier.
                    creditor_identifier:
                      type: string
                      description: >-
                        Unique reference that identifies a party collecting
                        payments under the SEPA Direct Debit scheme within and
                        across 32 countries. See the [Deutsche Bundesbank's
                        definition of creditor
                        identifier](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704)
                        for more information.
                    scheme:
                      type: string
                      description: >-
                        The scheme to use for the mandate. Use `CORE` unless
                        instructed otherwise.
                      enum:
                        - B2B
                        - CORE
                    sequence_type:
                      type: string
                      description: >-
                        The sequence type of this mandate (i.e., whether the
                        transaction is one-off or recurring).
                      enum:
                        - RECURRING
                        - ONE_OFF
                    signature_date:
                      type: string
                      description: The date when the debtor signed the mandate.
                    debtor_name:
                      type: string
                      description: The debtor's name.
                    debtor_iban:
                      type: string
                      description: The debtor's IBAN.
                    debtor_bic:
                      type: string
                      description: The debtor's BIC.
                end_to_end_id:
                  type: string
                  description: >-
                    SEPA identifier provided by the transaction initiator, which
                    will be routed throughout the whole payment process.
              example:
                reference: ''
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                description: Example transaction
                collection_date: '2016-02-11T00:00:00.000Z'
                mandate:
                  reference: '1'
                  creditor_identifier: DE98ZZZ09999999999
                  scheme: B2B
                  sequence_type: ONE_OFF
                  signature_date: '2016-02-02T00:00:00.000Z'
                  debtor_name: Hans Mustermann
                  debtor_iban: DE32110101001000000029
                  debtor_bic: COBADEFFXXX
                end_to_end_id: ABC123
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaDebitTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_sepa_debit_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/transactions/sepa_direct_debit/{id}:
    get:
      tags:
        - SEPA Direct Debits
      summary: Get a SEPA Direct Debit transaction to a billing account
      description: >-
        Returns the details of a single SEPA Direct Debit transaction. You must
        add the `account_id` of your billing account and the
        `sepa_direct_debit_id` in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaDebitTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_sepa_debit_transaction#find
  /v1/persons/{person_id}/accounts/{account_id}/sepa_direct_debit_returns:
    post:
      tags:
        - SEPA Direct Debit Returns
      summary: Create a SEPA Direct Debit refund
      description: >-
        Refunds a SEPA Direct Debit transaction for a freelancer. <br> Note that
        the refund request will be rejected if any of the following criteria are
        met:<br> <ul> <li>The account is inactive.</li> <li>The account is
        blocked (for any reason).</li> <li>The SDD was already returned.</li>
        <li>The amount is positive.</li> <li>The valuta date is older than 56
        days (i.e., 8 weeks). You can refund older SDDs by contacting Solaris
        customer support (up to 13 months from the valuta date).</li> </ul> <br>
        **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - booking_id
              type: object
              properties:
                booking_id:
                  type: string
                  description: >-
                    The ID of the SEPA Direct Debit booking resource to be
                    refunded.
                reason:
                  type: string
                  description: A description of why the SDD should be refunded.
              example:
                booking_id: 16d088c2-14ff-5da1-a373-b7b4623befca
                reason: Example reason
        required: false
      responses:
        '200':
          description: >-
            The operation has been previously performed. Result of the previous
            operation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID of the already created SDD refund
                example:
                  id: be6b2a68-2c93-4d39-b56e-0897b8137473
        '201':
          description: >-
            The change request was successfully confirmed, and the SDD return
            request is created.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaDirectDebitReturn
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_direct_debit_return#create
            - solaris_service_person_account_sepa_direct_debit_return#confirm
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer:
    post:
      tags:
        - SEPA Credit Transfers
      summary: Create SEPA Credit Transfer
      description: >-
        Creates a SEPA Credit Transfer from the account specified in the request
        URL to the recipient specified in the request body.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - amount
                - recipient_iban
                - recipient_name
                - reference
              type: object
              properties:
                reference:
                  type: string
                  description: >-
                    UUID reference for the transaction. Acts as an idempotency
                    key.
                recipient_name:
                  type: string
                  description: The recipient's name.
                recipient_iban:
                  type: string
                  description: The recipient's IBAN.
                recipient_bic:
                  type: string
                  description: The recipient's BIC.
                amount:
                  description: The amount to transfer.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                description:
                  type: string
                  description: >-
                    A description for the transaction, which will be visible to
                    the customer and the recipient.
                end_to_end_id:
                  type: string
                  description: End-to-end ID to use for the transaction.
                change_request_enabled:
                  type: boolean
                  description: >-
                    If set to true, then the customer initiating the transaction
                    will receive a change request 2FA challenge. If false, then
                    the legacy 2FA challenge will be used.
                  default: true
                verification_of_payee_id:
                  type: string
                  description: >-
                    The ID of a Verification of Payee that must be completed
                    before making this transaction request. This verification
                    confirms the recipient's identity and bank details. Will be
                    mandatory starting on 09.10.2025
              example:
                reference: 12f7ec0b-6762-4578-b49f-c0b1647d0e2d
                recipient_name: Hans Mustermann
                recipient_iban: DE32110101001000000029
                recipient_bic: COBADEFFXXX
                amount:
                  value: 1000
                  currency: EUR
                description: Example transaction
                end_to_end_id: ''
                change_request_enabled: true
        required: false
      responses:
        '200':
          description: This transaction already exists.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '201':
          description: Successful result of the operation for the legacy 2FA method.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '202':
          description: >-
            The request was accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - >-
              solaris_service_person_account_sepa_credit_transaction#create_with_person
            - solaris_service_person_account_sepa_credit_transaction#confirm
      x-codegen-request-body-name: body
    get:
      tags:
        - SEPA Credit Transfers
      summary: Index SEPA Credit Transfers for a person's account
      description: >-
        Returns an array containing all SEPA Credit Transfers for the person
        account specified in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter on the status of the SepaCreditTransaction
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_credit_transaction#all
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer/{id}:
    get:
      tags:
        - SEPA Credit Transfers
      summary: Retrieve a SEPA Credit Transfer
      description: >-
        Returns information about the SEPA Credit Transfer specified in the
        request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_credit_transaction#find
  /v1/accounts/{account_id}/transactions/sepa_credit_transfer:
    post:
      tags:
        - SEPA Credit Transfers
      summary: Create a SEPA Credit Transfer from a billing account
      description: >-
        Creates a SEPA Credit Transfer from the billing account specified in the
        request URL to the account specified in the request body.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - recipient_iban
              type: object
              properties:
                reference:
                  type: string
                  description: >-
                    Optional reference for the transaction. Will act as an
                    idempotency key.
                recipient_name:
                  type: string
                  description: The recipient's name.
                recipient_iban:
                  type: string
                  description: The recipient's IBAN.
                recipient_bic:
                  type: string
                  description: The recipient's BIC.
                amount:
                  description: The amount to transfer to the recipient.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                description:
                  type: string
                  description: >-
                    Optional description for the transaction, which will be
                    visible to the recipient. Limited to 140 characters.
                end_to_end_id:
                  type: string
                  description: >-
                    SEPA identifier provided by the transaction initiator, which
                    will be routed throughout the whole payment process.
              example:
                reference: ''
                recipient_name: Hans Mustermann
                recipient_iban: DE32110101001000000029
                recipient_bic: COBADEFFXXX
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                description: Example transaction
                end_to_end_id: ''
        required: true
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_sepa_credit_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/transactions/sepa_credit_transfer/{id}:
    get:
      tags:
        - SEPA Credit Transfers
      summary: Show a SEPA Credit Transfer from a billing account
      description: >-
        Returns the details of a single SEPA Credit Transfer transaction. You
        must add the `account_id` of your billing account and the transaction
        `id` in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_sepa_credit_transaction#find
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer/{id}/authorize:
    post:
      tags:
        - SEPA Credit Transfers
      summary: (Legacy) Authorize SEPA Credit Transfer
      description: >-
        Initiates a 2FA challenge to the customer for a SEPA Credit Transfer.
        This endpoint is deprecated; please use the change request service
        instead.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                delivery_method:
                  type: string
                  description: >-
                    The method to use for delivering the 2FA challenge to the
                    customer.
                  enum:
                    - device_signing
                    - mobile_number
              example:
                delivery_method: device_signing
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_credit_transaction#authorize
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer/{id}/confirm:
    post:
      tags:
        - SEPA Credit Transfers
      summary: (Legacy) Confirm SEPA Credit Transfer
      description: >-
        Submits the authorization code from a 2FA challenge to confirm a SEPA
        Credit Transfer. This endpoint is deprecated; please use the change
        request service instead.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                authorization_token:
                  type: string
                  description: The authorization token from the 2FA challenge.
              example:
                authorization_token: ''
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_credit_transaction#confirm
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer/batches:
    post:
      tags:
        - (Legacy) Batch Transfer
      summary: Create SEPA Credit Transfer batch
      description: >-
        Creates a SEPA Credit Transfer batch. This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                transactions:
                  type: array
                  description: An array of SEPA Credit Transfers to execute.
                  items:
                    $ref: >-
                      #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
              example:
                transactions:
                  - reference: '123456'
                    recipient_name: Hans Mustermann
                    recipient_iban: DE32110101001000000029
                    recipient_bic: COBADEFFXXX
                    amount:
                      value: 1000
                      currency: EUR
                      unit: cents
                    description: Example transaction
                    end_to_end_id: '654321'
                  - reference: '456789'
                    recipient_name: Maria Mustermann
                    recipient_iban: DE32110101001000000029
                    recipient_bic: COBADEFFXXX
                    amount:
                      value: 1000
                      currency: EUR
                      unit: cents
                    description: Example transaction 2
                    end_to_end_id: '987654'
        required: false
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the batch order
            is created.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransactionBatch
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - >-
              solaris_service_person_account_sepa_credit_transaction_batch#create
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer/batches/{id}:
    get:
      tags:
        - (Legacy) Batch Transfer
      summary: Retrieve SEPA Credit Transfer batch
      description: Returns information about a SEPA Credit Transfer batch.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-SepaCreditTransactionBatch
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_sepa_credit_transaction_batch#find
  /v1/sepa_instant_reachability/{iban}:
    get:
      tags:
        - SEPA Instant Credit Transfers
      summary: Check the reachability of a bank via SEPA Instant Credit Transfer
      description: >-
        Checks if you can send a SEPA Instant Credit Transfer to the IBAN
        provided or not. Use this endpoint to check the reachability of the
        recipient's bank before creating a transfer. If the IBAN's reachability
        is `true`, you can use the [POST Create a SEPA Instant Credit
        Transfer](https://docs.solarisgroup.com/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Instant-Credit-Transfers/paths/~1v1~1accounts~1{account_id}~1transactions~1sepa_instant_credit_transfers/post)
        endpoint to initiate the transfer. If the IBAN's reachability is
        `false`, the transaction will fail. You can use the standard [SEPA
        Credit
        Transfer](https://docs.solarisgroup.com/api-reference/digital-banking/sepa-transfers/#tag/SEPA-Credit-Transfers)
        instead.
      parameters:
        - $ref: '#/components/parameters/pathIBAN'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Reachability'
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_instant_outgoing_reachability#read
  /v1/accounts/{account_id}/transactions/sepa_instant_credit_transfers:
    post:
      tags:
        - SEPA Instant Credit Transfers
      summary: Create a SEPA Instant Credit Transfer
      description: >-
        Creates a SEPA Instant Credit Transfer on the account specified in the
        request URL and triggers the 2FA flow via change request. You must add
        the transaction details in the request body.
      parameters:
        - $ref: '#/components/parameters/pathAccountID'
      requestBody:
        description: Information required to create the SCT.
        content:
          application/json:
            schema:
              required:
                - amount
                - creditor_iban
                - creditor_name
              type: object
              properties:
                amount:
                  type: object
                  description: The transaction amount.
                  required:
                    - value
                    - currency
                  properties:
                    value:
                      type: integer
                      description: The amount value in cents.
                    currency:
                      type: string
                      description: >-
                        The currency of the given value. Only EUR is currently
                        supported.
                creditor_iban:
                  type: string
                  description: >-
                    The IBAN of the creditor account (i.e., the account holder
                    receiving the money). The IBAN must be reachable via SCT
                    Instant!
                creditor_name:
                  type: string
                  description: The name of the creditor (i.e., account holder).
                  maxLength: 70
                description:
                  type: string
                  description: A description for the transaction given by the customer.
                  maxLength: 140
                end_to_end_id:
                  type: string
                  description: Your unique end-to-end ID for the transaction.
                  maxLength: 35
                initiator_reference:
                  type: string
                  description: Your unique reference for the transaction.
                idempotency_key:
                  type: string
                  format: uuid
                  description: >-
                    Your unique value generated for the transaction, which
                    Solaris uses to recognize subsequent retries of the same
                    request.
                verification_of_payee_id:
                  type: string
                  description: >-
                    The ID of a Verification of Payee that must be completed
                    before making this transaction request. This verification
                    confirms the recipient's identity and bank details. Will be
                    mandatory starting on 09.10.2025
              example:
                amount:
                  value: 3000
                  currency: EUR
                creditor_iban: Lisa Herrmann
                creditor_name: DE02500105170137075030
                description: Geschenk
                end_to_end_id: e2178fc8b9ad4a479e269a47f90b4a43
                initiator_reference: 2603037c-e264-46c4-82e8-0d3ebc23a30f
                idempotency_key: 7352a11b-011d-47a4-a449-17371078e98c
        required: true
      responses:
        '202':
          description: Change request for the transaction was created
          content:
            application/json:
              schema:
                type: object
                properties:
                  change_request:
                    $ref: '#/components/schemas/ChangeRequest'
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_instant_outgoing_transfer#create
      x-codegen-request-body-name: body
    get:
      tags:
        - SEPA Instant Credit Transfers
      summary: Index all SEPA Instant Credit Transfers for an account
      description: >-
        Returns a list of all SEPA Instant Credit Transfers for the account
        specified in the request URL. You can filter the results by the
        `creditor_iban`, transaction `status`, etc.
      parameters:
        - $ref: '#/components/parameters/pathAccountID'
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: integer
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: integer
        - name: filter[status]
          in: query
          description: Filters the results by the transaction status.
          required: false
          schema:
            $ref: '#/components/schemas/TransactionStatus'
        - name: filter[creditor_iban]
          in: query
          description: Filters the results by the creditor IBAN.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/SEPA-Instant-Credit-Transfer-Transaction-Response
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_instant_outgoing_transfer#list
  /v1/accounts/{account_id}/transactions/sepa_instant_credit_transfers/{id}:
    get:
      tags:
        - SEPA Instant Credit Transfers
      summary: Retrieve a single SEPA Instant Credit Transfer for an account
      description: >-
        Returns the SEPA Instant Credit Transfer with the `id` specified in the
        request URL.
      parameters:
        - $ref: '#/components/parameters/pathAccountID'
        - name: id
          in: path
          required: true
          description: The ID of the transaction to return.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/SEPA-Instant-Credit-Transfer-Transaction-Response
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_instant_outgoing_transfer#read
  /v1/persons/{person_id}/accounts/{account_id}/standing_orders:
    post:
      tags:
        - (Legacy) Standing orders
      summary: Create standing order
      description: >-
        Creates a standing order for the person account specified in the request
        URL. **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - amount
                - first_execution_date
                - reference
                - reoccurrence
              type: object
              properties:
                transaction_type:
                  type: string
                  description: >-
                    The type of transaction to be executed by the standing
                    order.
                  enum:
                    - SEPA_CREDIT_TRANSACTION
                    - CREDIT_CLEARING_TRANSACTION
                reference:
                  type: string
                  description: A reference for the standing order.
                clearing_profile_id:
                  type: string
                  description: >-
                    ID of the clearing profile from which the customer
                    information will be retrieved.
                booking_type:
                  type: string
                  description: >-
                    The booking type to use in this standing order's
                    transactions.
                  enum:
                    - SEPA_CREDIT_TRANSACTION
                    - CREDIT_CLEARING_TRANSACTION
                    - CRYPTO_EXCHANGE
                recipient_name:
                  type: string
                  description: The recipient's name.
                recipient_iban:
                  type: string
                  description: The recipient's IBAN.
                recipient_bic:
                  type: string
                  description: The recipient's BIC.
                first_execution_date:
                  type: string
                  description: >-
                    The date on which to execute the standing order for the
                    first time.
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                  description: >-
                    The amount of the standing order transaction (in Euro
                    cents).
                description:
                  type: string
                  description: A description for the standing order.
                end_to_end_id:
                  type: string
                  description: End-to-end ID to use in the standing order transactions.
                last_execution_date:
                  type: string
                  description: >-
                    The date on which to execute the standing order for the last
                    time.
                month_end_execution:
                  type: boolean
                  description: >-
                    Flag to indicate whether the standing order should be
                    executed at the end of the month (for monthly standing
                    orders).
                reoccurrence:
                  type: string
                  description: The frequency at which to execute the standing order.
                  enum:
                    - WEEKLY
                    - BIWEEKLY
                    - MONTHLY
                    - QUARTERLY
                    - EVERY_SIX_MONTHS
                    - ANNUALLY
              example:
                transaction_type: SEPA_CREDIT_TRANSACTION
                reference: unique-reference
                booking_type: SEPA_CREDIT_TRANSACTION
                clearing_profile_id: 1c0eda0b559825ef456b21d81f4ee962pacp
                recipient_name: Hans Mustermann
                recipient_iban: DE32110101001000000029
                recipient_bic: COBADEFFXXX
                first_execution_date: '2017-04-01T00:00:00.000Z'
                amount:
                  value: 1000
                description: Example standing order
                end_to_end_id: unique-end-to-end-id
                last_execution_date: '2018-04-01T00:00:00.000Z'
                month_end_execution: true
                reoccurrence: MONTHLY
        required: false
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the standing
            order successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_standing_order#create
      x-codegen-request-body-name: body
    get:
      tags:
        - (Legacy) Standing orders
      summary: Index standing orders
      description: >-
        Returns an array containing all standing orders for the person account
        specified in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[transaction_type]
          in: query
          description: Filter the results by transaction type.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_standing_order#all
  /v1/standing_orders:
    get:
      tags:
        - (Legacy) Standing orders
      summary: Index standing orders
      description: Returns an array containing all standing orders for your customers.
      parameters:
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[transaction_type]
          in: query
          description: Filter the results by transaction type.
          schema:
            type: string
        - name: filter[next_occurrence]
          in: query
          description: >-
            Filters the results to include only standing orders that are
            scheduled to execute on a given date.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_standing_order#all
  /v1/persons/{person_id}/accounts/{account_id}/standing_orders/{standing_order_id}:
    get:
      tags:
        - (Legacy) Standing orders
      summary: Retrieve a standing order
      description: >-
        Returns information about the standing order specified in the request
        URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_standing_order#find
    patch:
      tags:
        - (Legacy) Standing orders
      summary: Update a standing order
      description: >-
        Modifies one or more properties on a standing order. Note that the
        customer must have already authorized and confirmed the standing order.
        **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                  description: The amount of the standing order (in Euro cents).
                description:
                  type: string
                  description: A description for the standing order.
                end_to_end_id:
                  type: string
                  description: The standing order's end-to-end ID.
                last_execution_date:
                  type: string
                  description: >-
                    The date when the standing order should be executed for the
                    last time.
                month_end_execution:
                  type: boolean
                  description: >-
                    Flag to determine whether the standing order should be
                    executed at the end of the month.
                reoccurrence:
                  type: string
                  description: Determines how often the standing order should be executed.
                  enum:
                    - WEEKLY
                    - BIWEEKLY
                    - MONTHLY
                    - QUARTERLY
                    - EVERY_SIX_MONTHS
                    - ANNUALLY
              example:
                amount:
                  value: 1000
                description: Example standing order
                end_to_end_id: unique-end-to-end-id
                last_execution_date: '2018-04-01T00:00:00.000Z'
                month_end_execution: true
                reoccurrence: MONTHLY
        required: false
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the standing
            order has been modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_standing_order#update
      x-codegen-request-body-name: body
  /v1/standing_orders/{standing_order_id}/execute:
    patch:
      tags:
        - (Legacy) Standing orders
      summary: Execute a standing order
      description: >-
        Executes the standing order specified in the request URL on the date of
        its next occurrence.
      parameters:
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
              example:
                description: A description for the transaction.
        required: false
      responses:
        '202':
          description: >-
            The request was accepted. The transaction will be executed when the
            standing order is scheduled to occur next.
          content: {}
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_standing_order#execute
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/standing_orders/{standing_order_id}/cancel:
    patch:
      tags:
        - (Legacy) Standing orders
      summary: Cancel standing order
      description: >-
        Cancels a standing order. Note that the customer must already have
        authorized and confirmed the standing order. **Note**: This call
        triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the standing
            order is canceled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-StandingOrder'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_standing_order#cancel
  /v1/persons/{person_id}/accounts/{account_id}/standing_orders/{standing_order_id}/sepa_credit_transfers:
    get:
      tags:
        - (Legacy) Standing orders
      summary: List all SEPA Credit Transfers issued by a standing order
      description: >-
        Returns an array containing all SEPA Credit Transfers issued by the
        standing order specified in the request URL since its creation.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - >-
              solaris_service_person_account_standing_order#sepa_credit_transfers
  /v1/persons/{person_id}/accounts/{account_id}/standing_orders/{standing_order_id}/credit_clearing_transactions:
    get:
      tags:
        - (Legacy) Standing orders
      summary: Index credit clearing transactions issued by a standing order
      description: >-
        Returns an array containing all credit clearing transactions issued by
        the standing order specified in the request URL since its creation.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: standing_order_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-Account-ClearingTransaction
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - >-
              solaris_service_person_account_standing_order#credit_clearing_transactions
  /v1/persons/{person_id}/accounts/{account_id}/timed_orders:
    post:
      tags:
        - (Legacy) Timed orders
      summary: Create a timed order
      description: >-
        Creates a timed order from the account specified in the request URL to
        the recipient specified in the request body.<br> Timed orders are
        executed every day from 7:00 to 20:00 on each hour. Most timed orders
        are executed at 7:00, but all timed orders created on the same day as
        their execution date will be executed at the next available hour.
        **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - execute_at
                - transaction
              type: object
              properties:
                change_request_enabled:
                  type: boolean
                  description: Deprecated field. Use the value `true`.
                  default: true
                execute_at:
                  type: string
                  description: The date when the timed order should be executed.
                transaction:
                  required:
                    - amount
                    - recipient_iban
                    - reference
                  type: object
                  properties:
                    reference:
                      type: string
                      description: >-
                        A UUID reference for the transaction. Used as an
                        idempotency key.
                    recipient_name:
                      type: string
                      description: The timed order recipient's name.
                    recipient_iban:
                      type: string
                      description: The timed order recipient's IBAN.
                    recipient_bic:
                      type: string
                      description: The timed order recipient's BIC.
                    amount:
                      type: object
                      description: The amount of the timed order (in Euro cents).
                      allOf:
                        - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                    description:
                      type: string
                      description: >-
                        A description for the timed order, which will be visible
                        to the customer and the recipient.
                    end_to_end_id:
                      type: string
                      description: >-
                        An end-to-end ID to use for the timed order. Used as an
                        idempotency key.
              example:
                change_request_enabled: true
                execute_at: '2018-01-01T00:00:00.000Z'
                transaction:
                  reference: 7aa04f97-7720-4609-a5c5-d7b0f86e7661
                  recipient_name: Hans Mustermann
                  recipient_iban: DE32110101001000000029
                  recipient_bic: COBADEFFXXX
                  amount:
                    value: 1000
                    currency: EUR
                    unit: cents
                  description: Example transaction
                  end_to_end_id: dd498bea-0be4-46c7-9816-a29df60bb2c1
        required: false
      responses:
        '200':
          description: >-
            The change request was successfully confirmed, and the timed order
            is successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#create
            - solaris_service_person_account_timed_order#confirm
      x-codegen-request-body-name: body
    get:
      tags:
        - (Legacy) Timed orders
      summary: Index timed orders for a given account
      description: >-
        Returns an array containing all timed orders from the account specified
        in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#all
  /v1/persons/{person_id}/accounts/{account_id}/timed_orders/{id}/authorize:
    post:
      tags:
        - (Legacy) Timed orders
      summary: Authorize a timed order
      deprecated: true
      description: >-
        Deprecated method. Timed orders are now authorized using the change
        request process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                delivery_method:
                  type: string
                  description: >-
                    The type of delivery method to use for the change request
                    2FA challenge.
                  enum:
                    - mobile_number
                    - device_binding
              example:
                delivery_method: device_binding
        required: true
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#authorize
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/timed_orders/{id}/confirm:
    post:
      tags:
        - (Legacy) Timed orders
      summary: Confirm a timed order
      deprecated: true
      description: >-
        Deprecated method. Timed orders are now confirmed using the change
        request process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                authorization_token:
                  type: string
                  description: Authorization Token
              example:
                authorization_token: ''
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#confirm
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/accounts/{account_id}/timed_orders/{id}:
    get:
      tags:
        - (Legacy) Timed orders
      summary: Retrieve a timed order
      description: >-
        Displays information about the timed order specified in the request URL.
        The response includes the related SEPA Credit Transfer.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#find
  /v1/persons/{person_id}/accounts/{account_id}/timed_orders/{id}/cancel:
    patch:
      tags:
        - (Legacy) Timed orders
      summary: Cancel a timed order
      description: >-
        Cancels the timed order specified in the request URL. The `status` of
        the timed order will change to `CANCELED`, and the scheduled transaction
        will never be executed.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            The change request was successfully confirmed, and the timed order
            is canceled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-TimedOrder'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_timed_order#cancel
  /v1/persons/{person_id}/accounts/{account_id}/sdd_collection_limits:
    get:
      tags:
        - SDD Collection Limits
      summary: Index SDD collection limits for an account
      description: >-
        Returns an array containing all active SDD collection limits for the
        account specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/account_id'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/filter_id'
        - $ref: '#/components/parameters/filter_limit_type'
      responses:
        '200':
          description: The operation was successful.
          headers:
            Total:
              $ref: '#/components/headers/total'
            Per-Page:
              $ref: '#/components/headers/per_page'
            Link:
              $ref: '#/components/headers/link'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdd_collection_limits_response'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_account_limits#index
    post:
      tags:
        - SDD Collection Limits
      summary: Create SDD collection limit
      description: >-
        Creates an SDD collection limit on the account specified in the request
        URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/account_id'
      requestBody:
        $ref: '#/components/requestBodies/create_sdd_collection_limit'
      responses:
        '201':
          description: The SDD collection limit was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdd_collection_limits_response'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_account_limits#create
    delete:
      tags:
        - SDD Collection Limits
      summary: Delete SDD collection limit
      description: >-
        Disables the active SDD collection limit for the account specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/account_id'
        - $ref: '#/components/parameters/limit_type'
        - $ref: '#/components/parameters/comment'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no_content'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_account_limits#delete
  /v1/persons/{person_id}/sdd_collection_applications:
    get:
      tags:
        - SDD Collection Applications
      summary: Index SDD collection applications
      description: >-
        Returns a list of all SDD collection applications for the person
        specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/page_number'
        - $ref: '#/components/parameters/filter_status'
      responses:
        '200':
          $ref: '#/components/responses/sdd_collection_applications'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_sdd_collection_applications#index
    post:
      tags:
        - SDD Collection Applications
      summary: Create an SDD collection application
      description: >-
        Creates an application for an SDD collection for the person specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
      requestBody:
        $ref: '#/components/requestBodies/create_sdd_collection_application'
      responses:
        '201':
          $ref: '#/components/responses/sdd_collection_applications'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_sdd_collection_applications#create
  /v1/persons/{person_id}/accounts/{account_id}/sdd_collection:
    get:
      tags:
        - SDD Collections
      summary: Retrieve an SDD collection
      description: >-
        Returns the active SDD collection for the account specified in the
        request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/account_id'
      responses:
        '200':
          $ref: '#/components/responses/show_sdd_collection'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_sdd_collections#find
  /v1/persons/{person_id}/sdd_collection_applications/{sdd_collection_application_id}/account:
    put:
      tags:
        - SDD Collection Applications
      summary: Attach account to an SDD collection application
      description: >-
        Attaches an internal account to the SDD collection application specified
        in the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/sdd_collection_application_id'
      requestBody:
        $ref: '#/components/requestBodies/attach_sdd_collection'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no_content'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - >-
              solaris_account_limit_sdd_collection_applications#create_sdd_collection
  /v1/persons/{person_id}/sdd_collection_applications/{sdd_collection_application_id}/account_snapshot:
    put:
      tags:
        - SDD Collection Applications
      summary: Link account snapshot to an SDD collection application
      description: >-
        Links an account snapshot to the SDD collection application specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/sdd_collection_application_id'
      requestBody:
        $ref: '#/components/requestBodies/link_account_snapshot'
      responses:
        '204':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/no_content'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - >-
              solaris_account_limit_sdd_collection_applications#link_account_snapshot
  /v1/persons/{person_id}/sdd_collection_applications/{sdd_collection_application_id}:
    get:
      tags:
        - SDD Collection Applications
      summary: Retrieve an SDD collection application
      description: Returns the SDD collection application specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/sdd_collection_application_id'
      responses:
        '200':
          description: The operation was successful.
          headers:
            Total:
              $ref: '#/components/headers/total'
            Per-Page:
              $ref: '#/components/headers/per_page'
            Link:
              $ref: '#/components/headers/link'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdd_collection_application_response'
        '403':
          $ref: '#/components/responses/unauthorized_error'
        '404':
          $ref: '#/components/responses/not_found_error'
      security:
        - oauth2:
            - solaris_account_limit_sdd_collection_applications#find
  /v1/accounts/{account_id}/batch_transfers:
    post:
      tags:
        - SEPA Credit Batch Transfers
      summary: Create a Batch Transfer
      description: >-
        Creates a batch transfer for the account specified in the request
        URL.<br /> **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: account_id
          in: path
          required: true
          description: The ID of the account to create a batch transfer for.
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - transfer_type
                - reference
                - transfers
              type: object
              properties:
                transfer_type:
                  type: string
                  description: The `type` for all transfers of the batch.
                  enum:
                    - SCT
                    - SCT_INSTANT
                  example: SCT_INSTANT
                reference:
                  type: string
                  description: A reference for the batch transfer.
                  example: 12f7ec0b-6762-4578-b49f-c0b1647d0e2d
                description:
                  type: string
                  description: A description for the batch transfer.
                  example: Monthly Salary Payments
                transfers:
                  type: array
                  description: List of transfers to be processed as part of the batch.
                  items:
                    type: object
                    required:
                      - creditor_iban
                      - creditor_name
                      - amount
                    properties:
                      creditor_iban:
                        type: string
                        description: The recipient's IBAN.
                        example: DE87110101001000057123
                      creditor_name:
                        type: string
                        maxLength: 70
                        description: The recipient's name.
                        example: Hans Mustermann
                      amount:
                        description: >-
                          The amount of the transfer transaction (in Euro
                          cents).
                        allOf:
                          - $ref: '#/components/schemas/Money'
                      description:
                        type: string
                        maxLength: 140
                        description: >-
                          Description for the transaction, which will be visible
                          to the recipient. Limited to 140 characters.
                        example: Salary Payment
                      end_to_end_id:
                        type: string
                        description: >-
                          Transfer's transaction EndToEnd ID for later
                          identification.
                        example: e2178fc8b9ad4a479e269a47f90b4a43
                      initiator_reference:
                        type: string
                        description: A unique reference for the transfer.
                        example: 2603037c-e264-46c4-82e8-0d3ebc23a30f
                      verification_of_payee_id:
                        type: string
                        description: >-
                          The ID of a Verification of Payee that must be
                          completed before making this transaction request. This
                          verification confirms the recipient's identity and
                          bank details.
                        example: 1234567890abcdef1234567890abcdefvop
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the batch
            transfer was accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchTransfer'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique ID of the batch transfer.
                    example: f874b3102718a4d757a6b6e4d5996078sctb
                  change_request:
                    $ref: '#/components/schemas/ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_batch_transfers#create
      x-codegen-request-body-name: body
    get:
      tags:
        - SEPA Credit Batch Transfers
      summary: List Batch Transfers
      description: List all batch transfers for the specified account in the request URL.
      parameters:
        - name: account_id
          in: path
          description: The ID of the account to retrieve batch transfers for.
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The page number of the response.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[id]
          in: query
          description: >-
            Filters the results to include only batch transfers with the given
            ID.
          schema:
            type: string
        - name: filter[transfer_type]
          in: query
          description: >-
            Filters the results to include only batch transfers with the given
            `transfer_type`.
          schema:
            type: string
            enum:
              - SCT
              - SCT_INSTANT
        - name: filter[status]
          in: query
          description: >-
            Filters the results to include only batch transfers with the given
            `status`.<br /> Multiple comma-separated values are supported.
          schema:
            type: string
            enum:
              - AUTHORIZATION_REQUIRED
              - ACCEPTED
              - REJECTED
              - IN_PROGRESS
              - FINISHED
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BatchTransfer'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_batch_transfers#list
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/batch_transfers/{batch_transfer_id}:
    get:
      tags:
        - SEPA Credit Batch Transfers
      summary: Read a Batch Transfer
      description: >-
        Retrieve a single batch transfer for the specified account in the
        request URL.
      parameters:
        - name: account_id
          in: path
          description: The ID of the account to retrieve batch transfers for.
          required: true
          schema:
            type: string
        - name: batch_transfer_id
          in: path
          description: The ID of the batch transfer.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchTransfer'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_batch_transfers#read
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/batch_transfers/{batch_transfer_id}/transfers:
    get:
      tags:
        - SEPA Credit Batch Transfers
      summary: List Credit Transfers
      description: >-
        List all SEPA credit transfers for the specified account and batch in
        the request URL. All transfers in the result list are of the same
        `type`, which is specified in the batch itself.
      parameters:
        - name: account_id
          in: path
          description: The ID of the account
          required: true
          schema:
            type: string
        - name: batch_transfer_id
          in: path
          description: The ID of the batch transfer
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The page number of the response.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[created_at][min]
          in: query
          description: >-
            Filters the results to include only transfers created after the
            specified date and time.
          schema:
            type: string
        - name: filter[created_at][max]
          in: query
          description: >-
            Filters the results to include only transfers created before the
            specified date and time.
          schema:
            type: string
        - name: filter[creditor_iban]
          in: query
          description: >-
            Filters the results to include only transfers with the given
            `creditor_iban`.<br /> Multiple comma-separated values are
            supported.
          schema:
            type: string
        - name: filter[end_to_end_id]
          in: query
          description: >-
            Filters the results to include only transfers with the given
            `end_to_end_id`.<br /> Multiple comma-separated values are
            supported.
          schema:
            type: string
        - name: filter[id]
          in: query
          description: >-
            Filters the results to include only transfers with the given ID.<br
            /> Multiple comma-separated values are supported.
          schema:
            type: string
        - name: filter[initiator_reference]
          in: query
          description: >-
            Filters the results to include only transfers with the given
            `initiator_reference`.<br /> Multiple comma-separated values are
            supported.
          schema:
            type: string
        - name: filter[status]
          in: query
          description: >-
            Filters the results to include only transfers with the given
            `status`.<br /> Multiple comma-separated values are supported.
          schema:
            type: string
            enum:
              - OPEN
              - EXECUTING
              - BOOKED
              - CANCELED
              - FAILED
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CreditTransfer'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_batch_transfers#list_credit_transfers
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/scheduled_transfers:
    post:
      tags:
        - Scheduled Transfers
      summary: Create a Scheduled Transfer
      description: >-
        Creates a scheduled transfer for the account specified in the request
        URL. **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: account_id
          in: path
          required: true
          description: The ID of the account to create a scheduled transfer for.
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - transfer_type
                - authorizer_id
                - creditor_iban
                - creditor_name
                - initiator_reference
                - amount
                - active_from
                - execution_schedule
              type: object
              properties:
                transfer_type:
                  type: string
                  description: The type of transfer to be scheduled.
                  enum:
                    - SCT
                    - SCT_INSTANT
                  example: SCT
                initiator_reference:
                  type: string
                  description: >-
                    A reference provided by the transaction initiator. It needs
                    to be unique for the initiator.
                  example: 12f7ec0b-6762-4578-b49f-c0b1647d0e2d
                creditor_name:
                  type: string
                  description: The recipient's name.
                  example: Hans Mustermann
                creditor_iban:
                  type: string
                  description: The recipient's IBAN.
                  example: DE32110101001000000029
                creditor_bic:
                  type: string
                  description: The recipient's BIC.
                  example: COBADEFFXXX
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                      example: 1000
                    currency:
                      type: string
                      description: >-
                        The currency of the given value. Only EUR is currently
                        supported.
                      example: EUR
                  description: >-
                    The amount of the scheduled transfer transaction (in Euro
                    cents).
                description:
                  type: string
                  description: A description for the scheduled transfer.
                  example: Example scheduled transfer
                end_to_end_id:
                  type: string
                  description: End-to-end ID to use in the scheduled transfer transactions.
                  example: unique-end-to-end-id
                execution_schedule:
                  type: string
                  description: The frequency at which to execute the scheduled transfer.
                  enum:
                    - WEEKLY
                    - EVERY_TWO_WEEKS
                    - MONTHLY
                    - QUARTERLY
                    - EVERY_SIX_MONTHS
                    - ANNUALLY
                    - ONE-TIME
                  example: MONTHLY
                active_from:
                  type: string
                  format: date
                  description: >-
                    The date on which the scheduled transfer will become active.
                    The first transfer will be executed on this date.
                  example: '2018-03-01'
                active_to:
                  type: string
                  format: date
                  description: >-
                    The date by which the scheduled transfer will be concluded.
                    The last transfer will be executed before or on this date.
                    For one-time transfers, this field is not required and will
                    default to the active_from date.
                  example: '2018-04-01'
                authorizer_id:
                  type: string
                  description: >-
                    The ID of the person who should authorize the scheduled
                    transfer.
                  example: cf67beb032b2abbfc444f1641fa669bccper
                verification_of_payee_id:
                  type: string
                  description: >-
                    The ID of a Verification of Payee that must be completed
                    before making this transaction request. This verification
                    confirms the recipient's identity and bank details. Will be
                    mandatory starting on 09.10.2025
                  example: f874b3102718a4d757a6b6e4d5996078veop
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the scheduled
            transfer successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledTransfer'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique ID of the scheduled transfer.
                    example: f874b3102718a4d757a6b6e4d599607csctr
                  change_request:
                    $ref: '#/components/schemas/ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_scheduled_transfers#create
      x-codegen-request-body-name: body
    get:
      tags:
        - Scheduled Transfers
      summary: Get scheduled transfers for an account
      description: >-
        Returns the scheduled transfers for the account specified in the request
        URL.
      parameters:
        - name: account_id
          in: path
          description: The ID of the account to retrieve scheduled transfers for.
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The page number of the response.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: filter[id]
          in: query
          description: >-
            Filters the results to include only scheduled transfers with the
            given ID.
          schema:
            type: string
        - name: filter[transfer_type]
          in: query
          description: >-
            Filters the results to include only scheduled transfers of a given
            type.
          schema:
            type: string
        - name: filter[status]
          in: query
          description: >-
            Filters the results to include only scheduled transfers with a given
            status.
          schema:
            type: string
        - name: filter[next_execution_date][min]
          in: query
          description: >-
            Filters the results to include only scheduled transfers with next
            execution date greater than or equal to the given date.
          schema:
            type: string
        - name: filter[next_execution_date][max]
          in: query
          description: >-
            Filters the results to include only scheduled transfers with next
            execution date less than or equal to the given date.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScheduledTransfer'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - sepa_payments_initiation_scheduled_transfers#list
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/scheduled_transfers/{id}:
    get:
      tags:
        - Scheduled Transfers
      summary: Get a single Scheduled Transfer
      description: >-
        Returns the details of the scheduled transfer specified in the request
        URL.
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the scheduled transfer to retrieve.
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          description: >-
            The account ID of the account that the scheduled transfer is
            associated with.
          schema:
            type: string
      responses:
        '200':
          description: Scheduled transfer successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledTransfer'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - sepa_payments_initiation_scheduled_transfers#read
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/scheduled_transfers/{id}/cancel:
    patch:
      tags:
        - Scheduled Transfers
      summary: Cancel a Scheduled Transfer
      description: >-
        Cancels the scheduled transfer specified in the request URL. Note that
        the customer must already have authorized and confirmed scheduled
        transfer. **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: id
          in: path
          required: true
          description: The ID of the scheduled transfer to cancel.
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          description: >-
            The account ID of the account that the scheduled transfer is
            associated with.
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - authorizer_id
              type: object
              properties:
                authorizer_id:
                  type: string
                  description: >-
                    The ID of the person who should authorize the scheduled
                    transfer.
                  example: cf67beb032b2abbfc444f1641fa679bccper
      responses:
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - sepa_payments_initiation_scheduled_transfers#cancel
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/sepa_instant_limits:
    get:
      tags:
        - Sepa Instant Limits
      summary: Get SEPA Instant limits for an account
      description: >-
        Fetch the limits set for the specific account_id as well as it's
        remaining and used limit. <ul> <li>According to the new SEPA regulation
        coming into effect on October 9th, 2025, customers should have the
        option to set up a per-transaction and/or daily SEPA Instant limit if
        they wish to do so.</li> <li>Ensure the limit can be modified by the
        customer prior to initiating a SEPA Instant order. In the event of a
        payment rejection due to limit constraints, provide clear instructions
        on how the customer can adjust the limit.</li> <li>SEPA Limit
        configuration is optional. Consequently, all existing and newly created
        accounts will have the SEPA Instant limit unset by default.</li>
        <li>Please note that this is a pre-release and there will be some
        changes before we release the final version of the API.</li> </ul>
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsResponse'
      security:
        - oauth2:
            - solaris_accounts#get_sepa_instant_limits
    patch:
      tags:
        - Sepa Instant Limits
      summary: Update specific SEPA Instant limits for an account
      description: >-
        Partially update the SEPA Instant limits. This allows partners to set a
        daily and a per-transaction limit. By default, the account has no limit
        set. Only the limits specified in the request will be modified; other
        limits will remain unchanged.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LimitsUpdateRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsResponse'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-error'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-error'
              example:
                errors:
                  - id: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: Couldn't find Partner's account for id 'Id'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal_error'
      security:
        - oauth2:
            - solaris_accounts#update_sepa_instant_limits
  /v1/verifications_of_payee:
    post:
      tags:
        - Verification of Payee
      summary: Submit a new verification of payee
      description: >-
        Create a new verification of payee to validate if the provided name
        matches the account holder of the given IBAN.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerificationOfPayeeRequest'
      responses:
        '201':
          description: Verification request successfully submitted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationOfPayeeResponse'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/schemas-error'
              example:
                errors:
                  - id: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
                    status: 400
                    code: validation_error
                    title: Validation Error
                    detail: iban is invalid
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal_error'
      security:
        - oauth2:
            - verification_of_payee#create
  /v1/verifications_of_payee/{id}:
    get:
      tags:
        - Verification of Payee
      summary: Get verification of payee by ID
      description: >-
        Retrieve details of a specific verification of payee by its unique
        identifier
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
            format: uuid
          description: The unique identifier of the verification of payee
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationOfPayeeResponse'
        '404':
          description: Verification of payee not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/model_not_found_error'
              example:
                errors:
                  - id: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      could not find verification_of_payee for
                      id=123e4567-e89b-12d3-a456-426614174000
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal_error'
      security:
        - oauth2:
            - verification_of_payee#read
  /persons/{person_id}/direct_debit_profile:
    post:
      tags:
        - (Legacy) SEPA Direct Debit for freelancers
      summary: Create a SEPA Direct Debit profile for a freelancer
      deprecated: true
      description: >-
        Creates a SEPA Direct Debit profile and assigns it to the freelancer
        with the given `person_id`. For this method, you must supply information
        from the credit bureau report generated for the freelancer.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/SEPA-Direct-Debit-Profile-Request'
      responses:
        '202':
          description: The request has been accepted for processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-DirectDebitProfile'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The `person` with the supplied `person_id` could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '409':
          description: The provided SEPA Direct Debit profile has already been assigned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - customer_sepa_direct_debit/write
      x-codegen-request-body-name: body
  /persons/{person_id}/direct_debit_profiles:
    get:
      tags:
        - (Legacy) SEPA Direct Debit for freelancers
      summary: List all direct debit profiles for a freelancer
      deprecated: true
      description: >-
        Returns an array of direct debit profiles that belong to the freelancer
        with the given `person_id`.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: filter[status]
          in: query
          description: >-
            (Optional) Append this parameter to the query to filter the results
            by profile status.
          schema:
            type: string
      responses:
        '200':
          description: Operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Decorators-DirectDebitProfile'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The `person` with the supplied `person_id` could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - customer_sepa_direct_debit/read
  /persons/{person_id}/accounts/{account_id}/sepa_direct_debit:
    post:
      tags:
        - (Legacy) SEPA Direct Debit for freelancers
      summary: Create a SEPA Direct Debit transaction for a freelancer
      deprecated: true
      description: >-
        Validates and initiates a SEPA Direct Debit transaction from an external
        account to the freelancer's account with the given `account_id`. The
        account owner (designated by the `person_id`) must already have an
        active SEPA Direct Debit profile assigned.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/SEPA-Direct-Debit-Transaction-Request'
      responses:
        '201':
          description: The SEPA Direct Debit transaction was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SEPA-Direct-Debit-Transaction-Response'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - customer_sepa_direct_debit/write
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/incoming_sepa_direct_debits/scheduled:
    get:
      tags:
        - SEPA Direct Debits
      summary: Fetch pending SEPA Direct Debits for an account
      description: >-
        Returns an array containing all upcoming pending SDDs for the specified
        account for which we've been notified about by any creditor bank,
        including Solaris.  This endpoint will not return SDDs that have been
        already executed. 
      security:
        - oauth2:
            - solaris_service_account_pending_sdds#all
      parameters:
        - $ref: '#/components/parameters/account_id-2'
        - name: page[number]
          in: query
          description: Returns a specific page of results.
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Determines the size of each page of results.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched the Pending SDDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pending_sdds'
        '404':
          description: The account could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal_error'
  /persons/{person_id}/direct_debit_remaining_limit:
    get:
      tags:
        - (Legacy) SEPA Direct Debit for freelancers
      summary: Get remaining SEPA Direct Debit collection limit for a freelancer
      deprecated: true
      description: >-
        Returns the remaining SEPA Direct Debit collection limit for the current
        month per account for the freelancer with the given `person_id`.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Decorators-DirectDebitRemainingLimit
        default:
          description: Unexpected error.
          content: {}
      security:
        - oauth2:
            - customer_sepa_direct_debit/read
  /businesses/{business_id}/direct_debit_profile:
    post:
      tags:
        - (Legacy) SEPA Direct Debit for business
      summary: Create a SEPA Direct Debit profile for a business
      deprecated: true
      description: >-
        Creates a SEPA Direct Debit profile and assigns it to the `business`
        with the given `business_id`. For this method, you must supply
        information from the credit bureau report generated for the business
        customer.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/SEPA-Direct-Debit-Profile-Request'
      responses:
        '202':
          description: The request has been accepted for processing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-DirectDebitProfile'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The `business` with the supplied `business_id` could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '409':
          description: The business already has a SEPA Direct Debit profile assigned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - customer_sepa_direct_debit/write
      x-codegen-request-body-name: body
  /businesses/{business_id}/direct_debit_profiles:
    get:
      tags:
        - (Legacy) SEPA Direct Debit for business
      summary: List all direct debit profiles for a business
      deprecated: true
      description: >-
        Returns an array of direct debit profiles that belong to the business
        customer with the given `business_id`.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
        - name: filter[status]
          in: query
          description: >-
            (Optional) Append this parameter to the query to filter the results
            by profile status.
          schema:
            type: string
      responses:
        '200':
          description: Operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Decorators-DirectDebitProfile'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The `business` with the supplied `business_id` could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - customer_sepa_direct_debit/read
  /businesses/{business_id}/accounts/{account_id}/sepa_direct_debit:
    post:
      tags:
        - (Legacy) SEPA Direct Debit for business
      summary: Create a SEPA Direct Debit transaction for a business
      deprecated: true
      description: >-
        Validates and initiates a SEPA Direct Debit transaction from an external
        account to the account with the given `account_id`. The account owner
        (designated by the `business_id`) must already have an active SEPA
        Direct Debit profile assigned.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/SEPA-Direct-Debit-Transaction-Request'
      responses:
        '201':
          description: The SEPA Direct Debit transaction was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SEPA-Direct-Debit-Transaction-Response'
        '400':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - customer_sepa_direct_debit/write
      x-codegen-request-body-name: body
  /businesses/{business_id}/direct_debit_remaining_limit:
    get:
      tags:
        - (Legacy) SEPA Direct Debit for business
      summary: Get remaining SEPA Direct Debit collection limit for a business
      deprecated: true
      description: >-
        Returns the remaining SEPA Direct Debit collection limit for the current
        month per account for the business customer with the given
        `business_id`.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Decorators-DirectDebitRemainingLimit
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - customer_sepa_direct_debit/read
  /direct_debit_profile_templates:
    get:
      tags:
        - (Legacy) SEPA Direct Debit profile templates
      summary: Show SEPA Direct Debit profile templates
      deprecated: true
      description: Returns an array containing all SEPA Direct Debit profile templates.
      responses:
        '200':
          description: Operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Decorators-DirectDebitProfileTemplate
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - customer_sepa_direct_debit/read
components:
  schemas:
    Solaris-Server-Decorators-Money:
      type: object
      properties:
        value:
          type: integer
          description: The amount value.
          example: 1000
        unit:
          type: string
          description: The unit of the given value in cents.
          example: cents
        currency:
          type: string
          description: The currency of the given value. Only EUR is currently supported.
          example: EUR
    Solaris-Server-Decorators-SepaDebitTransaction:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the transaction.
          example: 074ff24d187a014f42d5694b13e9cf1fctrx
        status:
          type: string
          description: The status of the SDD transaction.
          example: accepted
          enum:
            - created
            - accepted
            - declined
            - executed
            - review_needed
            - canceled
        reference:
          type: string
          description: Optional reference for the transaction. Acts as an idempotency key.
          example: 8880a72c-2675-482d-8d88-70a02c608592
        amount:
          description: The amount to debit from the external account.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: >-
            Optional description for the transaction, which will be visible to
            the debtor. Limited to 140 characters. Please note the [SEPA
            character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
        collection_date:
          type: string
          description: >-
            The date on which to collect the direct debit. The default value is
            the day after the current day. The latest possible date is 14
            calendar days in the future.
          example: '2021-02-11T00:00:00.000Z'
        mandate:
          type: object
          description: Object containing information about the direct debit mandate.
          properties:
            reference:
              type: string
              description: >-
                Reference of the mandate. Must be unique for the creditor
                identifier.
              example: dsf2r3raedfs3fsf342fctrx
            creditor_identifier:
              type: string
              description: >-
                Unique reference that identifies a party collecting payments
                under the SEPA Direct Debit scheme within and across 32
                countries. See the [Deutsche Bundesbank's definition of creditor
                identifier](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704)
                for more information.
              example: DE98ZZZ09999999999
            scheme:
              type: string
              description: >-
                The scheme to use for the mandate. Use `CORE` unless instructed
                otherwise.
            sequence_type:
              type: string
              description: >-
                The sequence type of this mandate (i.e., whether the transaction
                is one-off or recurring).
            signature_date:
              type: string
              description: The date when the debtor signed the mandate.
              format: date-time
              example: '2017-10-02T16:12:41Z'
            debtor_name:
              type: string
              description: >-
                The debtor's name. Please note the [SEPA character
                restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
              example: Hans Mustermann
            debtor_iban:
              type: string
              description: The debtor's IBAN.
              example: DE29300400000180478000
            debtor_bic:
              type: string
              description: The debtor's BIC.
              example: COBADEFFXXX
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process. Please note the [SEPA
            character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: END2ENDREJ
    Error400:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: build_pagination_headers_failure
        title:
          type: string
          example: Failed to build pagination headers.
        detail:
          type: string
          example: Cannot connect to database.
    Error403:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '403'
        code:
          type: string
          example: unauthorized_action
        title:
          type: string
          example: Unauthorized Action
        detail:
          type: string
          example: Unauthorized action is not allowed.
    Error404:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '404'
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        detail:
          type: string
          example: >-
            Couldn't find 'Solaris::Identification' for id
            'bbbcccfff388923eb899a5852df6cidt'.
    Error500:
      type: object
      properties:
        id:
          type: string
          example: e8915041-9d8c-4d96-9dd1-04e8522ecdbf
        status:
          type: string
          example: '500'
        code:
          type: string
          example: generic_error
        title:
          type: string
          example: Generic Error
        detail:
          type: string
          example: There was an error.
    Solaris-Server-Decorators-SepaDirectDebitReturn:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the SEPA Direct Debit return.
          example: 257eb92c4656691fd02d3de1fa88b9f5csdr
        creditor_iban:
          type: string
          description: The creditor's IBAN.
          example: DE32110101001000000029
        creditor_name:
          type: string
          description: The creditor's name.
          example: Peter Mustermann
        creditor_identifier:
          type: string
          description: >-
            Unique reference that identifies a party collecting payments under
            the SEPA Direct Debit scheme within and across 32 countries. See the
            [Deutsche Bundesbank's definition of creditor
            identifier](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704)
            for more information.
          example: DE98ZZZ09999999999
        mandate_reference:
          type: string
          description: >-
            Reference of the mandate. Must be unique for the creditor
            identifier.
          example: SOBKTEST
        amount:
          type: object
          description: The amount of the booking.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process.
          example: DD-12-28.05.2018
        sepa_return_code:
          type: string
          description: SEPA return code.
          example: MD01
        description:
          type: string
          description: Additional details about the booking.
        recorded_at:
          type: string
          description: The timestamp from when the return was recorded.
          example: '2018-08-12T13:58:58.000Z'
        customer_id:
          type: string
          description: The customer's ID.
          example: 74c586d116e7dcd138af3dd5d754f2abcper
        customer_type:
          type: string
          description: Specifies whether the customer is a Person or Business.
          example: Person
          enum:
            - Person
            - Business
        account_id:
          type: string
          description: The customer's Solaris account ID.
          example: 3eb274b98be7afb13d91acb8ae53901ecacc
    Solaris-Decorators-ChangeRequest-Start:
      type: object
      properties:
        id:
          type: string
          description: ID of the change request.
          example: d6c778822b2d7bd3b778935bcfd0d1d3csc
        status:
          type: string
          description: The current status of the change request.
          example: CONFIRMATION_REQUIRED
          enum:
            - ACCEPTED
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - COMPLETED
            - FAILED
        updated_at:
          type: string
          description: UTC timestamp from the last time the change request was updated.
          format: date-time
          example: '2022-04-21T13:59:52+00:00'
        url:
          type: string
          description: URL to use to authorize the change request.
          example: https://example.com/authorize
    Solaris-Server-Decorators-SepaCreditTransaction:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the transaction.
          example: 45bd0881-a79a-4054-9286-f11060d5511f
        status:
          type: string
          description: Status of the transaction.
          example: executed
          enum:
            - created
            - authorization_required
            - confirmation_required
            - accepted
            - declined
            - executed
            - review_needed
            - scheduled
            - canceled
        reference:
          type: string
          description: Optional unique reference. Used as an idempotency key.
          example: 8880a72c-2675-482d-8d88-70a02c608592
        amount:
          description: The amount of the transaction.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: >-
            Additional description about the transaction. Please note the [SEPA
            character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        recipient_name:
          type: string
          description: >-
            The recipient's name. Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: Max Mustermann
        recipient_bic:
          type: string
          description: The recipient's BIC.
          example: SOBKDEB2XXX
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process. Please note the [SEPA
            character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: END2ENDREJ
        batch_id:
          type: string
          description: Unique ID of the batch.
          example: d6c778822b2d7bd3b778935bcfd0d1d3csc
        created_at:
          type: string
          format: date-time
          description: UTC timestamp from when the transaction was created.
          example: '2021-01-01T20:37:50Z'
    Solaris-Server-Decorators-SepaCreditTransactionInBatch:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the transaction.
          example: 8f2145d3a675be2d0975299028c22915csc
        status:
          type: string
          description: The status of the SCT.
          example: executed
          enum:
            - created
            - authorization_required
            - confirmation_required
            - accepted
            - declined
            - executed
            - review_needed
            - scheduled
            - canceled
        reference:
          type: string
          description: Reference number of the SCT.
          example: dsf2r3raedfs3fsf342fctrx
        amount:
          description: The amount of the SCT.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: Additional description of the SCT.
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        recipient_name:
          type: string
          description: The recipient's name.
          example: Max Mustermann
        recipient_bic:
          type: string
          description: The recipient's BIC.
          example: SOBKDEB2XXX
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process.
          example: END2ENDREJ
        created_at:
          type: string
          description: UTC timestamp from when the transaction was created.
          example: '2021-01-01T20:37:50Z'
    Solaris-Server-Decorators-SepaCreditTransactionBatch:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the batch order. Null in case of standing orders.
          example: bba471db8ec4ef5a84e0bfb0022e45bfsctb
        status:
          type: string
          description: The status of the batch order.
          enum:
            - CREATED
            - ACCEPTED
            - REVIEW_NEEDED
            - SUCCESSFUL
            - FAILED
          example: SUCCESSFUL
        sepa_credit_transfers:
          description: Object containing SEPA credit transfers.
          allOf:
            - $ref: >-
                #/components/schemas/Solaris-Server-Decorators-SepaCreditTransactionInBatch
        errors:
          type: object
          properties: {}
          description: >-
            Lists any errors on creation or execution of transactions, only
            included when errors happened.
    Reachability:
      type: object
      properties:
        sct_instant_reachability:
          type: boolean
          description: >-
            Indicates whether or not a SEPA Instant Credit Transfer can be sent
            to this IBAN.
    InvalidRequestError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: invalid_request
        title:
          type: string
          example: Invalid Request
        details:
          type: string
          example: Request is invalid
    ForbiddenError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: unauthorized_action
        title:
          type: string
          example: Unauthorized Action
        details:
          type: string
          example: Unauthorized action is not allowed.
    ModelNotFound:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        details:
          type: string
          example: Model was not found
    InternalServerError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: generic_error
        title:
          type: string
          example: Internal Server Error
        details:
          type: string
          example: Internal server error occurred
    TransactionStatus:
      type: string
      enum:
        - INITIATED
        - RESERVED
        - READY_FOR_CLEARING
        - CLEARED
      description: The status of the transaction.
    SEPA-Instant-Credit-Transfer-Transaction-Response:
      type: object
      properties:
        id:
          type: string
          maxLength: 35
          description: The ID of the transaction.
        amount:
          type: object
          description: The transaction amount.
          properties:
            value:
              type: integer
              description: The amount value in cents.
            currency:
              type: string
              description: >-
                The currency of the given value. Only EUR is currently
                supported.
        creditor_iban:
          type: string
          description: >-
            The IBAN of the creditor account (i.e., the account holder receiving
            the money). The IBAN must be reachable via SCT Instant!
        creditor_name:
          type: string
          description: The name of the creditor (i.e., account holder).
          maxLength: 70
        description:
          type: string
          description: A description for the transaction given by the customer.
          maxLength: 140
        end_to_end_id:
          type: string
          description: Your unique end-to-end ID for the transaction.
          maxLength: 35
        initiator_reference:
          type: string
          description: Your unique reference for the transaction.
        idempotency_key:
          type: string
          format: uuid
          description: >-
            Your unique value generated for the transaction, which Solaris uses
            to recognize subsequent retries of the same request.
        status:
          $ref: '#/components/schemas/TransactionStatus'
        valuta_date:
          type: string
          format: date
          description: The valuta date of the transaction.
      example:
        id: e8308bd66d3472a987d262d05fb5098siot
        amount:
          value: 3000
          currency: EUR
        creditor_iban: Lisa Herrmann
        creditor_name: DE02500105170137075030
        description: Geschenk
        end_to_end_id: e2178fc8b9ad4a479e269a47f90b4a43
        initiator_reference: 2603037c-e264-46c4-82e8-0d3ebc23a30f
        idempotency_key: 7352a11b-011d-47a4-a449-17371078e98c
        status: RESERVED
        valuta_date: '2022-04-22'
    ChangeRequest:
      type: object
      properties:
        id:
          type: string
          description: ID of the change request.
          example: b520ce9090c44a989149fe7f2f94a785
        status:
          type: string
          description: The current status of the change request.
          example: AUTHORIZATION_REQUIRED
          enum:
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - ACCEPTED
            - COMPLETED
            - FAILED
        updated_at:
          type: string
          format: date-time
          description: Timestamp from when the change request was last updated.
          example: '2021-12-22T15:05:33.634+00:00'
        url:
          type: string
          format: url
          description: The URL to call to request authorization of this change request.
          example: >-
            https://api.solaris.com/v1/change_requests/{change_request_id}/authorize
    Solaris-Server-Decorators-StandingOrder:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the standing order.
          example: f874b3102718a4d757a6b6e4d599607ccsto
        status:
          type: string
          description: The status of the standing order.
          example: ACTIVE
          enum:
            - ACTIVE
            - INACTIVE
            - CANCELED
        booking_type:
          type: string
          description: The booking type to use in this standing order's transaction.
          example: SEPA_CREDIT_TRANSFER
          enum:
            - SEPA_CREDIT_TRANSFER
            - CREDIT_CLEARING_TRANSACTION
            - CRYPTO_EXCHANGE
        transaction_type:
          type: string
          description: The type of transaction to be executed by the standing order.
          example: SEPA_CREDIT_TRANSFER
          enum:
            - SEPA_CREDIT_TRANSFER
            - CREDIT_CLEARING_TRANSACTION
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        recipient_name:
          type: string
          description: The recipient's name.
          example: Hans Mustermann
        recipient_bic:
          type: string
          description: The recipient's BIC.
          example: COBADEFFXXX
        reference:
          type: string
          description: >-
            Optional reference for the transaction. Will act as an idempotency
            key.
          example: dsf2r3raedfs3fsf342fctrx
        amount:
          description: The amount of the standing order transaction (in Euro cents).
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: >-
            Optional description for the transaction, which will be visible to
            the recipient. Limited to 140 characters.
        first_execution_date:
          type: string
          description: The date on which to execute the standing order for the first time.
          format: date
          example: '2021-09-01'
        last_execution_date:
          type: string
          description: The date on which to execute the standing order for the last time.
          format: date
          example: '2025-09-01'
        reoccurrence:
          type: string
          description: The frequency at which to execute the standing order.
          example: MONTHLY
          enum:
            - WEEKLY
            - BIWEEKLY
            - MONTHLY
            - QUARTERLY
            - EVERY_SIX_MONTHS
            - ANNUALLY
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process.
          example: END2ENDREJ
        month_end_execution:
          type: boolean
          description: >-
            Flag to indicate whether the standing order should be executed at
            the end of the month (for monthly standing orders).
          example: true
        next_occurrence:
          type: string
          description: Next occurrence for this standing order
          format: date
          example: '2021-10-01'
    Solaris-Enums-BookingType:
      type: string
      description: >-
        The type of the booking. See the [booking
        documentation](https://docs.solarisgroup.com/guides/digital-banking/account-management/#appendix-i-booking-types)
        for a list of explanations for each booking type.
      enum:
        - CANCELLATION_BOOKING
        - CancellationCardTransaction
        - CANCELLATION_CARD_TRANSACTION_DIRECT
        - CANCELLATION_CHARGE_CARD
        - CANCELLATION_CHARGE_DUNNING
        - CANCELLATION_CHARGE_SEPA_DIRECT_DEBIT_RETURN
        - CANCELLATION_CRYPTO_EXCHANGE
        - CANCELLATION_CURRENCY_EXCHANGE_PARTNER
        - CANCELLATION_DIRECT_DEBIT
        - CANCELLATION_DOUBLE_BOOKING
        - CANCELLATION_INTERNAL_TRANSFER
        - CANCELLATION_INTERNATIONAL_CREDIT_TRANSFER
        - CANCELLATION_INTEREST_ACCRUED
        - CANCELLATION_INTEREST_ANNUITY
        - CANCELLATION_INTEREST_LOAN
        - CANCELLATION_LOAN_PAYOUT
        - CANCELLATION_REBOOKING
        - CANCELLATION_REBOOKING_INTEREST
        - CANCELLATION_SEPA_CREDIT_TRANSFER_RETURN
        - CANCELLATION_SEPA_DIRECT_DEBIT
        - CANCELLATION_SEPA_DIRECT_DEBIT_RETURN
        - CANCELLATION_TRANSFER_ANNUITY
        - CARD_DIRECT_DEBIT
        - CARD_TRANSACTION
        - CARD_TRANSACTION_DIRECT
        - CASH_DEPOSIT_RETAIL
        - CASH_WITHDRAWAL_RETAIL
        - CHARGE_ACCOUNT_MAINTENANCE
        - CHARGE_CARD
        - CHARGE_DUNNING
        - ChargeRecallRequest
        - CHARGE_SEPA_DIRECT_DEBIT_RETURN
        - ClosureBalanceTransfer
        - COMMISSION_OVERDRAFT
        - CREDIT_TRANSFER_CANCELLATION
        - CRYPTO_EXCHANGE
        - CURRENCY_EXCHANGE_PARTNER
        - DIRECT_DEBIT
        - FOREIGN_PAYMENT
        - INTEREST_ACCRUED
        - INTEREST_ANNUITY
        - INTEREST_LOAN
        - INTERNAL_TRANSFER
        - INTERNATIONAL_CREDIT_TRANSFER
        - LOAN_PAYOUT
        - REBOOKING
        - REBOOKING_INTEREST
        - SEPA_CREDIT_TRANSFER
        - SEPA_CREDIT_TRANSFER_RETURN
        - SEPA_DIRECT_DEBIT
        - SEPA_DIRECT_DEBIT_RETURN
        - SEPAInstantCreditTransfer
        - SepaInstantCreditTransferReturn
        - TARGET2_CREDIT_TRANSFER
        - TRANSFER_ANNUITY
        - OTHER
      example: SEPA_CREDIT_TRANSFER
    Solaris-Server-Decorators-Account-ClearingTransaction:
      type: object
      properties:
        id:
          type: string
          description: ID of the clearing transaction.
          example: 3f4e761f500e4c11a6627b4d90daaec4
        status:
          type: string
          description: The status of the clearing transaction.
          example: EXECUTED
          enum:
            - ACCEPTED
            - DECLINED
            - EXECUTED
            - REVIEW_NEEDED
            - CANCELED
        account_id:
          type: string
          description: ID of the account for which the transaction was created.
          example: 06659ff514934b28800b5650d109cacc
        account_iban:
          type: string
          description: The account's IBAN.
          example: DE43110101005555555555
        clearing_account_iban:
          type: string
          description: The clearing account's IBAN.
          example: DE30110101001234567890
        amount:
          description: The amount of the transaction.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: >-
            A description of the transaction, which is visible to both the
            sender and the receiver.
          example: Example description
        booking_type:
          $ref: '#/components/schemas/Solaris-Enums-BookingType'
        valuta_date:
          type: string
          description: The valuta date of the transaction.
          example: '2022-04-22'
        transaction_type:
          type: string
          description: The type of the transaction.
          example: CLEARING_TRANSACTION
        reference:
          type: string
          description: UUID reference for the transaction. Acts as an idempotency key.
          example: 2603037c-e264-46c4-82e8-0d3ebc23a30f
        initiator_reference:
          type: string
          description: UUID initiatiors reference for the transaction.
          example: 2603037c-e264-46c4-82e8-0d3ebc23a30f
    Solaris-Server-Decorators-TimedOrder:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the timed order.
          example: 411e69f14d3533da53b9b0a73161c3fectrx
        execute_at:
          type: string
          description: The date when the timed order should be executed.
          format: date
          example: '2021-07-22'
        executed_at:
          type: string
          description: Read-only date of the timed order's execution.
          format: date
          example: '2021-07-22'
        status:
          type: string
          description: The status of the timed order.
          example: SCHEDULED
          enum:
            - CREATED
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - SCHEDULED
            - EXECUTED
            - CANCELED
            - FAILED
        scheduled_transaction:
          description: Object containing the details of the scheduled transaction.
          allOf:
            - $ref: >-
                #/components/schemas/Solaris-Server-Decorators-SepaCreditTransaction
    amount:
      type: object
      properties:
        value:
          type: integer
          description: The amount, in Euro cents.
          example: 10000
        unit:
          type: string
          description: The unit of the given value.
          example: cents
        currency:
          type: string
          description: The currency.
          example: EUR
    comment:
      type: object
      properties:
        content:
          type: string
          description: The content of the comment.
          example: text
        context:
          type: string
          description: The context for the comment.
          example: context
        created_at:
          type: string
          description: UTC timestamp from when the comment was created.
          format: date-time
          example: '2021-10-20T14:45:54Z'
    sdd_collection_limits_response:
      type: object
      properties:
        id:
          type: string
          description: ID of the account limit.
          example: f4ed772c970e1096a73d9418192a2d0camsg
        limit:
          description: The amount of the limit.
          allOf:
            - $ref: '#/components/schemas/amount'
        limit_type:
          type: string
          description: The SDD collection limit type.
          enum:
            - EXTERNAL
            - INTERNAL
        current_limit:
          type: boolean
          description: >-
            Indicates whether the limit is the one currently applied to the
            account.
          example: true
        created_at:
          type: string
          format: date-time
          description: UTC timestamp from when the limit was created.
          example: '2021-10-20T14:45:54Z'
        comments:
          type: array
          description: Optional comments applied to the limit.
          items:
            $ref: '#/components/schemas/comment'
    error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Error identifier
              status:
                type: integer
                description: Error status
              code:
                type: string
                description: Error code
              title:
                type: string
                description: Error title
              detail:
                type: string
                description: Error detail
    create_sdd_collection_limit:
      type: object
      required:
        - limit
      properties:
        comment:
          type: string
          description: A comment to append to the SDD collection limit.
          example: Comment
        limit:
          description: The limit of the SDD collection.
          allOf:
            - $ref: '#/components/schemas/amount'
        limit_type:
          type: string
          description: The type of SDD collection limit. Use the value `CUSTOMER_REQUEST`.
          enum:
            - CUSTOMER_REQUEST
    no_content:
      description: No content
    sdd_collection_application_response:
      description: SDD Collection application
      type: object
      properties:
        id:
          type: string
          description: ID of the SDD collection application.
          example: dec2961f594045159195ca66e55fd6ea
        person_id:
          type: string
          description: ID of the person who created the SDD collection application.
          example: ec71f4b0456b424b97cc8be75b2c77d4
        credit_record_id:
          type: string
          description: The `credit_record_id` of the SDD collection application.
          example: 84f468eacc7a4784ba0d4b0b577a9265
        sdd_collection_id:
          type: string
          description: ID of the SDD collection.
          example: c06fbfcc98b04376a9f220c4578932e4
        account_snapshot_id:
          type: string
          description: ID of the relevant account snapshot record.
          example: 973a5f01ed7a416fadfed954c5bce782
        status:
          type: string
          description: The current status of the SDD collection application.
          example: pending
        decision:
          type: string
          description: The decision taken on the SDD collection application.
          example: OFFERED
          enum:
            - OFFERED
            - REJECTED
        rejection_reasons:
          type: array
          description: An array of reasons why the SDD collection application was rejected.
          items:
            type: string
            example: probability_of_default
            enum:
              - not_preferred_alternate_offer
              - probability_of_default
        created_at:
          type: string
          format: date-time
          description: UTC timestamp from when the application was created.
          example: '2021-10-20T14:45:54Z'
        limit:
          $ref: '#/components/schemas/amount'
    create_sdd_collection_application:
      type: object
      required:
        - credit_record_id
      properties:
        credit_record_id:
          type: string
          description: >-
            ID of the credit record (created using `POST
            /persons/{person_id}/credit_records`).
          example: 84f468eacc7a4784ba0d4b0b577a9265
    BatchTransfer:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the batch transfer.
          example: f874b3102718a4d757a6b6e4d5996078sctb
        account_id:
          type: string
          description: >-
            The account ID of the account that the batch transfer is associated
            with.
          example: 236f9042a19b65c0867e10c922b93502cacc
        status:
          type: string
          description: The status of the batch transfer.
          example: ACCEPTED
          enum:
            - AUTHORIZATION_REQUIRED
            - ACCEPTED
            - REJECTED
            - IN_PROGRESS
            - FINISHED
        transfer_type:
          type: string
          description: The `type` for all transfers of the batch.
          enum:
            - SCT
            - SCT_INSTANT
          example: SCT_INSTANT
        reference:
          type: string
          description: A reference for the batch transfer.
          example: 12f7ec0b-6762-4578-b49f-c0b1647d0e2d
        description:
          type: string
          maxLength: 140
          description: Optional description for the batch.
          example: Monthly Salary Payments
        total_amount:
          type: number
          description: The total amount of all **planned** transfers in the batch in cents.
          example: 1000
        transfers_summary:
          type: object
          description: Summary of executed and failed transfer counts within the batch.
          properties:
            executed:
              type: number
              description: >-
                Number of transfers in the batch which were executed
                (successfully).
              example: 9
            failed:
              type: number
              description: Number of transfers in the batch which failed (not successful).
              example: 1
        created_at:
          type: string
          description: UTC timestamp when the batch transfer was created.
          format: date-time
          example: '2025-04-01T13:59:52+00:00'
        started_at:
          type: string
          description: >-
            UTC timestamp when the batch transfer started the processing of all
            their transfers.
          format: date-time
          example: '2025-04-01T14:01:00+00:00'
        finished_at:
          type: string
          description: >-
            UTC timestamp when all transfers were processed and the status of
            the batch reached `FINISHED`.
          format: date-time
          example: '2025-04-01T14:10:30+00:00'
        updated_at:
          type: string
          description: UTC timestamp when the batch transfer was updated the last time.
          format: date-time
          example: '2025-04-01T14:10:30+00:00'
    Money:
      type: object
      properties:
        value:
          type: integer
          description: Amount described in smallest currency unit (e.g. cents).
          example: 1000
        currency:
          type: string
          description: The currency of the given value. Only EUR is currently supported.
          example: EUR
    ChangeRequest-Start:
      type: object
      properties:
        id:
          type: string
          description: ID of the change request.
          example: d6c778822b2d7bd3b778935bcfd0d1d3csc
        status:
          type: string
          description: The current status of the change request.
          example: CONFIRMATION_REQUIRED
          enum:
            - ACCEPTED
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - COMPLETED
            - FAILED
        updated_at:
          type: string
          description: UTC timestamp from the last time the change request was updated.
          format: date-time
          example: '2022-04-21T13:59:52+00:00'
        url:
          type: string
          description: URL to use to authorize the change request.
          example: https://example.com/authorize
    CreditTransfer:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the SEPA credit transfer.
          example: f874b3102718a4d757a6b6e4d5996078sctx
        account_id:
          type: string
          description: The account ID of the account that the transfer is associated with.
          example: 236f9042a19b65c0867e10c922b93502cacc
        status:
          type: string
          description: The status of the batch transfer.
          example: BOOKED
          enum:
            - OPEN
            - EXECUTING
            - BOOKED
            - CANCELED
            - FAILED
        type:
          type: string
          description: The `type` for all transfers of the batch.
          enum:
            - SCT
            - SCT_INSTANT
          example: SCT_INSTANT
        creditor_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        creditor_name:
          type: string
          description: The recipient's name.
          example: Hans Mustermann
        amount:
          description: The amount of the transfer transaction (in Euro cents).
          allOf:
            - $ref: '#/components/schemas/Money'
        description:
          type: string
          description: >-
            Description for the transaction, which will be visible to the
            recipient. Limited to 140 characters.
          example: Salary Payment
        end_to_end_id:
          type: string
          description: Transfer's transaction EndToEnd ID for later identification.
          example: e2178fc8b9ad4a479e269a47f90b4a43
        initiator_reference:
          type: string
          description: A unique reference for the transfer.
          example: 2603037c-e264-46c4-82e8-0d3ebc23a30f
        failure_reason:
          type: string
          description: Details in case the `status` is `FAILED`.
          example: Creditor IBAN is not SEPA instant reachable.
        batch_id:
          type: string
          description: ID of the batch (transfer) which initiated this SEPA credit transfer
          example: f874b3102718a4d757a6b6e4d5996078sctb
        schedule_id:
          type: string
          description: >-
            ID of the scheduled transfer which initiated this SEPA credit
            transfer
          example: f874b3102718a4d757a6b6e4d599607ccsto
        created_at:
          type: string
          description: UTC timestamp when the batch transfer was created.
          format: date-time
          example: '2025-04-01T13:59:52+00:00'
        updated_at:
          type: string
          description: UTC timestamp when the batch transfer was updated the last time.
          format: date-time
          example: '2025-04-01T14:10:30+00:00'
    ScheduledTransfer:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the scheduled transfer.
          example: f874b3102718a4d757a6b6e4d599607csctr
        account_id:
          type: string
          description: >-
            The account ID of the account that the scheduled transfer is
            associated with.
          example: 236f9042a19b65c0867e10c922b93502cacc
        status:
          type: string
          description: The status of the scheduled transfer.
          example: ACTIVE
          enum:
            - AUTHORIZATION_REQUIRED
            - ACTIVE
            - CANCELED
            - CONCLUDED
        transfer_type:
          type: string
          description: The type of the scheduled transfer.
          example: SCT
          enum:
            - SCT
            - SCT_INSTANT
        creditor_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        creditor_name:
          type: string
          maxLength: 70
          description: The recipient's name.
          example: Hans Mustermann
        creditor_bic:
          type: string
          description: The recipient's BIC.
          example: COBADEFFXXX
        initiator_reference:
          type: string
          description: >-
            Reference provided by the transaction initiator. It needs to be
            unique for the initiator.
          example: dsf2r3raedfs3fsf342fctrx
        amount:
          description: The amount of the scheduled transfer transaction (in Euro cents).
          allOf:
            - $ref: '#/components/schemas/Money'
        description:
          type: string
          maxLength: 140
          description: >-
            Optional description for the transaction, which will be visible to
            the recipient. Limited to 140 characters.
        active_from:
          type: string
          description: >-
            The date on which the scheduled transfer will become active. The
            first transfer will be executed on this date.
          format: date
          example: '2025-09-01'
        active_to:
          type: string
          description: >-
            The date by which the scheduled transfer will become concluded. The
            last transfer will be executed before or on this date. For one-time
            transfers this field will default to the active_from date.
          format: date
          example: '2026-09-01'
        execution_schedule:
          type: string
          description: The frequency at which to execute the scheduled transfer.
          example: MONTHLY
          enum:
            - WEEKLY
            - EVERY_TWO_WEEKS
            - MONTHLY
            - QUARTERLY
            - EVERY_SIX_MONTHS
            - ANNUALLY
            - ONE-TIME
        end_to_end_id:
          type: string
          maxLength: 35
          description: >-
            SEPA identifier provided by the transaction initiator, which will be
            routed throughout the whole payment process.
          example: END2ENDREJ
        next_execution_date:
          type: string
          description: Next execution_schedule for this scheduled transfer
          format: date
          example: '2025-10-01'
        authorizer_id:
          type: string
          description: The ID of the person who authorized the scheduled transfer.
          example: cf67beb032b2abbfc444f1641fa669bccper
        verification_of_payee_id:
          type: string
          description: >-
            The ID of the verification of payee process that was used to verify
            the recipient's name and IBAN.
          example: f874b3102718a4d757a6b6e4d599607cvope
        created_at:
          type: string
          description: UTC timestamp from the time the scheduled transfer was created.
          format: date-time
          example: '2022-04-21T13:59:52+00:00'
        updated_at:
          type: string
          description: UTC timestamp from the last time the scheduled transfer was updated.
          format: date-time
          example: '2022-04-21T13:59:52+00:00'
    LimitsResponse:
      type: object
      properties:
        daily_limit:
          type: object
          properties:
            value:
              type: integer
              description: Daily limit amount
              example: 1000000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
        daily_used:
          type: object
          properties:
            value:
              type: integer
              description: Amount used today
              example: 350000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
        daily_remaining:
          type: object
          properties:
            value:
              type: integer
              description: Remaining amount for today
              example: 650000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
        per_transaction_limit:
          type: object
          properties:
            value:
              type: integer
              description: Maximum amount per single transaction
              example: 500000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
    LimitsUpdateRequest:
      type: object
      properties:
        daily_limit:
          type: object
          properties:
            value:
              type: integer
              description: Maximum amount allowed per day
              example: 1000000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
          required:
            - value
            - unit
            - currency
        per_transaction_limit:
          type: object
          properties:
            value:
              type: integer
              description: Maximum amount allowed per transaction
              example: 500000
            unit:
              type: string
              description: Unit of the amount
              example: cents
            currency:
              type: string
              description: Currency code
              example: EUR
          required:
            - value
            - unit
            - currency
    schemas-error:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: A unique identifier for this error message.
                example: b805c37f-75e9-4445-974c-12d28e7584ee
              status:
                type: integer
                description: >-
                  The HTTP status code of the response (typically in the range
                  4xx–5xx).
                example: 400
              code:
                type: string
                description: A machine-readable representation of the error type.
                example: invalid_json
              title:
                type: string
                description: The human-readable name of the error type.
                example: Invalid JSON
              detail:
                type: string
                description: A human-readable description of the error.
                example: The provided JSON was not properly formatted.
            example:
              id: b805c37f-75e9-4445-974c-12d28e7584ee
              status: 400
              code: invalid_json
              title: Invalid JSON
              detail: The provided JSON was not properly formatted.
    internal_error:
      allOf:
        - $ref: '#/components/schemas/schemas-error'
        - type: object
          example:
            errors:
              - id: b805c37f-75e9-4445-974c-12d28e7584ee
                status: 500
                code: generic_error
                title: Generic Error
                detail: There was an error.
    VerificationOfPayeeRequest:
      type: object
      required:
        - iban
        - name
      properties:
        iban:
          type: string
          description: The International Bank Account Number (IBAN) of the payee
          example: DE89370400440532013000
        name:
          type: string
          maxLength: 140
          pattern: ^[\p{L}\p{M}\p{N}\p{P}\p{S}\s]+$
          description: The name of the payee to verify
          example: John Doe
    UsedForType:
      type: string
      description: The type of process the verification was used for.
      example: SCT
      enum:
        - SCT
        - SCT_INSTANT
        - SCHEDULED_SCT
        - SCHEDULED_SCT_INSTANT
        - BATCH_SCT
        - BATCH_SCT_INSTANT
    VerificationOfPayeeResponse:
      type: object
      required:
        - id
        - payee
        - result
        - created_at
        - expires_at
      properties:
        id:
          type: string
          description: Solaris UID for the verification of payee
          example: 123e4567e89b12d3a456426614174000veop
        payee:
          type: object
          description: The payee information that was verified
          properties:
            iban:
              type: string
              description: The IBAN of the payee
              example: DE89370400440532013000
            name:
              type: string
              description: The name of the payee
              example: John Doe
          required:
            - iban
            - name
        result:
          type: object
          description: The result of the verification of payee
          properties:
            status:
              type: string
              description: The status of the verification of payee
              enum:
                - MATCH
                - NO_MATCH
                - CLOSE_MATCH
                - VERIFICATION_NOT_POSSIBLE
                - VERIFICATION_NOT_SUPPORTED
              example: CLOSE_MATCH
            suggested_name:
              type: string
              description: Suggested correct name when there is a close match but not exact
              example: John M. Doe
          required:
            - status
        used_for:
          type: object
          description: >-
            The process the verification was used for. Will be present only if
            verification was already used for a process (e.g.
            SEPA_CREDIT_TRANSFER).
          properties:
            type:
              $ref: '#/components/schemas/UsedForType'
            id:
              type: string
              description: >-
                The unique identifier of the process (e.g. transaction
                identifier)
              example: f874b3102718a4d757a6b6e4d5996078sctx
            timestamp:
              type: string
              format: date-time
              description: The timestamp when the verification was used
              example: '2025-04-16T12:36:30Z'
        created_at:
          type: string
          format: date-time
          description: The timestamp when the verification was created
          example: '2025-04-16T12:34:56Z'
        expires_at:
          type: string
          format: date-time
          description: The timestamp when the verification expires
          example: '2025-04-16T12:39:56Z'
    model_not_found_error:
      allOf:
        - $ref: '#/components/schemas/schemas-error'
        - type: object
          example:
            errors:
              - id: b805c37f-75e9-4445-974c-12d28e7584ee
                status: 404
                code: model_not_found
                title: Model Not Found
                detail: Couldn't find 'Account' for id '??????????acc'.
    SEPA-Direct-Debit-Profile:
      type: object
      properties:
        credit_bureau_pd:
          type: number
          description: >-
            The probability of default (PD) rating assigned by the credit
            bureau. The value must be in decimals.
          example: 0.02
        date_of_report:
          type: string
          description: Date when the credit bureau report was generated.
          example: '2020-02-12'
        credit_bureau_name:
          type: string
          description: >-
            The name of the credit bureau that generated the report. Possible
            values are `SCHUFA` and `CREDITFORM`.
          enum:
            - CREDITFORM
            - SCHUFA
        founding_date:
          type: string
          description: (For businesses only) Date when the company was founded.
          example: '2018-01-01'
        terms_and_conditions_signed_at:
          type: string
          description: >-
            The timestamp of the moment when the business customer signed the
            terms and conditions for the partner's SEPA Direct Debit product.
          example: 20-01-01T00:00:00Z
    Solaris-Decorators-Money:
      type: object
      properties:
        value:
          type: integer
          description: Amount in cents
          example: 5000
        unit:
          type: string
          description: Money unit (cents)
          example: cents
        currency:
          type: string
          description: Currency
          example: EUR
    Solaris-Decorators-DirectDebitProfile:
      type: object
      properties:
        id:
          type: string
          description: ID of the SEPA Direct Debit profile.
          example: 3cab044c-edf8-4443-841d-489547177469
        status:
          type: string
          description: >-
            Indicates whether or not the SEPA Direct Debit profile has been
            accepted and whether or not it is active.
          enum:
            - ACCEPTED
            - REJECTED
            - ACTIVE
            - BLOCKED
            - EXPIRED
          example: ACCEPTED
        status_reasons:
          type: string
          description: Associated reasoning behind `REJECTED` and `BLOCKED` statuses.
        collection_limit:
          type: object
          description: The available collection limit for the profile.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-Money'
        single_sdd_limit:
          type: object
          description: >-
            The maximum limit allowed to be collected in a single SDD for this
            profile.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-Money'
    Error404-2:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '404'
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        detail:
          type: string
          example: Couldn't find 'Account' for id 'DE24112233445566'.
    Error:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: build_pagination_headers_failure
        title:
          type: string
          example: Failed to build pagination headers.
        details:
          type: string
          example: Cannot connect to database.
    SEPA-Direct-Debit-Transaction-Mandate:
      type: object
      description: Object containing the direct debit mandate information.
      properties:
        reference:
          type: string
          description: Reference of the mandate. Must be unique to the creditor identifier.
          example: tf2df3ceac0e384352b78cb6987d1d987
        creditor_identifier:
          type: string
          description: >-
            Unique reference that identifies a party collecting payments under
            the SEPA Direct Debit Scheme, within and across 32 countries. For
            more information, see [the Deutsche Bundesbank's definition of
            Creditor
            Identifier](https://www.bundesbank.de/en/tasks/payment-systems/services/sepa/creditor-identifier/creditor-identifier-626704).
          example: DE98ZZZ09999999999
        scheme:
          type: string
          description: The scheme of the mandate. If not instructed otherwise, use `CORE`.
          enum:
            - CORE
          example: CORE
        sequence_type:
          type: string
          description: >-
            Sequence type of this mandate. Possible values are `RECURRING` and
            `ONE_OFF`.
          enum:
            - RECURRING
            - ONE_OFF
          example: ONE_OFF
        signature_date:
          type: string
          description: Date when the debtor signed the mandate to be released.
          example: '2016-02-02'
        debtor_name:
          type: string
          description: >-
            The name of the debtor. Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: Hans Mustermann
        debtor_iban:
          type: string
          description: IBAN of the debtor's account.
          example: DE32110101001000000029
        debtor_bic:
          type: string
          description: BIC of the debtor's account.
          example: COBADEFFXXX
    SEPA-Direct-Debit-Transaction:
      type: object
      properties:
        reference:
          type: string
          description: >-
            Unique reference for the transaction, generated by the partner. Acts
            as an idempotency key.
          example: '1612646471'
        amount:
          type: object
          description: >-
            Object containing the amount to be debited from the specified
            account.
          properties:
            value:
              type: integer
            currency:
              type: string
              enum:
                - EUR
            unit:
              type: string
              enum:
                - cents
          example:
            value: 1000
            currency: EUR
            unit: cents
        description:
          type: string
          description: >-
            Description of the transaction, which can be seen by the recipient.
            Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: Example transaction
        collection_date:
          type: string
          description: >-
            Date of the SEPA Direct Debit collection. Default value is TODAY +
            1. The latest possible date is 14 calendar days in the future.
          example: '2016-02-11'
        mandate:
          $ref: '#/components/schemas/SEPA-Direct-Debit-Transaction-Mandate'
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier, which is routed through the entire payment process.
            Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: DDHHDHG333243
    SEPA-Direct-Debit-Transaction-Response:
      type: object
      properties:
        id:
          type: string
          description: ID of the SEPA Direct Debit transaction.
          example: f6b1c9d2b9938bc6228d3db618f2fe3bdtx
        status:
          type: string
          description: Status of the created SEPA Direct Debit transaction.
          example: accepted
        reference:
          type: string
          description: >-
            A unique reference for the transaction generated by you. Acts as an
            idempotency key.
          example: '1612646471'
        amount:
          type: object
          description: >-
            Object containing the amount to be debited from the specified
            account.
          properties:
            value:
              type: integer
            currency:
              type: string
              enum:
                - EUR
            unit:
              type: string
              enum:
                - cents
          example:
            value: 1000
            currency: EUR
            unit: cents
        description:
          type: string
          description: >-
            Description of the transaction, which can be seen by the recipient.
            Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: Example transaction
        collection_date:
          type: string
          description: >-
            Date of the SEPA Direct Debit collection. Default value is TODAY +
            1. The latest possible date is 14 calendar days in the future.
          example: '2016-02-11'
        mandate:
          $ref: '#/components/schemas/SEPA-Direct-Debit-Transaction-Mandate'
        end_to_end_id:
          type: string
          description: >-
            SEPA identifier, which is routed through the entire payment process.
            Please note the [SEPA character
            restrictions.](https://docs.solarisgroup.com/api-reference/standards/#sepa-characters)
          example: DDHHDHG333243
        created_at:
          type: string
          description: UTC timestamp from when the transaction was created.
          example: '2022-07-08T10:42:29.000Z'
        updated_at:
          type: string
          description: UTC timestamp from when the transaction was updated.
          example: '2022-07-08T10:42:29.000Z'
    pending_sdds:
      type: array
      description: An array containing all the pending SDD transactions for an account.
      items:
        type: object
        properties:
          description:
            description: >-
              A description for the SDD transaction, which is visible to the
              customer.
            type: string
            example: inv:123cust:456
          purpose_code:
            description: Purpose of the transaction.
            type: string
            example: SALA
          end_to_end_id:
            description: Reference for transaction.
            type: string
            example: REFX123X123X456
          transaction_id:
            description: >-
              Unique ID of the transaction. Same as the transaction ID in the
              booking resource.
            type: string
            example: 49a57d88276df2e440cdd2e7eec291ctrx
          valuta_date:
            description: The transaction date.
            type: string
            format: date
            example: '2024-12-12'
          amount:
            type: object
            description: The amount of the SDD transaction in Euro cents.
            properties:
              value:
                type: integer
                example: 800
              unit:
                type: string
                example: cents
              currency:
                type: string
                example: EUR
          creditor_name:
            description: The name of the creditor.
            type: string
            example: Alice Musterfrau
          creditor_iban:
            description: The creditor IBAN.
            type: string
            example: DE84110101019999999999
          creditor_bic:
            description: The creditor BIC.
            type: string
            example: BANKDEBBXXX
          debtor_name:
            description: The name of the debtor.
            type: string
            example: Bob Mustermann
          debtor_iban:
            description: The debtor IBAN.
            type: string
            example: DE75110101013333333333
          debtor_bic:
            description: The debtor BIC.
            type: string
            example: SOBKDEB2XXX
          requested_collection_date:
            type: string
            format: date
            description: The date on which the SDD transaction will be collected.
            example: '2024-12-10'
          collection_sequence:
            type: string
            example: FRST
            description: The sequence of the SDD collection.
            enum:
              - FRST
              - RCUR
              - OOFF
              - FNAL
          mandate_scheme:
            type: string
            example: CORE
            enum:
              - CORE
              - B2B
          mandate_creditor_id:
            type: string
            description: The unique ID of the creditor mandate.
            example: DE00ZZZ00000000005
          mandate_date_of_signature:
            type: string
            description: The date on which the customer signed the SDD mandate.
            format: date
            example: '2024-12-10'
          mandate_reference:
            type: string
            description: Reference value for the SDD mandate.
            example: M000000001
    Solaris-Decorators-DirectDebitRemainingLimit:
      type: object
      properties:
        remaining_limit:
          type: object
          description: The remaining limit of SEPA Direct Debit collection for this month.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-Money'
    Solaris-Decorators-DirectDebitProfileTemplate:
      type: object
      properties:
        id:
          type: string
          description: ID of the SEPA Direct Debit profile template.
        monthly_collection_limit:
          type: object
          description: Defines how much the customer can collect per month.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-Money'
        required_deposit:
          type: object
          description: Defines the minimum amount required on the deposit account.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-Money'
  parameters:
    pathIBAN:
      name: iban
      in: path
      required: true
      schema:
        type: string
      description: The recipient's IBAN.
    pathAccountID:
      name: account_id
      in: path
      required: true
      schema:
        type: string
      description: >-
        The ID of the customer's account from which the SCT Instant will be
        transferred.
    person_id:
      name: person_id
      in: path
      required: true
      schema:
        type: string
    account_id:
      name: account_id
      in: path
      required: true
      schema:
        type: string
    page_size:
      name: page[size]
      in: query
      description: Specifies the number of resources to return in each page of results.
      schema:
        type: integer
        default: 10
    page_number:
      name: page[number]
      in: query
      description: Specifies the number of pages of results to return.
      schema:
        type: integer
        default: 1
    filter_id:
      name: filter[id]
      in: query
      description: Filter the results by the ID of the resource.
      schema:
        type: string
    filter_limit_type:
      name: filter[limit_type]
      in: query
      description: Filter the results by the limit type.
      schema:
        type: string
    limit_type:
      name: limit_type
      in: query
      required: true
      description: Specifies the limit type to return.
      schema:
        type: string
    comment:
      name: comment
      in: query
      schema:
        type: string
    filter_status:
      name: filter[status]
      in: query
      description: Filter the results by status.
      schema:
        type: string
    sdd_collection_application_id:
      name: sdd_collection_application_id
      in: path
      required: true
      schema:
        type: string
    account_id-2:
      name: account_id
      in: path
      description: Unique identifier of a customer's account.
      schema:
        type: string
      required: true
      example: e48c29b85992b8772eb7ddd518490920cacc
  responses:
    400ClientError:
      description: There was an error on the client side.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/InvalidRequestError'
    403Forbidden:
      description: You are not authorized to perform this action.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/ForbiddenError'
    404ModelNotFound:
      description: The model could not be found.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/ModelNotFound'
    500InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/InternalServerError'
    unauthorized_error:
      description: You are not authorized to perform this action.
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error'
              - type: object
                example:
                  errors:
                    - id: 7aaf4dfb-b7cd-4a50-a1d2-fad0e19624ef
                      status: 403
                      code: unauthorized_action
                      title: Unauthorized Action
                      detail: Unauthorized action is not allowed.
    not_found_error:
      description: The resource could not be found.
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/error'
              - type: object
                example:
                  errors:
                    - id: 93537ebd-c038-4a56-aa1b-17e540f57c3a
                      status: 404
                      code: model_not_found
                      title: Model Not Found
                      detail: Couldn't find 'XXX' for id.
    sdd_collection_applications:
      description: The operation was successful.
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/sdd_collection_application_response'
    show_sdd_collection:
      description: The operation was successful.
      content:
        application/json:
          schema:
            type: object
            properties:
              id:
                type: string
                description: ID of the SDD collection.
                example: c06fbfcc98b04376a9f220c4578932e4
              status:
                type: string
                description: The status of the SDD collection.
                example: created
                enum:
                  - created
                  - interest_conditions_set
                  - limit_set
                  - revoked
                  - terminated
              limit:
                description: The amount of the account limit.
                allOf:
                  - $ref: '#/components/schemas/amount'
  headers:
    total:
      description: Total number of resources to return.
      schema:
        type: string
        example: '123'
    per_page:
      description: Number of resources to return in each page.
      schema:
        type: string
        example: '10'
    link:
      description: Links to first/previous/next/last pages.
      schema:
        type: string
        example: >
          <url?page[size]=10&page[number]=1>; rel="first",
          <url?page[size]=10&page[number]=13>; rel="last",
          <url?page[size]=10&page[number]=2>; rel="next",
          <url?page[size]=10&page[number]=4>; rel="prev"
  requestBodies:
    create_sdd_collection_limit:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/create_sdd_collection_limit'
    create_sdd_collection_application:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/create_sdd_collection_application'
    attach_sdd_collection:
      content:
        application/json:
          schema:
            required:
              - account_id
            type: object
            properties:
              account_id:
                type: string
                description: ID of the relevant account
    link_account_snapshot:
      content:
        application/json:
          schema:
            required:
              - account_snapshot_id
            type: object
            properties:
              account_snapshot_id:
                type: string
                description: >-
                  ID of the account snapshot to attach to the SDD collection
                  application
    SEPA-Direct-Debit-Profile-Request:
      description: >-
        Details of the SEPA Direct Debit profile to be assigned to the
        freelancer.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SEPA-Direct-Debit-Profile'
    SEPA-Direct-Debit-Transaction-Request:
      description: Details of the SEPA Direct Debit transaction to be executed.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SEPA-Direct-Debit-Transaction'
