openapi: 3.0.1
info:
  title: Transactions
  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}/cash_operations:
    post:
      tags:
        - Cash Operations (Viacash)
      summary: Request a cash operation
      description: >-
        This method requests the creation of a cash operation barcode for the
        customer to present at the POS of a participating Viacash retailer. Note
        that this endpoint requires a **change request.**<br> Once the customer
        confirms the change request, Viafintech processes the request and then
        the Solaris API returns a payload containing an [EAN-13
        barcode](https://www.cognex.com/resources/symbologies/1-d-linear-barcodes/ean-13-barcodes)
        with an expiration date and a status.<br> Each person may only have one
        active (i.e., PENDING/CREATED) cash operation request of each type
        (payin/payout) at a time.<br> Ensure that the amount of the cash
        operation falls within the allowed range and does not exceed any daily
        limits. See the [Viacash
        documentation](https://docs.solarisgroup.com/guides/digital-banking/viacash/)
        for more information about limits.
      operationId: solaris_account_cash_service_cash_operations#create
      parameters:
        - name: person_id
          in: path
          description: >-
            ID of the person initiating the cash operation. The person must be
            authorized to perform cash operations on the specified account.
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          description: >-
            ID of the Solaris account which will back the cash operation. The
            account must be active, must not be in close monitoring, and must
            have no credit or debit locks.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCashOperationRequest'
            example:
              idempotency_key: 8695a767-2d7b-460b-9c4c-dceb82fb6566
              reference: de430446-1da7-4adf-b440-be6005b5cf9f
              provider: barzahlen
              type: PAYIN
              amount:
                currency: EUR
                unit: cents
                value: 5000
        required: true
      responses:
        '200':
          description: >-
            Cash operation creation initiated successfully. The customer must
            confirm the change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequest'
              example:
                change_request_id: de430446-1da7-4adf-b440-be6005b5cf9f
                id: 8695a767-2d7b-460b-9c4c-dceb82fb6566
        '400':
          description: >-
            One of the following problems occurred: the person's status is
            invalid, the account's status is invalid, the cash operation exceeds
            the daily transfer limit, the customer has too many active cash
            operations, or the request properties have invalid values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Account status is not active:
                  description: >-
                    Accounts with a status value of `INACTIVE` cannot be used
                    for cash operations.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person 587d8a5d-20c0-4a2f-852c-361787ac2e28 account
                          d4406700-fd6e-4f1a-a356-82de98dd4647 is not active
                          INACTIVE
                Account is blocked:
                  description: Blocked accounts cannot be used for cash operations.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person 587d8a5d-20c0-4a2f-852c-361787ac2e28 account
                          d4406700-fd6e-4f1a-a356-82de98dd4647 is blocked
                Account is in close monitoring:
                  description: >-
                    Accounts in close monitoring cannot be used for cash
                    operations.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person 587d8a5d-20c0-4a2f-852c-361787ac2e28 account
                          d4406700-fd6e-4f1a-a356-82de98dd4647 is in close
                          monitoring state
                Account is debit blocked:
                  description: >-
                    The account has a debit block, so it cannot be used for
                    PAYOUT operations. However, it may still be available for
                    PAYIN operations.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person %s account d4406700-fd6e-4f1a-a356-82de98dd4647
                          is debit blocked
                Account is credit blocked:
                  description: >-
                    The account has a credit block, so it cannot be used for
                    PAYIN operations. However, it may still be available for
                    PAYOUT operations.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person %s account d4406700-fd6e-4f1a-a356-82de98dd4647
                          is credit blocked
                Account does not have sufficient funds.:
                  description: >-
                    The account cannot be used for a PAYOUT because the account
                    balance is below the amount specified in the request.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: Insufficient funds
                Idempotency key condition violated:
                  description: 'The given idempotency key has already been used. '
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Idempotency conditions violated: a different operation
                          with idempotency key
                          f11de2aa-22de-4e8f-b840-c23da3a598eb already exists
                          with different data.
        '403':
          description: >-
            Unauthorized action. See the examples for various scenarios in which
            the API would return a `403` error for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Person is not authorized on the account:
                  description: >-
                    The person is not authorized to conduct cash operations
                    using this account.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: unauthorized_action
                        title: Unauthorized Action
                        detail: >-
                          Unauthorized action 'POST' is not allowed for
                          '(Solaris::Account)'
                          1c641102-b50d-4565-9e31-fdef7246e9e8.
                Internal provider limit for PAYOUT operations in last 24 hours reached:
                  description: >-
                    The customer has already reached the limit of how much money
                    they can withdraw in a 24 hour period using PAYOUT
                    operations. The customer must wait until the next 24 hour
                    interval to retry the cash operation. Please refer to your
                    partner configuration for the exact value of this limit. 
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          The operation would cross an internal provider limit
                          for PAYOUT operations.
                Too many active concurrent operations:
                  description: >-
                    The API will return this error if the customer attempts
                    another PAYIN or PAYOUT when they already have a PAYIN or
                    PAYOUT with the status `CREATED`. Customers may only have
                    one active operation of each type at a time.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 403
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          Person 70fa983c-6c22-49f3-b9ad-69af81668494 already
                          has 1 active operation(s) of type PAYIN.
                Min/max limit per cash operation violated:
                  description: >-
                    The requested operation either does not meet the minimum
                    amount or exceeds the maximum amount for a cash operation.
                    Please refer to your partner configuration for these exact
                    values. The default minimum is 50 EUR, and the default
                    maximum is 300 EUR.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 403
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          The operation is out of min[50] - max[999] range for
                          PAYOUT cash operations for person
                          70fa983c-6c22-49f3-b9ad-69af81668494.
                Max limit per person per 24 hours per payment type violated:
                  description: >-
                    The requested operation exceeds the total amount of money
                    that customers may pay in OR pay out in a 24-hour period.
                    The default limit is 999.99 EUR; please refer to your
                    partner configuration.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 403
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          The operation would cross the limit 999.99 for PAYIN
                          cash operations for person
                          70fa983c-6c22-49f3-b9ad-69af81668494.
                Max limit of total transferred per person per 24 hours violated:
                  description: >-
                    The requested operation exceeds the total amount of money
                    that customers may pay in AND pay out in a 24-hour period.
                    The default limit is 999.99 EUR; please refer to your
                    partner configuration.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 403
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          The operation would cross the total limit 999.99 for
                          cash operations for person
                          70fa983c-6c22-49f3-b9ad-69af81668494.
                Max limit of per account per 24 hours per payment type violated:
                  description: >-
                    The requested operation exceeds the limit for the total
                    amount of money that may be paid in or paid out for a
                    specific account in a 24 hour period.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 403
                        code: validation_error
                        title: Validation Error
                        detail: >-
                          The operation would cross the limit 4999.99 for PAYIN
                          cash operations for account
                          70fa983c-6c22-49f3-b9ad-69af81668494.
        '404':
          description: The person or account cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef was not
                      found
        '429':
          description: >-
            You have reached a rate limit of maximum created transactions per
            time period.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 429
                    code: validation_error
                    title: Validation Error
                    detail: >-
                      You reached a rate limit of max. created transactions per
                      time period.
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_account_cash_service_cash_operations#create
  /v1/cash_operations/{cash_operation_id}:
    get:
      tags:
        - Cash Operations (Viacash)
      summary: Retrieve a cash operation
      description: Returns the cash operation specified in the request URL.
      operationId: solaris_account_cash_service_cash_operations#find
      parameters:
        - name: cash_operation_id
          in: path
          description: ID of the cash operation.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Cash operation fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CashOperation'
              example:
                id: b56c770a-4ed8-4542-9a51-c4b2c70c09ee
                barcode_ean_13: '4051234567890'
                expires_at: '2021-10-21T14:36:58.207Z'
                status: PENDING
                reference_id: 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef
                person_id: 587d8a5d-20c0-4a2f-852c-361787ac2e28
        '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 cash operation cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_account_cash_service_cash_operations#find
    delete:
      tags:
        - Cash Operations (Viacash)
      summary: Cancel a cash operation
      description: >-
        Cancels the cash operation specified in the request URL. You can only
        use this endpoint to cancel cash operations with a status of `PENDING`
        or `CREATED`. This method will trigger the
        `CASH_OPERATION_STATUS_CHANGED` webhook.
      operationId: solaris_account_cash_service_cash_operations#delete
      parameters:
        - name: cash_operation_id
          in: path
          description: ID of the cash operation to cancel.
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Cancellation request accepted.
        '400':
          description: >-
            The cash operation does not have a status value of `PENDING` or
            `CREATED` and therefore cannot be canceled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Account status is not active:
                  description: >-
                    The cash operation does not have a status value of `PENDING`
                    or `CREATED` and therefore cannot be canceled.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: invalid_model
                        title: Invalid Model
                        detail: >-
                          Cash operation status cannot be set from PAID to
                          CANCELED.
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The cash operation cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_account_cash_service_cash_operations#delete
    patch:
      tags:
        - Cash Operations (Viacash)
      summary: (Sandbox only) Test cash operation process
      description: >-
        This endpoint allows you to manually update the status of a cash
        operation. You may only use this endpoint on Sandbox. You may only use
        this endpoint on cash operations with a `status` of `CREATED`, and you
        may only supply the values `PAID`, `CANCELED`, or `EXPIRED`.
      operationId: solaris_account_cash_service_cash_operations#emulate-events
      parameters:
        - name: cash_operation_id
          in: path
          description: ID of the cash operation.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCashOperationRequest'
            example:
              status: PAID
        required: true
      responses:
        '204':
          description: Cash operation patched successfully.
          content:
            '*/*':
              schema:
                type: object
        '400':
          description: >-
            The cash operation does not have a status value of `CREATED` and
            therefore cannot be updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              examples:
                Invalid model:
                  description: >-
                    The cash operation does not have a status value of `CREATED`
                    and therefore cannot be updated.
                  value:
                    errors:
                      - id: de430446-1da7-4adf-b440-be6005b5cf9f
                        status: 400
                        code: invalid_model
                        title: Invalid Model
                        detail: Not allowed new slip status CREATED.
        '404':
          description: The cash operation cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_account_cash_service_cash_operations#emulate-events
  /v1/accounts/{account_id}/cash_operations:
    get:
      tags:
        - Cash Operations (Viacash)
      summary: List all cash operations for an account
      description: >-
        Returns a paginated list of all associated with the customer account
        specified in the request URL.
      operationId: solaris_account_cash_service_cash_operations#all
      parameters:
        - name: account_id
          in: path
          description: ID of the account whose cash operations should be returned.
          required: true
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter the results by the status of the cash operation.
          required: false
          schema:
            type: string
            enum:
              - PENDING
              - CREATED
              - PAID
              - EXPIRED
              - CANCELLED
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: integer
            default: 1
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: The operation was successful.
          headers:
            per-page:
              description: The amount of cash operations in a single page.
              style: simple
              schema:
                type: string
            total:
              description: The total amount of cash operations returned.
              style: simple
              schema:
                type: string
            link:
              description: Links to the first/previous/next/last page.
              style: simple
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CashOperation'
              example:
                - id: b56c770a-4ed8-4542-9a51-c4b2c70c09ee
                  barcode_ean_13: '4051234567890'
                  expires_at: '2021-10-21T14:36:58.207Z'
                  status: PENDING
                  reference_id: 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef
                  person_id: 587d8a5d-20c0-4a2f-852c-361787ac2e28
                - id: 1c641102-b50d-4565-9e31-fdef7246e9e8
                  barcode_ean_13: '4051434567830'
                  expires_at: '2021-10-21T14:00:58.207Z'
                  status: PAID
                  reference_id: 70fa983c-6c22-49f3-b9ad-69af81668494
                  person_id: 587d8a5d-20c0-4a2f-852c-361787ac2e28
        '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 account cannot be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id 34abaa5a-cd7a-4d1c-80e7-e3d48eb8efef was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_account_cash_service_cash_operations#all
  /v1/clearing_profiles:
    get:
      tags:
        - Clearing transactions
      summary: Index clearing profiles
      description: Returns an array containing all clearing profiles under your control.
      parameters:
        - name: Solaris-Partner-Id
          in: header
          required: true
          description: Your partner ID.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-ClearingProfile
        '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'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_clearing_profile#all
  /v1/accounts/{account_id}/credit_clearing_transactions:
    post:
      tags:
        - Clearing transactions
      summary: Create a credit clearing transaction
      description: >-
        Creates a credit clearing transaction on the account specified in the
        request URL. The funds will be sent **from** this account **to** the
        account defined in the clearing profile sent 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:
                - amount
                - booking_type
                - clearing_profile_id
              type: object
              properties:
                amount:
                  description: The amount to withdraw from the account in the URL.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                booking_type:
                  description: >-
                    The booking type to use for the transaction. Must match one
                    of the booking types defined in the clearing profile.
                  allOf:
                    - $ref: >-
                        #/components/schemas/Solaris-Enums-BookingType-CreditClearingTransactions
                description:
                  type: string
                  description: >-
                    A description for the credit clearing transaction, which
                    will be visible to the account holder.
                clearing_profile_id:
                  type: string
                  description: >-
                    ID of the clearing profile to use for the clearing
                    transaction.
                reference:
                  type: string
                  description: Optional unique transaction reference.
                initiator_reference:
                  type: string
                  description: Optional unique initiator reference.
              example:
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                booking_type: INTERNAL_TRANSFER
                description: Example clearing transaction
                clearing_profile_id: 1c0eda0b559825ef456b21d81f4ee962pacp
                reference: ert123456789ert
                initiator_reference: 2603037c-e264-46c4-82e8-0d3ebc23a30f
        required: false
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $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_account_credit_clearing_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/debit_clearing_transactions:
    post:
      tags:
        - Clearing transactions
      summary: Create debit clearing transaction
      description: >-
        Creates a debit clearing transaction to the account specified in the
        request URL. Funds will be drawn **from** the account defined in the
        clearing profile **to** the account in the URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - amount
                - booking_type
                - clearing_profile_id
              type: object
              properties:
                amount:
                  type: object
                  description: Amount
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                booking_type:
                  type: string
                  description: >-
                    The booking type to use for the debit clearing transaction.
                    Must match one of the booking types defined in the clearing
                    profile.
                description:
                  type: string
                  description: A description for the transaction.
                clearing_profile_id:
                  type: string
                  description: >-
                    ID of the clearing profile to use for the debit clearing
                    transaction.
                reference:
                  type: string
                  description: A unique reference for the transaction.
                initiator_reference:
                  type: string
                  description: Optional unique initiator reference for the transaction.
              example:
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                booking_type: INTEREST_ACCRUED
                description: Example clearing transaction
                clearing_profile_id: 1c0eda0b559825ef456b21d81f4ee962pacp
                reference: ert123456789ert
                initiator_reference: 2603037c-e264-46c4-82e8-0d3ebc23a30f
        required: false
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Account-ClearingTransaction
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_debit_clearing_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/clearing_transactions/{clearing_transaction_id}:
    get:
      tags:
        - Clearing transactions
      summary: Get a clearing transaction
      description: Returns the clearing transaction specified in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: clearing_transaction_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-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_account_clearing_transaction#find
  /v1/persons/{person_id}/accounts/{account_id}/topups:
    post:
      tags:
        - Instant Top-Ups
      summary: Create a Top-Up
      description: >
        Creates a Top-Up for the person's account specified in the request URL.

        Calling this endpoint will begin the payment process with Solaris and
        its

        acquiring partner (e.g., Stripe).<br> Note that you must provide the

        returned `client_secret` to the Acquirer's SDK (e.g., the Stripe

        `PaymentIntent`).
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
        - $ref: '#/components/parameters/pathAccountID'
      requestBody:
        description: The content of the request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                      description: The amount of the Top-Up, in Euro cents.
                      example: 10000
                    currency:
                      type: string
                      description: The currency of the Top-Up. Only `EUR` is supported.
                      enum:
                        - EUR
                payment_method_id:
                  type: string
              required:
                - amount
      responses:
        '201':
          description: The Top-Up was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topup'
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_account_topup#create
    get:
      tags:
        - Instant Top-Ups
      summary: Index Top-Ups for a person's account
      description: >
        Returns an array containing all Top-Ups for the person's account
        specified

        in the request URL.
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
        - $ref: '#/components/parameters/pathAccountID'
        - name: filter[status]
          in: query
          description: Filter the results by the status of the Top-Up.
          required: false
          schema:
            $ref: '#/components/schemas/TopupStatusValues'
        - name: filter[instruction_id]
          in: query
          description: Filter the results by the instruction_id
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Topup'
          headers:
            Total:
              $ref: '#/components/headers/total'
            Per-Page:
              $ref: '#/components/headers/per_page'
            Link:
              $ref: '#/components/headers/link'
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_account_topup#list
  /v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}:
    get:
      tags:
        - Instant Top-Ups
      summary: Retrieve a Top-Up
      description: |
        Returns the Top-Up with the ID specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
        - $ref: '#/components/parameters/pathAccountID'
        - $ref: '#/components/parameters/pathTopupID'
      responses:
        '200':
          description: The Top-Up was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topup'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_account_topup#read
  /v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}/cancel:
    post:
      tags:
        - Instant Top-Ups
      summary: Cancel a Top-Up
      description: >
        Cancels the Top-Up specified in the request URL. Specify the reason for
        the

        cancellation in the request body.
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
        - $ref: '#/components/parameters/pathAccountID'
        - $ref: '#/components/parameters/pathTopupID'
      requestBody:
        description: The content of the request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                cancellation_reason:
                  type: string
                  enum:
                    - duplicate
                    - fraudulent
                    - requested_by_customer
                    - abandoned
                  description: The reason for cancellation.
                  example: abandoned
              required:
                - cancellation_reason
      responses:
        '200':
          description: The Top-Up was cancelled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Topup'
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_account_topup#cancel
  /v1/persons/{person_id}/topups/payment_methods:
    get:
      tags:
        - Instant Top-Up Payment Methods
      summary: Index payment methods for a person
      description: >
        Returns an array containing all payment methods that have been stored
        for

        the person specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    person_id:
                      type: string
                      description: Unique ID of the person.
                      example: 18de883f507d49b8a074519c73cecper
                    payment_method_id:
                      type: string
                      description: Unique ID of the payment method.
                      example: 53165f2b3a8846bd9fd344342a6093d6
                    card_last4:
                      type: string
                      description: >-
                        The last four digits of the card associated with the
                        payment method.
                      example: '7654'
                    card_brand:
                      type: string
                      description: >-
                        The issuer of the card associated with the payment
                        method. Solaris pulls this information directly from the
                        Acquirer's SDK.
                      example: mastercard
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_payment_method#list
  /v1/persons/{person_id}/topups/payment_methods/{payment_method_id}:
    delete:
      tags:
        - Instant Top-Up Payment Methods
      summary: Delete a payment method
      description: |
        Deletes the payment method with the ID specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/pathPersonID'
        - $ref: '#/components/parameters/pathPaymentMethodID'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  payment_method_id:
                    type: string
                    description: ID of the deleted payment method.
                    example: 53165f2b3a8846bd9fd344342a6093d6
        '400':
          $ref: '#/components/responses/400ClientError'
        '403':
          $ref: '#/components/responses/403Unauthorized'
        '404':
          $ref: '#/components/responses/404ModelNotFound'
        '500':
          $ref: '#/components/responses/500InternalServerError'
      security:
        - oauth2:
            - acquirer_top_up_service_person_payment_method#delete
  /v1/persons/{person_id}/accounts/{account_id}/transactions/intra_customer_transfer:
    post:
      tags:
        - Intra-customer transfers
      summary: Create intra-customer transfer
      description: >-
        Initiates a transaction between the main- and sub-account of a single
        customer. This transaction does **not** require a change request. Both
        the account owner and any authorized person on the account may initiate
        this type of transaction.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
                - amount
                - recipient_iban
                - reference
              type: object
              properties:
                reference:
                  type: string
                  description: >-
                    UUID reference for the transaction. Used as an idempotency
                    key.
                recipient_iban:
                  type: string
                  description: >-
                    The recipient account's IBAN. Note that both accounts must
                    belong to the same person.
                description:
                  type: string
                  description: >-
                    A text description for the transfer, which will be visible
                    to the customer.
                amount:
                  type: object
                  description: The amount to transfer.
                  properties:
                    value:
                      type: integer
                    currency:
                      type: string
              example:
                reference: 73a46685-8ac6-4fff-9d36-55288523d879
                recipient_iban: DE32110101001000000029
                description: Example transaction
                amount:
                  value: 1000
                  currency: EUR
        required: false
      responses:
        '200':
          description: This transaction already exists.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IntraCustomerTransaction
        '201':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IntraCustomerTransaction
        '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_intra_customer_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/transactions/intra_emoney_payin:
    post:
      tags:
        - Prepaid accounts
      summary: Top up a prepaid card
      description: >-
        Tops up a prepaid card by transferring money from an
        `EMONEY_PREPAID_POOLING` account to an `EMONEY_PREPAID` account.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
                - amount
                - recipient_iban
                - reference
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                    currency:
                      type: string
                  description: The amount to top up the prepaid card.
                reference:
                  type: string
                  description: Optional unique reference. Used as idempotency key.
                  format: uuid
                recipient_iban:
                  type: string
                  description: IBAN of the recipient.
                description:
                  type: string
                  description: >-
                    Optional details about the corresponding transaction. 
                    Limited to 140 characters.
              example:
                amount:
                  value: 1000
                  currency: EUR
                recipient_iban: DE32110101001000000029
                reference: 73a46685-8ac6-4fff-9d36-55288523d879
                description: TopUp of employee account
        required: false
      responses:
        '200':
          description: This transaction already exists.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '201':
          description: Transaction has been created
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '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_prepaid_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/transactions/intra_emoney_payout:
    post:
      tags:
        - Prepaid accounts
      summary: Pay out from prepaid card to prepaid pooling account
      description: >-
        Pays out money from a prepaid card by transferring money from an
        `EMONEY_PREPAID` account to an `EMONEY_PREPAID_POOLING` account.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
                - amount
                - recipient_iban
                - reference
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                    currency:
                      type: string
                  description: The amount to pay out.
                reference:
                  type: string
                  description: Optional unique reference. Used as idempotency key.
                  format: uuid
                recipient_iban:
                  type: string
                  description: IBAN of the recipient.
                description:
                  type: string
                  description: >-
                    Optional details about the corresponding transaction.
                    Limited to 140 characters.
              example:
                amount:
                  value: 1000
                  currency: EUR
                recipient_iban: DE32110101001000000029
                reference: 73a46685-8ac6-4fff-9d36-55288523d879
                description: Removing money from employee account
        required: false
      responses:
        '200':
          description: This transaction already exists.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '201':
          description: Transaction has been created
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '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_prepaid_transaction#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/transactions/intra_emoney_transfer:
    post:
      tags:
        - Prepaid accounts
      summary: Create prepaid account credit transfer
      description: >-
        Transfers money between an `EMONEY_PREPAID_POOLING` and an
        `EMONEY_PARKING` account.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              required:
                - amount
                - recipient_iban
                - reference
              type: object
              properties:
                amount:
                  type: object
                  properties:
                    value:
                      type: integer
                    currency:
                      type: string
                  description: The amount to transfer.
                reference:
                  type: string
                  description: Optional unique reference. Used as idempotency key.
                  format: uuid
                recipient_iban:
                  type: string
                  description: IBAN of the recipient.
                description:
                  type: string
                  description: >-
                    Optional details about the corresponding transaction.
                    Limited to 140 characters.
              example:
                amount:
                  value: 1000
                  currency: EUR
                recipient_iban: DE32110101001000000029
                reference: 73a46685-8ac6-4fff-9d36-55288523d879
                description: TopUp of Employee account
        required: false
      responses:
        '200':
          description: This transaction already exists.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '201':
          description: Transaction has been created
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-PrepaidTransaction
        '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_prepaid_transaction#create
      x-codegen-request-body-name: body
  /v1/partner_remittances:
    get:
      tags:
        - Partner remittances
      summary: Index partner remittances
      description: >-
        Returns an array containing all partner remittances for all of 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[account_id]
          in: query
          description: Filter the results by account ID.
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter the results by remittance status.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-PartnerRemittance
        '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'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_partner_remittance#all
  /v1/accounts/{account_id}/partner_remittances:
    post:
      tags:
        - Partner remittances
      summary: Create a partner remittance
      description: >-
        Creates a partner remittance transaction for the account specified in
        the request URL. Note that this endpoint requires a **change request.**
      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:
                receiver_first_name:
                  type: string
                  description: The receiver's first name.
                receiver_last_name:
                  type: string
                  description: The receiver's last name.
                receiver_address:
                  type: object
                  description: The receiver's address.
                  properties:
                    line_1:
                      type: string
                      description: Address line 1
                    line_2:
                      type: string
                      description: Address line 2
                    postal_code:
                      type: string
                      description: Receiver's postal code
                    city:
                      type: string
                      description: Receiver's city
                    country:
                      description: Receiver's country (two characters).
                      allOf:
                        - $ref: >-
                            #/components/schemas/Solaris-Server-Decorators-CountryEnum
                    state:
                      type: string
                      description: Receiver's state
                receiver_account_number:
                  type: string
                  description: The receiver's bank account number.
                amount:
                  description: The total amount to send in this remittance.
                  allOf:
                    - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
                description:
                  type: string
                  description: >-
                    Optional description of the remittance, which will be
                    visible to the recipient.
                clearing_profile_id:
                  type: string
                  description: ID of the clearing profile to use for this transaction.
                booking_type:
                  $ref: '#/components/schemas/Solaris-Enums-BookingType'
                reference:
                  type: string
                  description: A unique transaction reference
              example:
                receiver_first_name: Peter
                receiver_last_name: Testmann
                receiver_address:
                  line_1: Musterstrasse 64
                  line_2: Musterstrasse 64
                  postal_code: '10409'
                  city: Berlin
                  country: DE
                  state: BE
                receiver_account_number: DE72110101001000014344
                amount:
                  value: 1000
                  currency: EUR
                  unit: cents
                description: Purpose of the transaction
                clearing_profile_id: 1c0eda0b559825ef456b21d81f4ee962pacp
                booking_type: INTERNAL_TRANSFER
                reference: ert123456789ert
        required: false
      responses:
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_account_partner_remittance#create
      x-codegen-request-body-name: body
  /v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}/refund:
    patch:
      tags:
        - Partner remittances
      summary: Refund a partner remittance
      description: >-
        Initiates the refund process for a partner remittance. Use this endpoint
        if you cannot credit the recipient's account, e.g., due to the
        beneficiary account being closed or blocked.<br> When the refund is
        completed, you will receive a `BOOKING` webhook notification for the
        sender's account, and the `status` of the partner remittance will change
        to `returned`.<br> Note that you may only use this endpoints on partner
        remittances with a `status` of `COMPLETED`.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: partner_remittance_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful result of the operation.
          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'
      security:
        - oauth2:
            - solaris_service_account_partner_remittance#refund
  /v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}:
    get:
      tags:
        - Partner remittances
      summary: Show a partner remittance
      description: Returns the partner remittance specified in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: partner_remittance_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-PartnerRemittance
        '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_partner_remittance#find
  /v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts:
    post:
      tags:
        - Reference account payouts
      summary: Initiate payout to a specific person reference account
      description: >-
        Initiates a payout to the person reference account specified in the
        request URL.<br> **Note:** Requests to this endpoint must be 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: reference_account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/Payout'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationRequest'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_person_payout#create
    get:
      tags:
        - Reference account payouts
      summary: Index payouts to a specific person reference account
      description: >-
        Returns an array containing all payouts made to the particular reference
        account specified in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: reference_account_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.
          required: false
          schema:
            type: integer
        - name: page[size]
          in: query
          description: The number of results to return in each page.
          required: false
          schema:
            type: integer
        - name: filter[status]
          in: query
          description: Filter on status
          required: false
          schema:
            type: string
            enum:
              - ACCEPTED
              - DECLINED
              - EXECUTED
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_person_payout#all
  /v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts:
    post:
      tags:
        - Reference account payouts
      summary: Initiate a payout to a business' reference account
      description: >
        Initiates a payout from a business' wallet to the specific reference
        account specified in the request URL. Requests to this endpoint must be
        confirmed using the **change request** process.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: reference_account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/Payout'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationRequest'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: >-
            (Business | Account | ReferenceAccount) with (business_id |
            account_id | reference_account_id) not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_business_payout#create
    get:
      tags:
        - Reference account payouts
      summary: Index reference account payouts for a business account
      description: >-
        Returns an array containing all reference account payouts for the
        business account specified in the request URL.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: reference_account_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          required: false
          schema:
            type: integer
        - name: page[size]
          in: query
          description: The number of results to return in each page.
          required: false
          schema:
            type: integer
        - name: filter[status]
          in: query
          description: Filter on status
          required: false
          schema:
            type: string
            enum:
              - ACCEPTED
              - DECLINED
              - EXECUTED
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_business_payout#all
  /v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts:
    post:
      tags:
        - Reference account payouts
      summary: Initiate business reference account payout
      description: >-
        Initiates a payout from a business' wallet to its associated reference
        account.<br>**Note:** Requests to this endpoint must be confirmed using
        the **change request** process.
      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/Payout'
      responses:
        '201':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '202':
          description: >-
            The request was accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationRequest'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_business_payout#create
    get:
      tags:
        - Reference account payouts
      summary: Index business reference account payouts
      description: >
        Returns an array containing all wallet payouts to the business reference
        account specified in the request URL.
      parameters:
        - name: business_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.
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: The number of results to return in each page.
          required: false
          schema:
            type: integer
        - name: filter[status]
          in: query
          description: Filter the results by payout status.
          required: false
          schema:
            type: string
            enum:
              - ACCEPTED
              - DECLINED
              - EXECUTED
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_business_payout#all
  /v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts/{id}:
    get:
      tags:
        - Reference account payouts
      summary: Retrieve a business reference account payout
      description: >-
        Retrieves the business reference account payout specified in the request
        URL.
      parameters:
        - name: business_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 operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_business_payout#find
  /v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts:
    post:
      tags:
        - Reference account payouts
      summary: Initiate reference account payout to a person
      description: >-
        Initiates a payout from a person's wallet to their reference
        account.<br> **Note:** Requests to this endpoint must be 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
      requestBody:
        $ref: '#/components/requestBodies/Payout'
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationRequest'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_person_payout#create
    get:
      tags:
        - Reference account payouts
      summary: Index reference account payouts to a person
      description: Returns an array containing all payouts to a person's reference account.
      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.
          required: false
          schema:
            type: integer
        - name: page[size]
          in: query
          description: The number of results to return in each page.
          required: false
          schema:
            type: integer
        - name: filter[status]
          in: query
          description: Filter the results by payout status.
          required: false
          schema:
            type: string
            enum:
              - ACCEPTED
              - DECLINED
              - EXECUTED
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_person_payout#all
  /v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts/{id}:
    get:
      tags:
        - Reference account payouts
      summary: Retrieve a reference account payout to a person
      description: >-
        Returns a specific reference account payout to a person based on the ID
        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: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: (Person | Account) with (person_id | account_id) not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - reference_account_service_reference_account_person_payout#find
  /v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}:
    get:
      tags:
        - Reference account payouts
      summary: Retrieve a payout to a person's reference account
      description: Returns a specific payout to a specific reference account.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: reference_account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_person_payout#find
  /v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}:
    get:
      tags:
        - Reference account payouts
      summary: Retrieve a payout to a business reference account
      description: Returns a specific payout to a specific reference account.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: reference_account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payout'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: >-
            (Business | Account | ReferenceAccount) with (business_id |
            account_id | reference_account) not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - >-
              reference_account_service_selected_reference_account_business_payout#find
  /v1/accounts/{account_id}/reference_account_payouts:
    post:
      tags:
        - Reference account payouts
      summary: (New) Initiate a payout to a reference account
      description: >-
        Initiates a payout to the reference account specified in the request
        payout. The specified reference account must be associated with the
        account specified in the request path. Payout will be executed after 2FA
        confirmation. This endpoint replaces old Reference Account Payouts
        endpoints which will be deprecated soon.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/ReferenceAccountPayout'
      responses:
        '201':
          description: Successful creation of a payout transaction.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceAccountPayout'
        '202':
          description: >-
            The request to create a payout was accepted. Customer must confirm
            the payout with 2FA for the payout to be executed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationRequest'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError-2'
      security:
        - oauth2:
            - solaris_reference_account_payout#create
  /v1/accounts/{account_id}/transfer_requests:
    post:
      tags:
        - Transfer requests
      summary: Create transfer request
      description: >-
        Creates a transfer request and associates it with the account specified
        in the request URL. This method will create a reservation on the account
        for the amount specified in the transfer request.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                amount:
                  value: 10000
                  unit: cents
                  currency: EUR
                reference: e8eabf80-095f-4d6a-947a-4ca1455cc378
                description: An example description
              type: object
              properties:
                amount:
                  description: The amount of the transfer request.
                  allOf:
                    - $ref: '#/components/schemas/MoneyWithUnit'
                reference:
                  type: string
                  description: >-
                    A unique reference for the transfer request. Acts as an
                    idempotency key.
                description:
                  description: A description for the transfer request.
                  type: string
        description: The content of the request.
      responses:
        '201':
          description: Transfer request created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequest'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - solaris_payments_transfer_request_transfer_requests#create
    get:
      tags:
        - Transfer requests
      summary: Index transfer requests for an account
      description: >-
        Returns an array containing all transfer requests associated with the
        account specified in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: filter[resolved]
          in: query
          description: Use this filter to return only resolved transfers.
          required: false
          schema:
            type: boolean
        - name: filter[reference]
          in: query
          description: Filter the response by the `reference` property.
          required: false
          schema:
            type: string
        - name: filter[reservation_id]
          in: query
          description: >-
            Filter the response by the reservation ID associated with the
            transfer request.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequests'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - solaris_payments_transfer_request_transfer_requests#all
  /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}:
    get:
      tags:
        - Transfer requests
      summary: Retrieve a transfer request
      description: >-
        Returns information about the transfer request specified in the request
        URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: transfer_request_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transfer request fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequest'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - solaris_payments_transfer_request_transfer_requests#show
  /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/executions:
    get:
      tags:
        - Transfer requests
      summary: Index transfer request executions
      description: >-
        Returns an array containing all transfer request executions for the
        account specified in the request URL.
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: transfer_request_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          required: false
          description: The number of results pages to return.
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: page[size]
          in: query
          required: false
          description: The number of results to return on each page.
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransferRequestExecution'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - solaris_payments_transfer_request_transfer_request_executions#all
    post:
      tags:
        - Transfer requests
      summary: Execute a transfer request
      description: >-
        Executes the transfer request specified in the request URL. Note that
        you can execute a transfer request for **less than or equal to** the
        transfer request amount. In case the amount is lower, a new reservation
        of the remaining amount will be created and the associated
        `reservation_id` of the transfer request will be updated. You must then
        release the previous reservation using [PATCH Resolve a transfer
        request](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/#tag/Transfer-requests/paths/~1v1~1accounts~1{account_id}~1transfer_requests~1{transfer_request_id}~1resolve/patch).
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: transfer_request_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                amount:
                  value: 10000
                  currency: EUR
                reference: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
                description: Wallet-to-wallet payment
                recipient_iban: DE32110101001000000029
                type: CRYPTO_EXCHANGE
              type: object
              properties:
                amount:
                  $ref: '#/components/schemas/Money'
                reference:
                  description: >-
                    A unique reference for the transfer request. Acts as an
                    idempotency key.
                  type: string
                description:
                  description: A description for the transfer request.
                  type: string
                recipient_iban:
                  description: The recipient's IBAN.
                  type: string
                type:
                  description: The type of transfer request to be executed.
                  type: string
                  enum:
                    - CRYPTO_EXCHANGE
                    - PARTNER_FEE
        description: The content of the request.
      responses:
        '201':
          description: Transfer request execution created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequestExecution'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - >-
              solaris_payments_transfer_request_transfer_request_executions#create
  /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/resolve:
    patch:
      tags:
        - Transfer requests
      summary: Resolve a transfer request
      description: Trigger release of reservation amount
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: transfer_request_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transfer request resolved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferRequest'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '403':
          description: Unauthorized action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '404':
          description: The requested resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors-2'
      security:
        - oauth2:
            - solaris_payments_transfer_request_transfer_requests#resolve
  /v1/money_transfer/account:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Show account
      description: Return account with id
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Account'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_account#find
  /v1/money_transfer/account/bookings:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Index Booking
      description: Return all bookings for account
      parameters:
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - id
              - booking_date
              - valuta_date
              - recorded_at
        - name: filter[booking_date][min]
          in: query
          description: Filter on start_date
          required: false
          schema:
            type: string
        - name: filter[booking_date][max]
          in: query
          description: Filter on end_date
          required: false
          schema:
            type: string
        - name: filter[booking_type]
          in: query
          description: Filter on booking_type
          required: false
          schema:
            type: string
        - name: filter[creditor_identifier]
          in: query
          description: Filter on creditor_identifier
          required: false
          schema:
            type: string
        - name: filter[description]
          in: query
          description: Filter on description
          required: false
          schema:
            type: string
        - name: filter[end_to_end_id]
          in: query
          description: Filter on end_to_end_id
          required: false
          schema:
            type: string
        - name: filter[mandate_reference]
          in: query
          description: Filter on mandate_reference
          required: false
          schema:
            type: string
        - name: filter[recipient_name]
          in: query
          description: Filter on recipient_name
          required: false
          schema:
            type: string
        - name: filter[recipient_iban]
          in: query
          description: Filter on recipient_iban
          required: false
          schema:
            type: string
        - name: filter[recipient_bic]
          in: query
          description: Filter on recipient_bic
          required: false
          schema:
            type: string
        - name: filter[recorded_at][min]
          in: query
          description: Filter on recorded_at from
          required: false
          schema:
            type: string
        - name: filter[recorded_at][max]
          in: query
          description: Filter on recorded_at to
          required: false
          schema:
            type: string
        - name: filter[transaction_id]
          in: query
          description: Filter on transaction_id
          required: false
          schema:
            type: string
        - name: filter[valuta_date][min]
          in: query
          description: Filter on valuta start_date
          required: false
          schema:
            type: string
        - name: filter[valuta_date][max]
          in: query
          description: Filter on valuta end_date
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Booking'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_booking#all
  /v1/money_transfer/customers/balances:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Index customers balances
      description: List of customers balances
      parameters:
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: filter[min]
          in: query
          description: Filter on Min balance
          required: false
          schema:
            type: string
        - name: filter[max]
          in: query
          description: Filter on Max balance
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-CustomerBalance
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer_balance#all
  /v1/money_transfer/customers:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Index customers
      description: Index customers
      parameters:
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - id
              - created_at
              - updated_at
              - status_change_date
              - name
        - name: filter[created_at][min]
          in: query
          description: Filter on Min created_at
          required: false
          schema:
            type: string
        - name: filter[created_at][max]
          in: query
          description: Filter on Max created_at
          required: false
          schema:
            type: string
        - name: filter[iban]
          in: query
          description: Filter on iban
          required: false
          schema:
            type: string
        - name: filter[name]
          in: query
          description: Filter on name
          required: false
          schema:
            type: string
        - name: filter[reference]
          in: query
          description: Filter on reference
          required: false
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter on status
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Customer'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#all
    post:
      tags:
        - (Legacy) Money Transfer
      summary: Create Customer
      description: Create Customer for Partner
      requestBody:
        content:
          application/json:
            schema:
              example:
                reference: customer_unique_ref
                name: Customer Name
                country: DE
                iban: DE32110101001000000029
                bic: SOBKDEBBXXX
                expected_volume_transactions:
                  value: 100
                  currency: EUR
                mandate:
                  number: example-mandate-number
                  creditor_identifier: DE98ZZZ09999999999
                  scheme: CORE
                  sequence_type: RECURRING
                  signature_date: '2019-12-03'
                  debtor_address_line_1: Address 1
                  debtor_address_line_2: Address 2
                  debtor_address_postal_code: '10409'
                  debtor_address_city: Berlin
                  debtor_address_country_of_residence: DE
              type: object
              properties:
                reference:
                  description: Unique system reference
                  type: string
                name:
                  description: Customer Name
                  type: string
                country:
                  description: Customer's country
                  type: string
                iban:
                  description: IBAN of the customer
                  type: string
                bic:
                  description: BIC of the customer
                  type: string
                person_id:
                  description: Person Id belonging to the customer
                  type: string
                business_id:
                  description: Business Id belonging to the customer
                  type: string
                expected_count_transactions:
                  description: Expected current number of customer transactions
                  type: integer
                fee_percentage:
                  description: Fee percentage
                  type: number
                expected_volume_transactions:
                  type: object
                  properties:
                    value:
                      description: Expected value of transactions
                      type: integer
                    currency:
                      description: Expected transactions currency
                      type: string
                mandate:
                  type: object
                  properties:
                    number:
                      description: mandate number
                      type: string
                    creditor_identifier:
                      description: creditor identifier
                      type: string
                    scheme:
                      description: mandate scheme
                      type: string
                    sequence_type:
                      description: madate sequence type
                      type: string
                    signature_date:
                      description: mandate sign date
                      type: string
                      format: date
                    debtor_address_line_1:
                      description: Debtor address line
                      type: string
                    debtor_address_line_2:
                      description: Debtor address line
                      type: string
                    debtor_address_postal_code:
                      description: Debtor address postal code
                      type: string
                    debtor_address_city:
                      description: Debtor address city
                      type: string
                    debtor_address_country_of_residence:
                      description: Debtor address country
                      type: string
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Customer'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#create
  /v1/money_transfer/customers/{id}/balance:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Show customers balance
      description: Show customers balance
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-CustomerBalance
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer_balance#find
  /v1/money_transfer/customers/{id}:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Show Customer
      description: Show Customer for Partner
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Customer'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#find
    patch:
      tags:
        - (Legacy) Money Transfer
      summary: Update Customer
      description: Update Customer for Partner
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                name: Customer Name
                country: DE
                iban: DE32110101001000000029
                bic: SOBKDEBBXXX
                expected_volume_transactions:
                  value: 100
                  currency: EUR
                mandate:
                  number: example-mandate-number
                  creditor_identifier: DE98ZZZ09999999999
                  scheme: CORE
                  sequence_type: RECURRING
                  signature_date: '2019-12-03'
                  debtor_address_line_1: Address 1
                  debtor_address_line_2: Address 2
                  debtor_address_postal_code: '10409'
                  debtor_address_city: Berlin
                  debtor_address_country_of_residence: DE
              type: object
              properties:
                name:
                  description: Customer Name
                  type: string
                country:
                  description: Customer's country
                  type: string
                iban:
                  description: IBAN of the customer
                  type: string
                bic:
                  description: BIC of the customer
                  type: string
                person_id:
                  description: Person Id belonging to the customer
                  type: string
                business_id:
                  description: Business Id belonging to the customer
                  type: string
                expected_count_transactions:
                  description: Expected current number of customer transactions
                  type: integer
                fee_percentage:
                  description: Fee percentage
                  type: number
                expected_volume_transactions:
                  type: object
                  properties:
                    value:
                      description: Expected value of transactions
                      type: integer
                    currency:
                      description: Expected transactions currency
                      type: string
                mandate:
                  type: object
                  properties:
                    number:
                      description: mandate number
                      type: string
                    creditor_identifier:
                      description: creditor identifier
                      type: string
                    scheme:
                      description: mandate scheme
                      type: string
                    sequence_type:
                      description: madate sequence type
                      type: string
                    signature_date:
                      description: mandate sign date
                      type: string
                      format: date
                    debtor_address_line_1:
                      description: Debtor address line
                      type: string
                    debtor_address_line_2:
                      description: Debtor address line
                      type: string
                    debtor_address_postal_code:
                      description: Debtor address postal code
                      type: string
                    debtor_address_city:
                      description: Debtor address city
                      type: string
                    debtor_address_country_of_residence:
                      description: Debtor address country
                      type: string
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Customer'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#update
  /v1/money_transfer/customers/{id}/transactions:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Index customer transactions
      description: List of transactions done by customer
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - created_at
              - reference
        - name: filter[created_at][min]
          in: query
          description: Filter on Min created_at
          required: false
          schema:
            type: string
        - name: filter[created_at][max]
          in: query
          description: Filter on Max created_at
          required: false
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter on payment status
          required: false
          schema:
            type: string
        - name: filter[type]
          in: query
          description: Filter on payment type
          required: false
          schema:
            type: string
        - name: filter[payment_id]
          in: query
          description: Filter on payment id
          required: false
          schema:
            type: string
        - name: filter[reference]
          in: query
          description: Filter on reference
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-CustomerTransaction
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#transactions
  /v1/money_transfer/customers/{id}/terminate:
    patch:
      tags:
        - (Legacy) Money Transfer
      summary: Terminate Customer
      description: Terminate customer for partner
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Customer'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_customer#terminate
  /v1/money_transfer/payments/payin:
    post:
      tags:
        - (Legacy) Money Transfer
      summary: Create Payin
      description: Create Payin payment
      requestBody:
        content:
          application/json:
            schema:
              example:
                reference: payment_unique_ref
                booking_id: 12312124342342342boo
                amount:
                  value: 100
                  currency: EUR
                description: description
                debtor_information:
                  reference: debtor_unique_ref
                  name: Hans Mustermann
                  iban: DE32110101001000000029
                  bic: SOBKDEBBXXX
                end_to_end_id: end_to_end_id
                transactions:
                  - reference: transaction_unique_ref
                    customer_id: 12312312cus
                    amount:
                      value: 100
                      currency: EUR
                    fees:
                      - reference: fee_unique_ref
                        type: settled_fee
                        amount:
                          value: 10
                          currency: EUR
                      - reference: unsettled_fee_unique_ref
                        type: unsettled_fee
                        amount:
                          value: 10
                          currency: EUR
                refunds:
                  - reference: refund_transaction_unique_ref
                    customer_id: 12312312cus
                    original_transaction_reference: original_transaction_unique_ref
                    amount:
                      value: 100
                      currency: EUR
                    fees:
                      - reference: fee_unique_ref
                        type: settled_fee
                        amount:
                          value: 10
                          currency: EUR
                      - reference: unsettled_fee_unique_ref
                        type: unsettled_fee
                        amount:
                          value: 10
                          currency: EUR
              type: object
              properties:
                reference:
                  description: Unique system reference
                  type: string
                booking_id:
                  description: ID of the booking
                  type: string
                amount:
                  type: object
                  properties:
                    value:
                      description: Total amount of the payin
                      type: integer
                    currency:
                      description: Currency of the payin
                      type: string
                description:
                  description: Description of the payment
                  type: string
                debtor_information:
                  type: object
                  properties:
                    reference:
                      description: Unique reference of the debtor
                      type: string
                    name:
                      description: Name of the debtor
                      type: string
                    iban:
                      description: Debtor's iban
                      type: string
                    bic:
                      description: Debtor's bic
                      type: string
                end_to_end_id:
                  description: End to end id
                  type: string
                transactions:
                  description: Payload of transactions
                  type: array
                  items:
                    type: object
                    properties:
                      reference:
                        description: Unique reference of the transaction
                        type: string
                      customer_id:
                        description: ID of the customer
                        type: string
                      amount:
                        type: object
                        properties:
                          value:
                            description: Value of the transaction
                            type: integer
                          currency:
                            description: Currency of the transaction
                            type: string
                      fees:
                        description: Payload of fees
                        type: array
                        items:
                          type: object
                          properties:
                            reference:
                              description: Unique reference of the fee
                              type: string
                            type:
                              description: Type of the fee
                              type: string
                            amount:
                              type: object
                              properties:
                                value:
                                  description: Value of the fee
                                  type: integer
                                currency:
                                  description: Currency of the fee
                                  type: string
                refunds:
                  description: Payload of refund
                  type: array
                  items:
                    type: object
                    properties:
                      reference:
                        description: Unique reference of the refund
                        type: string
                      original_transaction_reference:
                        description: Original transaction reference of refund
                        type: string
                      customer_id:
                        description: ID of the customer
                        type: string
                      amount:
                        type: object
                        properties:
                          value:
                            description: Value of the transaction
                            type: integer
                          currency:
                            description: Currency of the transaction
                            type: string
                      fees:
                        description: Payload of fees
                        type: array
                        items:
                          type: object
                          properties:
                            reference:
                              description: Unique reference of the fee
                              type: string
                            type:
                              description: Type of the fee
                              type: string
                            amount:
                              type: object
                              properties:
                                value:
                                  description: Value of the fee
                                  type: integer
                                currency:
                                  description: Currency of the fee
                                  type: string
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Payment'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_payment#payin
  /v1/money_transfer/payments:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Index payments
      description: Index payments
      parameters:
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - id
              - reference
              - collection_date
              - amount
              - type
              - status
              - created_at
              - updated_at
        - name: filter[created_at][min]
          in: query
          description: Filter on Min created_at
          required: false
          schema:
            type: string
        - name: filter[created_at][max]
          in: query
          description: Filter on Max created_at
          required: false
          schema:
            type: string
        - name: filter[customer_id]
          in: query
          description: Filter on customer_id
          required: false
          schema:
            type: string
        - name: filter[booking_id]
          in: query
          description: Filter on booking_id
          required: false
          schema:
            type: string
        - name: filter[end_to_end_id]
          in: query
          description: Filter on end_to_end_id
          required: false
          schema:
            type: string
        - name: filter[reference]
          in: query
          description: Filter on reference
          required: false
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter on status
          required: false
          schema:
            type: string
        - name: filter[type]
          in: query
          description: Filter on type
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Payment'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_payment#all
  /v1/money_transfer/payments/{id}:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: Show Payment
      description: Show selected Payment
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-SepaDirectDebit
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_payment#find
  /v1/money_transfer/payments/{id}/transactions:
    get:
      tags:
        - (Legacy) Money Transfer
      summary: List transactions in payment
      description: List of transactions related to given payment id
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Size of Page
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - created_at
              - reference
        - name: filter[reference]
          in: query
          description: Filter on reference
          required: false
          schema:
            type: string
        - name: filter[type]
          in: query
          description: Filter on type
          required: false
          schema:
            type: string
        - name: filter[customer_id]
          in: query
          description: Filter on customer_id
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-Transaction
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_payment_transaction#all
  /v1/money_transfer/payments/sepa_credit_transfer:
    post:
      tags:
        - (Legacy) Money Transfer
      summary: Create Sepa Credit Transfer
      description: Create Sepa Credit Transfer payout
      requestBody:
        content:
          application/json:
            schema:
              example:
                reference: payment_unique_ref
                amount:
                  value: 100
                  currency: EUR
                description: description
                recipient_information:
                  customer_id: 12345678cus
                end_to_end_id: end_to_end_id
                transactions:
                  - reference: transaction_unique_ref
                    customer_id: 12312312cus
                    amount:
                      value: 100
                      currency: EUR
              type: object
              properties:
                reference:
                  description: Unique system reference
                  type: string
                amount:
                  type: object
                  properties:
                    value:
                      description: Total amount of the payout
                      type: integer
                    currency:
                      description: Currency of the payout
                      type: string
                description:
                  description: Description of the payment
                  type: string
                recipient_information:
                  type: object
                  properties:
                    customer_id:
                      description: Recipients's customer ID
                      type: string
                end_to_end_id:
                  description: End to end id
                  type: string
                transactions:
                  description: Payload of transactions
                  type: array
                  items:
                    type: object
                    properties:
                      reference:
                        description: Unique reference of the transaction
                        type: string
                      customer_id:
                        description: ID of the customer
                        type: string
                      amount:
                        type: object
                        properties:
                          value:
                            description: Value of the transaction
                            type: integer
                          currency:
                            description: Currency of the transaction
                            type: string
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Payment'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_money_transfer_service_payment#sepa_credit_transfer
  /v1/money_transfer/payments/sepa_direct_debit:
    post:
      tags:
        - (Legacy) Money Transfer
      summary: Create Sepa Direct Debit
      description: Create Sepa Direct Debit payment
      requestBody:
        content:
          application/json:
            schema:
              example:
                reference: sdd_payment_unique_ref
                amount:
                  value: 100
                  currency: EUR
                description: description
                collection_date: '2016-02-11'
                mandate:
                  number: mandate_number
                  creditor_identifier: DE98ZZZ09999999999
                  scheme: CORE
                  sequence_type: ONE_OFF
                  signature_date: '2016-02-02'
                  debtor_name: Hans Mustermann
                  debtor_iban: DE32110101001000000029
                  debtor_bic: COBADEFFXXX
                  debtor_city: Berlin
                  debtor_postal_code: '10178'
                end_to_end_id: end_to_end_id
                transactions:
                  - reference: transaction_unique_ref
                    customer_id: 12312312cus
                    amount:
                      value: 100
                      currency: EUR
                    fees:
                      - reference: unsettled_fee_unique_ref
                        type: unsettled_fee
                        amount:
                          value: 10
                          currency: EUR
              type: object
              properties:
                reference:
                  description: Unique system reference
                  type: string
                amount:
                  type: object
                  properties:
                    value:
                      description: Total amount of the payin
                      type: integer
                    currency:
                      description: Currency of the payin
                      type: string
                description:
                  description: Description of the payment
                  type: string
                collection_date:
                  description: Collection date of the payment
                  type: string
                mandate:
                  type: object
                  properties:
                    number:
                      description: Number of the mandate
                      type: string
                    creditor_identifier:
                      description: Creditor's identifier
                      type: string
                    scheme:
                      description: Mandate's scheme
                      type: string
                    sequence_type:
                      description: Mandate's sequence type
                      type: string
                    signature_date:
                      description: Mandate's signature date
                      type: string
                    debtor_name:
                      description: Debtor's name
                      type: string
                    debtor_iban:
                      description: Debtor's iban
                      type: string
                    debtor_bic:
                      description: Debtor's bic
                      type: string
                    debtor_city:
                      description: Debtor's city
                      type: string
                    debtor_postal_code:
                      description: Debtor's postal code
                      type: string
                end_to_end_id:
                  description: End to end id
                  type: string
                transactions:
                  description: Payload of transactions
                  type: array
                  items:
                    type: object
                    properties:
                      reference:
                        description: Unique reference of the transaction
                        type: string
                      customer_id:
                        description: ID of the customer
                        type: string
                      amount:
                        type: object
                        properties:
                          value:
                            description: Value of the transaction
                            type: integer
                          currency:
                            description: Currency of the transaction
                            type: string
                      fees:
                        description: Payload of fees
                        type: array
                        items:
                          type: object
                          properties:
                            reference:
                              description: Unique reference of the fee
                              type: string
                            type:
                              description: Type of the fee
                              type: string
                            amount:
                              type: object
                              properties:
                                value:
                                  description: Value of the fee
                                  type: integer
                                currency:
                                  description: Currency of the fee
                                  type: string
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            '*/*':
              schema:
                $ref: >-
                  #/components/schemas/Solaris-MoneyTransfer-Decorator-SepaDirectDebit
        '400':
          description: Client Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error-2'
        '403':
          description: Unauthorized action
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error-2'
        '500':
          description: Internal server error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error-2'
      security:
        - oauth2:
            - solaris_money_transfer_service_payment#sepa_direct_debit
components:
  schemas:
    Amount:
      required:
        - value
      type: object
      properties:
        currency:
          type: string
          enum:
            - EUR
        unit:
          type: string
          enum:
            - cents
        value:
          type: integer
          format: int64
    CreateCashOperationRequest:
      required:
        - amount
        - idempotency_key
        - provider
        - type
      type: object
      properties:
        idempotency_key:
          description: >-
            Use a randomly-generated UUID to ensure the uniqueness of the cash
            operation request.
          type: string
        reference:
          type: string
          description: End-to-end reference for the customer.
        provider:
          type: string
          description: Must contain the value `barzahlen`.
          enum:
            - barzahlen
        type:
          type: string
          description: >-
            Indicates whether the cash operation is a `PAYOUT` (for withdrawals)
            or a `PAYIN` (for deposits).
          enum:
            - PAYIN
            - PAYOUT
        amount:
          description: The amount of the cash operation.
          allOf:
            - $ref: '#/components/schemas/Amount'
    ChangeRequest:
      type: object
      properties:
        change_request_id:
          type: string
          description: ID of the change request that the customer must complete.
        id:
          type: string
          description: ID of the cash operation.
    Source:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
    Error:
      type: object
      properties:
        id:
          type: string
        status:
          type: integer
          format: int32
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          $ref: '#/components/schemas/Source'
    Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    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.
    CashOperation:
      type: object
      properties:
        id:
          type: string
          description: ID of the cash operation.
        barcode_ean_13:
          type: string
          description: >-
            The EAN-13 barcode that your solution must generate so that the
            customer can present it at the merchant POS to complete the cash
            operation.
        expires_at:
          type: string
          format: date-time
          description: The date and time when the cash operation barcode expires.
        status:
          type: string
          description: The current status of the cash operation.
          enum:
            - PENDING
            - CREATED
            - PAID
            - EXPIRED
            - CANCELLED
        reference_id:
          type: string
          description: End-to-end reference for the customer.
        person_id:
          type: string
          description: ID of the person who initiated the cash operation.
    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.
    UpdateCashOperationRequest:
      required:
        - status
      type: object
      properties:
        status:
          type: string
          description: The status to apply to the cash operation.
          enum:
            - PAID
            - EXPIRED
            - CANCELLED
    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-ClearingProfile:
      type: object
      properties:
        id:
          type: string
          description: ID of the clearing profile.
          example: 8264234444a2a4cb1ee33666259c5513pacp
        iban:
          type: string
          description: IBAN of the clearing account.
          example: DE97110101004884374432
        allowed_booking_types:
          type: array
          description: An array containing the allowed booking types for this profile.
          example:
            - CURRENCY_EXCHANGE_PARTNER
          items:
            $ref: '#/components/schemas/Solaris-Enums-BookingType'
        customer_authentication:
          type: boolean
          example: true
          description: >-
            Indicates whether the customer must complete a change request for
            negative bookings on their account.
    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-Enums-BookingType-CreditClearingTransactions:
      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
        - TARGET2_CREDIT_TRANSFER
        - TRANSFER_ANNUITY
        - OTHER
        - CASH_WITHDRAWAL_FEE
        - CURRENCY_CASH_WITHDRAWAL_FEE
        - CASH_DEPOSIT_RETAIL_FEE
        - CASH_WITHDRAWAL_RETAIL_FEE
        - CHARGE_CARD_DELIVERY_FEE
        - CARD_ISSUANCE_FEE
        - BOOSTER_PACKAGE_FEE
        - ACCOUNT_MAINTENANCE_FEE
        - ChargeVirtualCard
        - ChargeReissuePhysicalCard
        - ChargeAdditionalPhysicalCard
        - ChargeAdditionalVirtualCard
        - ChargeReissueVirtualCard
        - ChargeCardMaintenance
        - ChargeTopUpCard
        - ChargeAdditionalAccountMaintenance
        - ChargeSharedAccount
        - ChargeAuthorizedUser
        - ChargeGamblingTransactionPartner
        - ChargeSEPAInstantOutgoing
        - ChargeSEPAInstantIncoming
        - ChargeManualSepaTransferPartner
        - ChargeIncomingSwift
        - ChargeGamblingOrCashEquivalent
        - ChargeFXCardTransaction
      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
    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'.
    TopupStatusValues:
      type: string
      enum:
        - ACCEPTED
        - CONFIRMED
        - EXECUTED
        - DECLINED
        - CANCELLED
      description: The current status of the Top-Up.
    MoneyBase:
      type: object
      properties:
        value:
          type: integer
          description: The amount in Euro cents.
          example: 10000
        currency:
          type: string
          enum:
            - EUR
          description: The currency of the Top-Up.
    Topup:
      type: object
      required:
        - id
        - amount
        - status
      properties:
        id:
          type: string
          description: Unique ID of the Top-Up.
          example: b76cdcc321d345618084feedc47bbb1d
        amount:
          description: The amount of the Top-Up.
          allOf:
            - $ref: '#/components/schemas/MoneyBase'
        acquirer_error_code:
          type: string
          nullable: true
          description: >-
            Error code forwarded by the Acquirer's API (in case there was an
            error on the Acquirer's end).
          example: null
        acquirer_decline_code:
          type: string
          nullable: true
          description: >-
            If the Acquirer declines the Top-Up, then this property will contain
            the decline code forwarded by the Acquirer's API.
          example: null
        cancellation_reason:
          type: string
          nullable: true
          enum:
            - abandoned
            - duplicate
            - fraudulent
            - requested_by_customer
          description: >-
            The reason why the Top-Up was cancelled. Only present if the
            `status` is 'CANCELLED'.
        decline_reason:
          type: string
          nullable: true
          description: >-
            The reason why the Top-Up was declined. Usually present if the
            `status` is 'DECLINED' due to a technical issue.
          example: null
        client_secret:
          type: string
          description: >-
            The client secret key provided by the Acquirer's API for use in
            their frontend SDK.
          example: pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU
        status:
          $ref: '#/components/schemas/TopupStatusValues'
        instruction_id:
          type: string
          nullable: true
          description: Instruction ID of the Solaris credit transfer transaction.
          example: 3eba1ee2d8bc4d5883d350031a5fe9d8
    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
    UnauthorizedError:
      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.
    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
    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
    Solaris-Server-Decorators-IntraCustomerTransaction:
      type: object
      properties:
        id:
          type: string
          description: ID of the intra customer transaction.
          example: 68df7a63b2ad4a16907eeac2cf484275
        reference:
          type: string
          description: UUID reference for the transaction. Used as an idempotency key.
          example: d91eba3a-882c-4ded-a7e7-3c1dc24eaf0f
        amount:
          description: The amount of the transaction.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        description:
          type: string
          description: A description for the transaction, visible to the customer.
          example: Description
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE43110101005555555555
        created_at:
          type: string
          description: UTC timestamp from when the transaction was initiated.
          example: '2022-04-22T16:02:54Z'
          format: date-time
    Solaris-Server-Decorators-PrepaidTransaction:
      type: object
      properties:
        id:
          type: string
          description: ID of the prepaid transaction.
          example: 528ebf2616c54c25b706a425c05ad70f
        reference:
          type: string
          description: Optional unique reference. Used as idempotency key.
          format: uuid
          example: 73a46685-8ac6-4fff-9d36-55288523d879
        amount:
          description: The amount of the transaction (in Euro cents).
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE87110101001000057123
        description:
          type: string
          description: Additional context around the transaction.
        created_at:
          type: string
          format: date-time
          description: Timestamp from when the transaction was created.
          example: '2021-01-01T00:00:00Z'
    Solaris-Server-Decorators-CountryEnum:
      type: string
      enum:
        - AD
        - AE
        - AF
        - AG
        - AI
        - AL
        - AM
        - AO
        - AQ
        - AR
        - AS
        - AT
        - AU
        - AW
        - AX
        - AZ
        - BA
        - BB
        - BD
        - BE
        - BF
        - BG
        - BH
        - BI
        - BJ
        - BL
        - BM
        - BN
        - BO
        - BQ
        - BR
        - BS
        - BT
        - BV
        - BW
        - BY
        - BZ
        - CA
        - CC
        - CD
        - CF
        - CG
        - CH
        - CI
        - CK
        - CL
        - CM
        - CN
        - CO
        - CR
        - CU
        - CV
        - CW
        - CX
        - CY
        - CZ
        - DE
        - DJ
        - DK
        - DM
        - DO
        - DZ
        - EC
        - EE
        - EG
        - EH
        - ER
        - ES
        - ET
        - FI
        - FJ
        - FK
        - FM
        - FO
        - FR
        - GA
        - GB
        - GD
        - GE
        - GF
        - GG
        - GH
        - GI
        - GL
        - GM
        - GN
        - GP
        - GQ
        - GR
        - GS
        - GT
        - GU
        - GW
        - GY
        - HK
        - HM
        - HN
        - HR
        - HT
        - HU
        - ID
        - IE
        - IL
        - IM
        - IN
        - IO
        - IQ
        - IR
        - IS
        - IT
        - JE
        - JM
        - JO
        - JP
        - KE
        - KG
        - KH
        - KI
        - KM
        - KN
        - KP
        - KR
        - KW
        - KY
        - KZ
        - LA
        - LB
        - LC
        - LI
        - LK
        - LR
        - LS
        - LT
        - LU
        - LV
        - LY
        - MA
        - MC
        - MD
        - ME
        - MF
        - MG
        - MH
        - MK
        - ML
        - MM
        - MN
        - MO
        - MP
        - MQ
        - MR
        - MS
        - MT
        - MU
        - MV
        - MW
        - MX
        - MY
        - MZ
        - NA
        - NC
        - NE
        - NF
        - NG
        - NI
        - NL
        - 'NO'
        - NP
        - NR
        - NU
        - NZ
        - OM
        - PA
        - PE
        - PF
        - PG
        - PH
        - PK
        - PL
        - PM
        - PN
        - PR
        - PS
        - PT
        - PW
        - PY
        - QA
        - RE
        - RO
        - RS
        - RU
        - RW
        - SA
        - SB
        - SC
        - SD
        - SE
        - SG
        - SH
        - SI
        - SJ
        - SK
        - SL
        - SM
        - SN
        - SO
        - SR
        - SS
        - ST
        - SV
        - SX
        - SY
        - SZ
        - TC
        - TD
        - TF
        - TG
        - TH
        - TJ
        - TK
        - TL
        - TM
        - TN
        - TO
        - TR
        - TT
        - TV
        - TW
        - TZ
        - UA
        - UG
        - UM
        - US
        - UY
        - UZ
        - VA
        - VC
        - VE
        - VG
        - VI
        - VN
        - VU
        - WF
        - WS
        - XK
        - YE
        - YT
        - ZA
        - ZM
        - ZW
    Solaris-Server-Decorators-PartnerRemittance:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the partner remittance.
          example: 2c7da6c316a34fd1915cb9fb2ccc632e
        receiver_first_name:
          type: string
          description: The receiver's first name.
          example: Max
        receiver_last_name:
          type: string
          description: The receiver's last name.
          example: Mustermann
        receiver_address:
          type: object
          description: The receiver's address.
          properties:
            line_1:
              type: string
              description: Address line 1
              example: Musterstrasse
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Receiver's postal code
              example: '10409'
            city:
              type: string
              description: Receiver's city
              example: Berlin
            country:
              description: Receiver's country.
              example: DE
              allOf:
                - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              example: BE
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        receiver_account_number:
          type: string
          description: The receiver's bank account number.
          example: DE72110101001000014344
        amount:
          type: object
          description: The total amount to send in this remittance.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-Money'
        status:
          type: string
          description: The status of the remittance.
        description:
          type: string
          description: >-
            Optional description of the remittance, which will be visible to the
            recipient.
        clearing_profile_id:
          type: string
          description: ID of the clearing profile to use for this transaction.
          example: 1c0eda0b559825ef456b21d81f4ee962pacp
        sender:
          type: object
          properties:
            account_id:
              type: string
              description: The sender's account ID.
              example: 575189c6eb825b10b9d0392fcb3bf61dcacc
            person_id:
              type: string
              description: The sender's person ID.
              example: ad8f5cefdc73035f17973fecb4fa2ebccper
            first_name:
              type: string
              description: The sender's first name.
              example: Peter
            last_name:
              type: string
              description: The sender's last name.
              example: Testmann
            iban:
              type: string
              description: The sender's IBAN.
              example: DE13110101014386274299
    MoneyBase-2:
      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
    Payout:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the payout.
        reference:
          type: string
          description: A unique reference for the payout. Used as an idempotency key.
        status:
          type: string
          description: Current status of the payout.
          enum:
            - ACCEPTED
            - DECLINED
            - EXECUTED
        end_to_end_id:
          type: string
          description: End-to-end ID of the payout.
        description:
          type: string
          description: A description for the payout.
        reference_account_id:
          type: string
          description: ID of the reference account to which the payout is directed.
        decline_reason:
          type: string
          description: >-
            Contains a technical code for the payout if the `status` is 
            `DECLINED`. Check `decline_reason_details` for more information.
        decline_reason_details:
          type: string
          description: >-
            Contains a detailed reason why the payout was declined if the
            `status` is `DECLINED`.
        amount:
          description: Amount of the payout.
          allOf:
            - $ref: '#/components/schemas/MoneyBase-2'
        instant_payment_rail:
          type: string
          enum:
            - sepa_instant
          description: >-
            The payment rail used to make this an instant payout. If not
            present, the payout was done as a regular SEPA Credit Transfer.
      example:
        id: 4b157d71def54b5c9dac28ef1d04432c
        reference: 9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669
        status: ACCEPTED
        end_to_end_id: end_to_end_ref
        description: Payout description
        reference_account_id: 78f354e508314bb8ac982a3d7f969dde
        decline_reason: instant_payment_rail_failure
    Error-2:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        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
    InternalServerError-2:
      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
    updatedAt:
      type: string
      format: date-time
      description: Updation date and time
      example: '2021-01-30T08:30:00Z'
    AuthorizationRequest:
      type: object
      properties:
        id:
          type: string
          description: ID of the change request.
          example: d6c778822b2d7bd3b778935bcfd02d1d3csc
        updated_at:
          $ref: '#/components/schemas/updatedAt'
        status:
          type: string
          description: Current status of the change request.
          example: AUTHORIZATION_REQUIRED
          enum:
            - ACCEPTED
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - COMPLETED
            - FAILED
        url:
          type: string
          description: URL to use for authorizing the change request.
          example: >-
            https://api.solaris-sandbox.de/v1/change_requests/d6c778822b2d7bd3b778935bcfd02d1d3csc/authorize
          pattern: >-
            ^https://api.solaris-(staging|test|production|sandbox).de/v1/change_requests/[0-9a-z]{36}/authorize
    ReferenceAccountPayout:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the payout.
        reference:
          type: string
          description: A unique reference for the payout. Used as an idempotency key.
        authorized_person_id:
          type: string
          description: ID of the person who can authorise the payout
        status:
          type: string
          description: Current status of the payout.
          enum:
            - ACCEPTED
            - DECLINED
            - EXECUTED
        end_to_end_id:
          type: string
          description: End-to-end ID of the payout.
        description:
          type: string
          description: A description for the payout.
        reference_account_id:
          type: string
          description: ID of the reference account to which the payout is directed.
        decline_reason:
          type: string
          description: >-
            Contains a technical code for the payout if the `status` is
            `DECLINED`. Check `decline_reason_details` for more information.
        decline_reason_details:
          type: string
          description: >-
            Contains a detailed reason why the payout was declined if the
            `status` is `DECLINED`.
        amount:
          description: Amount of the payout.
          allOf:
            - $ref: '#/components/schemas/MoneyBase-2'
        instant_payment_rail:
          type: string
          enum:
            - sepa_instant
          description: >-
            The payment rail used to make this an instant payout. If not
            present, the payout was done as a regular SEPA Credit Transfer.
      example:
        id: 4b157d71def54b5c9dac28ef1d04432csctp
        reference: 9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669
        status: ACCEPTED
        end_to_end_id: RF3-202101-123456
        description: Payout for January 2021
        reference_account_id: d5325027ca2840d4b3a97b8ec8b837f0racc
        decline_reason: instant_payment_rail_failure
        instant_payment_rail: sepa_instant
        use_credit: true
        amount:
          currency: EUR
          value: 100
    MoneyWithUnit:
      type: object
      properties:
        value:
          type: integer
          description: The amount, in Euro cents.
        unit:
          type: string
          description: The unit of the amount.
        currency:
          type: string
          description: The currency of the transfer request. Only EUR is supported.
          enum:
            - EUR
    TransferRequest:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the transfer request.
          example: d3441a66f78e6290cdeebc4c1689a4aetreq
        reservation_id:
          type: string
          description: Unique ID of the reservation associated with the transfer request.
          example: 88cedf447b2c43828ded233733d1cc54
        amount:
          description: The amount of the transfer request.
          allOf:
            - $ref: '#/components/schemas/MoneyWithUnit'
          example:
            amount: 1000
            unit: cents
            currency: EUR
        reference:
          type: string
          description: >-
            A unique reference for the transfer request. Used as an idempotency
            key.
          example: e8eabf80-095f-4d6a-947a-4ca1455cc378
        description:
          type: string
          description: The description of the transfer request.
          example: Example description
        resolved:
          type: boolean
          description: Indicates whether the transfer request was resolved.
          example: false
    TransferRequests:
      type: array
      items:
        $ref: '#/components/schemas/TransferRequest'
    Error-3:
      type: object
      properties:
        id:
          type: string
        status:
          type: integer
        code:
          type: string
        title:
          type: string
        detail:
          type: string
    Errors-2:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error-3'
    TransferRequestExecution:
      type: object
      properties:
        id:
          type: string
          description: ID of the transfer request execution.
          example: e451ce22c8b1438d8befe2a29182fc83
        amount:
          description: The amount of the transfer request execution.
          allOf:
            - $ref: '#/components/schemas/MoneyWithUnit'
        status:
          type: string
          description: Current status of the transfer request execution.
          enum:
            - ACCEPTED
            - EXECUTED
            - DECLINED
          example: EXECUTED
        type:
          type: string
          description: The type of transfer request execution.
          enum:
            - CRYPTO_EXCHANGE
            - PARTNER_FEE
          example: CRYPTO_EXCHANGE
        recipient_iban:
          type: string
          description: The recipient's IBAN.
          example: DE32110101001000000029
        instruction_id:
          type: string
          description: Instruction id assigned to the transfer.
          example: GT5VCLgQCkpcyTCnHuXdg8nSVz2hjDpY4Qw
        reference:
          type: string
          description: >-
            Unique reference for the transfer request execution. Acts as an
            idempotency key.
          example: 55207045-4509-4278-9f44-0947635f4d75
        description:
          type: string
          description: A description of the transfer request execution.
          example: Example description
    Money:
      type: object
      properties:
        value:
          type: integer
          description: The amount, in Euro cents.
        currency:
          type: string
          description: The currency of the transfer request. Only EUR is supported.
          enum:
            - EUR
    Solaris-MoneyTransfer-Decorator-MoneyBase:
      type: object
      properties:
        value:
          type: integer
          description: Amount in cents
        unit:
          type: string
          description: 'Money unit: ''cents'''
        currency:
          type: string
          description: 'Currency: ''EUR'''
    Solaris-MoneyTransfer-Decorator-Account:
      type: object
      properties:
        id:
          type: string
          description: id of account
        iban:
          type: string
          description: iban of account
        bic:
          type: string
          description: bic of account
        type:
          type: string
          description: type of account
        balance:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        available_balance:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        locking_status:
          type: string
          description: locking status of account
        locking_reasons:
          type: string
        account_limit:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        status:
          type: string
          description: account status
        closure_reason:
          type: string
          description: account closure reason
        person_id:
          type: string
          description: person uid
        business_id:
          type: string
          description: business uid
    Solaris-Resources-MetaInfo-JSON:
      type: string
      description: >-
        JSON-serialized supplementary information about the transaction. For
        example, information about the card and the merchant associated with the
        transaction.
      example: >-
        {"cards":{"card_id":"abe6963e8be94364b8c1aa34d1bb5bc3mcrd","merchant":{"id":"123456789101112","country_code":"GB","category_code":"5411","name":"Grocery","town":"London"},"original_amount":{"currency":"GBP","value":50000,"fx_rate":10.0,"fx_markup":7.3165,"issuer_fee":0.0},"pos_entry_mode":"MANUAL_PAN_ENTRY","trace_id":"382621b66280020528d9433d135c2ae418fa53d0","transaction_id":"c158f11c-d6b2-4f8f-9391-ac20c2167f89","transaction_date":"2024-10-18","transaction_time":"2024-10-18T15:22:02+00:00","auth_code":"053630","acquirer_id":"123456","terminal_id":"12345678","transaction_type":"PURCHASE"}}
    Solaris-MoneyTransfer-Decorator-Booking:
      type: object
      properties:
        id:
          type: string
          description: id of booking
        creation_date:
          type: string
          description: creation date of booking
        valuta_date:
          type: string
          description: valuta date of booking
        booking_date:
          type: string
          description: booking date of booking
        booking_type:
          type: string
          description: type of booking
        amount:
          allOf:
            - $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
          description: amount of booking
        description:
          type: string
          description: booking details
        recipient_bic:
          type: string
          description: recipient's BIC
        recipient_iban:
          type: string
          description: recipient's IBAN
        recipient_name:
          type: string
          description: recipient's full name
        sender_bic:
          type: string
          description: sender's IBAN
        sender_iban:
          type: string
          description: sender's IBAN
        sender_name:
          type: string
          description: sender's full name
        end_to_end_id:
          type: string
          description: end to end id
        creditor_identifier:
          type: string
          description: creditor identifier
        mandate_reference:
          type: string
          description: mandate reference
        transaction_id:
          type: string
          description: external reference
        return_transaction_id:
          type: string
          description: transaction reference of a returned debit or credit transaction
        sepa_return_code:
          type: string
          description: sepa return code
        sepa_return_reason:
          type: string
          description: sepa return reason
        sepa_return_reason_definition:
          type: string
          description: sepa return reason definition
        recorded_at:
          type: string
          description: created date of booking
        settlement_id:
          type: string
          description: settlement_id of booking
        meta_info:
          $ref: '#/components/schemas/Solaris-Resources-MetaInfo-JSON'
        reconciliation_id:
          type: string
          description: ID to reconciliate transactions
        purpose_code:
          type: string
          description: purpose code
        sepa_charges:
          allOf:
            - $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
          description: sepa charges
    Solaris-MoneyTransfer-Decorator-CustomerBalance:
      type: object
      properties:
        customer_id:
          type: string
          description: customer id
        balance:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
    Solaris-MoneyTransfer-Decorator-Customer:
      type: object
      properties:
        id:
          type: string
          description: customer uid
        reference:
          type: string
          description: customer reference
        name:
          type: string
          description: customer name
        country:
          type: string
          description: customer country
        iban:
          type: string
          description: customer iban
        bic:
          type: string
          description: customer account bic
        balance:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        mandate:
          type: object
          properties:
            number:
              type: string
              description: mandate number
            creditor_identifier:
              type: string
              description: mandate creditor identifier
            scheme:
              type: string
              description: mandate scheme
            sequence_type:
              type: string
              description: mandate sequence type
            signature_date:
              type: string
              description: mandate signature date
            debtor_address_line_1:
              type: string
              description: debtor address line 1
            debtor_address_line_2:
              type: string
              description: debtor address line 2
            debtor_address_city:
              type: string
              description: debtor city
            debtor_address_postal_code:
              type: string
              description: debtor postal code
            debtor_address_country_of_residence:
              type: string
              description: debtor address country
        person_id:
          type: string
          description: uid of the person
        business_id:
          type: string
          description: uid of the business
        status:
          type: object
          properties:
            value:
              type: string
              description: current status name
            reasons:
              type: array
              items:
                type: string
              description: reasons for current status
            changed_date:
              type: string
              description: date of last status change
        expected_count_transactions:
          type: integer
          description: expected number of transactions
        expected_volume_transactions:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        fee_percentage:
          type: number
          description: fee percentage
        created_at:
          type: string
          format: date-time
          description: date of creation
    Solaris-MoneyTransfer-Decorator-CustomerTransaction:
      type: object
      properties:
        id:
          type: string
          description: transaction id
        reference:
          type: string
          description: transaction reference
        type:
          type: string
          description: transaction type
        customer_id:
          type: string
          description: transaction customer_id
        amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        payment_status:
          type: string
          description: Current status of payment
        created_at:
          type: string
          format: date-time
          description: date of creation
        payment_id:
          type: string
          description: transaction payment id
    Solaris-MoneyTransfer-Decorator-Debtor:
      type: object
      properties:
        reference:
          type: string
          description: reference of debtor
        name:
          type: string
          description: debtor name
        iban:
          type: string
          description: debtor iban
        bic:
          type: string
          description: debtor bank identifier code
    Solaris-MoneyTransfer-Decorator-RecipientInformation:
      type: object
      properties:
        customer_id:
          type: string
          description: cutomer id
    Solaris-MoneyTransfer-Decorator-Mandate:
      type: object
      properties:
        number:
          description: Mandate number
          type: string
        creditor_identifier:
          description: Creditor identifier
          type: string
        scheme:
          description: Mandate scheme
          type: string
        sequence_type:
          description: Mandate sequence type
          type: string
        signature_date:
          description: Mandate signature date
          type: string
        debtor_name:
          description: Debtor's name
          type: string
        debtor_iban:
          description: Debtor's iban
          type: string
        debtor_bic:
          description: Debtor's bic
          type: string
        debtor_city:
          description: Debtor's city
          type: string
        debtor_postal_code:
          description: Debtor's postal code
          type: string
    Solaris-MoneyTransfer-Decorator-AggregatedFee:
      type: object
      properties:
        value:
          type: string
        unit:
          type: string
        currency:
          type: string
        unsettled_fee:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        settled_fee:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        internal_fee:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
    Solaris-MoneyTransfer-Decorator-PaymentError:
      type: object
      properties:
        code:
          type: string
          description: error code
        message:
          type: string
          description: error message
    Solaris-MoneyTransfer-Decorator-Payment:
      type: object
      properties:
        id:
          type: string
          description: payment id
        type:
          type: string
          description: type of payment
        status:
          type: string
          description: type of payment
        reference:
          type: string
          description: payment reference
        booking_id:
          type: string
          description: payment booking id
        description:
          type: string
          description: payment description
        amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        debtor_information:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Debtor'
        recipient_information:
          $ref: >-
            #/components/schemas/Solaris-MoneyTransfer-Decorator-RecipientInformation
        mandate:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Mandate'
        end_to_end_id:
          type: string
          description: End to End ID of payment
        transaction_amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-AggregatedFee'
        refund_amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-AggregatedFee'
        errors:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-PaymentError'
        created_at:
          type: string
          format: date-time
          description: date of creation
    Solaris-MoneyTransfer-Decorator-SepaDirectDebit:
      type: object
      properties:
        id:
          type: string
          description: payment id
        type:
          type: string
          description: type of payment
        reference:
          type: string
          description: payment reference
        description:
          type: string
          description: payment description
        amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        mandate:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-Mandate'
        collection_date:
          type: string
          format: date
          description: sepa direct debit collection date
        end_to_end_id:
          type: string
          description: End to End ID of payment
    Solaris-MoneyTransfer-Decorator-Transaction:
      type: object
      properties:
        id:
          type: string
          description: transaction id
        reference:
          type: string
          description: transaction reference
        type:
          type: string
          description: transaction type
        customer_id:
          type: string
          description: transaction customer_id
        amount:
          $ref: '#/components/schemas/Solaris-MoneyTransfer-Decorator-MoneyBase'
        payment_status:
          type: string
          description: Current status of payment
        created_at:
          type: string
          format: date-time
          description: date of creation
  parameters:
    pathPersonID:
      name: person_id
      in: path
      required: true
      schema:
        type: string
    pathAccountID:
      name: account_id
      in: path
      required: true
      schema:
        type: string
    pathTopupID:
      name: topup_id
      in: path
      required: true
      schema:
        type: string
    pathPaymentMethodID:
      name: payment_method_id
      in: path
      required: true
      schema:
        type: string
  headers:
    total:
      description: Total number of resources to return that match the provided filters.
      schema:
        type: string
        example: '123'
    per_page:
      description: Number of resources to return per page.
      schema:
        type: string
        example: '10'
    link:
      description: Links to other 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"
  responses:
    400ClientError:
      description: There was an error on the client side.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InvalidRequestError'
    403Unauthorized:
      description: You are not authorized to perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    500InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
    404ModelNotFound:
      description: The model could not be found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ModelNotFound'
  requestBodies:
    Payout:
      content:
        application/json:
          schema:
            example:
              reference: payout_unique_ref
              end_to_end_id: end_to_end_id
              description: Withdrawal SPAY - DD.MM.YYYY
              amount:
                value: 100
                currency: EUR
                unit: cents
            type: object
            properties:
              reference:
                type: string
                description: A unique reference for the payout. Used as an idempotency key.
              end_to_end_id:
                type: string
                description: An end-to-end ID for the payout.
              description:
                type: string
                description: >-
                  A description for the payout, which is visible ot the
                  customer.
              amount:
                description: The amount of the payout.
                allOf:
                  - $ref: '#/components/schemas/MoneyBase-2'
              instant_payment_rail:
                type: string
                enum:
                  - sepa_instant
                description: >-
                  The payment rail to use for an instant payout. If not
                  specified, a regular SEPA Credit Transfer is used.
            required:
              - description
              - amount
      description: The content of the request.
    ReferenceAccountPayout:
      content:
        application/json:
          schema:
            type: object
            properties:
              description:
                type: string
                maxLength: 140
                description: >-
                  A description for the payout, which is visible ot the
                  customer.
              amount:
                description: The amount of the payout.
                allOf:
                  - $ref: '#/components/schemas/MoneyBase-2'
              reference_account_id:
                type: string
                description: >-
                  ID of the reference account to which the payout is directed.
                  The reference account must be associated with the account
                  specified in the request path.
              authorized_person_id:
                type: string
                description: ID of the person who can authorise the payout
              reference:
                type: string
                description: A unique reference for the payout. Used as an idempotency key.
              end_to_end_id:
                type: string
                maxLength: 35
                description: An end-to-end ID for the payout.
              use_credit:
                type: boolean
                default: false
                description: >-
                  If true, the payout will include credit available to
                  associated account when validating amout against balance.
              instant_payment_rail:
                type: string
                enum:
                  - sepa_instant
                description: >-
                  The payment rail to use for an instant payout. If not
                  specified, a regular SEPA Credit Transfer is used.
            required:
              - description
              - amount
              - reference_account_id
            example:
              reference_account_id: ee4cc80bee604de09d036d8b7a9b6cb0
              reference: 9d2b59c2-c68f-413c-b2a9-a2f5bfd3f669
              end_to_end_id: RF3-202101-123456
              description: Withdrawal SPAY - DD.MM.YYYY
              use_credit: true
              instant_payment_rail: sepa_instant
              amount:
                value: 100
                currency: EUR
                unit: cents
      description: The content of the request.
