> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create payout destination

> Create a payout destination for an account

Dintero admins (access tokens with the `admin:dintero` scope) can replace Dintero's standard terms for sellers with links to custom agreements by supplying `custom_agreements`. A case created with `custom_agreements` is always reviewed manually, it is never approved automatically.

scopes:
  - admin:accounts
  - write:accounts
  - write:accounts:/management/settings/approvals




## OpenAPI

````yaml /mintlify-docs/openapi/spec-payments-v2.yaml post /accounts/{oid}/payout-destinations
openapi: 3.0.0
info:
  title: Payments API v2
  contact:
    name: API Integration Support
    email: integration@dintero.com
  description: |
    Public endpoints for payments served under the account-scoped URL format
    `https://api.dintero.com/v1/accounts/{aid}/...`.
  version: LATEST
  license:
    name: UNLICENSED
    url: https://dintero.com
  x-logo:
    url: https://docs.dintero.com/img/dintero-dark-padded.svg
    altText: Dintero Logo
servers:
  - url: https://api.dintero.com/v1
security:
  - JWT: []
tags:
  - name: Transactions
    x-displayName: Transactions
    description: |
      View and perform operations on transactions
  - name: session
    x-displayName: Sessions
    description: |
      A Checkout Session relates to an order in your system.
      When an order has been placed you create a corresponding Checkout Session
      to receive payment for that order.
  - name: payment
    x-displayName: Payment
    description: |
      Resources used by the customer aka user to complete the payment of a
      session.
  - name: settlements
    x-displayName: Settlement reports
    description: Get settlement reports generated per payout
  - name: settlements.configuration
    x-displayName: Configuration
    description: Configure settlement reports
  - name: reports
    x-displayName: Reports
    description: List the generated monthly transaction reports
  - name: Sellers
    x-displayName: Sellers
    description: Manage the signup of a new Seller / Merchant account
  - name: example-session-callbacks
    x-displayName: Example Callbacks
    description: Example of callbacks delivered
  - name: v2-config-payout-destinations
    x-displayName: Sellers
    description: Get payout data for sellers
  - name: Card Tokens
    description: |
      Manage card tokens
  - name: terminals
    x-displayName: Terminals
    description: Terminal operations
  - name: v2-fund-transfers
    x-displayName: Fund transfers
    description: Transfer funds between sellers
  - name: payout-destinations
    x-displayName: payout destinations
    description: |
      Payout destinations
  - name: account-stores
    x-displayName: stores
    description: |
      Manage account stores
  - name: account-terminals
    x-displayName: terminals
    description: |
      Manage account terminals
  - name: report-configuration
    x-displayName: Report configuration
    description: Manage report configurations
  - name: kpi
    x-displayName: KPI
    description: Get KPI data
paths:
  /accounts/{oid}/payout-destinations:
    post:
      tags:
        - payout-destinations
      summary: aid_mgmnt_payout_destinations_post
      description: >
        Create a payout destination for an account


        Dintero admins (access tokens with the `admin:dintero` scope) can
        replace Dintero's standard terms for sellers with links to custom
        agreements by supplying `custom_agreements`. A case created with
        `custom_agreements` is always reviewed manually, it is never approved
        automatically.


        scopes:
          - admin:accounts
          - write:accounts
          - write:accounts:/management/settings/approvals
      operationId: aid_mgmnt_payout_destinations_post
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthPayoutDestinationCreateRequest'
        description: Payout destination details
        required: true
      responses:
        '200':
          $ref: '#/components/responses/AuthPayoutDestinationCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - JWT: []
components:
  parameters:
    owner:
      name: oid
      description: |
        An id that uniquely identifies the account or owner (partner)
      in: path
      required: true
      schema:
        type: string
        format: ^[PT]{1}(?=(?:.{3}|.{8})$)[0-9]*$
  schemas:
    AuthPayoutDestinationCreateRequest:
      type: object
      allOf:
        - $ref: '#/components/schemas/AuthPayoutDestinationCreateData'
    AuthPayoutDestinationCreateData:
      type: object
      required:
        - payout_destination_id
        - payout_reference
        - bank_accounts
      properties:
        payout_destination_id:
          $ref: '#/components/schemas/PayoutDestinationId'
        payout_reference:
          type: string
          description: |
            Reference on transfers in bank statements
        bank_accounts:
          type: array
          minItems: 1
          maxItems: 2
          description: |
            Bank accounts associated with the payout destination.
          items:
            $ref: '#/components/schemas/PayoutDestinationBankAccount'
        type:
          $ref: '#/components/schemas/LegalEntityType'
        payout_interval_type:
          type: string
          enum:
            - day
            - week
            - month
            - manual
        merchant_category_code:
          type: string
          pattern: ^\d{1,4}
          format: mcc
          example: '2741'
        organization:
          type: object
          description: Organization data for company type of payout destination
          required:
            - organization_number
          properties:
            organization_number:
              type: string
            name:
              type: string
            trade_name:
              type: string
        individual:
          $ref: '#/components/schemas/Individual'
        address:
          $ref: '#/components/schemas/Address'
        payout_destination_name:
          type: string
          maxLength: 60
          description: The name of the payout destination
        payout_destination_description:
          type: string
          maxLength: 1000
          description: >
            Description of the payout destination


            For testing purposes it is possible to auto-approve, auto-decline,
            or keep a new seller waiting for signature by setting this field to
            one of the following values:


            - "AUTO_APPROVE": Approves the case automatically, the case status
            will be set to `ACTIVE`

            - "AUTO_DECLINE": Declines the case automatically, the case status
            will be set to `DECLINED`

            - "AUTO_WAITING_FOR_SIGNATURE": Leaves the signature check for the
            case, the case status will be set to `WAITING_FOR_SIGNATURE`


            NOTE: This behavior is only available in test mode, i.e. with an
            `oid` prefixed with "T".
        form_submitter:
          type: object
          description: >
            The user that will submit the form. If the email is set the user
            will be notified about the form via email.


            See [Seller onboarding - Reminder
            emails](https://docs.dintero.com/docs/checkout/split-payment/add-payout-destinations#reminder-emails)

            for the reminder schedule.
          properties:
            email:
              type: string
              format: email
              description: |
                The email of the user that will submit the form.
            name:
              type: string
              description: |
                The name of the user that will submit the form.
            title:
              type: string
              description: |
                The title of the user that will submit the form.
        custom_agreements:
          type: array
          maxItems: 10
          description: >
            Links to agreements the seller has to accept, replacing Dintero's

            standard terms for sellers. Requires an access token with the

            `admin:dintero` scope, a request from a token without that scope is

            rejected with `400`.


            An empty array creates a case without any terms, where the seller is

            not asked to accept anything.


            A case created with `custom_agreements` is always reviewed manually,
            it is never approved automatically.
          items:
            $ref: '#/components/schemas/CustomAgreement'
        settlement_report_configuration:
          type: object
          required:
            - emails
          properties:
            emails:
              type: array
              description: >-
                Emails that will receive settlement reports by email for this
                payout destination
              minItems: 1
              items:
                type: string
                format: email
        report_configuration:
          type: object
          description: >-
            Optional settings for automatically creating report configurations
            when the payout destination is created.
          required:
            - create_report_configuration
          properties:
            create_report_configuration:
              type: boolean
              description: >
                If enabled a report configuration for this sellers transactions
                is added when the payout destination is created.
            email:
              type: string
              format: email
              description: |
                Optional email used in report configuration.
            schedule:
              type: string
              description: >
                Optional report configuration schedule, will match the payout
                interval if not otherwise specified.
              enum:
                - daily
                - weekly
                - monthly
            reference:
              type: string
              description: >
                Optional reference, will use `payout_destination_id` if not
                specified.
            content_types:
              type: array
              description: >-
                Optional content types for the report, default is both
                `application/pdf` and `text/csv`.
              items:
                type: string
                enum:
                  - application/pdf
                  - text/csv
    AuthPayoutDestinationCreateResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/AuthPayoutDestination'
        - properties:
            form_submitter:
              type: object
              description: >
                The user that will submit the form. If the email is set the user
                will be notified

                about the form via email.


                See [Seller onboarding - Reminder
                emails](https://docs.dintero.com/docs/checkout/split-payment/add-payout-destinations#reminder-emails)

                for the reminder schedule.
              properties:
                email:
                  type: string
                  format: email
                  description: |
                    The email of the user that will submit the form.
                name:
                  type: string
                  description: |
                    The name of the user that will submit the form.
                title:
                  type: string
                  description: |
                    The title of the user that will submit the form.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            code:
              type: string
              description: The code used to identify the error/warning
            errors:
              type: array
              description: The nested error(s) encountered during validation
              items:
                type: object
            message:
              type: string
              description: The human readable description of the error/warning
    PayoutDestinationId:
      type: string
      maxLength: 40
      pattern: ^[A-Za-z0-9_-]+$
      example: PD032
    PayoutDestinationBankAccount:
      type: object
      required:
        - bank_account_currency
      properties:
        bank_name:
          type: string
          description: Name of the Bank used
        bank_account_number:
          type: string
          description: BBAN, national bank account number
        bank_account_number_type:
          type: string
          enum:
            - IBAN
            - BBAN
          description: >
            The type of bank account number. Will default to BBAN in
            bank_country_code

            is norwegian. Will default to IBAN in all other countries.
        bank_account_country_code:
          $ref: '#/components/schemas/BankAccountCountryCode'
        bank_account_currency:
          type: string
          format: iso4217-code
          example: NOK
          description: |
            The three-character ISO-4217 currency.
            https://en.wikipedia.org/wiki/ISO_4217
        bank_identification_code:
          type: string
          example: DNBANOKKXXX
          description: >
            A BIC code, or Bank Identifier Code also know as SWIFT code,
            consistin of

            8 to 11 alphanumeric characters.
    LegalEntityType:
      type: string
      description: >
        - For a company seller select `company` or leave blank. Required fields
        are
          `organization_number` and `country_code`.
        - For an individual seller select `individual`. Provide optional fields
        in
          the individual object.
      enum:
        - company
        - individual
    Individual:
      type: object
      description: |
        Used only if `type` is `individual`.
      additionalProperties: false
      properties:
        name:
          type: string
        birth_date:
          type: string
          format: date
        phone_number:
          type: string
        email:
          type: string
          format: email
        address_line:
          type: string
          example: Sommerkroveien 34
        address_line_2:
          type: string
          example: PB 123
        address_postal_code:
          type: string
          example: '0349'
        address_city:
          type: string
          example: Oslo
        address_country:
          type: string
          format: iso-3166-1
          description: |
            ISO 3166-1 country code
          example: 'NO'
        citizenships:
          type: array
          minItems: 1
          items:
            type: object
            additionalProperties: false
            required:
              - country
              - social_security_number
            properties:
              country:
                type: string
                format: iso-3166-1
                description: |
                  ISO 3166-1 country code
                example: 'NO'
              social_security_number:
                type: string
    Address:
      type: object
      required:
        - address_line
        - postal_place
        - country
      properties:
        address_line:
          type: string
          example: Sommerkroveien 34
        address_line_2:
          type: string
          example: PB 123
        postal_code:
          type: string
          example: '0349'
        postal_place:
          type: string
          example: Oslo
        country:
          type: string
          format: iso-3166-1
          description: |
            ISO 3166-1 country code
          example: 'NO'
    CustomAgreement:
      type: object
      description: A link to an agreement the seller has to accept.
      required:
        - name
        - url
      properties:
        name:
          type: string
          maxLength: 200
          description: >
            The name of the agreement, shown to the seller in the declaration
            form.
          example: Terms of Service for Acme Marketplace
        url:
          type: string
          format: url
          description: |
            URL to a page or document with the agreement.
          example: https://www.example.com/legal/seller-terms
    AuthPayoutDestination:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/AuthPayoutDestinationReadOnly'
        - $ref: '#/components/schemas/AuthPayoutDestinationAdditionalData'
    BankAccountCountryCode:
      type: string
      description: |
        Which country the bank account is registered in.
        Must be a two letter ISO 3166-1-alpha-2 country code.

        Supported bank account country codes:
          * `AT` (Austria)
          * `BE` (Belgium)
          * `HR` (Croatia)
          * `CY` (Cyprus)
          * `DK` (Denmark)
          * `EE` (Estonia)
          * `FI` (Finland)
          * `FR` (France)
          * `DE` (Germany)
          * `GR` (Greece)
          * `IE` (Ireland)
          * `IS` (Iceland)
          * `IT` (Italy)
          * `LV` (Latvia)
          * `LT` (Lithuania)
          * `LU` (Luxembourg)
          * `MT` (Malta)
          * `NL` (Netherlands)
          * `NO` (Norway)
          * `PT` (Portugal)
          * `SK` (Slovakia)
          * `SI` (Slovenia)
          * `ES` (Spain)
          * `SE` (Sweden)
          * `UK` (United Kingdoms)
          * `US` (United States of America)
      maxLength: 2
      minLength: 2
      pattern: ^[A-Z]{2}$
      example: 'NO'
    Entity:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: |
            An UUID that uniquely identifies the resource
          readOnly: true
        created_at:
          type: string
          format: date-time
          description: |
            The date-time when the resource was created
          readOnly: true
        created_by:
          type: string
          example: 1c92f7e1-2897-4d46-bdcc-c127a914fb4e
          description: |
            The ID of the user/client created the resource
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: |
            The date-time when the resource was last updated
          readOnly: true
        deleted_by:
          type: string
          example: 1c92f7e1-2897-4d46-bdcc-c127a914fb4e
          description: |
            The ID of the user/client created the resource
          readOnly: true
        deleted_at:
          type: string
          format: date-time
          readOnly: true
    AuthPayoutDestinationReadOnly:
      type: object
      allOf:
        - $ref: '#/components/schemas/AuthPayoutDestinationBaseReadOnly'
        - type: object
          properties:
            number_of_stores:
              type: integer
              description: Number of stores associated with the payout destination
            number_of_terminals:
              type: integer
              description: Number of terminals associated with the payout destination
    AuthPayoutDestinationAdditionalData:
      type: object
      properties:
        terminals:
          type: array
          description: Terminals associated with the payout destination
          items:
            type: object
            required:
              - terminal_id
              - device_serial_number
            properties:
              terminal_id:
                type: string
                example: T312
              device_serial_number:
                type: string
                example: '123444555679'
              status:
                $ref: '#/components/schemas/TerminalStatus'
        stores:
          type: array
          description: Stores associated with the payout destination
          items:
            type: object
            required:
              - store_id
            properties:
              store_id:
                type: string
                example: S1
              store_name:
                type: string
                example: Store 1
              address:
                $ref: '#/components/schemas/Address'
              number_of_terminals:
                type: integer
                example: 10
    AuthPayoutDestinationBaseReadOnly:
      type: object
      required:
        - id
        - created_at
        - created_by
        - updated_at
        - updated_by
        - account_id
        - case_status
        - type
      properties:
        id:
          type: string
        payout_destination_id:
          $ref: '#/components/schemas/PayoutDestinationId'
        created_at:
          type: string
        created_by:
          type: string
        updated_at:
          type: string
        updated_by:
          type: string
        account_id:
          type: string
          pattern: ^[PT]{1}\d{8}$
        case_status:
          $ref: '#/components/schemas/ApprovalStatus'
        type:
          $ref: '#/components/schemas/LegalEntityTypeReadOnly'
        merchant_category_code:
          type: string
          pattern: ^\d{1,4}
          format: mcc
          example: '2741'
        organization:
          type: object
          description: Organization data for company type of payout destination
          required:
            - organization_number
          properties:
            organization_number:
              type: string
            name:
              type: string
            trade_name:
              type: string
        individual:
          $ref: '#/components/schemas/Individual'
        address:
          $ref: '#/components/schemas/Address'
        bank_accounts:
          type: array
          minItems: 1
          maxItems: 2
          description: |
            Bank accounts associated with the payout destination.
          items:
            $ref: '#/components/schemas/PayoutDestinationBankAccount'
        payout_interval_type:
          type: string
          enum:
            - day
            - week
            - month
            - manual
        payout_reference:
          type: string
          description: Reference on transfers in bank statements
        email:
          type: string
          format: email
        website:
          type: string
          format: uri
        phone_number:
          type: string
          pattern: ^\+?\d{5,15}$
          description: |
            ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
        payout_destination_name:
          type: string
          description: The name of the payout destination
        payout_destination_description:
          type: string
          description: Description of the payout destination
        links:
          $ref: '#/components/schemas/ApprovalLinks'
        platform_type:
          $ref: '#/components/schemas/PlatformType'
    TerminalStatus:
      type: string
      description: >
        How far the terminal has got through setup, and whether it can take
        payments. Only an `ACTIVE` terminal can be used for a payment; a session
        referencing a terminal in any other status is rejected.


        This says nothing about whether the terminal is online right now - for
        that, send a [`poll_terminal` terminal
        operation](/docs/checkout/in-person/terminal-operations#check-that-a-terminal-is-reachable).


        - `PENDING`: The terminal has been registered and Dintero is configuring
        it. No action needed, the status updates on its own. See `status_reason`
        for what is currently happening.

        - `ACTION_REQUIRED`: Dintero has finished its side, and the terminal now
        has to fetch its configuration from its own on-screen menu before it can
        be activated. Also set when a configuration fetch was attempted and did
        not complete, in which case fetch the settings again.

        - `ACTIVE`: The terminal is configured and ready to accept payments.

        - `INACTIVE`: The device has been disabled and cannot take payments.
        Re-enabling it is not self-service - contact Dintero support.

        - `ERROR`: Setting up the terminal failed. Delete the terminal and
        register it again, or contact Dintero support.

        - `DELETED`: The terminal has been removed from the account. Register
        the terminal again to reuse it.
      readOnly: true
      enum:
        - DELETED
        - PENDING
        - ACTION_REQUIRED
        - ACTIVE
        - INACTIVE
        - ERROR
    ApprovalStatus:
      type: string
      enum:
        - ACTIVE
        - DECLINED
        - UNDER_MANUAL_REVIEW
        - AUTOMATIC_REVIEW
        - WAITING_FOR_SIGNATURE
        - WAITING_FOR_DECLARATION
        - ERROR
        - ARCHIVED
        - WAITING_FOR_DETAILS
        - TERMINATED
    LegalEntityTypeReadOnly:
      type: string
      description: |
        Type of legal entity
      enum:
        - company
        - individual
    ApprovalLinks:
      type: array
      items:
        type: object
        properties:
          href:
            type: string
            description: The URL of the link.
            format: uri
          rel:
            type: string
            description: |
              Specifies the type of link
            enum:
              - contract_url
              - cdd_case_url
              - dintero_cdd_case_url
              - declaration_url
              - signed_contract_file_url
    PlatformType:
      type: string
      description: |
        Type of platform for merchants using split payout.
      enum:
        - marketplace
        - aggregator
        - reimburser
  responses:
    AuthPayoutDestinationCreated:
      description: Created AuthPayoutDestination resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthPayoutDestinationCreateResponse'
    BadRequest:
      description: Bad / Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    AccessForbidden:
      description: Access forbidden, invalid JWT token was used
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Unexpected Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    JWT:
      type: http
      description: >
        Bearer authentication (token authentication) should be used for
        accessing the API.


        Use [Get Token](/api-reference/authenticate/aid_auths_oauth_token_post)
        to get an access token for client credentials.

        Pass the token in the request header:

            Authorization: Bearer {access_token}

        where the **access_token** is JSON Web Tokens (JWT).
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.