openapi: 3.0.0
info:
  title: Account Management API
  description: |
    # Changelog

    All notable changes to the API.

    ## 2026-07-30

    > **add**: Add merchant support for requesting updates of the
    > account sandbox settings
    >
    > - [PUT /v1/accounts/{aid}/management/settings/sandbox](/management-auth-api/account-settings/aid_account_settings_sandbox_put)
    > - [GET /v1/accounts/{aid}/management/settings/sandbox](/management-auth-api/account-settings/aid_account_settings_sandbox_get)

    ## 2026-07-10

    > **update** Add `terminal_id` and `search` query parameters to filter terminals.
    >
    > - [GET /v1/accounts/{aid}/management/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)

    ## 2026-07-11

    > **update** Add `status` and `search` query parameters to filter client collection.
    >
    > - [GET /v1/accounts/{aid}/auth/clients](/management-auth-api/clients/aid_auth_clients_get)

    ## 2026-06-26

    > **update** Add `status`, `device_model`, and `device_serial_number` query parameters to filter terminals.
    >
    > - [GET /v1/accounts/{aid}/management/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)

    ## 2026-06-24

    > **update** Include `ipp` in `requested_payment_methods` of Account onboarding
    >
    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2026-06-09

    > **update** `store_id` is now optional when creating a store. If omitted, the server generates one (e.g. `T12345678-0001`).
    >
    > - [POST /v1/accounts/{aid}/management/stores](/management-auth-api/account-stores/aid_account_management_stores_post)

    ## 2026-06-08
    > **update** Include `ipp` in `payment_methods` of new Payment approval
    >
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_get)
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_post)

    ## 2026-06-04
    > **update** Include `links` in payout destination details response
    >
    > - [GET /v1/accounts/{aid}/payout-destinations/{payout_destination_id}](#operation/aid_mgmnt_payout_destinations_payout_destination_id_get)

    ## 2026-06-03

    > **update** `device_model` removed from terminal create request. The model is always resolved from the serial number using terminal manufacture data.
    >
    > - [POST /v1/accounts/{aid}/management/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)

    > **update** Add `status_reason` to terminal responses. 
    >
    > **update** Expand terminal `status` to include `ERROR`.
    >
    > - [GET /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_get)
    > - [GET /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)
    > - [GET /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)
    > - [GET /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_get)

    ## 2026-05-30
    > **update** Store `form_submitter` details on created payout destination response
    >
    > - [POST /v1/accounts/{aid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_post)

    ## 2026-05-29

    > Document minimum required fields to be set for POST account to enable `livemode`
    >
    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2026-05-22

    > **update** Store `status` response field now includes all possible values: `ACTIVE`, `PENDING`, `SUSPENDED`, `DELETED`, `ERROR`.
    >
    > - [GET /v1/accounts/{aid}/management/stores](/management-auth-api/account-stores/aid_account_management_stores_get)
    > - [GET /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)

    ## 2026-05-21

    > **update** Add `status` query parameter to filter stores by status.
    >
    > - [GET /v1/accounts/{aid}/management/stores](/management-auth-api/account-stores/aid_account_management_stores_get)

    > **update** Add `enrollment` field to store details response.
    >
    > - [GET /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)

    > **update** New stores are created with `status: PENDING` by default.

    > **break** `organization_number` cannot be changed after store creation.
    >
    > - [PUT /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_put)

    > **update** Terminal creation returns `400` when the store has no payout destination.
    >
    > - [POST /v1/accounts/{aid}/management/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)

    > **update** Add `PENDING` and `ACTION_REQUIRED` terminal statuses.
    >
    > - [GET /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)
    > - [GET /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_get)

    ## 2026-05-20

    > **break** The `store_id` field in the POST terminal request body now expects the
    > client-supplied `store_id` (e.g. `S312`) instead of the system-generated store `id`
    > (e.g. `P12600030-0001`).
    >
    > - [POST /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)

    ## 2026-05-16

    > **break** Remove `PUT /v1/accounts/{aid}/terminals/{terminal_id}` endpoint.
    >
    > - [GET /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_get)
    > - [DELETE /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_delete)

    > **break** `store_name`, `phone_number`, and `organization` are now required fields when creating or updating a store.
    >
    > - [POST /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_post)
    > - [PUT /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_put)

    ## 2026-05-15

    > **breaking** Refactor `stores.address` to `Address` object and remove requirement for `store.store_name` in GET endpoint for `/{oid}/payout-destinations/{payout_destination_id}`
    >
    - [GET /v1/accounts/{aid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get_by_id)
    - 
    ## 2026-05-13

    > **update** Add `payout_destination_name` and `payout_destination_description` to `AuthPayoutDestinationReadOnly`
    > 
    > - [GET /v1/accounts/{aid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get_by_id)
    > - [GET /v1/accounts/{oid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)

    ## 2026-05-08

    > **update** Add `terminals` and `stores` to GET endpoint for `/{oid}/payout-destinations/{payout_destination_id}`
    >
    > - [GET /v1/accounts/{aid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get_by_id)

    ## 2026-05-07

    > **update** `store_id` is now required when creating a terminal.
    >
    > - [POST /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)

    ## 2026-05-06

    > **update** Add `supported_invoice_channels` support for Kravia connection update.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_get)
    > - PUT [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_put)

    ## 2026-05-03

    > **new** POST endpoint for `/{aid}/payout-destinations` and GET endpoint for `/{oid}/payout-destinations/{payout_destination_id}`
    >
    > - [GET /v1/accounts/{aid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get_by_id)
    > - [POST /v1/accounts/{aid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_post)

    ## 2026-05-02

    > **new** New query parameters `search` and `creation_state` for Price package collection
    >
    > - [GET /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_get)

    ## 2026-05-01

    > **new** Update payout destination.
    >
    > - [PATCH /v1/accounts/{oid}/management/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_by_id_patch)

    > **update** Add payout_interval_type value `"manual"`.
    >
    > - [PATCH /v1/accounts/{oid}/management/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_by_id_patch)

    ## 2026-04-29

    > **update** Add `terminal_id` query parameter to filter stores by terminal.
    >
    > - [GET /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_get)

    > **break** Remove deprecated `/management/` path prefixes for stores, terminals and payout-destinations.
    > Use the plain paths instead.
    >
    > - [GET /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_get)
    > - [POST /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_post)
    > - [GET /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)
    > - [PUT /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_put)
    > - [DELETE /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_delete)
    > - [GET /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)
    > - [POST /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)
    > - [GET /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_get)
    > - [PUT /v1/accounts/{aid}/terminals/{terminal_id}](#operation/aid_account_management_terminals_termid_put)
    > - [DELETE /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_delete)
    > - [GET /v1/accounts/{oid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)
    > - [PATCH /v1/accounts/{oid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_by_id_patch)
    > - [POST /v1/accounts/{oid}/payout-destinations/{payout_destination_id}/payouts](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_payouts_post)

    > **update** `device_model` on terminals is now an enum. Accepted values are `SATURN1000`, `Saturn_S1F4_Pro`, `S1P2`.
    >
    > - [POST /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)
    > - [PUT /v1/accounts/{aid}/terminals/{terminal_id}](#operation/aid_account_management_terminals_termid_put)
    > - [GET /v1/accounts/{oid}/payout-destinations/{payout_destination_id}](#operation/oid_mgmnt_payout_destinations_get_by_id)
    > - [POST /v1/accounts/{oid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_post)

    ## 2026-04-27

    > **update** Add `email`, `website`, and `phone_number` to payout destinations.
    >
    > - [GET /v1/accounts/{oid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)
    > - [PATCH /v1/accounts/{oid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_by_id_patch)

    ## 2026-04-17

    > **new** Add plain path aliases for stores, terminals and payout-destinations.
    > The `/management/` prefix is no longer required.
    >
    > - [GET /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_get)
    > - [POST /v1/accounts/{aid}/stores](/management-auth-api/account-stores/aid_account_management_stores_post)
    > - [GET /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)
    > - [PUT /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_put)
    > - [DELETE /v1/accounts/{aid}/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_delete)
    > - [GET /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_get)
    > - [POST /v1/accounts/{aid}/terminals](/management-auth-api/account-terminals/aid_account_management_terminals_post)
    > - [GET /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_get)
    > - [PUT /v1/accounts/{aid}/terminals/{terminal_id}](#operation/aid_account_management_terminals_termid_put)
    > - [DELETE /v1/accounts/{aid}/terminals/{terminal_id}](/management-auth-api/account-terminals/aid_account_management_terminals_termid_delete)
    > - [GET /v1/accounts/{oid}/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)
    > - [PATCH /v1/accounts/{oid}/payout-destinations/{payout_destination_id}](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_by_id_patch)
    > - [POST /v1/accounts/{oid}/payout-destinations/{payout_destination_id}/payouts](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_payouts_post)

    ## 2026-04-09

    > Add endpoint to onboard merchant to Seitatech and endpoint to get the connection.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/seitatech](/management-auth-api/account-connections/aid_account_settings_connections_seitatech_get)
    > - POST [/v1/accounts/{aid}/management/settings/connections/seitatech](/management-auth-api/account-connections/aid_account_settings_connections_seitatech_post)

    ## 2026-04-08

    > **break** Rename `locations` to `stores` in management API. The `/management/locations` endpoints are now `/management/stores`. Related properties renamed: `location_id` to `store_id`, `location_name` to `store_name`, `number_of_locations` to `number_of_stores`. Webhook events renamed from `account_location_*` to `account_store_*`.
    >
    > - [GET /v1/accounts/{aid}/management/stores](/management-auth-api/account-stores/aid_account_management_stores_get)
    > - [POST /v1/accounts/{aid}/management/stores](/management-auth-api/account-stores/aid_account_management_stores_post)
    > - [GET /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_get)
    > - [PUT /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_put)
    > - [DELETE /v1/accounts/{aid}/management/stores/{store_id}](/management-auth-api/account-stores/aid_account_management_stores_sid_delete)

    ## 2026-04-01

    > **new** On-demand payouts.
    >
    > - [POST /v1/accounts/{oid}/management/payout-destinations/{payout_destination_id}/payouts](/management-auth-api/payout-destinations/oid_mgmnt_payout_destinations_payouts_post)

    ## 2026-03-25

    > **new** Add endpoint for listing Bambora IPP submerchant onboardings
    >
    > - [GET /v1/accounts/{aid}/management/settings/connections/bambora-ipp-submerchants](/management-auth-api/account-connections/aid_account_settings_connections_bambora_ipp_get)

    ## 2026-03-20

    > **update** Add `payment_product_type_category` as a price package price dimension. Also add enum values and descriptions for the price `name` property.
    >
    > - [GET /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_get)
    > - [POST /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_post)
    > - [PUT /v1/accounts/{oid}/management/price-packages/{price_package_id}](/management-auth-api/price-packages/aid_mgmnt_price_packages_put)
    > - [GET /v1/accounts/{aid}/management/price-package](/management-auth-api/account-price-package/aid_account_price_package_get)

    > **update** Update Mastercard Match terminate and search response to use new values from Match Pro API. Replace `cat_flag` with `is_proprietorship` and `is_transaction_laundering` in terminate request. Update all MATCH response definitions per MATCH Pro spec, and use snake_case for all schemas.
    >
    > - [POST /v1/accounts/{aid}/compliance-search/match/terminate](/management-auth-api/account-fraud-search/accounts_aid_search_match_terminate_merchant_post)
    > - [POST /v1/accounts/{aid}/compliance-search/match](/management-auth-api/account-fraud-search/accounts_aid_search_match_post)
    > - [GET /v1/accounts/{aid}/compliance-search/match/{irn}](/management-auth-api/account-fraud-search/accounts_aid_search_match_get)

    ## 2026-03-11

    > **update** Add `TERMINATED` to approval status for approvals filtering and response status.
    >
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_get)
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_get)

    ## 2026-03-09

    > **new** New query parameters for Payout destination collection
    >
    > - [GET /v1/accounts/{aid}/management/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)

    ## 2026-03-04

    > **update** Add `ipp` Checkout service feature
    >
    > - [PUT /v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - [GET /v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)

    ## 2026-02-25

    > **update** Add `organization.country` and `organization.type` to location organization input.
    >
    > - [POST /v1/accounts/{aid}/management/locations](#operation/aid_account_management_locations_post)
    > - [PUT /v1/accounts/{aid}/management/locations/{location_id}](#operation/aid_account_management_locations_lid_put)

    ## 2026-02-23

    > **update** Add `payout_interval_type`, `number_of_locations`, `number_of_terminals` to `AuthPayoutDestinationReadOnly`
    >
    > - [GET /v1/accounts/{aid}/managment/payout-destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)


    ## 2026-02-21

    > **update** Add `kravia` to `payment_methods` of `ApprovalPayments`
    >
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_get)
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_post)

    ## 2026-02-20

    > **update** Add support for `terminals` to location responses and `terminals_summary` to location collection entries.
    >
    > **update** Add `status` to terminal.
    >
    > - [GET /v1/accounts/{aid}/management/locations](#operation/aid_account_management_locations_get)
    > - [GET /v1/accounts/{aid}/management/locations/{location_id}](#operation/aid_account_management_locations_lid_get)
    > - [ PUT /v1/accounts/{aid}/management/locations/{location_id}](#operation/aid_account_management_locations_lid_put)
    > - [DELETE /v1/accounts/{aid}/management/locations/{location_id}](#operation/aid_account_management_locations_lid_delete)


    ## 2026-02-28

    > Add endpoint to onboard merchant to Two and endpoint to get the connection.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/two](/management-auth-api/account-connections/aid_account_settings_connections_two_get)
    > - POST [/v1/accounts/{aid}/management/settings/connections/two](/management-auth-api/account-connections/aid_account_settings_connections_two_post)

    ## 2026-02-13

    > **update** Add `invoice_delivery_method` support for Kravia connection.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_get)
    > - POST [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_post)
    >
    > **new** Add endpoint for updating Kravia invoice delivery mode.
    > - PUT [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_put)

    ## 2026-02-10

    > **update** Add `website` and `coordinates` properties to [location management endpoints](#tag/account-locations)

    ## 2026-01-16

    > **update** Add `allowed_merchant_category_codes` property to Account `onboarding`
    >
    > Restricts the MCC codes available for selection during merchant onboarding.
    >
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)

    ## 2026-01-12

    > **new** New query parameter for accounts collection: `services`
    >
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2025-12-31

    > **update** Document support for 404 status from callback endpoint
    >
    > - [POST /v1/accounts/{aid}/management/settings/cdd/cases/{id}/callback](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_callback)

    ## 2025-12-16

    > **update** add `operator_payout_destination` property to location management endpoints
    >
    > [GET location details](#operation/aid_account_management_locations_get)
    > [GET location list](#operation/aid_account_management_locations_lid_get)

    ## 2025-12-15

    > **update** Added `location_name` and `number_of_terminals` properties to the [location endpoints](#tag/account-locations)

    ## 2025-12-09

    > **update** remove `device_serial_number` property for update operation
    >
    > [PUT /v1/accounts/{aid}/management/terminals/{terminal_id}](#operation/aid_account_management_terminals_termid_put)

    ## 2025-12-09

    > - Removed entity management endpoints for `/entities` and `/transfer-instruments`
    > - Removed POST endpoint for entity management `/payout-destinations`
    > - Updated [GET payout destinations](/management-auth-api/payout-destinations/aid_mgmnt_payout_destinations_get)

    ## 2025-11-20

    > **update** Add `public_business_name` to `AuthenticatedAccountUser`
    >
    > - GET [/v1/account/user](/management-auth-api/account-users/account_user_get)

    ## 2025-10-31

    > **new** Add new `locations` and `terminals` endpoints to replace documented entity API
    > - [POST/GET/DELETE locations](#tag/account-locations)
    > - [POST/GET/DELETE terminals](#tag/account-terminals)

    ## 2025-10-28

    > **update** Add `configuration` property to Kravia connection response to include merchant configuration details.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_get)

    ## 2025-10-27

    > Add endpoint to onboard merchant to Kravia and endpoint to get the connection.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_get)
    > - POST [/v1/accounts/{aid}/management/settings/connections/kravia](/management-auth-api/account-connections/aid_account_settings_connections_kravia_post)

    ## 2025-10-20

    > Add endpoint to onboard merchant to Click-to-pay and endpoint to get the connection.
    >
    > - GET [/v1/accounts/{aid}/management/settings/connections/clicktopay](/management-auth-api/account-connections/aid_account_settings_connections_visa_click_to_pay_get)
    > - POST [/v1/accounts/{aid}/management/settings/connections/clicktopay](/management-auth-api/account-connections/aid_account_settings_connections_visa_click_to_pay_post)

    ## 2025-10-06

    > Remove pattern requirement for `billing.billing_statement.name`
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    ## 2025-09-25

    > Add new property `public_business_name` to Account `company`
    > Represents the public business name of the company, also known as "Doing business as" business name.
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    ## 2025-09-15

    > Add new scope `write:accounts:/assets` for creating upload URLs
    > Extend the create upload URL endpoint with `write:dintero:/management/accounts` access
    >
    > - POST [v1/accounts/{aid}/management/assets](/management-auth-api/account-assets/aid_account_assets_post)

    ## 2025-09-09

    > Support more mime types for creating an upload URL
    >
    > - POST [v1/accounts/{aid}/management/assets](/management-auth-api/account-assets/aid_account_assets_post)

    ## 2025-08-27

    > Add new property `attachments` to Account
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    ## 2025-08-26

    > Add new property `terms` to Account `company`
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)


    ## 2025-08-25

    > Add new property `contacts` to Account `company`
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    ## 2025-08-22

    > Add new property `billing_statement` to Account `billing`
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - POST [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - GET [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - PUT [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - DELETE [/v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    ## 2025-08-19

    > Add new property `onboarding` to Account settings
    >
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - PUT [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)

    ## 2025-06-01

    > Add new endpoints for Entity Management
    > - [Entities](#tag/entities)
    > - [Stores](#tag/stores)
    > - [Transfer Instruments](#tag/transfer-instruments)
    > - [Payout Destinations](#tag/payout-destinations)

    ## 2025-05-12

    > Add `country` query parameter to accounts collection
    >
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2025-04-01

    > Adds Mastercard Tokenization enrollment
    >
    > - POST [/v1/accounts/{aid}/management/settings/connections/mastercard-tokenization](/management-auth-api/account-connections/aid_account_settings_connections_mastercard_tokenization_post)
    > - GET [/v1/accounts/{aid}/management/settings/connections/mastercard-tokenization](/management-auth-api/account-connections/aid_account_settings_connections_mastercard_tokenization_get)
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2025-03-31

    > **new** Add support for updating API Client name and description
    > - [PATCH /v1/accounts/{oid}/auth/clients/{id}](/management-auth-api/clients/aid_auths_clients_id_patch)

    > **new** Document support for new dintero scopes
    > - [POST /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_post)
    > - [PUT /v1/accounts/{oid}/management/price-packages/{price_package_id}](/management-auth-api/price-packages/aid_mgmnt_price_packages_put)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}/price-packages](/management-auth-api/accounts/aid_account_settings_price_packages_put)

    ## 2025-03-02

    > **new** `source_price_package_id` property in `PricePackageMeta` definition to keep track of the price package a price package is based on.
    >
    > - [GET /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_get)
    > - [POST /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_post)

    ## 2025-03-01

    > Endpoint for signing up to Swish PayFac
    >
    > - [POST /management/settings/connections/swish-payfac](/management-auth-api/account-connections/aid_account_settings_connections_swish_payfac_post)

    > Adds Dintero PSP connection.
    >
    > - POST [/v1/accounts/{aid}/management/settings/connections/dintero-psp](/management-auth-api/account-connections/aid_account_settings_connections_dintero_psp_post)
    > - GET [/v1/accounts/{aid}/management/settings/connections/dintero-psp](/management-auth-api/account-connections/aid_account_settings_connections_dintero_psp_get)

    > Changes to Visa Tokenization enrollment, rename from visa-tokens to visa-tokenization
    >
    > - POST [/v1/accounts/{aid}/management/settings/connections/visa-tokenization](/management-auth-api/account-connections/aid_account_settings_connections_visa_tokenization_post)
    > - GET [/v1/accounts/{aid}/management/settings/connections/visa-tokenization](/management-auth-api/account-connections/aid_account_settings_connections_visa_tokenization_get)
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    > Changes to 3D-Secure enrollment, make the API stateful and algin it to the other connections.
    >
    > - POST [/v1/accounts/{aid}/management/settings/connections/mastercard-3ds](/management-auth-api/account-connections/aid_account_settings_connections_mastercard_3ds_post)
    > - GET [/v1/accounts/{aid}/management/settings/connections/mastercard-3ds](/management-auth-api/account-connections/aid_account_settings_connections_mastercard_3ds_get)
    > - GET [/v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - GET [/v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2025-02-03

    > Support individual sellers in "New seller approval" endpoint.
    >
    > - POST [/v1/accounts/{oid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_post)

    ## 2025-02-01

    > Extend update price packages endpoint with new query parameter `remove_default_price_package` to support removing the default price package from the partner configuration of a given partner account.
    >
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}/price-packages](/management-auth-api/accounts/aid_account_settings_price_packages_put)

    ## 2025-02-02

    > Extend account users API with new query parameter `search` to look up users by email and/or name
    >
    > - [GET /v1/accounts/{oid}/management/users](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_get)

    ## 2025-02-01

    > Extend partner API with new optional property for account: `configuration`
    > The `configuration` property can be used to set various configurations on a
    > partner account.
    >
    > Currently, only "default price package" is supported—which lets you configure
    > a given partner account with a default price package that should be assigned
    > to new merchants created from said partner, if nothing else is specified.
    >
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}/price-packages](/management-auth-api/accounts/aid_account_settings_price_packages_put)
    > - [GET /management/settings](/management-auth-api/account-settings/aid_account_aid_get)

    > Extend update price packages endpoint with new query parameter `remove_default_price_package` to support removing the default price package from the partner configuration of a given partner account.
    >
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}/price-packages](/management-auth-api/accounts/aid_account_settings_price_packages_put)

    ## 2025-01-07

    > Add endpoint for enrollment to 3D-Secure with Mastercard
    >
    > - [PUT /v1/accounts/{oid}/management/settings/connections/3d-secure-enrollment](#operation/aid_account_settings_connections_3ds_enrollment_post)

    > Set merchant category codes as a required field.
    >
    > - [POST /v1/accounts/{aid}/compliance-search/vmss/terminate](/management-auth-api/account-fraud-search/accounts_aid_search_vmss_terminate_merchant_post)

    ## 2025-01-01

    > Extend price package API with PUT price package endpoint for updating an
    > existing price package.
    >
    > - [PUT /v1/accounts/{oid}/management/price-packages/{price_package_id}](/management-auth-api/price-packages/aid_mgmnt_price_packages_put)

    ## 2024-12-09

    > Add endpoint for adding merchant to Visa Merchant Screening Service.
    > Make category and tradeOverInternet optional in VMSS inquiry request.
    >
    > - [POST /v1/accounts/{aid}/compliance-search/vmss/terminate](/management-auth-api/account-fraud-search/accounts_aid_search_vmss_terminate_merchant_post)
    > - [POST /v1/accounts/{aid}/compliance-search/vmss](/management-auth-api/account-fraud-search/accounts_aid_search_vmss_post)

    ## 2024-11-12

    > Add endpoint for querying Visa Merchant Screening Service.
    >
    > - [POST /v1/accounts/{aid}/compliance-search/vmss](/management-auth-api/account-fraud-search/accounts_aid_search_vmss_post)

    ## 2024-11-01

    > Extend partner API with additional optional read-only property for account
    > `prev_credit_rating`.
    >
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2024-11-01

    > Add option to filter price packages by price package ID with new query parameter.
    >
    > - [GET /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_get)

    ## 2024-10-17

    > Add `pricing_conditions` to `price_package` to support defining pricing conditions for the price package.

    > - [POST /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_post)

    ## 2024-10-04

    > Remove requirement for `price_package_id` in `custom_price_package` when creating an account.

    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2024-10-03

    > Add endpoint for getting price package on account

    > - [GET /v1/accounts/{oid}/management/accounts/{aid}/price-package](/management-auth-api/account-price-package/aid_account_price_package_get)

    ## 2024-10-02

    > Revert adding endpoint and definitions for price package comparison

    ## 2024-10-01

    > Extend endpoint to support archiving active payout destination approvals.
    >
    > - [DELETE /v1/accounts/{aid}/management/settings/approvals/payout-destinations/{id}](#aid_management_settings_approvals_payout_destinations_id_delete)

    ## 2024-09-11

    > **Break** Change body for sending termination inquiry
    > **Break** Change URL for MATCH search to avoid conflict with existing API
    > Add endpoint for adding a terminated merchant to MATCH
    > Add enum for termination reason code
    >
    > - [POST /v1/accounts/{aid}/compliance-search/match/terminate](/management-auth-api/account-fraud-search/accounts_aid_search_match_terminate_merchant_post)
    > - [POST /v1/accounts/{aid}/compliance-search/match](/management-auth-api/account-fraud-search/accounts_aid_search_match_post)
    > - [GET /v1/accounts/{aid}/compliance-search/match/{irn}](/management-auth-api/account-fraud-search/accounts_aid_search_match_get)

    ## 2024-09-06

    > Add endpoints for sending termination inquiry to Mastercard MATCH and fetching
    > result of a termination inquiry by its Inquiry Reference Number (IRN)
    >
    > - [POST /v1/accounts/{aid}/search/match](/management-auth-api/account-fraud-search/accounts_aid_search_match_post)
    > - [GET /v1/accounts/{aid}/search/match/{irn}](/management-auth-api/account-fraud-search/accounts_aid_search_match_get)

    ## 2024-08-13

    > - Add `custom_price_package` when creating an account. This property can be used to create a new custom price package for the account.
    > - Add new endpoint for comparing products in price packages.
    > - Add `creation_state` to price package properties to indicate if the price package is a custom price package or not.
    >
    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - [GET /v1/accounts/{oid}/management/price-packages/diff/{pid}](#operation/aid_mgmnt_price_packages_diff_pid_get)

    ## 2024-08-12

    > - Revert change to extend `invites` property when creating an account
    > - Add a new property `invite_users` property that replaces the extended spec
    > - for backwards compatibility, the `invites` property will still be supported
    > - [POST /v1/accounts/{aid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2024-08-06

    > Extend `invites` property when creating an account
    > with support for first name and last name.
    > Include optional `invitation_note` property when creating an account
    > that can be used to add a note to the invitation email.
    >
    > - [POST /v1/accounts/{aid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2024-07-01

    > Extend the account services with optional read-only features properties
    > to track the service feature requested by merchant and their current
    > status
    > Extend endpoint for updating account settings with support for
    > updating services features
    >
    > - [PUT /v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - [POST /management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)

    ## 2024-05-31

    > Extend partner API with additional optional read-only properties for account
    > with `most_expensive_product_price`, `gift_card_revenue_percentage`,
    > `credit_rating`, and `currency`
    >
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2024-04-30

    > Add support for configuring TOTP MFA for account user
    >
    > - [PUT /v1/account/user/mfa/totp](/management-auth-api/account-users/account_user_mfa_totp_put)

    ## 2024-03-31

    > Add `form_submitter` to approvals. Add  `payout_interval_type` payout destination approvals.
    >
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_post)
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_post)

    ## 2024-02-22

    > Add `invites` and `actions` to creation of account
    >
    > - [POST /v1/accounts/{aid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)

    ## 2024-02-01

    > Add new payment option `billie` when applying for payment methods
    >
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payments](/management-auth-api/approvals/aid_management_settings_approvals_payment_post)

    ## 2024-01-01

    > Add new payment method `klarna.billie`
    >
    > - [POST /management/settings/connections/klarna](/management-auth-api/account-connections/aid_account_settings_connections_klarna_post)
    > - [GET /management/settings/connections/klarna](/management-auth-api/account-connections/aid_account_settings_connections_klarna_get)

    > Add new price package APIs. New endpoint for managing price packages
    > that can be used when creating new accounts via the partner API
    >
    > - [GET /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_get)
    > - [POST /v1/accounts/{oid}/management/price-packages](/management-auth-api/price-packages/aid_mgmnt_price_packages_post)
    > - [PUT /v1/accounts/{oid}/management/price-packages/{price_package_id}@custom-price-packages](#operation/aid_mgmnt_price_packages_ppid_custom_post)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}/price-packages](/management-auth-api/accounts/aid_account_settings_price_packages_put)

    ## 2023-12-01

    > Add endpoints for Visa Tokenization connection signup
    >
    > - [POST /v1/accounts/{aid}/management/settings/connections/visa-tokens](#operation/aid_account_settings_connections_visa_tokens_post)
    > - [GET /v1/accounts/{aid}/management/settings/connections/visa-tokens](#operation/aid_account_settings_connections_visa_tokens_get)

    > Extend bambora connection with ability to set token_scope
    >
    > - [POST /management/settings/connections/bambora/{callback_reference}](/management-auth-api/account-connections/aid_account_settings_connections_bambora_callback_post)

    > Extend the account user with new aggrement property that can be used
    > to track the terms and conditions accepted by the account user
    >
    > - [POST /management/users](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_post)
    > - [PUT /management/users/{uid}](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_put)
    > - [GET /account/user](/management-auth-api/account-users/account_user_get)

    ## 2023-11-01

    > Extend partner API with additional optional properties for account
    > with `price_package`, `sale_channel` remove unsupported
    > `statistics.latest`
    >
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)

    > Extend partner API with additional optional read-only properties for account
    > with `payment_case_status`, `projected_sales`, `average_transaction_value`
    > `merchant_category_code` and `delivery_timeline`
    >
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)

    > Add new endpoint for archiving payout destination approvals that are not active.
    >
    > - [DELETE /v1/accounts/{aid}/management/settings/approvals/payout-destinations/{id}](#aid_management_settings_approvals_payout_destinations_id_delete)

    ## 2023-09-01

    > Add new endpoint for posting Bambora Direct connection
    >
    > - [POST /management/settings/connections/bambora-direct](/management-auth-api/account-connections/aid_account_settings_connections_bambora_direct_post)
    >
    > NB! **Deprecates** old Bambora connection endpoint:
    >
    > - [POST /management/settings/connections/bambora](/management-auth-api/account-connections/aid_account_settings_connections_bambora_post)

    ## 2023-08-01

    > Extend partner API with additional properties for account with
    > `statistics.metrics`, `permissions`, `company` and applicant.
    >
    > - [POST /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](#tagoperation/aid_accounts_aid_put)
    > - [POST /v1/accounts/{oid}/signup](/management-auth-api/account-onboarding/accounts_oid_signup_post)

    ## 2023-06-01

    > Extend response bodies with `approvals_payments_statuses`  and `approvals_payout_destinations_statuses` for partners accounts management.
    >
    > - [POST /management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - [GET /management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - [GET /management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)
    > - [PUT /management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [DELETE /management/accounts/{aid}](/management-auth-api/accounts/aid_mgmnt_accounts_aid_delete)

    > Add new endpoints for managing Bambora PayFac connections
    >
    > - [POST /management/settings/connections/bambora-payfac](/management-auth-api/account-connections/aid_account_settings_connections_bambora_payfac_post)
    > - [GET /management/settings/connections/bambora-payfac](#operation/aid_account_settings_connections_bambora_payfac_get)

    ## 2023-04-01

    > Add new endpoints for managing Klarna connection
    >
    > - [POST /management/settings/connections/klarna](/management-auth-api/account-connections/aid_account_settings_connections_klarna_post)
    > - [GET /management/settings/connections/klarna](/management-auth-api/account-connections/aid_account_settings_connections_klarna_get)

    ## 2023-01-20

    > Extend applicants with optional signup_reference.

    ## 2022-10-06

    > Payout destinations are now referred to as Sellers, the data model is unchanged.

    ## 2022-07-01

    > **Break** Require `includes=events.case.contracts` to get CDD contract details
    > from cases endpoint. The default response will now by default exclude contract
    > details from response
    >
    > - [GET /v1/accounts/{aid}/management/settings/cdd/cases](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_get)

    ## 2022-06-01

    > Add support for filtering sub-accounts on `connection`, `connection_status` and `payment_options`
    >
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2022-05-01

    > Add support for including `payout_destination_name` and
    > `payout_destination_description` properties when creating diligence cases
    >
    > - [POST /v1/accounts/{aid}/management/settings/cdd/cases](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_post)
    > - [GET /v1/accounts/{aid}/management/settings/cdd/cases](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_get)
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_post)
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_get)

    > Add support for updating `payex`, `collector`, `swish` and `bambora` connections
    >
    > - [POST /v1/accounts/{oid}/management/accounts/{aid}/connections/{connection}/events](/management-auth-api/accounts/aid_accounts_aid_connections_events_post)

    ## 2022-04-01

    > Add support for customer user login via Open ID connect. Configure `oidc` in
    > the client grant and use the new authorize endpoint to let the user be
    > verified and identified by external authorization server. The authorization
    > code received after authorization received by the user can be used to get a
    > Dintero access token via the token endpoint
    >
    > - [POST /v1/accounts/{oid}/auth/client-grants](/management-auth-api/grants/aid_auths_client_grants_post)
    > - [GET /v1/accounts/{oid}/auth/oidc/authorize](/management-auth-api/authenticate/aid_auths_oidc_authorize_get)
    > - [POST /v1/accounts/{oid}/auth/oidc/token](/management-auth-api/authenticate/aid_auths_oidc_token_post)

    ## 2022-02-08

    > Add new endpoints for initiating a new payout destination application and listing payout destination applications
    >
    > - [POST /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_post)
    > - [GET /v1/accounts/{aid}/management/settings/approvals/payout-destinations](/api-reference/approvals/aid_management_settings_approvals_payout_destinations_get)

    ## 2022-02-01

    > Add endpoint for adding Vipps overrides
    >
    > - [PUT /v1/accounts/{aid}/management/settings/connections/vipps/overrides](/management-auth-api/account-connections/aid_account_settings_connections_vipps_overrides_put)

    ## 2021-10-01

    > Add endpoints for managing customer due diligence cases
    >
    > - [POST /v1/accounts/{aid}/management/settings/cdd/cases](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_post)
    > - [GET /v1/accounts/{aid}/management/settings/cdd/cases](/management-auth-api/account-cdd/aid_management_settings_cdd_cases_get)

    ## 2021-06-01

    > Add support for configuring SMS MFA for account user
    >
    > - [PUT /v1/account/user/mfa/sms](/management-auth-api/account-users/account_user_mfa_sms_put)

    ## 2021-05-01

    > Add support for `phone_number` in `account.company` and `account.billing`
    >
    > - [PUT /v1/accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)

    > Add new endpoints for managing Bambora connection
    >
    > - [POST /management/settings/connections/bambora](/management-auth-api/account-connections/aid_account_settings_connections_bambora_post)
    > - [GET /management/settings/connections/bambora](/management-auth-api/account-connections/aid_account_settings_connections_bambora_get)
    > - [POST /management/settings/connections/bambora/{callback_reference}](/management-auth-api/account-connections/aid_account_settings_connections_bambora_callback_post)

    ## 2021-04-01

    > Add support for `account_manager`
    >
    > - [POST /accounts/{oid}/signup](/management-auth-api/account-onboarding/accounts_oid_signup_post)
    > - [POST /accounts/{oid}/signup/prefill](/management-auth-api/account-onboarding-prefill/accounts_oid_signup_prefill_post)
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)

    > Add support for filter on services and connections.
    >
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    > Extend the Account to support new properties, `progression`, `reseller_id` and
    `statistics` to services.
    >
    > - [GET /v1/accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)
    > - [PUT /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_get)

    > Add support for account events.
    >
    > - [POST /v1/accounts/{oid}/management/accounts/{aid}/events](/management-auth-api/accounts/aid_mgmnt_accounts_events_post)
    > - [GET /v1/accounts/{oid}/management/accounts/{aid}/events](/management-auth-api/accounts/aid_mgmnt_accounts_events_get)

    ## 2021-03-01

    > Make Swish cert and passphrase not required
    >
    > - [POST /v1/accounts/{aid}/management/settings/connections/swish/{callback_reference}](/management-auth-api/account-connections/aid_account_settings_connections_swish_callback_post)

    > Add support for changing account user password
    >
    > - [PUT /v1/accounts/{aid}/account/user/password](/management-auth-api/account-users/account_user_password_put)

    > Add support for `authorize` when verifying a signup.
    >
    > - [POST /v1/accounts/{aid}/signup/verify](/management-auth-api/account-onboarding/accounts_oid_signup_verify_post)

    ## 2021-02-01

    > Document `429 Too Many Requests` response from
    >
    > - [POST /v1/accounts/{aid}/auth/token](/api-reference/authenticate/aid_auths_oauth_token_post)
    > - [POST /v1/accounts/{aid}/auth/passwordless](/management-auth-api/authenticate/aid_auth_account_passwordless_post)

    > **Break**: Require `ident_type` and `ident` to be include when requesting token
    > with `grant_type=authorization_code`
    >
    > - [POST /v1/accounts/{aid}/auth/token](/api-reference/authenticate/aid_auths_oauth_token_post)

    > Add support for sending verification code for passwordless login via SMS, and
    > `session_id={uuid} to resend the same verification code again
    > Remove unsupported request options,`send=link` and `type=account`.
    >
    > - [POST /v1/accounts/{aid}/auth/passwordless](/management-auth-api/authenticate/aid_auth_account_passwordless_post)

    ## 2021-01-01

    > Add support for logging on without MFA even if configured with MFA
    >
    > - [POST /v1/accounts/{oid}/auth/token](/api-reference/authenticate/aid_auths_oauth_token_post)

    > Add support for managing account users scopes with roles.
    >
    > - [Roles](#tag/roles)
    > - [POST /management/users](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_post)
    > - [PUT /management/users/{uid}](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_put)

    ## 2020-11-01

    > Extend the endpoint for getting user accounts to include the accounts
    > `display_name` and `icon_url`.
    >
    > - [GET /account/user](/management-auth-api/account-users/account_user_get)

    > Add support for account users authenticated by external Identity providers.
    > External authentication is limited to account users created with
    > `authentication_type=external`.
    >
    > - [POST /management/users](/management-auth-api/account-users/aid_accounts_aid_mgmnt_users_get)
    >
    > Following endpoints has been updated to allow Bearer authorization using
    > ID token issued by external Identity provider.
    >
    > - [GET /account/user](/management-auth-api/account-users/account_user_get)
    > - [POST /auth/token](/api-reference/authenticate/aid_auths_oauth_token_post)
    >
    > Account has been updated with `jwks.uri` property that is required to
    > validate the ID tokens issued by external identity providers.

    ## 2020-09-01

    > Add new endpoint for handling HTTP redirect with ID token query parameter
    >
    > - [POST /auth/redirect](/management-auth-api/authenticate/aid_auths_oauth_redirect_post)

    > Add new endpoint for uploading assets
    >
    > - [POST /management/assets](#tag/account-assets)

    ## 2020-07-01

    > Add new endpoints for managing Swish connection
    >
    > - [POST /management/settings/connections/swish](/management-auth-api/account-connections/aid_account_settings_connections_swish_post)
    > - [GET /management/settings/connections/swish](/management-auth-api/account-connections/aid_account_settings_connections_swish_get)
    > - [POST /management/settings/connections/swish/{callback_reference}](/management-auth-api/account-connections/aid_account_settings_connections_swish_callback_post)

    ## 2020-05-01

    > Extend the AccountCompany with `email` and `technical_email`
    >
    > - [PUT /accounts/{aid}/management/settings](/management-auth-api/account-settings/aid_account_settings_put)
    > - [POST /accounts/{oid}/management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_post)
    > - [PUT /accounts/{oid}/management/accounts/{aid}](/management-auth-api/accounts/aid_accounts_aid_put)

    ## 2020-01-31

    > Add support for `applicant.agreement.attachments`
    >
    > - [POST /accounts/{oid}/signup](http://localhost:8080/management-auth-api/account-onboarding/accounts_oid_signup_post)
    >

    > Add support for enabling MFA (OOB) for auth users.
    >
    > - [POST /auth/users](/management-auth-api/auth-users/aid_auth_users_post)

    ## 2019-12-31

    > Extend the AccountApplicant with support for
    > `promo_code` and utm campaign codes.
    >
    > - [POST /signup](/management-auth-api/account-onboarding/accounts_oid_signup_post)

    ## 2019-11-31

    > Add support for creating client with description
    >
    > - [POST /auth/clients](/management-auth-api/clients/aid_auth_clients_post)

    ## 2019-09-31

    > Extend settings with PayEx connections
    >
    > - [GET /management/settings](/management-auth-api/account-settings/aid_account_aid_get)
    > - [GET /management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    ## 2019-07-31

    > Add new endpoints for managing PayEx connection
    >
    > - [POST /management/settings/connections/payex/{payment_product_type}](/management-auth-api/account-connections/aid_account_settings_connections_payex_post)
    > - [GET /management/settings/connections/payex/{payment_product_type}](/management-auth-api/account-connections/aid_account_settings_connections_payex_get)
    > - [POST /management/settings/connections/payex/{payment_product_type}/{callback_reference}](/management-auth-api/account-connections/aid_account_settings_connections_payex_callback_post)

    ## 2019-06-31

    > The scope required for accessing endpoint has changed,
    > we will continue to support the old scopes but they was removed from
    > the documentation

    > Support `search`, `limit` and `starting_after` query parameter
    > when listing partner accounts
    >
    > - [GET /management/accounts](/management-auth-api/accounts/aid_mgmnt_accounts_get)

    > Support for issuing exchange token for a sub-account,
    > to allow partner accounts to manage sub accounts.
    >
    > - [POST /auth/impersonate_token](/management-auth-api/authenticate/aid_auths_oauth_exchange_token_post)

    ## 2019-05-31

    > Support for including a Refresh Token when requesting
    > an Access Token. Use `grant-type=refresh_token` to get an Access Token
    > from a Refresh Token.
    >
    > - [POST /auth/token](/api-reference/authenticate/aid_auths_oauth_token_post)

    > Support for revoking a Refresh Token
    >
    > - [POST /auth/revoke](/management-auth-api/authenticate/aid_auths_oauth_revoke_post)

    ## 2018-12-17

    > Rename typo in Account definition
    > All `bussiness_name` properties renamed to `business_name`
  contact:
    name: API Integration Support
    email: integration@dintero.com
  version: LATEST
  license:
    name: UNLICENSED
    url: https://dintero.com
security:
  - JWT: []
tags:
  - name: auth users
    x-displayName: users
    description: Admin users
  - name: account users
    x-displayName: users
    description: |
      Admin user for an account. The user is allowed to manage the
      account and administrate access via client/grants
  - name: onboarding
    description: |
      Onboard a merchant to the Dintero platform
  - name: account-onboarding
    x-displayName: account
    description: |
      Manage the signup of a new merchant account
  - name: account-onboarding-prefill
    x-displayName: account-prefill
    description: |
      Manage prefilled signup of a new merchant account
  - name: account-connections
    x-displayName: connections
    description: |
      Manage setup of account connections to external services
  - name: account-settings
    x-displayName: settings
    description: Manage account settings
  - name: connection-onboarding
    x-displayName: connections
    description: |
      Manage the setup of a new account connection
  - name: account-fraud-search
    x-displayName: searches
    description: |
      Search external registers for any issues related to the account
  - name: account-assets
    x-displayName: assets
    description: |
      Manage account assets
  - name: account-stores
    x-displayName: stores
    description: |
      Manage account stores
  - name: account-terminals
    x-displayName: terminals
    description: |
      Manage account terminals
  - name: account-cdd
    x-displayName: due diligence
    description: |
      Manage account KYC/AML cases
  - name: approvals
    x-displayName: approvals
    description: |
      Account approval processes
  - name: price-packages
    x-displayName: price packages
    description: Manage price packages for the account
  - name: payout-destinations
    x-displayName: payout destinations
    description: |
      Payout destinations
  - name: payout-instructions
    x-displayName: payout instructions
    description: |
      A payout instruction is owned by and entity and instructs how
      payout will be done to the entity

      The instructions includes information about transfer instruments is
      enabled and what transfer instruments to use given a specific payout
      currency
  - name: account-price-package
    x-displayName: price package
    description: Manage price package on the account
paths:
  /account/user:
    get:
      operationId: account_user_get
      summary: account_user_get
      description: |
        Get public and private profile information when authenticated
        through Bearer auth

        > Use ID token as Bearer token if the user was authenticated
        > externally. The ID token must include a `email` claim that
        > identifies the account user.

        scopes:
        - openid
        - aws.cognito.signin.user.admin
      x-scopes:
        - openid
        - aws.cognito.signin.user.admin
      tags:
        - account users
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AuthenticatedAccountUserResponse'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Authenticated User
          sidebarTitle: Authenticated User
  /account/user/mfa/sms:
    put:
      operationId: account_user_mfa_sms_put
      summary: account_user_mfa_sms_put
      description: |
        Update the user SMS MFA configuration
      x-scopes:
        - openid
        - aws.cognito.signin.user.admin
      tags:
        - account users
      security:
        - JWT: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - enabled
              properties:
                phone_number:
                  type: string
                  pattern: ^\+?\d{5,15}$
                  description: |
                    mobile number of a person / company, ITU/E.123 format with
                    international prefix (+PPNNNNNNNNN...)

                    **required** when enabling SMS MFA
                enabled:
                  type: boolean
        required: true
      responses:
        '201':
          description: Accepted
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Configure SMS MFA
          sidebarTitle: Configure SMS MFA
  /account/user/mfa/totp:
    put:
      operationId: account_user_mfa_totp_put
      summary: account_user_mfa_totp_put
      description: |
        Update the user TOTP MFA configuration
      x-scopes:
        - openid
        - aws.cognito.signin.user.admin
      tags:
        - account users
      security:
        - JWT: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - enabled
              properties:
                user_code:
                  type: string
                  description: |
                    The one time password computed using the secret code returned by [Associate TOTP MFA](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html)
                enabled:
                  type: boolean
        required: true
      responses:
        '201':
          description: Accepted
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Configure TOTP MFA
          sidebarTitle: Configure TOTP MFA
  /account/user/password:
    post:
      operationId: account_user_password_put
      summary: account_user_password_put
      description: |
        Change the password for the account user

        scopes:
        - openid
      x-scopes:
        - openid
      tags:
        - account users
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - previous_password
                - proposed_password
              properties:
                previous_password:
                  type: string
                proposed_password:
                  type: string
      security:
        - JWT: []
      responses:
        '201':
          description: Accepted
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Change User password
          sidebarTitle: Change User password
  /accounts/{aid}/auth/mfa/challenge:
    post:
      operationId: aid_auth_mfa_challenge_post
      summary: aid_auth_mfa_challenge_post
      description: |
        Request a challenge for multi-factor authentication (MFA) based
        on the challenge types supported by the user.

        The challenge_type is how the user will get the challenge
        and prove possession. Supported challenge types include:

          - `oob`: for SMS messages or out-of-band (OOB)

        Use the response to request access token from the
        [auth/token](/api-reference/authenticate/aid_auths_oauth_token_post) endpoint
        with `grant_type=mfa_oob`

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/mfa
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/mfa
      tags:
        - challenge
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthChallenge'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MfaChallengeResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Challenge request
          sidebarTitle: Challenge request
  /accounts/{aid}/auth/mfa/recovery:
    post:
      operationId: aid_auth_mfa_recovery_post
      summary: aid_auth_mfa_recovery_post
      description: |
        Request a recovery for user with multi-factor
        authentication (MFA) enabled.

        A recovery is done with two out-of-band (OOB) challenges
        over different channels.

        Use the response to request access token from the
        [auth/token](/api-reference/authenticate/aid_auths_oauth_token_post) endpoint
        with `grant_type=mfa_oob`.

        A `403 status` with `mfa_required` error will be returned on success,
        use the response to request a new challenge from the
        [auth/mfa/challenge](/management-auth-api/challenge/aid_auth_mfa_challenge_post) endpoint.

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/mfa
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/mfa
      tags:
        - challenge
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/Challenge'
                - required:
                    - username
                    - audience
                  properties:
                    username:
                      type: string
                      description: The end user's identifier.
                    audience:
                      type: string
                      example: https://api.dintero.com/v1/accounts/P00000000
                      description: |
                        The unique identifier of the target API you want to access.
                        The audience must be a grant associated with the client used
                        in the request
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MfaRecoveryResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Recovery
          sidebarTitle: Recovery
  /accounts/{aid}/auth/users:
    post:
      operationId: aid_auth_users_post
      summary: aid_auth_users_post
      description: |
        Create a new user

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      tags:
        - auth users
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - $ref: '#/components/schemas/AuthenticatedUser'
                - required:
                    - password
                  properties:
                    password:
                      type: string
                      description: The user's password
                      minLength: 8
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/UserCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create User
          sidebarTitle: Create User
  /accounts/{aid}/auth/users/{username}:
    put:
      operationId: aid_auth_users_username_put
      summary: aid_auth_users_username_put
      description: |
        Update existing user with new password

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      tags:
        - auth users
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: username
          description: |
            Username identifying the user
          in: path
          required: true
          schema:
            type: string
            maxLength: 255
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - required:
                    - password
                  properties:
                    password:
                      type: string
                      description: The user's password
                      minLength: 8
                    links:
                      $ref: '#/components/schemas/AuthUserLinks'
                    mfa:
                      $ref: '#/components/schemas/AuthUserMfa'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/UserUpdated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update user
          sidebarTitle: Update user
    delete:
      operationId: aid_auth_users_username_delete
      summary: aid_auth_users_username_delete
      description: |
        Delete existing user

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
      tags:
        - auth users
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: username
          description: |
            Username identifying the user
          in: path
          required: true
          schema:
            type: string
            maxLength: 255
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/UserDeleted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete user
          sidebarTitle: Delete user
  /accounts/{aid}/auth/users/{username}/change_username:
    post:
      operationId: aid_auth_users_username_change_username_post
      summary: aid_auth_users_username_change_username_post
      description: |
        Update existing users username

        scopes:
        - admin:accounts
      x-scopes:
        - admin:accounts
      tags:
        - auth users
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: username
          description: |
            Username identifying the user
          in: path
          required: true
          schema:
            type: string
            maxLength: 255
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - required:
                    - username
                  properties:
                    username:
                      type: string
                      description: The user's new usernname
                      minLength: 1
                      maxLength: 255
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/UserUpdated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Change username
          sidebarTitle: Change username
  /accounts/{aid}/management/assets:
    post:
      operationId: aid_account_assets_post
      summary: aid_account_assets_post
      description: |
        Create an upload URL that can be used to transfere the asset

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/assets
        - write:dintero:/management/accounts
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/assets
        - write:dintero:/management/accounts
      tags:
        - account-assets
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - size_bytes
                - mime_type
              properties:
                size_bytes:
                  type: integer
                  minimum: 1
                  maximum: 2000000
                  description: Size in bytes of the asset file to be uploaded.
                mime_type:
                  type: string
                  description: MIME type of the asset to be uploaded
                  enum:
                    - image/png
                    - image/jpeg
                    - application/pdf
                    - application/vnd.ms-excel
                    - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                    - text/csv
                access:
                  type: string
                  description: Who can access the file?
                  enum:
                    - private
                    - public
                  default: public
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AssetUploadUrl'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create asset upload url
          sidebarTitle: Create asset upload url
  /accounts/{aid}/stores:
    post:
      operationId: aid_account_management_stores_post
      summary: aid_account_management_stores_post
      description: |
        Create a store

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-stores
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreInput'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Store'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create store
          sidebarTitle: Create store
    get:
      operationId: aid_account_management_stores_get
      summary: aid_account_management_stores_get
      description: |
        Get details about the account stores

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-stores
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/PayoutDestinationId'
        - $ref: '#/components/parameters/TerminalId'
        - $ref: '#/components/parameters/StoreIncludes'
        - $ref: '#/components/parameters/StoreStatus'
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/StoreCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: List stores
          sidebarTitle: List stores
  /accounts/{aid}/stores/{store_id}:
    get:
      operationId: aid_account_management_stores_sid_get
      summary: aid_account_management_stores_sid_get
      description: |
        Get store details

        scopes:
        - admin:accounts
        - read:accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/StoreIdPath'
      tags:
        - account-stores
      x-scopes:
        - admin:accounts
        - read:accounts
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Store'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Store details
          sidebarTitle: Store details
    put:
      operationId: aid_account_management_stores_sid_put
      summary: aid_account_management_stores_sid_put
      description: |
        Update store properties
        scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-stores
      x-scopes:
        - admin:accounts
        - write:accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/StoreIdPath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreUpdateInput'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Store'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update store
          sidebarTitle: Update store
    delete:
      operationId: aid_account_management_stores_sid_delete
      summary: aid_account_management_stores_sid_delete
      description: |
        Delete single store

        scopes:
        - admin:accounts
        - write:accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/StoreIdPath'
      tags:
        - account-stores
      x-scopes:
        - admin:accounts
        - write:accounts
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Store'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete store
          sidebarTitle: Delete store
  /accounts/{aid}/terminals:
    post:
      operationId: aid_account_management_terminals_post
      summary: aid_account_management_terminals_post
      description: |
        Register a physical payment terminal and associate it with a store.

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-terminals
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TerminalInput'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Terminal'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create terminal
          sidebarTitle: Create terminal
    get:
      operationId: aid_account_management_terminals_get
      summary: aid_account_management_terminals_get
      description: |
        List terminals for the account. Filter by store, payout destination,
        status, device model, or serial number.

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-terminals
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/PayoutDestinationId'
        - $ref: '#/components/parameters/StoreId'
        - $ref: '#/components/parameters/TerminalStatus'
        - $ref: '#/components/parameters/TerminalModel'
        - $ref: '#/components/parameters/TerminalSerialNumber'
        - $ref: '#/components/parameters/TerminalIncludes'
        - $ref: '#/components/parameters/TerminalId'
        - name: search
          in: query
          description: |
            Search terminals by device serial number, terminal id, or device model.
          example: 123456789012
          schema:
            type: string
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/TerminalCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: List terminals
          sidebarTitle: List terminals
  /accounts/{aid}/terminals/{terminal_id}:
    get:
      operationId: aid_account_management_terminals_termid_get
      summary: aid_account_management_terminals_termid_get
      description: |
        Get details for a single terminal.

        scopes:
        - admin:accounts
        - read:accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/TerminalIdPath'
      tags:
        - account-terminals
      x-scopes:
        - admin:accounts
        - read:accounts
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Terminal'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Terminal details
          sidebarTitle: Terminal details
    delete:
      operationId: aid_account_management_terminals_termid_delete
      summary: aid_account_management_terminals_termid_delete
      description: |
        Remove a terminal from the account.

        scopes:
        - admin:accounts
        - write:accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
        - $ref: '#/components/parameters/TerminalIdPath'
      tags:
        - account-terminals
      x-scopes:
        - admin:accounts
        - write:accounts
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Terminal'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete terminal
          sidebarTitle: Delete terminal
  /accounts/{aid}/management/price-package:
    get:
      operationId: aid_account_price_package_get
      summary: aid_account_price_package_get
      description: |
        Get details of price package set for the account.

        scopes:
          - admin:accounts
          - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-price-package
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PricePackage'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Price package details
          sidebarTitle: Price package details
  /accounts/{aid}/management/settings:
    put:
      operationId: aid_account_settings_put
      summary: aid_account_settings_put
      description: |
        Update account settings

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-settings
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  $ref: '#/components/schemas/AccountCompany'
                billing:
                  $ref: '#/components/schemas/AccountBilling'
                services:
                  type: object
                  properties:
                    checkout:
                      type: object
                      required:
                        - features
                      properties:
                        features:
                          $ref: '#/components/schemas/CheckoutServiceFeaturesRequest'
                    payout:
                      required:
                        - features
                      properties:
                        features:
                          $ref: '#/components/schemas/PayoutServiceFeaturesRequest'
                onboarding:
                  $ref: '#/components/schemas/AccountOnboarding'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/AccountResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update Account Settings
          sidebarTitle: Update Account Settings
    get:
      operationId: aid_account_aid_get
      summary: aid_account_aid_get
      description: |
        Get details about the account

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-settings
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Account settings
          sidebarTitle: Get Account settings
  /accounts/{aid}/management/settings/sandbox:
    put:
      operationId: aid_account_settings_sandbox_put
      summary: aid_account_settings_sandbox_put
      description: |

        Request update of the sandbox settings. The update is done async.

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-settings
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSandboxSettingsInput'
        required: true
      responses:
        '202':
          $ref: '#/components/responses/AccountSandboxSettingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update Account sandbox settings
          sidebarTitle: Update Account sandbox settings
    get:
      operationId: aid_account_settings_sandbox_get
      summary: aid_account_settings_sandbox_get
      description: |
        Get details about the account sandbox settings

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-settings
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountSandboxSettingsResponse'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Account sandbox settings
          sidebarTitle: Get Account sandbox settings
  /accounts/{aid}/management/settings/approvals/payments:
    get:
      operationId: aid_management_settings_approvals_payment_get
      summary: aid_management_settings_approvals_payment_get
      description: |

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - approvals
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: case_status
          description: |
            filter CDDs by status
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - ACTIVE
                - DECLINED
                - UNDER_MANUAL_REVIEW
                - AUTOMATIC_REVIEW
                - WAITING_FOR_SIGNATURE
                - WAITING_FOR_DECLARATION
                - ERROR
                - ARCHIVED
                - WAITING_FOR_DETAILS
                - TERMINATED
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApprovalsPaymentList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: List payment approvals
          sidebarTitle: List payment approvals
    post:
      operationId: aid_management_settings_approvals_payment_post
      summary: aid_management_settings_approvals_payment_post
      description: |
        Initiate an application for using Dintero payments . The application
        will contain a link to an URL where the signatory of the account will need
        to finish submission of the case contract and sign it. Dintero will perform
        a KYC, AML and bank ownership check before the application
        `case_status`will be updated to `ACTIVE`. Once the application is approved
        we will set up your account for using Dintero payments. Note that not all
        payment methods are available in all countries, and that for some payments
        methods some processing time must be expected before you can start accepting
        payments.

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      tags:
        - approvals
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalsPayment'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ApprovalsPaymentCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: New payment approval
          sidebarTitle: New payment approval
  /accounts/{aid}/management/settings/approvals/payout-destinations:
    get:
      operationId: aid_management_settings_approvals_payout_destinations_get
      summary: aid_management_settings_approvals_payout_destinations_get
      description: |

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - approvals
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: payout_destination_id
          description: |
            filter CDDs by payout_destination_id
          in: query
          required: false
          schema:
            type: string
        - name: case_status
          description: |
            filter CDDs by status
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - ACTIVE
                - DECLINED
                - UNDER_MANUAL_REVIEW
                - AUTOMATIC_REVIEW
                - WAITING_FOR_SIGNATURE
                - WAITING_FOR_DECLARATION
                - ERROR
                - ARCHIVED
                - WAITING_FOR_DETAILS
                - TERMINATED
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApprovalsPayoutDestinationList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      servers:
        - url: https://api.dintero.com/v1
      x-mint:
        metadata:
          title: List seller approvals
          sidebarTitle: List seller approvals
    post:
      operationId: aid_management_settings_approvals_payout_destinations_post
      summary: aid_management_settings_approvals_payout_destinations_post
      description: |
        Initiate an application for a new seller for Dintero Payout with
        split-payment. The application will contain a link to an URL where the
        signatory of the seller will need to finish submission of the
        case contract and sign it. Dintero will perform a KYC, AML and bank ownership
        check on the seller before the application `case_status`will be
        updated to `ACTIVE`. Once the application is approved, the payout
        destination will be added automatically to the Dintero Payout service.

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

        ---
          For testing purposes it is possible to auto-approve or decline a new seller
          by adding one of the following values to `payout_destination_description`:

          - "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 `aid` prefixed with "T".
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      tags:
        - approvals
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalsPayoutDestination'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ApprovalsPayoutDestinationCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      servers:
        - url: https://api.dintero.com/v1
      x-mint:
        metadata:
          title: New seller approval
          sidebarTitle: New seller approval
  /accounts/{aid}/management/settings/approvals/payout-destinations/{id}:
    delete:
      operationId: aid_management_settings_approvals_payout_destinations_id_delete
      summary: aid_management_settings_approvals_payout_destinations_id_delete
      description: |
        Archive approval where status is one of
        - ACTIVE
        - DECLINED
        - WAITING_FOR_SIGNATURE
        - WAITING_FOR_DECLARATION
        - ERROR

        This will remove the approval from the list of approvals, updates to the
        approval will be ignored.

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      tags:
        - approvals
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: id
          description: Approval ID.
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: delete_active
          description: Delete active seller.
          in: query
          schema:
            type: boolean
      security:
        - JWT: []
      responses:
        '204':
          description: The resource was archived.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      servers:
        - url: https://api.dintero.com/v1
      x-mint:
        metadata:
          title: Archive seller approval
          sidebarTitle: Archive seller approval
    get:
      operationId: aid_management_settings_approvals_payout_destinations_id_get
      summary: aid_management_settings_approvals_payout_destinations_id_get
      description: |
        Get a single seller approval by ID.

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - approvals
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: id
          description: Approval ID
          in: path
          required: true
          schema:
            type: string
            format: uuid
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApprovalsPayoutDestination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      servers:
        - url: https://api.dintero.com/v1
      x-mint:
        metadata:
          title: Get seller approval
          sidebarTitle: Get seller approval
  /accounts/{aid}/management/settings/cdd/cases:
    get:
      operationId: aid_management_settings_cdd_cases_get
      summary: aid_management_settings_cdd_cases_get
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-cdd
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: products
          description: |
            filter CDDs by product
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - payout
                - checkout
        - name: payout_destination_id
          description: |
            filter CDDs by payout_destination_id, use * as a wildcard
          in: query
          required: false
          schema:
            type: string
        - name: case_status
          description: |
            filter CDDs by status
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - ACTIVE
                - DECLINED
                - UNDER_MANUAL_REVIEW
                - AUTOMATIC_REVIEW
                - WAITING_FOR_SIGNATURE
                - WAITING_FOR_DECLARATION
                - ERROR
                - ARCHIVED
                - WAITING_FOR_DETAILS
                - TERMINATED
        - name: actions_on_approval
          description: |
            filter CDDs by actions to take on approval
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - enable_payout_account
                - enable_checkout_account
                - create_payout_destination
        - name: includes
          in: query
          description: |
            Include aditional data in the returned data that are by default excluded
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - events.case.contracts
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/CustomerDueDiligenceList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get list of due diligence cases
          sidebarTitle: Get list of due diligence cases
    post:
      operationId: aid_management_settings_cdd_cases_post
      summary: aid_management_settings_cdd_cases_post
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-cdd
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerDueDiligenceCase'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/CustomerDueDiligenceCaseCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create a due diligence case
          sidebarTitle: Create a due diligence case
  /accounts/{aid}/management/settings/cdd/cases/{id}/callback:
    post:
      operationId: aid_management_settings_cdd_cases_callback
      summary: aid_management_settings_cdd_cases_callback
      description: |
        Performs a GET on CDD Service to get the updated case (ignores body).
      tags:
        - account-cdd
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: id
          description: Case ID
          in: path
          required: true
          schema:
            type: string
        - name: signature
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Post updated case
          sidebarTitle: Post updated case
  /accounts/{aid}/management/settings/connections/mastercard-3ds:
    post:
      operationId: aid_account_settings_connections_mastercard_3ds_post
      summary: aid_account_settings_connections_mastercard_3ds_post
      description: |
        Enrol the merchant into 3D-Secure for Mastercard
        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/Mastercard3DSConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Mastercard3DSConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Mastercard 3D-Secure signup
          sidebarTitle: Mastercard 3D-Secure signup
    get:
      operationId: aid_account_settings_connections_mastercard_3ds_get
      summary: aid_account_settings_connections_mastercard_3ds_get
      description: |
        Check status for enrolling the merchant into 3D-Secure for Mastercard
        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: sync
          in: query
          required: false
          description: |
            Use this parameter to check the status of the enrollment in the 3rd party system and update
            the status in the Dintero system.
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/Mastercard3DSConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Mastercard 3D-Secure signup status
          sidebarTitle: Get Mastercard 3D-Secure signup status
  /accounts/{aid}/management/settings/connections/bambora-payfac:
    post:
      operationId: aid_account_settings_connections_bambora_payfac_post
      summary: aid_account_settings_connections_bambora_payfac_post
      description: |
        Initialize Bambora PayFac signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: force_new_signup
          in: query
          description: |
            Will allow signing up again even if there are previous pending signups.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/BamboraPayFacConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Bambora PayFac signup
          sidebarTitle: Bambora PayFac signup
  /accounts/{aid}/management/settings/connections/bambora-direct:
    post:
      operationId: aid_account_settings_connections_bambora_direct_post
      summary: aid_account_settings_connections_bambora_direct_post
      description: |
        Initialize Bambora Direct signup

        scopes:
          - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/BamboraDirectConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Bambora Direct signup
          sidebarTitle: Bambora Direct signup
    get:
      operationId: aid_account_settings_connections_bambora_direct_get
      summary: aid_account_settings_connections_bambora_direct_get
      description: |
        Get details about the Bambora configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Bambora signup status
          sidebarTitle: Get Bambora signup status
  /accounts/{aid}/management/settings/connections/bambora:
    post:
      operationId: aid_account_settings_connections_bambora_post
      summary: aid_account_settings_connections_bambora_post
      description: |
        **DEPRECATED** 

        Old signup for bambora. Please use Bambora Direct or Bambora Payfac for new signups.

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/BamboraConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Bambora signup
          sidebarTitle: Bambora signup
    get:
      operationId: aid_account_settings_connections_bambora_get
      summary: aid_account_settings_connections_bambora_get
      description: |
        Get details about the Bambora configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Bambora signup status
          sidebarTitle: Get Bambora signup status
  /accounts/{aid}/management/settings/connections/bambora/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_bambora_callback_post
      summary: aid_account_settings_connections_bambora_callback_post
      description: |
        Handle callback from Bambora signup

        Completes the Bambora signup, enables Bambora for Checkout

        scopes:
        - write:accounts:/management/settings/connections/bambora
        - write:accounts
      x-scopes:
        - write:accounts:/management/settings/connections/bambora
        - write:accounts
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: callback_reference
          in: path
          required: true
          description: Authorization header Bearer JWT payload `sub`
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BamboraConnectionCallback'
        required: true
      responses:
        '200':
          description: Signup
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Bambora Callback
          sidebarTitle: Bambora Callback
  /accounts/{aid}/management/settings/connections/bambora-ipp-submerchants:
    get:
      operationId: aid_account_settings_connections_bambora_ipp_get
      summary: aid_account_settings_connections_bambora_ipp_get
      description: |
        List Bambora in-person payment (IPP) submerchant onboardings for the account.

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: status
          in: query
          description: |
            Filter onboardings by status
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - pending
                - approved
                - rejected
        - name: includes
          in: query
          description: |
            Include additional data in the response

            - `stores` - Include store IDs associated with the submerchant
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - stores
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/startingAfter'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/BamboraIppSubmerchantCollectionResponse'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: List Bambora IPP submerchants
          sidebarTitle: List Bambora IPP submerchants
  /accounts/{aid}/management/settings/connections/collector:
    post:
      operationId: aid_account_settings_connections_collector_post
      summary: aid_account_settings_connections_collector_post
      description: |
        Initialize Collector Bank signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/CollectorConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/CollectorConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Collector Bank signup
          sidebarTitle: Collector Bank signup
    get:
      operationId: aid_account_settings_connections_collector_get
      summary: aid_account_settings_connections_collector_get
      description: |
        Get details about the Collector Bank configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/CollectorConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Collector Bank signup status
          sidebarTitle: Get Collector Bank signup status
  /accounts/{aid}/management/settings/connections/collector/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_collector_callback_post
      summary: aid_account_settings_connections_collector_callback_post
      description: |
        Handle callback from Collector Bank signup

        Completes the Collector Bank signup, enables Collector Bank for Checkout

        scopes:
        - write:accounts:/management/settings/connections/collector
        - write:accounts
        - admin:dintero
      x-scopes:
        - write:accounts:/management/settings/connections/collector
        - write:accounts
        - admin:dintero
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: callback_reference
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectorConnectionCallback'
        required: true
      responses:
        '200':
          description: Signup
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Collector Bank Callback
          sidebarTitle: Collector Bank Callback
  /accounts/{aid}/management/settings/connections/common:
    post:
      operationId: aid_account_settings_connections_common_post
      summary: aid_account_settings_connections_common_post
      description: |
        Initialize Common signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  allOf:
                    - $ref: '#/components/schemas/CommonConnectionSignup'
                    - type: object
                      properties:
                        applicant:
                          type: object
                          properties:
                            social_security_number:
                              maxLength: 11
                              minLength: 11
                              type: string
                              description: |
                                The social security number of the applicant. Only
                                needed for Vipps.
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/CommonConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Common signup
          sidebarTitle: Common signup
    get:
      operationId: aid_account_settings_connections_common_get
      summary: aid_account_settings_connections_common_get
      description: |
        Get details about the Common configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/CommonConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Common signup status
          sidebarTitle: Get Common signup status
  /accounts/{aid}/management/settings/connections/common/signup:
    post:
      operationId: aid_account_settings_connections_common_signup_url_post
      summary: aid_account_settings_connections_common_signup_url_post
      description: |
        Endpoint used by the Dintero Onboarding Team, get link to the common
        configuration signup object.

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          description: Common connection
          content:
            application/json:
              schema:
                type: object
                properties:
                  ref:
                    description: Temporary link to signup object
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get link to the Common signup object with sensitive signup data
          sidebarTitle: Get link to the Common signup object with sensitive signup data
  /accounts/{aid}/management/settings/connections/dintero-psp:
    post:
      operationId: aid_account_settings_connections_dintero_psp_post
      summary: aid_account_settings_connections_dintero_psp_post
      description: |
        Initialize Dintero PSP signup.

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/DinteroPspConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/DinteroPspConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Dintero PSP signup
          sidebarTitle: Dintero PSP signup
    get:
      operationId: aid_account_settings_connections_dintero_psp_get
      summary: aid_account_settings_connections_dintero_psp_get
      description: |
        Get details about the Dintero PSP configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/DinteroPspConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Dintero PSP signup status
          sidebarTitle: Get Dintero PSP signup status
  /accounts/{aid}/management/settings/connections/instabank:
    post:
      operationId: aid_account_settings_connections_instabank_post
      summary: aid_account_settings_connections_instabank_post
      description: |
        Initialize Instabank signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/InstabankConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/InstabankConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Instabank signup
          sidebarTitle: Instabank signup
    get:
      operationId: aid_account_settings_connections_instabank_get
      summary: aid_account_settings_connections_instabank_get
      description: |
        Get details about the Instabank

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/InstabankConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Instabank signup status
          sidebarTitle: Get Instabank signup status
  /accounts/{aid}/management/settings/connections/instabank/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_instabank_callback_post
      summary: aid_account_settings_connections_instabank_callback_post
      description: |
        Handle callback from Instabank signup

        Completes the Instabank signup, enables Instabank for Checkout

        scopes:
        - write:accounts:/management/settings/connections/instabank
      x-scopes:
        - write:accounts:/management/settings/connections/instabank
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: callback_reference
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstabankConnectionCallback'
        required: true
      responses:
        '202':
          description: Callback handled
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Instabank Callback
          sidebarTitle: Instabank Callback
  /accounts/{aid}/management/settings/connections/klarna:
    post:
      operationId: aid_account_settings_connections_klarna_post
      summary: aid_account_settings_connections_klarna_post
      description: |
        Initialize Klarna signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: force_new_signup
          in: query
          description: |
            Will allow signing up again even if there are previous pending signups.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/KlarnaConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KlarnaConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Klarna signup
          sidebarTitle: Klarna signup
    get:
      operationId: aid_account_settings_connections_klarna_get
      summary: aid_account_settings_connections_klarna_get
      description: |
        Get details about the Klarna configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KlarnaConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Klarna signup status
          sidebarTitle: Get Klarna signup status
  /accounts/{aid}/management/settings/connections/kravia:
    post:
      operationId: aid_account_settings_connections_kravia_post
      summary: aid_account_settings_connections_kravia_post
      description: |
        Initialize Kravia signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/KraviaConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KraviaConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Kravia Signup
          sidebarTitle: Kravia Signup
    put:
      operationId: aid_account_settings_connections_kravia_put
      summary: aid_account_settings_connections_kravia_put
      description: |
        Update Kravia connection configuration.

        Currently supports updating invoice delivery mode.

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KraviaConnectionUpdate'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KraviaConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Kravia Update
          sidebarTitle: Kravia Update
    get:
      operationId: aid_account_settings_connections_kravia_get
      summary: aid_account_settings_connections_kravia_get
      description: |
        Get details about the Kravia configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KraviaConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Kravia signup status
          sidebarTitle: Get Kravia signup status
  /accounts/{aid}/management/settings/connections/seitatech:
    post:
      operationId: aid_account_settings_connections_seitatech_post
      summary: aid_account_settings_connections_seitatech_post
      description: |
        Initialize Seitatech signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/SeitatechConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/SeitatechConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Seitatech signup
          sidebarTitle: Seitatech signup
    get:
      operationId: aid_account_settings_connections_seitatech_get
      summary: aid_account_settings_connections_seitatech_get
      description: |
        Get details about the Seitatech configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/SeitatechConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Seitatech signup status
          sidebarTitle: Get Seitatech signup status
  /accounts/{aid}/management/settings/connections/two:
    post:
      operationId: aid_account_settings_connections_two_post
      summary: aid_account_settings_connections_two_post
      description: |
        Initialize Two signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/TwoConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/TwoConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Two signup
          sidebarTitle: Two signup
    get:
      operationId: aid_account_settings_connections_two_get
      summary: aid_account_settings_connections_two_get
      description: |
        Get details about the Two configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/TwoConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Two signup status
          sidebarTitle: Get Two signup status
  /accounts/{aid}/management/settings/connections/vipps-psp:
    post:
      operationId: aid_account_settings_connections_vipps_psp_post
      summary: aid_account_settings_connections_vipps_psp_post
      description: |
        Initialize Vipps PSP signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/VippsPspConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VippsPspConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Vipps PSP Signup
          sidebarTitle: Vipps PSP Signup
    get:
      operationId: aid_account_settings_connections_vipps_psp_get
      summary: aid_account_settings_connections_vipps_psp_get
      description: |
        Get details about the Vipps PSP configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VippsPspConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Vipps PSP signup status
          sidebarTitle: Get Vipps PSP signup status
  /accounts/{aid}/management/settings/connections/applepay:
    post:
      operationId: aid_account_settings_connections_apple_pay_post
      summary: aid_account_settings_connections_apple_pay_post
      description: |
        Initialize Apple Pay signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/ApplePayConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApplePayConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Apple Pay Signup
          sidebarTitle: Apple Pay Signup
    put:
      operationId: aid_account_settings_connections_apple_pay_put
      summary: aid_account_settings_connections_apple_pay_put
      description: |
        Update Apple Pay connection with additional domains

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplePayConnectionUpdate'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApplePayConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Apple Pay Update
          sidebarTitle: Apple Pay Update
    get:
      operationId: aid_account_settings_connections_apple_pay_get
      summary: aid_account_settings_connections_apple_pay_get
      description: |
        Get details about the Apple Pay configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ApplePayConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Apple Pay signup status
          sidebarTitle: Get Apple Pay signup status
  /accounts/{aid}/management/settings/connections/payex/{payment_product_type}:
    post:
      operationId: aid_account_settings_connections_payex_post
      summary: aid_account_settings_connections_payex_post
      description: |
        Initialize PayEx signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: payment_product_type
          in: path
          required: true
          schema:
            type: string
            enum:
              - payex.creditcard
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/PayExConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PayExConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: PayEx signup
          sidebarTitle: PayEx signup
    get:
      operationId: aid_account_settings_connections_payex_get
      summary: aid_account_settings_connections_payex_get
      description: |
        Get details about the Vipps

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: payment_product_type
          in: path
          required: true
          schema:
            type: string
            enum:
              - payex.creditcard
      responses:
        '200':
          $ref: '#/components/responses/PayExConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get PayEx signup status
          sidebarTitle: Get PayEx signup status
  /accounts/{aid}/management/settings/connections/payex/{payment_product_type}/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_payex_callback_post
      summary: aid_account_settings_connections_payex_callback_post
      description: |
        Handle callback from PayEx signup

        Completes the PayEx signup, enables PayEx for Checkout

        scopes:
        - write:accounts:/management/settings/connections/payex
        - write:accounts
      x-scopes:
        - write:accounts:/management/settings/connections/payex
        - write:accounts
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: payment_product_type
          in: path
          required: true
          schema:
            type: string
            enum:
              - payex.creditcard
        - name: callback_reference
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayExConnectionCallback'
        required: true
      responses:
        '200':
          description: Signup
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: PayEx Callback
          sidebarTitle: PayEx Callback
  /accounts/{aid}/management/settings/connections/payex/overrides:
    put:
      operationId: aid_account_settings_connections_payex_overrides_put
      summary: aid_account_settings_connections_payex_overrides_put
      description: |
        Add PayEx overrides for pre-existing connection

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                overrides:
                  type: array
                  minItems: 0
                  maxItems: 1
                  items:
                    type: object
                    required:
                      - store_id
                      - credentials
                    properties:
                      store_id:
                        type: string
                        example: '999'
                      credentials:
                        type: object
                        required:
                          - payee_id
                        properties:
                          payee_id:
                            type: string
                            example: 803-518c-4fa0-9b0f-177e871f21dd
                          token:
                            type: string
                            example: eb4835ac0b0835ad8f886c0b077a49bc28f200ac03ba543ebea8bba8a62e143d
                          subsite:
                            type: string
                            example: '1234678'
        required: true
      responses:
        '200':
          description: Override
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: PayEx overrides
          sidebarTitle: PayEx overrides
  /accounts/{aid}/management/settings/connections/santander/overrides:
    put:
      operationId: aid_account_settings_connections_santander_overrides_put
      summary: aid_account_settings_connections_santander_overrides_put
      description: |
        Add Santander overrides for pre-existing connection

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                overrides:
                  type: array
                  minItems: 0
                  maxItems: 1
                  items:
                    type: object
                    required:
                      - store_id
                      - credentials
                    properties:
                      store_id:
                        type: string
                        example: '999'
                      credentials:
                        type: object
                        required:
                          - store_email
                          - store_token
                        properties:
                          store_email:
                            type: string
                          store_token:
                            type: string
        required: true
      responses:
        '200':
          description: Override
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Santander overrides
          sidebarTitle: Santander overrides
  /accounts/{aid}/management/settings/connections/swish:
    post:
      operationId: aid_account_settings_connections_swish_post
      summary: aid_account_settings_connections_swish_post
      description: |
        Initialize Swish signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/SwishConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/SwishConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Swish signup
          sidebarTitle: Swish signup
    get:
      operationId: aid_account_settings_connections_swish_get
      summary: aid_account_settings_connections_swish_get
      description: |
        Get details about the Swish configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          $ref: '#/components/responses/SwishConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Swish signup status
          sidebarTitle: Get Swish signup status
  /accounts/{aid}/management/settings/connections/swish-payfac:
    post:
      operationId: aid_account_settings_connections_swish_payfac_post
      summary: aid_account_settings_connections_swish_payfac_post
      description: |
        Initialize Swish signup

        Requires a case_id created from a payment approval

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/SwishPayfacConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/SwishConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Swish payfac signup
          sidebarTitle: Swish payfac signup
  /accounts/{aid}/management/settings/connections/swish/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_swish_callback_post
      summary: aid_account_settings_connections_swish_callback_post
      description: |
        Handle callback from Swish signup

        Completes the Swish signup, enables Swish for Checkout

        scopes:
        - write:accounts:/management/settings/connections/swish
      x-scopes:
        - write:accounts:/management/settings/connections/swish
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: callback_reference
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SwishConnectionCallback'
        required: true
      responses:
        '200':
          description: Signup
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Swish Callback
          sidebarTitle: Swish Callback
  /accounts/{aid}/management/settings/connections/swish/overrides:
    put:
      operationId: aid_account_settings_connections_swish_overrides_put
      summary: aid_account_settings_connections_swish_overrides_put
      description: |
        Add Swish overrides for pre-existing connection

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                overrides:
                  type: array
                  minItems: 0
                  maxItems: 1
                  items:
                    type: object
                    required:
                      - store_id
                      - credentials
                    properties:
                      store_id:
                        type: string
                        example: '999'
                      credentials:
                        type: object
                        required:
                          - swish_number
                        properties:
                          swish_number:
                            type: string
        required: true
      responses:
        '200':
          description: Override
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Swish overrides
          sidebarTitle: Swish overrides
  /accounts/{aid}/management/settings/connections/vipps:
    post:
      operationId: aid_account_settings_connections_vipps_post
      summary: aid_account_settings_connections_vipps_post
      description: |
        Initialize Vipps signup

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VippsConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Vipps signup
          sidebarTitle: Vipps signup
    put:
      operationId: aid_account_settings_connections_vipps_put
      summary: aid_account_settings_connections_vipps_put
      description: |
        Reinitialize Vipps signup if connection is not enabled.

        Requires the account company to be configured with `organization_number`
        [PUT /management/settings](/management-auth-api/account-settings/aid_account_settings_put)

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VippsConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Vipps signup
          sidebarTitle: Vipps signup
    get:
      operationId: aid_account_settings_connections_vipps_get
      summary: aid_account_settings_connections_vipps_get
      description: |
        Get details about the Vipps

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VippsConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Vipps signup status
          sidebarTitle: Get Vipps signup status
  /accounts/{aid}/management/settings/connections/vipps/{callback_reference}:
    post:
      operationId: aid_account_settings_connections_vipps_callback_post
      summary: aid_account_settings_connections_vipps_callback_post
      description: |
        Handle callback from Vipps signup

        Completes the Vipps signup, enables Vipps for Checkout

        scopes:
        - write:accounts:/management/settings/connections/vipps
      x-scopes:
        - write:accounts:/management/settings/connections/vipps
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: callback_reference
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VippsConnectionCallback'
        required: true
      responses:
        '200':
          description: Signup
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Vipps Callback
          sidebarTitle: Vipps Callback
  /accounts/{aid}/management/settings/connections/vipps/overrides:
    put:
      operationId: aid_account_settings_connections_vipps_overrides_put
      summary: aid_account_settings_connections_vipps_overrides_put
      description: |
        Add Vipps overrides for pre-existing connection

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                overrides:
                  type: array
                  minItems: 0
                  maxItems: 1
                  items:
                    type: object
                    required:
                      - store_id
                      - credentials
                    properties:
                      store_id:
                        type: string
                        example: '999'
                      credentials:
                        type: object
                        required:
                          - merchantSerialNumber
                        properties:
                          merchantSerialNumber:
                            type: string
                            example: '123456'
        required: true
      responses:
        '200':
          description: Override
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Vipps overrides
          sidebarTitle: Vipps overrides
  /accounts/{aid}/management/settings/connections/visa-tokenization:
    post:
      operationId: aid_account_settings_connections_visa_tokenization_post
      summary: aid_account_settings_connections_visa_tokenization_post
      description: |
        Initialize Visa Tokenization signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/VisaTokenizationConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VisaTokenizationConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Visa Tokenization Signup
          sidebarTitle: Visa Tokenization Signup
    get:
      operationId: aid_account_settings_connections_visa_tokenization_get
      summary: aid_account_settings_connections_visa_tokenization_get
      description: |
        Get details about the Visa Tokenization configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VisaTokenizationConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Visa Tokenization signup status
          sidebarTitle: Get Visa Tokenization signup status
  /accounts/{aid}/management/settings/connections/clicktopay:
    post:
      operationId: aid_account_settings_connections_visa_click_to_pay_post
      summary: aid_account_settings_connections_visa_click_to_pay_post
      description: |
        Initialize Visa Click-to-pay signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/VisaClickToPayConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VisaClickToPayConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Visa Click-to-pay Signup
          sidebarTitle: Visa Click-to-pay Signup
    get:
      operationId: aid_account_settings_connections_visa_click_to_pay_get
      summary: aid_account_settings_connections_visa_click_to_pay_get
      description: |
        Get details about the Visa Click-to-Pay configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VisaClickToPayConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Visa Click-to-Pay signup status
          sidebarTitle: Get Visa Click-to-Pay signup status
  /accounts/{aid}/management/settings/connections/mastercard-tokenization:
    post:
      operationId: aid_account_settings_connections_mastercard_tokenization_post
      summary: aid_account_settings_connections_mastercard_tokenization_post
      description: |
        Initialize Mastercard Tokenization signup

        scopes:
        - admin:dintero
      x-scopes:
        - admin:dintero
      tags:
        - account-connections
        - connection-onboarding
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - signup
              properties:
                signup:
                  $ref: '#/components/schemas/MastercardTokenizationConnectionSignup'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MastercardTokenizationConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Mastercard Tokenization Signup
          sidebarTitle: Mastercard Tokenization Signup
    get:
      operationId: aid_account_settings_connections_mastercard_tokenization_get
      summary: aid_account_settings_connections_mastercard_tokenization_get
      description: |
        Get details about the Mastercard Tokenization configuration

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account-connections
      parameters:
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MastercardTokenizationConnectionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Mastercard Tokenization signup status
          sidebarTitle: Get Mastercard Tokenization signup status
  /accounts/{oid}/auth/authorize:
    post:
      operationId: aid_auths_oauth_authorize_post
      summary: aid_auths_oauth_authorize_post
      description: |
        This endpoint is used to authorize Passwordless link sent to user
        by email/sms.

        A valid request will redirect to
        This is the OAuth 2.0 grant that Client-side web apps
        utilize in order to access an API.
      tags:
        - authenticate
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: audience
          in: query
          required: true
          description: |
            The unique identifier of the target API you want to access.
          schema:
            type: string
        - name: scope
          in: query
          description: The scopes which you want to request authorization for.
          schema:
            type: string
            enum:
              - openid
        - name: response_type
          in: query
          required: true
          description: |
            This will specify the type of token you will receive at
            the end of the flow. Use token to get only an access_token

            If `response_type=token`, after the user authenticates with the
            provider, this will redirect them to your application callback URL
            while passing the access_token in the address location.hash.
            This is used for Single Page Apps and on Native Mobile SDKs.
          schema:
            type: string
            enum:
              - authenticate
        - name: client_id
          in: query
          required: true
          description: |
            Your application's Client ID.
          schema:
            type: string
        - name: state
          in: query
          description: |
            An opaque value the clients adds to the initial request that Dintero
            includes when redirecting the back to the client. This value must
            be used by the client to prevent CSRF attacks.
          schema:
            type: string
        - name: redirect_uri
          in: query
          description: |
            The URL to which Dintero will redirect the browser after
            authorization has been granted by the user.

            The `redirect_uri` value must be specified as a valid
            callback URL under your Client's Settings.
          schema:
            type: string
        - name: verification_code
          in: query
          description: one-time verification-code
          required: true
          schema:
            type: string
        - name: connection
          in: query
          description: The name of the connection configured to your client.
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '302':
          description: Found
          headers:
            Location:
              description: |
                Redirect URL, example:
                https://YOUR_APP/callback#access_token=TOKEN&state=STATE&token_type=TYPE&expires_in=SECONDS
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Authorize Passwordless link
          sidebarTitle: Authorize Passwordless link
  /accounts/{oid}/auth/client-grants:
    get:
      operationId: aid_auths_client_grants_get
      summary: aid_auths_client_grants_get
      description: |
        Manage your Client Grants (also called Client Credentials Grants).
        Using Client Grants, your Client can request an access token using
        its credentials (a Client ID and a Client Secret).
        The access token then represents your Client during API calls.

        Use the Grant type to limit how the grant can be used when requesting
        an access token. A Grant with type `password` can only be used when
        requesting an access token with grant_type set to `password`.

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - grants
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: audience
          description: |
            filter client grants by audience
          in: query
          required: false
          schema:
            type: string
            maximum: 1
        - name: client_id
          description: |
            filter client grants by client_id
          in: query
          required: false
          schema:
            type: string
            maximum: 1
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/GrantCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Client grants collection
          sidebarTitle: Client grants collection
    post:
      operationId: aid_auths_client_grants_post
      summary: aid_auths_client_grants_post
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - grants
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Grant'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/GrantCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create client grant
          sidebarTitle: Create client grant
  /accounts/{oid}/auth/client-grants/{id}:
    delete:
      operationId: aid_auths_client_grants_id_delete
      summary: aid_auths_client_grants_id_delete
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - grants
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: id
          in: path
          required: true
          description: |
            The id of the client grant to delete
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/GrantDeleted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete client grant
          sidebarTitle: Delete client grant
  /accounts/{oid}/auth/clients:
    get:
      operationId: aid_auth_clients_get
      summary: aid_auth_clients_get
      description: |
        Retrieve a list of all client applications

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: search
          in: query
          description: |
            Search clients by name or client id.
          example: my-client
          schema:
            type: string
        - name: status
          in: query
          description: |
            Filter clients by status.
          example: active
          schema:
            type: string
            enum:
              - active
              - inactive
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Clients collection
          sidebarTitle: Clients collection
    post:
      operationId: aid_auth_clients_post
      summary: aid_auth_clients_post
      description: |
        Creates a new client application.

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Client'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientWithSecret'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create Client
          sidebarTitle: Create Client
  /accounts/{oid}/auth/clients/{id}:
    get:
      operationId: aid_auths_clients_id_get
      summary: aid_auths_clients_id_get
      description: |
        Retrieves a client by its id.

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: id
          in: path
          required: true
          description: |
            The id of the client
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Client
          sidebarTitle: Get Client
    delete:
      operationId: aid_auths_clients_id_delete
      summary: aid_auths_clients_id_delete
      description: |
        Deletes a client and all its related assets

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: id
          in: path
          required: true
          description: |
            The id of the client
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete Client
          sidebarTitle: Delete Client
    patch:
      operationId: aid_auths_clients_id_patch
      summary: aid_auths_clients_id_patch
      description: |
        Update client details

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: id
          in: path
          required: true
          description: |
            The id of the client
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientPatch'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update Client
          sidebarTitle: Update Client
  /accounts/{oid}/auth/clients/{id}/rotate-secret:
    post:
      operationId: aid_auths_clients_id_rotate_post
      summary: aid_auths_clients_id_rotate_post
      description: |
        Rotate a client secret.

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - clients
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: id
          in: path
          required: true
          description: |
            The id of the client
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ClientWithSecret'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Rotate a client secret.
          sidebarTitle: Rotate a client secret.
  /accounts/{oid}/auth/keys:
    get:
      operationId: aid_auths_keys_get
      summary: aid_auths_keys_get
      description: |
        Retrieve the JSON Web Key Set (JWKS) that can be used
        to validate `access_token`

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - keys
      parameters:
        - $ref: '#/components/parameters/owner'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/KeysCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get public keys
          sidebarTitle: Get public keys
  /accounts/{oid}/auth/oidc/authorize:
    get:
      operationId: aid_auths_oidc_authorize_get
      summary: aid_auths_oidc_authorize_get
      tags:
        - authenticate
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: audience
          in: query
          required: true
          description: |
            The unique identifier of the target API you want to access. The audience must have
            a Grant with OIDC configured
          schema:
            type: string
        - name: response_type
          in: query
          required: true
          schema:
            type: string
            enum:
              - code
        - name: client_id
          in: query
          required: true
          description: |
            The client_id of your application
          schema:
            type: string
        - name: redirect_uri
          in: query
          required: true
          description: |
            The URL to redirect after authorization has been granted by the user.
          schema:
            type: string
        - name: scope
          in: query
          description: Scope of the access request, space-separated list.
          schema:
            type: string
        - name: client_token
          in: query
          description: |
            Authorization token to use if no authorization header is included
          example: eyJhbGci...t7P4
          schema:
            type: string
      responses:
        '302':
          description: Found
          headers:
            Location:
              description: |
                Redirect URL, example:
                https://identityserver.example.com/access/auth?client_id=XXX...
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Authorize with OIDC
          sidebarTitle: Authorize with OIDC
  /accounts/{oid}/auth/oidc/token:
    post:
      operationId: aid_auths_oidc_token_post
      summary: aid_auths_oidc_token_post
      description: |
        Use this endpoint to obtains an access token by presenting its authorization
        grant

        scopes:
        - write:accounts:/auth/users
      x-scopes:
        - write:accounts:/auth/users
      tags:
        - authenticate
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - audience
                - code
                - grant_type
                - client_id
              properties:
                grant_type:
                  type: string
                  enum:
                    - authorization_code
                code:
                  type: string
                client_id:
                  type: string
                redirect_uri:
                  type: string
                  description: |
                    The redirect URL which the user agent is redirected to after
                    finishing a login.
                audience:
                  type: string
                  example: https://api.dintero.com/v1/accounts/P00000000
                  description: |
                    The unique identifier of the target API you want to access.
                    The audience must be a grant associated with the client that
                    has `oidc` configured
        required: true
      responses:
        '200':
          $ref: '#/components/responses/TokenGranted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Token verified by OIDC
          sidebarTitle: Token verified by OIDC
  /accounts/{oid}/auth/passwordless:
    post:
      operationId: aid_auth_account_passwordless_post
      summary: aid_auth_account_passwordless_post
      description: |
        Passwordless connections do not require the user to
        remember a password. Instead, another mechanism is used
        to prove identity, such as a one-time code sent through
        email or SMS, every time the account user logs in.

        - The client_id/audience must have a grant with type
          `authorization_code` to allow sending verification-code
        - This endpoint is designed to be called from the client-side
          and is subjected to rate limits

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/passwordless
        - write:accounts:/auth/passwordless-sms
        - write:accounts:/auth/passwordless-email
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/passwordless
        - write:accounts:/auth/passwordless-sms
        - write:accounts:/auth/passwordless-email
      tags:
        - authenticate
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordLess'
        required: true
      security:
        - JWT: []
      responses:
        '204':
          description: Request processed
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Passwordless
          sidebarTitle: Passwordless
  /accounts/{oid}/auth/passwordless/code:
    post:
      operationId: aid_auth_passwordless_post
      summary: aid_auth_passwordless_post
      description: |
        Passwordless connections do not require the user to
        remember a password. Instead, another mechanism is used
        to prove identity, such as a one-time code sent through
        email or SMS, every time the account user logs in.

        Use this endpoint to generate a one-time verification-code that can
        be sent to the user.

        The client_id/audience must have a grant with type
        `authorization_code` to allow creating a verification-code

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/passwordless/code
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/passwordless/code
      tags:
        - authenticate
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - required:
                    - audience
                    - client_id
                    - user_id
                  properties:
                    audience:
                      type: string
                      description: |
                        The unique identifier of the target API you want to grant the user
                    client_id:
                      type: string
                      description: |
                        The client whoose grants will be granted to the user, the
                    user_id:
                      type: string
                      description: |
                        The user_id / subject to grant access
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccessCode'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Passwordless Code
          sidebarTitle: Passwordless Code
  /accounts/{oid}/auth/redirect:
    post:
      operationId: aid_auths_oauth_redirect_post
      summary: aid_auths_oauth_redirect_post
      description: |
        Use this endpoint to redirect to an URL with a
        ID token added.
      tags:
        - authenticate
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - redirect_uri
              properties:
                redirect_uri:
                  description: |
                    The HTTP URL to redirect to
                  format: uri
                  pattern: ^https?://.*
                custom_claims:
                  description: |
                    Include custom claims to the ID token. Custom claims will be
                    prefixed by `ext_`.
                  type: object
                  maxProperties: 5
                  additionalProperties:
                    type: string
                    minLength: 1
                    maxLength: 100
                claims:
                  type: array
                  items:
                    type: string
                    enum:
                      - name
                      - email
                  description: |
                    Specify optional claims to include in the ID token
        required: true
      responses:
        '200':
          $ref: '#/components/responses/RedirectUrl'
        '302':
          $ref: '#/components/responses/RedirectFound'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Redirect with ID token
          sidebarTitle: Redirect with ID token
  /accounts/{oid}/auth/revoke:
    post:
      operationId: aid_auths_oauth_revoke_post
      summary: aid_auths_oauth_revoke_post
      description: |
        Use this endpoint to invalidate a Refresh Token if it has been compromised.

        scopes:
        - admin:accounts
        - write:accounts
        - create:accounts:auth:refresh_token
      x-scopes:
        - admin:accounts
        - write:accounts
        - create:accounts:auth:refresh_token
      tags:
        - authenticate
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevokeToken'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Revoke Token
          sidebarTitle: Revoke Token
  /accounts/{oid}/auth/roles:
    get:
      operationId: aid_auths_roles_get
      summary: aid_auths_roles_get
      description: |
        Retrieve filtered list of roles that can be assigned to users.

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - roles
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: search
          description: |
            lookup roles matching id, name and description
          in: query
          schema:
            type: string
        - name: name
          description: |
            lookup roles by name
          in: query
          schema:
            type: string
        - name: include_deleted
          description: |
            include deleted roles in the response
          in: query
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/startingAfter'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/RoleCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Roles collection
          sidebarTitle: Roles collection
    post:
      operationId: aid_auths_roles_post
      summary: aid_auths_roles_post
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - roles
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        $ref: '#/components/requestBodies/AuthRole'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/RoleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create a role
          sidebarTitle: Create a role
  /accounts/{oid}/auth/roles/{role_id}:
    get:
      operationId: aid_auths_roles_id_get
      summary: aid_auths_roles_id_get
      description: |

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - roles
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: role_id
          in: path
          required: true
          description: |
            The id of the rule to delete
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/RoleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get role
          sidebarTitle: Get role
    put:
      operationId: aid_auths_roles_id_put
      summary: aid_auths_roles_id_put
      description: |

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - roles
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: role_id
          in: path
          required: true
          description: |
            The id of the rule to delete
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/AuthRole'
      responses:
        '200':
          $ref: '#/components/responses/RoleUpdated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update role
          sidebarTitle: Update role
    delete:
      operationId: aid_auths_roles_id_delete
      summary: aid_auths_roles_id_delete
      description: |
        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - roles
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: role_id
          in: path
          required: true
          description: |
            The id of the rule to delete
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/RoleDeleted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete role
          sidebarTitle: Delete role
  /accounts/{oid}/auth/token:
    post:
      operationId: aid_auths_oauth_token_post
      summary: aid_auths_oauth_token_post
      description: |
        Use this endpoint to directly request an access_token

        ### Client Access Token
        Use HTTP Basic authentication scheme for
        authenticating grant_type `client_credentials`, use
        client_id/client_secret as user/password.

        ### Code/Password Token
        Use HTTP Bearer authentication scheme for authenticating
        grant_type `authorization_code` or `password`, where the
        Bearer value must be a JWT toke with access to the token
        endpoint.

        ### Account User Token
        Use HTTP Bearer authentication scheme for authenticating
        grant_type `account_user_token`, where the Bearer value
        must be a account user JWT token.

        > Use ID token as Bearer toke if the user was authenticated
        > externally. The ID must include a `email` claim that
        > identifies the account user.

        ### Refresh Token
        Use HTTP Bearer authentication scheme for authenticating
        grant_type `refresh_token` where the Bearer value **must**
        be an Access Token for the clients that was used to create
        the Refresh Token.

        ### Multi-factor authentication (MFA)

        When a request is made to the endpoint to get an access token,
        normally you either get an error, or you get an access token.
        However, when the MFA is enabled, the endpoint may return a new
        error with `error.code: mfa_required`.

        When an `mfa_required` error is returned, the client must perform
        a `challenge`. This is done by sending a request to the
        [auth/mfa/challenge](/management-auth-api/challenge/aid_auth_mfa_challenge_post) endpoint

        To verify MFA using an OOB challenge, the client must make a request to
        this endpoint with `grant_type=mfa-oob`. Include the `oob_code` you
        received from the challenge response, as well as the `mfa_token` you
        received as part of mfa_required error.

        scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
        - write:accounts:/auth/users/no-mfa
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/auth/users
        - write:accounts:/auth/users/no-mfa
      tags:
        - authenticate
      security:
        - clientAuth: []
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthToken'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessToken'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
                  - properties:
                      mfa_token:
                        type: string
                        description: |
                          Included in the response if `mfa_required` in `error.code` is
                          returned. The client must then perform a `challenge`. This
                          is done by sending a request to the
                          [/mfa/challenge](/management-auth-api/challenge/aid_auth_mfa_challenge_post)
                          endpoint.
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Token
          sidebarTitle: Get Token
  /accounts/{oid}/management/accounts:
    get:
      operationId: aid_mgmnt_accounts_get
      summary: aid_mgmnt_accounts_get
      description: |
        Get list of accounts filtered by the partner account

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: search
          description: |
            lookup accounts where search term match account id
          in: query
          schema:
            type: string
        - name: connection
          in: query
          description: |
            Filter accounts by payment connection applications.

            Will return an account if it has applied, been approved or rejected for all the given connections.

            Example: `connection=payex&connection=vipps&connection=collector&connection=swish`
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: connection_status
          in: query
          description: |
            Filter accounts by connection status

            Will return an account if all statuses are represented among the connections.

            If the `connection`-filter is set, it will filter on the status only on those connections.

            Example: `connection_status=pending&connection_status=enabled&connection_status=declined`
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: payment_option
          in: query
          description: |
            Filter account by enabled payment_options

            Will return an account if all the given payment_options are enabled on the account.

            Example: `payment_option=payex.creditcard&payment_option=vipps&payment_option=collector.invoice`
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: account_manager
          in: query
          description: |
            filter account by account_manager
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: country
          in: query
          description: |
            filter account by country
          example:
            - SE
            - 'NO'
          explode: true
          schema:
            type: array
            items:
              type: string
            minLength: 2
            maxLength: 2
        - name: services
          in: query
          description: |
            filter account by service status
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - checkout.status.enabled
                - checkout.status.disabled
                - payout.status.enabled
                - payout.status.disabled
                - customers.status.enabled
                - customers.status.disabled
                - discounts.status.enabled
                - discounts.status.disabled
                - shopping.status.enabled
                - shopping.status.disabled
                - receipts.status.enabled
                - receipts.status.disabled
                - wallets.status.enabled
                - wallets.status.disabled
                - ledger.status.enabled
                - ledger.status.disabled
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/startingAfter'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ExtendedAccountCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Accounts collection
          sidebarTitle: Accounts collection
    post:
      operationId: aid_mgmnt_accounts_post
      summary: aid_mgmnt_accounts_post
      description: |
        Create an account from an partner account

        scopes:
        - admin:accounts
        - write:accounts
        - public:accounts

        In order to create an account with `livemode` correctly enabled, the following fields must be set in the body request:
          - `company.business_name`
          - `company.organization_number`
          - `company.address.address_line`
          - `company.address.postal_place`
          - `company.address.country`
          - `company.website`
          - `billing.business_name`
          - `billing.organization_number`
          - `billing.address.address_line`
          - `billing.address.postal_place`
          - `billing.address.country`

        This allows the account to proceed with KYC in Backoffice.
      x-scopes:
        - admin:accounts
        - write:accounts
        - public:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - properties:
                    partner_id:
                      type: string
                      description: |
                        The id of the partner to associate with the account
                      format: ^[PT]{1}(?=(?:.{3})$)[0-9]*$
                      readOnly: false
                    applicant:
                      $ref: '#/components/schemas/AccountApplicant'
                    invites:
                      type: array
                      description: |
                        Users to invite to the account by email
                      items:
                        type: string
                        format: email
                      example:
                        - user@example.com
                    invite_users:
                      type: array
                      description: |
                        Users to invite to the account with name and email
                      items:
                        type: object
                        description: |
                          The user to invite to the account with name and email
                        required:
                          - email
                          - first_name
                          - last_name
                        properties:
                          email:
                            type: string
                            description: |
                              The email of the user to invite
                            format: email
                            example: user@example.com
                          first_name:
                            type: string
                            description: |
                              The first name of the user to invite
                            example: John
                          last_name:
                            type: string
                            description: |
                              The last name of the user to invite
                            example: Doe
                    invitation_note:
                      type: string
                      description: |
                        A note to include in the invitation email
                      example: Welcome to the account
                    actions:
                      type: array
                      description: |
                        The actions to perform on the account
                        - 'send_invite' - send an invite to the applicant
                      items:
                        type: string
                        enum:
                          - send_invite
                      example:
                        - send_invite
                    custom_price_package:
                      type: object
                      description: |
                        Custom price package to apply to the account
                      allOf:
                        - $ref: '#/components/schemas/PricePackageCustomCreateData'
                - $ref: '#/components/schemas/Account'
                - $ref: '#/components/schemas/AccountPrivateDetails'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ExtendedAccountResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create Account
          sidebarTitle: Create Account
  /accounts/{oid}/management/accounts/{aid}:
    delete:
      operationId: aid_mgmnt_accounts_aid_delete
      summary: aid_mgmnt_accounts_aid_delete
      description: |
        Delete an account

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ExtendedAccountDeleted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete Account
          sidebarTitle: Delete Account
    get:
      operationId: aid_accounts_aid_get
      summary: aid_accounts_aid_get
      description: |
        Get account details

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ExtendedAccountResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get Account
          sidebarTitle: Get Account
    put:
      operationId: aid_accounts_aid_put
      summary: aid_accounts_aid_put
      description: |
        Update an account

        scopes:
        - admin:accounts
        - write:accounts
        - write:dintero:/management/accounts
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:dintero:/management/accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              allOf:
                - properties:
                    active:
                      type: boolean
                      description: |
                        Activation the account is only allowed by client with
                        scope `mgmnt:admin`
                      readOnly: false
                    partner_id:
                      type: string
                      description: |
                        Changing `partner_id` is only allowed by client with scope
                        `mgmnt:admin`
                      format: ^[PT]{1}(?=(?:.{3})$)[0-9]*$
                      readOnly: false
                    configuration:
                      $ref: '#/components/schemas/PartnerConfiguration'
                    platform_type:
                      type: string
                      readOnly: false
                      description: |
                        Optional type of platform for merchants using split payout.
                      enum:
                        - marketplace
                        - aggregator
                - $ref: '#/components/schemas/Account'
                - $ref: '#/components/schemas/AccountPrivateDetails'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/ExtendedAccountUpdated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update Account
          sidebarTitle: Update Account
  /accounts/{oid}/management/accounts/{aid}/connections/{connection}/events:
    post:
      operationId: aid_accounts_aid_connections_events_post
      summary: aid_accounts_aid_connections_events_post
      description: |
        Update an account connection with new status and add an event

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
        - name: connection
          description: |
            The connection to update.

            `payex.creditcard` is deprecated in favor of `payex`
          in: path
          required: true
          schema:
            type: string
            enum:
              - instabank
              - vipps
              - payex.creditcard
              - payex
              - collector
              - swish
              - bambora
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountConnectionEvent'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountConnectionEventResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update connection status
          sidebarTitle: Update connection status
  /accounts/{oid}/management/accounts/{aid}/events:
    get:
      operationId: aid_mgmnt_accounts_events_get
      summary: aid_mgmnt_accounts_events_get
      description: |
        Get list of account events

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
        - name: type
          description: |
            filter events by type
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - comment
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/startingAfter'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountEventCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Account events
          sidebarTitle: Account events
    post:
      operationId: aid_mgmnt_accounts_events_post
      summary: aid_mgmnt_accounts_events_post
      description: |
        Create an account event

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountEvent'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountEventResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create Account Event
          sidebarTitle: Create Account Event
  /accounts/{oid}/management/accounts/{aid}/partner_onboarding_link:
    post:
      operationId: aid_accounts_aid_partner_onboarding_link_post
      summary: aid_accounts_aid_partner_onboarding_link_post
      description: |
        Partner onboarding link

        scopes:
        - admin:dintero
        - write:dintero:/management/accounts
      x-scopes:
        - admin:dintero
        - write:dintero:/management/accounts
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
      security:
        - JWT: []
      responses:
        '200':
          description: Onboarding link created
          content:
            application/json:
              schema:
                type: object
                properties:
                  partner_onboarding_url:
                    type: string
                    example: https://onboarding.dintero.com/?partner=P18400000
                  client_id:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Partner onboarding link
          sidebarTitle: Partner onboarding link
  /accounts/{oid}/management/accounts/{aid}/price-packages:
    put:
      operationId: aid_account_settings_price_packages_put
      summary: aid_account_settings_price_packages_put
      description: |
        Update the price packages available for the partner account.

        scopes:
          - admin:dintero
          - write:dintero:/management/accounts/price-packages
      x-scopes:
        - admin:dintero
        - write:dintero:/management/accounts/price-packages
      tags:
        - accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/accountId'
        - name: remove_default_price_package
          description: |
            Remove default price package from the partner configuration of the
            partner account.

            Please note that in order for the default price package to be
            successfully removed, both this query parameter needs to be set and the
            `default_price_package` in the request body needs to be empty or
            undefined—otherwise, a new default price package might be added.
          in: query
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - price_packages
              properties:
                price_packages:
                  type: array
                  items:
                    $ref: '#/components/schemas/PricePackageId'
                default_price_package:
                  type: string
                  description: |
                    Default price package to assign to new merchants.

                    Use the price package ID of the price package.

                    Please note that the price package must exist and the price package ID
                    must be included in the `price_packages` array.
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PricePackageAccountCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update price packages
          sidebarTitle: Update price packages
  /accounts/{aid}/compliance-search/match:
    post:
      operationId: accounts_aid_search_match_post
      summary: accounts_aid_search_match_post
      description: |
        Search the MATCH register for any potential matches related to fraud for the account

        scopes:
        - read:accounts:/match
      x-scopes:
        - read:accounts:/match
      tags:
        - account-fraud-search
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: limit
          in: query
          description: |
            A limit on the number of objects to be returned. Limit can range
            between 1 and 100 items, and the default is 20 items.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - name: starting_after
          in: query
          description: |
            Zero-based offset to start from. A value of 10 will start with the 11th item
          schema:
            type: integer
            minimum: 0
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatchTerminationRequest'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MatchSearch'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: MATCH register search
          sidebarTitle: MATCH register search
  /accounts/{aid}/compliance-search/match/terminate:
    post:
      operationId: accounts_aid_search_match_terminate_merchant_post
      summary: accounts_aid_search_match_terminate_merchant_post
      description: |
        Add a terminated merchant to Mastercard MATCH

        scopes:
        - write:accounts:/match
      x-scopes:
        - write:accounts:/match
      tags:
        - account-fraud-search
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatchTerminateMerchant'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MatchAddMerchantResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Add a terminated merchant to MATCH
          sidebarTitle: Add a terminated merchant to MATCH
  /accounts/{aid}/compliance-search/match/{irn}:
    get:
      operationId: accounts_aid_search_match_get
      summary: accounts_aid_search_match_get
      description: |
        Get result of a MATCH inquiry by the inquiry reference number (IRN)

        scopes:
        - read:accounts:/match
      x-scopes:
        - read:accounts:/match
      tags:
        - account-fraud-search
      parameters:
        - $ref: '#/components/parameters/accountId'
        - name: irn
          description: |
            The inquiry reference number (IRN) returned by the termination inquiry to MATCH
          in: path
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: |
            A limit on the number of objects to be returned. Limit can range
            between 1 and 100 items, and the default is 20 items.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - name: starting_after
          in: query
          description: |
            Zero-based offset to start from. A value of 10 will start with the 11th item
          schema:
            type: integer
            minimum: 0
            default: 0
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/MatchSearch'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get MATCH register search
          sidebarTitle: Get MATCH register search
  /accounts/{aid}/compliance-search/vmss:
    post:
      operationId: accounts_aid_search_vmss_post
      summary: accounts_aid_search_vmss_post
      description: |
        Search the Visa Merchant Screening Service register for any potential matches related to fraud for the account

        scopes:
        - read:accounts:/vmss
      x-scopes:
        - read:accounts:/vmss
      tags:
        - account-fraud-search
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VMSSInquiryRequest'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VMSSInquiry'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: VMSS register search
          sidebarTitle: VMSS register search
  /accounts/{aid}/compliance-search/vmss/terminate:
    post:
      operationId: accounts_aid_search_vmss_terminate_merchant_post
      summary: accounts_aid_search_vmss_terminate_merchant_post
      description: |
        Add a terminated to Visa Merchant Screening Service

        scopes:
        - write:accounts:/vmss
      x-scopes:
        - write:accounts:/vmss
      tags:
        - account-fraud-search
      parameters:
        - $ref: '#/components/parameters/accountId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VMSSTermianteMerchantRequest'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/VMSSTerminateMerchant'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Add a terminated merchant to VMSS
          sidebarTitle: Add a terminated merchant to VMSS
  /accounts/{oid}/management/users:
    get:
      operationId: aid_accounts_aid_mgmnt_users_get
      summary: aid_accounts_aid_mgmnt_users_get
      description: |
        Get list of all users with access to the account

        scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account users
      x-scopes:
        - admin:accounts
        - read:accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: expand
          in: query
          description: |
            Expand properties in the response
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - roles
        - name: search
          in: query
          description: |
            Search for users by email or name
          schema:
            type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountUserCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Users Collection
          sidebarTitle: Users Collection
    post:
      operationId: aid_accounts_aid_mgmnt_users_post
      summary: aid_accounts_aid_mgmnt_users_post
      description: |
        Create and grant user access to the account

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account users
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: expand
          in: query
          description: |
            Expand properties in the response
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - roles
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  example: customer@example.com
                name:
                  type: string
                  example: John Doe
                scope:
                  type: array
                  items:
                    type: string
                    minItems: 1
                    example: receipts:write
                authentication_type:
                  description: |
                    - `external`: authentication of the user will be done
                      externally, Dintero will not manage user password. Requires
                      the account to be configured with `jwks.uri`.
                  type: string
                  enum:
                    - external
                roles:
                  type: array
                  items:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                        description: Role ID
                  description: |
                    Create user with one or more roles. The authorization used to
                    create the user must have access to use the role, i.e. have the
                    same scopes as granted by the role.
                  example:
                    - id: 7b288256-f4f8-4370-bb63-7157652ead21
                    - id: 42e75d9b-af5a-41bc-bf21-ed30444a268e
                agreement:
                  $ref: '#/components/schemas/AccountAgreement'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountUserResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create User
          sidebarTitle: Create User
  /accounts/{oid}/management/users/{uid}:
    delete:
      operationId: aid_accounts_aid_mgmnt_users_delete
      summary: aid_accounts_aid_mgmnt_users_delete
      description: |
        Delete a user from an account

        scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account users
      x-scopes:
        - admin:accounts
        - write:accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/user'
        - name: expand
          in: query
          description: |
            Expand properties in the response
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - roles
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountUserDeleted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Delete User
          sidebarTitle: Delete User
    put:
      operationId: aid_accounts_aid_mgmnt_users_put
      summary: aid_accounts_aid_mgmnt_users_put
      description: |
        Update user

        scopes:
        - admin:accounts
        - write:accounts
      tags:
        - account users
      x-scopes:
        - admin:accounts
        - write:accounts
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/user'
        - name: expand
          in: query
          description: |
            Expand properties in the response
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - roles
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - properties:
                    name:
                      type: string
                      example: John Doe
                    scope:
                      type: array
                      items:
                        type: string
                        minItems: 1
                        example: receipts:write
                    roles:
                      type: array
                      items:
                        type: object
                        required:
                          - id
                        properties:
                          id:
                            type: string
                            description: Role ID
                      description: |
                        Create user with one or more roles. The authorization used to
                        create the user must have access to use the role, i.e. have the
                        same scopes as granted by the role.
                      example:
                        - id: 7b288256-f4f8-4370-bb63-7157652ead21
                        - id: 42e75d9b-af5a-41bc-bf21-ed30444a268e
                    agreement:
                      $ref: '#/components/schemas/AccountAgreement'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AccountUserUpdated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update User
          sidebarTitle: Update User
  /accounts/{oid}/management/users/{uid}/activities:
    get:
      operationId: aid_accounts_aid_mgmnt_users_activities_get
      summary: aid_accounts_aid_mgmnt_users_activities_get
      description: |
        Get activities for User

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - account users
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/user'
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AuditEventCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get user activity log
          sidebarTitle: Get user activity log
  /accounts/{oid}/signup:
    post:
      operationId: accounts_oid_signup_post
      summary: accounts_oid_signup_post
      x-scopes:
        - create:account
      description: |
        Initiate a signup for Dintero Account

        - An email verification request will be sent to the applicant,
          that contains a code that must be sent to
          [POST /account/{oid}/signup/verify](/management-auth-api/account-onboarding/accounts_oid_signup_verify_post)

        - A welcome email will be sent after verification of the applicant email
          is completed. The email contains links to Backoffice

        scopes:
        - create:account
      tags:
        - account-onboarding
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSignupRequest'
        required: true
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Signup to Dintero Account
          sidebarTitle: Signup to Dintero Account
  /accounts/{oid}/signup/prefill:
    post:
      operationId: accounts_oid_signup_prefill_post
      summary: accounts_oid_signup_prefill_post
      x-scopes:
        - create:applicant
      description: |
        Pre-fill a sign up form for a new Dintero Account

        - An email verification request will be sent to the applicant,
          that contains a link where the merchant can accept the terms and create a new account.

          [POST /account/{oid}/signup/prefill/{prefill_id}](/management-auth-api/account-onboarding-prefill/accounts_oid_signup_prefill_accept_post)

        - An email will be sent after accepting the terms. The email contains a link to the Backoffice as well as a password

        scopes:
        - create:applicant
      tags:
        - account-onboarding-prefill
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        $ref: '#/components/requestBodies/AccountSignupPreFillRequest'
      responses:
        '200':
          $ref: '#/components/responses/AccountSignupPrefillResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Pre-fill a sign up for a new Dintero Account
          sidebarTitle: Pre-fill a sign up for a new Dintero Account
  /accounts/{oid}/signup/prefill/{prefill_id}:
    post:
      operationId: accounts_oid_signup_prefill_accept_post
      summary: accounts_oid_signup_prefill_accept_post
      x-scopes:
        - create:account
      description: |
        Accept a prefilled sign up form for a new Dintero Account

        - An email will be sent after accepting the terms if no auhtorize query is included.
          The email contains a link to the Backoffice as well as a password

        scopes:
        - create:account
      tags:
        - account-onboarding-prefill
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: prefill_id
          in: path
          required: true
          schema:
            type: string
        - name: authorize
          in: query
          description: |
            Request access tokens to be included in the response.
          schema:
            type: string
            enum:
              - Bearer
      requestBody:
        $ref: '#/components/requestBodies/AccountSignupPreFillRequest'
      responses:
        '200':
          $ref: '#/components/responses/AccountSignupAccepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Accept pre-filled sign up for a new Dintero Account
          sidebarTitle: Accept pre-filled sign up for a new Dintero Account
    get:
      operationId: accounts_oid_signup_prefill_get
      summary: accounts_oid_signup_prefill_get
      x-scopes:
        - create:account
      description: |
        Get a prefilled a sign up form for a new Dintero Account by id, not yet
        accepted by the applicant.

        scopes:
        - create:account
      tags:
        - account-onboarding-prefill
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: prefill_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          $ref: '#/components/responses/AccountSignupPrefillResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get pending pre-filled sign up for a new Dintero Account
          sidebarTitle: Get pending pre-filled sign up for a new Dintero Account
  /accounts/{oid}/signup/verify:
    post:
      operationId: accounts_oid_signup_verify_post
      summary: accounts_oid_signup_verify_post
      x-scopes:
        - create:account
      description: |
        Complete the signup for a Dintero Account by sending the verification code
        sent to the applicant

        scopes:
        - create:account
      tags:
        - account-onboarding
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/owner'
        - name: verification_code
          in: query
          required: true
          description: |
            Verification code sent to the applicant email when requesting a signup
            [POST /accounts/{oid}/signup](/management-auth-api/account-onboarding/accounts_oid_signup_post)
          schema:
            type: string
        - name: authorize
          in: query
          description: |
            Request access tokens to be included in the response.
          schema:
            type: string
            enum:
              - Bearer
      responses:
        '200':
          $ref: '#/components/responses/EmailAuthorizedUserResponse'
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Verify signup
          sidebarTitle: Verify signup
  /accounts/{partner_id}/auth/exchange_token:
    post:
      operationId: aid_auths_oauth_exchange_token_post
      summary: aid_auths_oauth_exchange_token_post
      description: |
        Use this endpoint to exchange access_token to a sub-account

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - authenticate
      security:
        - JWT: []
      parameters:
        - $ref: '#/components/parameters/partnerId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Exchange'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessToken'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Exchange Token
          sidebarTitle: Exchange Token
  /accounts/{oid}/management/price-packages:
    get:
      operationId: aid_mgmnt_price_packages_get
      summary: aid_mgmnt_price_packages_get
      description: |
        Get list of price packages available for the account.

        scopes:
          - admin:accounts
          - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - price-packages
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/startingAfter'
        - name: type
          in: query
          explode: true
          schema:
            type: array
            items:
              type: string
              default: default
              enum:
                - default
                - account
        - name: price_package_id
          description: Filter by Price Package ID.
          in: query
          required: false
          schema:
            type: string
        - name: search
          in: query
          required: false
          description: |
            Search for price packages by name and description.
          schema:
            type: string
        - name: creation_state
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              default: pristine
              enum:
                - pristine
                - custom
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PricePackageCollection'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Price package collection
          sidebarTitle: Price package collection
    post:
      operationId: aid_mgmnt_price_packages_post
      summary: aid_mgmnt_price_packages_post
      description: |
        Create a new price package

        scopes:
          - admin:dintero
          - write:dintero:/management/price-packages
      x-scopes:
        - admin:dintero
        - write:dintero:/management/price-packages
      tags:
        - price-packages
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricePackageCreateData'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PricePackage'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Create Price package
          sidebarTitle: Create Price package
  /accounts/{oid}/management/price-packages/{price_package_id}:
    put:
      operationId: aid_mgmnt_price_packages_put
      summary: aid_mgmnt_price_packages_put
      description: |
        Update an existing price package.

        scopes:
          - admin:dintero
          - write:dintero:/management/price-packages
      x-scopes:
        - admin:dintero
        - write:dintero:/management/price-packages
      tags:
        - price-packages
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/PricePackageId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PricePackageUpdateData'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/PricePackage'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update price package
          sidebarTitle: Update price package
  /accounts/{oid}/payout-destinations:
    get:
      operationId: aid_mgmnt_payout_destinations_get
      summary: aid_mgmnt_payout_destinations_get
      description: |
        Get list of payout destinations

        scopes:
          - admin:accounts
          - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - payout-destinations
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/startingAfter'
        - $ref: '#/components/parameters/limit'
        - name: search
          in: query
          description: |
            Search payout destinations by organisation details, `payout_destination_id`, id.
          schema:
            type: string
        - $ref: '#/components/parameters/AuthPayoutDestinationCaseStatus'
        - name: country
          in: query
          description: |
            Search payout destinations by country
          example: 'NO'
          explode: true
          schema:
            type: array
            items:
              type: string
              format: iso3166-2
        - name: store_id
          in: query
          description: |
            Search payout destinations by associated store ids
          example: L123
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: terminal_id
          in: query
          description: |
            Search payout destinations by associated terminal ids
          example: T123
          explode: true
          schema:
            type: array
            items:
              type: string
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AuthPayoutDestinationCollection'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: List payout destinations
          sidebarTitle: List payout destinations
    post:
      operationId: aid_mgmnt_payout_destinations_post
      summary: aid_mgmnt_payout_destinations_post
      description: |
        Create a payout destination for an account

        scopes:
          - admin:accounts
          - write:accounts
          - write:accounts:/management/settings/approvals
      x-scopes:
        - admin:accounts
        - write:accounts
        - write:accounts:/management/settings/approvals
      tags:
        - payout-destinations
      parameters:
        - $ref: '#/components/parameters/owner'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthPayoutDestinationCreateRequest'
        description: Payout destination details
        required: true
      security:
        - JWT: []
      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'
      x-mint:
        metadata:
          title: Create payout destination
          sidebarTitle: Create payout destination
  /accounts/{oid}/payout-destinations/{payout_destination_id}:
    patch:
      operationId: oid_mgmnt_payout_destinations_by_id_patch
      summary: oid_mgmnt_payout_destinations_by_id_patch
      description: |
        Update a payout destination. Currently only allows update of `payout_interval_type`.

        scopes:
        - admin:accounts
        - write:accounts
      x-scopes:
        - admin:accounts
        - write:accounts
      tags:
        - payout-destinations
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/AuthPayoutDestinationId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthPayoutDestinationPatch'
        required: true
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AuthPayoutDestination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Update payout destination
          sidebarTitle: Update payout destination
    get:
      operationId: aid_mgmnt_payout_destinations_get_by_id
      summary: aid_mgmnt_payout_destinations_get_by_id
      description: |
        Get a payout destination by payout destination id

        scopes:
        - admin:accounts
        - read:accounts
      x-scopes:
        - admin:accounts
        - read:accounts
      tags:
        - payout-destinations
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/AuthPayoutDestinationId'
        - name: includes
          description: |
            Include related data.
            Use `terminals` to include terminal details associated with the payout destination.
            Use `stores` to include store details associated with the payout destination.
          in: query
          required: false
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - terminals
                - stores
            maxItems: 2
      security:
        - JWT: []
      responses:
        '200':
          $ref: '#/components/responses/AuthPayoutDestination'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: Get payout destination
          sidebarTitle: Get payout destination
  /accounts/{oid}/payout-destinations/{payout_destination_id}/payouts:
    post:
      operationId: oid_mgmnt_payout_destinations_payouts_post
      summary: oid_mgmnt_payout_destinations_payouts_post
      description: |
        Create a payout for the given payout destination by consolidating all
        pending funds from any payout interval account (week, month) into the
        daily payout account. The funds will then be included in the next daily
        payout run.

        This is useful when you want existing pending payouts to be
        disbursed without waiting for the original schedule, or when you
        want to manually trigger a payout outside the normal interval.

        scopes:
          - write:accounts:/on-demand-payouts
      x-scopes:
        - write:accounts:/on-demand-payouts
      tags:
        - payout-destinations
      parameters:
        - $ref: '#/components/parameters/owner'
        - $ref: '#/components/parameters/AuthPayoutDestinationId'
      security:
        - JWT: []
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-mint:
        metadata:
          title: On-demand payout
          sidebarTitle: On-demand payout
x-tagGroups:
  - name: auth
    tags:
      - authenticate
      - clients
      - grants
      - roles
      - keys
      - auth users
      - challenge
  - name: Partner
    tags:
      - accounts
      - price-packages
  - name: Payout Destinations
    tags:
      - payout-destinations
  - name: Account
    tags:
      - account-settings
      - account-connections
      - account users
      - account-assets
      - account-stores
      - account-terminals
      - account-cdd
      - approvals
      - account-price-package
  - name: onboarding
    tags:
      - account-onboarding
      - account-onboarding-prefill
      - connection-onboarding
      - account-fraud-search
servers:
  - url: https://api.dintero.com/v1
components:
  parameters:
    accountId:
      name: aid
      description: |
        An id that uniquely identifies the account.
      in: path
      required: true
      schema:
        type: string
        format: ^[PT]{1}\d{8}$
        minLength: 9
        maxLength: 9
    PayoutDestinationId:
      name: payout_destination_id
      description: Filter by Payout Destination ID
      in: query
      required: false
      example: PPD-MX9421N
      explode: true
      schema:
        type: array
        items:
          type: string
          maxItems: 10
    TerminalId:
      name: terminal_id
      description: Filter by Terminal ID
      in: query
      required: false
      example: P11223351-T0007
      explode: true
      schema:
        type: array
        items:
          type: string
          maxItems: 10
    StoreIncludes:
      name: includes
      description: |
        Include related data.
        Use `operator_payout_destinations` to include payout destinations for terminal operators associated with this store.
      in: query
      required: false
      example: operator_payout_destinations
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
            - operator_payout_destinations
        maxItems: 1
    StoreStatus:
      name: status
      description: Filter stores by status
      in: query
      required: false
      example: ACTIVE
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - ACTIVE
            - PENDING
            - SUSPENDED
            - DELETED
            - ERROR
        maxItems: 10
    startingAfter:
      name: starting_after
      in: query
      description: |
        cursor for use in pagination. starting_after is an object ID
        that defines your place in the list. For instance, if you make
        a list request and receive 100 objects, end the result contains
          `paging_token=pt1`, your subsequent call can include
        `starting_after=pt1` in order to fetch the next page of the list.
      required: false
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: |
        A limit on the number of objects to be returned. Limit can range
        between 1 and 100 items, and the default is 10 items.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    StoreIdPath:
      name: store_id
      description: Store ID as returned in the store creation response.
      in: path
      required: true
      schema:
        type: string
        maxLength: 255
    StoreId:
      name: store_id
      description: Filter by Store ID
      in: query
      required: false
      example: S312
      explode: true
      schema:
        type: array
        items:
          type: string
          maxItems: 10
    TerminalStatus:
      name: status
      description: Filter terminals by status
      in: query
      required: false
      example: ACTIVE
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - PENDING
            - ACTION_REQUIRED
            - ERROR
            - DELETED
        maxItems: 10
    TerminalModel:
      name: device_model
      description: Filter terminals by device model
      in: query
      required: false
      example: SATURN1000
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - SATURN1000
            - Saturn_S1F4_Pro
            - S1P2
        maxItems: 10
    TerminalSerialNumber:
      name: device_serial_number
      description: Filter terminals by device serial number
      in: query
      required: false
      example: '123456789012'
      explode: true
      schema:
        type: array
        items:
          type: string
        maxItems: 10
    TerminalIncludes:
      name: includes
      description: |
        Include related data. Use `store` to include basic store details along with the main payout destination for the store.
      in: query
      required: false
      example: store
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          enum:
            - store
        maxItems: 1
    TerminalIdPath:
      name: terminal_id
      description: System-generated terminal identifier (e.g. `P12600030-T0001`).
      in: path
      required: true
      schema:
        type: string
        maxLength: 255
    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]*$
    user:
      name: uid
      description: |
        Id identifying the user
      in: path
      required: true
      schema:
        type: string
        maxLength: 255
    partnerId:
      name: partner_id
      description: |
        An id that uniquely identifies the partner account
      in: path
      required: true
      schema:
        type: string
        format: ^[PT]{1}\d{3}00000$
        minLength: 9
        maxLength: 9
    PricePackageId:
      name: price_package_id
      description: price package id
      in: path
      required: true
      schema:
        type: string
    AuthPayoutDestinationCaseStatus:
      name: case_status
      description: Filter by case status
      in: query
      required: false
      example: ACTIVE
      explode: true
      schema:
        type: array
        items:
          type: string
          enum:
            - ACTIVE
            - DECLINED
            - UNDER_MANUAL_REVIEW
            - AUTOMATIC_REVIEW
            - WAITING_FOR_SIGNATURE
            - WAITING_FOR_DECLARATION
            - ERROR
            - ARCHIVED
            - WAITING_FOR_DETAILS
            - TERMINATED
    AuthPayoutDestinationId:
      name: payout_destination_id
      description: The payout destination identifier
      in: path
      required: true
      schema:
        type: string
  responses:
    AuthenticatedAccountUserResponse:
      description: User account
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthenticatedAccountUser'
    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'
    BadRequest:
      description: Bad / Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too Many Requests
      headers:
        Retry-After:
          description: |
            Indicates how long the user agent should wait
            in seconds before making a follow-up request.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    MfaChallengeResponse:
      description: Challenge response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MfaChallenge'
    NotFound:
      description: Resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    MfaRecoveryResponse:
      description: Recovery response
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/MfaChallenge'
              - properties:
                  mfa_token:
                    type: string
    UserCreated:
      description: User created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthenticatedUser'
    UserUpdated:
      description: User updated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthenticatedUser'
    UserDeleted:
      description: User deleted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthenticatedUser'
    AssetUploadUrl:
      description: Upload URL
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UploadUrl'
    StoreCollection:
      description: List of stores
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/StoreCollection'
    Store:
      description: Store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Store'
    TerminalCollection:
      description: List of terminals
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TerminalCollection'
    Terminal:
      description: Terminal
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Terminal'
    PricePackage:
      description: Price package
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricePackageResponse'
    AccountResponse:
      description: Account
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Account'
              - $ref: '#/components/schemas/AccountReadOnly'
              - type: object
                properties:
                  configuration:
                    $ref: '#/components/schemas/PartnerConfiguration'
                  onboarding:
                    $ref: '#/components/schemas/AccountOnboarding'
    AccountSandboxSettingsResponse:
      description: Account sandbox settings
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountSandboxSettings'
    ApprovalsPaymentList:
      description: List of ApprovalsPaymentResponse objects
      content:
        application/json:
          schema:
            type: object
            properties:
              payments:
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalsPaymentResponse'
    ApprovalsPaymentCreated:
      description: Created ApprovalsPaymentResponse
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApprovalsPaymentResponse'
    ApprovalsPayoutDestinationList:
      description: List of ApprovalsPayoutDestinationResponse objects
      content:
        application/json:
          schema:
            type: object
            properties:
              payout_destinations:
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalsPayoutDestinationResponse'
    ApprovalsPayoutDestinationCreated:
      description: Created ApprovalsPayoutDestinationResponse
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApprovalsPayoutDestinationResponse'
    ApprovalsPayoutDestination:
      description: ApprovalsPayoutDestinationResponse
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApprovalsPayoutDestinationResponse'
    CustomerDueDiligenceList:
      description: CustomerDueDiligenceCase collection
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/CustomerDueDiligenceCaseResponse'
    CustomerDueDiligenceCaseCreated:
      description: Customer Due Diligence case created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerDueDiligenceCaseResponse'
    Mastercard3DSConnectionResponse:
      description: Mastercard 3DS Connection response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Mastercard3DSConnection'
    BamboraConnectionResponse:
      description: Bambora Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BamboraConnection'
    BamboraIppSubmerchantCollectionResponse:
      description: Bambora IPP Submerchant Collection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BamboraIppSubmerchantCollection'
    CollectorConnectionResponse:
      description: Collector connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CollectorConnection'
    CommonConnectionResponse:
      description: Common connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CommonConnection'
    DinteroPspConnectionResponse:
      description: Dintero Psp Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DinteroPspConnection'
    InstabankConnectionResponse:
      description: Instabank Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InstabankConnection'
    KlarnaConnectionResponse:
      description: Klarna Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/KlarnaConnection'
    KraviaConnectionResponse:
      description: Kravia Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/KraviaConnection'
    SeitatechConnectionResponse:
      description: Seitatech Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SeitatechConnection'
    TwoConnectionResponse:
      description: Two Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TwoConnection'
    VippsPspConnectionResponse:
      description: Vipps PSP Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VippsPspConnection'
    ApplePayConnectionResponse:
      description: Apple Pay Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApplePayConnection'
    PayExConnectionResponse:
      description: PayEx Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayExConnection'
    SwishConnectionResponse:
      description: Swish connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SwishConnection'
    VippsConnectionResponse:
      description: Vipps connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VippsConnection'
    VisaTokenizationConnectionResponse:
      description: Visa Tokenization Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VisaTokenizationConnection'
    VisaClickToPayConnectionResponse:
      description: Visa Click-to-Pay Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VisaClickToPayConnection'
    MastercardTokenizationConnectionResponse:
      description: Mastercard Tokenization Connection
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MastercardTokenizationConnection'
    GrantCollection:
      description: Grant Collection
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Grant'
    GrantCreated:
      description: Grant created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Grant'
    GrantDeleted:
      description: Grant deleted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Grant'
    ClientCollection:
      description: Client Collection
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Client'
    ClientWithSecret:
      description: Client with secret
      content:
        application/json:
          schema:
            type: object
            allOf:
              - $ref: '#/components/schemas/Client'
              - properties:
                  client_secret:
                    type: string
                    example: JYCRP/x7iBGWA1fun0J9laH5sEg5cP9g/4QivhfGzm4
                    readOnly: true
    ClientResponse:
      description: Client
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Client'
    KeysCollection:
      description: Keys Collection
      content:
        application/json:
          schema:
            type: array
            items:
              type: object
              properties:
                alg:
                  description: The algorithm for the key
                  type: string
                  example: RS256
                kty:
                  description: The key type
                  type: string
                  enum:
                    - RSA
                use:
                  description: The intended use of the public key
                  type: string
                  enum:
                    - sig
                'n':
                  description: The modulus for a standard pem
                  type: string
                  example: |
                    lC4ehVB6W0OCtNPnz8udYH9Ao83B6EKnHA5eTcMOap_lQZ-nKtS1lZwBj4wXRVc1XmS0d2OQFA1VMQ-dHLDE3CiGfsGqWbaiZFdW7U
                    GLO1nAwfDdH6xp3xwpKOMewDXbAHJlXdYYAe2ap-CE9c5WLTUBU6JROuWcorHCNJisj1aExyiY5t3JQQVGpBz2oUIHo7NRzQoKimvp
                    dMvMzcYnTlk1dhlG11b1GTkBclprm1BmOP7Ltjd7aEumOJWS67nKcAZzl48Zyg5KtV11V9F9dkGt25qHauqFKL7w3wu-DYhT0hmyFc
                    wn-tXS6e6HQbfHhR_MQxysLtDGOk2ViWv8AQ
                e:
                  description: The exponent for a standard pem
                  type: string
                  example: AQAB
                kid:
                  description: The unique identifier for the key
                  type: string
                  example: a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0
    TokenGranted:
      description: Success
      content:
        application/json:
          schema:
            required:
              - access_token
              - token_type
              - expires_in
            properties:
              access_token:
                type: string
                description: A JWT access token
                example: eyJhbGci...t7P4
              token_type:
                type: string
                enum:
                  - Bearer
              expires_in:
                type: integer
                description: |
                  The lifetime in seconds of the access token.  For
                  example, the value "3600" denotes that the access token will
                  expire in one hour from the time the response was generated.
                example: 86400
              user_info:
                description: |
                  Details about the user provided by the authentication
                  server
                type: object
                required:
                  - authority
                properties:
                  authority:
                    type: string
                    format: url
                    example: https://identityserver.example.com/access
                  value:
                    type: object
                    description: |
                      User information provided by OIDC, properties included depends on
                      the authority
                    properties:
                      sub:
                        type: string
                        example: c06c4afe-d9e1-4c5d-939a-177d752a0944
                      name:
                        type: string
                        example: Ada Lovelace
    AccessCode:
      description: Access code
      content:
        application/json:
          schema:
            type: object
            properties:
              verification_code:
                type: string
                description: The verification code
    RedirectUrl:
      description: |
        Response with redirect URL in response body. `Accept: application/json`
      content:
        application/json:
          schema:
            type: object
            properties:
              redirect_uri:
                description: |
                  The HTTP URL to redirect to with ID token
                format: uri
                pattern: ^https?://.*
                example: https://example.dintero.com/reports/123.pdf?id_token=XB...
    RedirectFound:
      description: Redirect to URL with ID token
      headers:
        Location:
          description: "the URL to redirect to\n\n- `id_token` will be included in the redirect URL as a\n  `query` parameter\n\nA valid `id_token` will contain following claims\n\n query name | type         | description                    | required\n----------- | :----------: | ------------------------------ | :-----------:\nsub         |   string     | User Id                        | true\nemail       |   string     | User email                     | false\nname        |   string     | User name                      | false\naud         |   string     | Redirect URI                   | true\niss         |   string     | Issuer (Dintero)               | true\nexp         |   int        | Token expiry                   |\_true\next_property name* |   string  | Custom claims                  |\_false\n\n```\n{\n  \"kid\" : \"1234example\"\n  \"alg\" : \"RS256\"\n}\n\n{\n  \"aud\": \"${redirect_uri}\n  \"iss\": \"https://P12345678@api.dintero.com\",\n  \"sub\": \"dintero:user:id\",\n  \"email\": \"janedoe@example.com\"\n  \"exp\": 1386899131,\n  \"property name*\": \"custom-claim\"\n}\n```\nThe kid (key ID) should be used to match specific key to use when validating\nthe `id_token`. The `aud` in a valid token will contain the original `redirect_uri`\n(without id_token) that should be used to authorize the request.\n"
          schema:
            type: string
    RoleCollection:
      description: Role Collection
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AuthRole'
    RoleResponse:
      description: Role
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthRole'
    RoleUpdated:
      description: Role updated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthRole'
    RoleDeleted:
      description: Role deleted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthRole'
    ExtendedAccountCollection:
      description: List of Accounts
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/ExtendedAccount'
    ExtendedAccountResponse:
      description: Account
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExtendedAccount'
    ExtendedAccountUpdated:
      description: Account updated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExtendedAccount'
    ExtendedAccountDeleted:
      description: Account deleted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExtendedAccount'
    AccountConnectionEventResponse:
      description: Connection event
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountConnectionEvent'
    AccountEventCollection:
      description: Account events
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AccountEvent'
    AccountEventResponse:
      description: Account event
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountEvent'
    PricePackageAccountCollection:
      description: List of price packages
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountPricePackages'
    MatchSearch:
      description: Possible merchant matches from MATCH
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MatchSearchResponse'
    MatchAddMerchantResponse:
      description: MATCH merchant ID
      content:
        application/json:
          schema:
            type: object
            properties:
              merchant_reference_number:
                type: integer
                description: |
                  Unique ID to identify the added merchant in MATCH
    VMSSInquiry:
      description: Possible merchant matches from VMSS
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VMSSInquiryResponse'
    VMSSTerminateMerchant:
      description: The added VMSS record
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/VMSSTerminateMerchantResponse'
    AccountUserCollection:
      description: User collection
      content:
        application/json:
          schema:
            type: array
            items:
              allOf:
                - $ref: '#/components/schemas/AccountAdminUser'
    AccountUserResponse:
      description: Account user
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountAdminUser'
    AccountUserUpdated:
      description: Account user updated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountAdminUser'
    AccountUserDeleted:
      description: Account user deleted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountAdminUser'
    AuditEventCollection:
      description: List of Audit events
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AuditEvent'
    AccountSignupPrefillResponse:
      description: Account Signup
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountSignupPreFillRequest'
    AccountSignupAccepted:
      description: Pre-filled sign up accepted by applicant
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/AccountSignupPreFillRequest'
              - $ref: '#/components/schemas/EmailAuthorizedUser'
    EmailAuthorizedUserResponse:
      description: Authorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EmailAuthorizedUser'
    PricePackageCollection:
      description: List of price packages
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PricePackageCollectionResponse'
    AuthPayoutDestinationCollection:
      description: List of payout destinations
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthPayoutDestinationCollection'
    AuthPayoutDestinationCreated:
      description: Created AuthPayoutDestination resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthPayoutDestinationCreateResponse'
    AuthPayoutDestination:
      description: Payout destination
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthPayoutDestination'
    NoContent:
      description: No content, the service completed successfully and there is no content to be returned.
  requestBodies:
    AccountSignupPreFillRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountSignupPreFillRequest'
      required: true
    AuthRole:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthRole'
      required: true
  securitySchemes:
    clientAuth:
      type: http
      description: |
        Authorization by using the **Basic** schema with client_id and
        client_secret as username/password
      scheme: basic
    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
  schemas:
    account_user:
      type: object
      x-discriminator-value: account_user
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - properties:
            grant_type:
              type: string
              enum:
                - account_user
      title: account_user
    authorization_code:
      type: object
      x-discriminator-value: authorization_code
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - required:
            - verification_code
            - audience
            - ident_type
            - ident
          properties:
            ident_type:
              type: string
              enum:
                - email
                - user_id
            ident:
              type: string
              description: |
                The email that was use when requesting `verification_code`
                from [POST /v1/accounts/{oid}/auth/passwordless](/management-auth-api/authenticate/aid_auth_account_passwordless_post)
            verification_code:
              type: string
              description: The one-time Passwordless verification-code to exchange for a access token
            audience:
              type: string
              example: https://api.dintero.com/v1/accounts/P00000000
              description: |
                The unique identifier of the target API you want to access.
                The audience must be a grant associated with the client
            grant_type:
              type: string
              enum:
                - authorization_code
      title: authorization_code
    client_credentials:
      description: Client token credential
      x-discriminator-value: client_credentials
      type: object
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - required:
            - audience
          properties:
            audience:
              type: string
              example: https://api.dintero.com/v1/accounts/P00000000
              description: |
                The unique identifier of the target API you want to access.
                The audience must be a grant associated with the client
            grant_type:
              type: string
              enum:
                - client_credentials
      title: client_credentials
    mfa_oob:
      type: object
      x-discriminator-value: mfa_oob
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - required:
            - oob_code
            - binding_code
            - mfa_token
          properties:
            oob_code:
              type: string
              description: The `oob_code` received from the challenge response
            binding_code:
              type: string
              description: The binding code sent _out of band_.
            mfa_token:
              type: string
              description: The `mfa_token` received as part of mfa_required error.
            grant_type:
              type: string
              enum:
                - mfa_oob
      title: mfa_oob
    password:
      type: object
      x-discriminator-value: password
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - required:
            - username
            - password
            - audience
          properties:
            username:
              type: string
              description: |
                The end user's identifier.
            password:
              type: string
              description: |
                The end user's password.
            audience:
              type: string
              example: https://api.dintero.com/v1/accounts/P00000000
              description: |
                The unique identifier of the target API you want to access.
                The audience must be a grant associated with the client
            grant_type:
              type: string
              enum:
                - password
      title: password
    refresh_token:
      type: object
      x-discriminator-value: refresh_token
      description: |
        Refresh an Access Token using a Refresh Token
      allOf:
        - $ref: '#/components/schemas/AuthTokenBase'
        - required:
            - refresh_token
          properties:
            refresh_token:
              type: string
              description: |
                The Refresh Token to use.
            grant_type:
              type: string
              enum:
                - refresh_token
      title: refresh_token
    AccountEventComment:
      x-discriminator-value: comment
      allOf:
        - $ref: '#/components/schemas/AccountEventBase'
        - required:
            - event_type
            - body
            - visibility
          properties:
            event_type:
              description: |
                The event_type corresponding to comment event
              type: string
              enum:
                - comment
            body:
              type: string
            visibility:
              type: string
              enum:
                - private
      title: comment
    AccountEventStatistics:
      x-discriminator-value: statistics
      allOf:
        - $ref: '#/components/schemas/AccountEventBase'
        - required:
            - event_type
            - statistics
          properties:
            event_type:
              description: |
                The event_type corresponding to comment event
              type: string
              enum:
                - statistics
            statistics:
              $ref: '#/components/schemas/AccountMonthlyStatistics'
      title: statistics
    AccountUserConfig:
      type: object
      description: Account user configurations
      properties:
        mfa:
          type: object
          properties:
            sms:
              type: object
              properties:
                updated_at:
                  type: string
                  format: date-time
                enabled:
                  type: boolean
            totp:
              type: object
              properties:
                updated_at:
                  type: string
                  format: date-time
                enabled:
                  type: boolean
    AccountAgreement:
      type: object
      description: |
        Defines an terms and conditions agreement between
        a company or user and Dintero
      properties:
        name:
          description: Defines the name of the agreement
          type: string
        version:
          description: Defines the version of the agreement
          type: string
        personal_guarantee_accepted:
          description: |
            The applicant/user has read and accepted the terms of
            a personal guarantee.
          type: boolean
        attachments:
          description: attachment policies
          type: array
          items:
            type: object
            properties:
              name:
                description: Defines the name of the attachment
                type: string
                example: Cookie Policy
              version:
                description: Defines the version of the attachment
                type: string
    AuthenticatedAccountUser:
      type: object
      required:
        - id
        - accounts
      properties:
        id:
          type: string
        configuration:
          $ref: '#/components/schemas/AccountUserConfig'
        accounts:
          type: array
          items:
            type: object
            required:
              - user
              - account_id
            properties:
              account_id:
                type: string
                example: P12345678
                description: The id that uniquely identifies the account
              business_name:
                type: string
                example: TKP technology AS
              public_business_name:
                type: string
                example: TKP tech
              organization_number:
                type: string
                example: 123456789MVA
              display_name:
                type: string
                example: TKP tech instore AS
              icon_url:
                description: |
                  Url to icon. The image should have equal height and width, around 50px.
                  Will be used to personalize the backoffice and checkout.
                type: string
                format: uri
                maxLength: 240
              user:
                type: object
                required:
                  - id
                  - email
                properties:
                  id:
                    type: string
                    description: An UUID that uniquely identifies the account user
                  last_seen_at:
                    type: string
                    format: date-time
                  scope:
                    type: array
                    items:
                      type: string
                      minItems: 1
                      example: receipts:write
                  name:
                    type: string
                    description: The name of the user in the account
                  email:
                    type: string
                    example: customer@example.com
                  agreement:
                    $ref: '#/components/schemas/AccountAgreement'
    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
    Challenge:
      type: object
      description: Challenge recovery
      required:
        - challenge_type
      properties:
        challenge_type:
          type: string
          description: |
            The challenge type accepted by your application
          enum:
            - oob
        oob_channel:
          type: string
          description: |
            The channel to use for OOB. Can only be provided when
            `challenge_type` is oob.
          enum:
            - sms
            - email
          default: sms
    AuthChallenge:
      description: multi-factor authentication (MFA) challenge
      allOf:
        - $ref: '#/components/schemas/Challenge'
        - required:
            - mfa_token
          properties:
            mfa_token:
              type: string
              description: |
                The token received from `mfa_required` error.
    MfaChallenge:
      type: object
      properties:
        challenge_type:
          type: string
          enum:
            - oob
        binding_method:
          type: string
          enum:
            - prompt
        oob_code:
          type: string
          example: bkaiew...akas
    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
    AuthUserLinks:
      type: array
      description: |
        Links to resources related to the user, links is required when
        MFA is enabled.
      items:
        type: object
        properties:
          rel:
            type: string
            description: |
              The relationship between the user and the linked resource
              - `customers_user`: A link to the customer user resource.
                The link will be used to lookup email or phone_number if
                MFA is enabled on the user.
              - `email`: The link includes the email to use in
                email OOB message. Fallback if no `customers_user` rel
                is provided.
              - `phone_number`: The link includes the phone_number to
                use in SMS OOB message. Fallback if no `customers_user`
                rel is provided.
            example: customers_user
            enum:
              - email
              - phone_number
              - customers_user
          href:
            type: string
            description: The URL of the link
      example:
        - rel: customers_user
          href: https://api.dintero.com/v1/accounts/P12345678/users/99919
        - rel: phone_number
          href: tel:+4799999999
        - rel: email
          href: mailto:name@email.com
    AuthUserMfa:
      type: object
      description: |
        Require Multi-factor authentication (MFA) for the user
      required:
        - challenge_type
      properties:
        challenge_type:
          type: string
          description: |
            The challenges types enabled (required) by the user.    enum:
            - oob
        oob_channels:
          type: array
          description: |
            The supported channels to use for OOB. Can only be used if `channel_type`
            is `oob`.
          items:
            type: string
            enum:
              - sms
              - email
    AuthenticatedUser:
      type: object
      description: A user with password
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - username
          properties:
            username:
              type: string
              description: The user's username.
              minLength: 1
              maxLength: 255
            links:
              $ref: '#/components/schemas/AuthUserLinks'
            mfa:
              $ref: '#/components/schemas/AuthUserMfa'
    UploadUrl:
      type: object
      properties:
        public_url:
          type: string
          format: string
          description: |
            The public URL the asset will be made available from after the
            upload has completed.
        upload_url:
          type: string
          format: url
          description: |
            An URL to upload the asset to.

            - The content type header value must be the same as the `mime_type`
            - The content length header value must be the same as the size of
              the file and the `size_bytes`.

            **Upload example**
            ```
            curl -X PUT
              -H 'Content-Type: {mime_type}' \
              -H 'Content-Length: {size_bytes}' \
              --upload-file <file> \
              {upload_url}
            ```
        upload_expires_in:
          type: integer
          description: |
            The number of seconds until the upload url is no longer valid
    TerminalStatus:
      type: string
      description: The status of the terminal
      readOnly: true
      enum:
        - DELETED
        - PENDING
        - ACTION_REQUIRED
        - ACTIVE
        - INACTIVE
        - ERROR
    StoreTerminalSummary:
      type: object
      description: Summary of terminal statuses for this store
      required:
        - status
        - count
      properties:
        status:
          $ref: '#/components/schemas/TerminalStatus'
        count:
          type: integer
          description: Number of terminals with this status
          example: 1
    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'
    PayoutDestinationId:
      type: string
      maxLength: 40
      pattern: ^[A-Za-z0-9_-]+$
      example: PD032
    StoreUpdateInput:
      type: object
      required:
        - store_name
        - phone_number
        - organization
      properties:
        organization:
          type: object
          description: The organization for the store
          required:
            - organization_number
          properties:
            organization_number:
              type: string
            country:
              type: string
              readOnly: true
              pattern: ^[A-Z]{2}$
              description: ISO 3166-1 country code for the organization number
              example: 'NO'
            type:
              type: string
              default: main_unit
              enum:
                - main_unit
                - sub_unit
            name:
              type: string
            trade_name:
              type: string
        store_name:
          type: string
        email:
          type: string
          format: email
        phone_number:
          type: string
          format: E.164
          pattern: ^\+[1-9]\d{1,14}$
          description: A phone number in E.164 format
          example: '+4799999999'
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
            - required:
                - postal_code
        coordinates:
          type: object
          properties:
            latitude:
              type: number
              format: float
              example: 59.949923
            longitude:
              type: number
              format: float
              example: 10.766888
          required:
            - latitude
            - longitude
          description: The coordinates of the store
        website:
          type: string
        payout_destination:
          type: object
          description: |
            The payout destination associated with this store.

            A store with a payout destination will get all its properties
            (address, phone_number +++) set by validated data so you
            will not be allowed to set custom address when payout destination
            is set

            The organization_number must match the organization number of the
            payout destination

            These exceptions do not apply to payout destination's sub-units where
            different sub-unit organization_number is allowed and the details will
            be set by what is available in the public registers.
          required:
            - payout_destination_id
          properties:
            payout_destination_id:
              $ref: '#/components/schemas/PayoutDestinationId'
    StoreInput:
      allOf:
        - $ref: '#/components/schemas/StoreUpdateInput'
        - type: object
          properties:
            store_id:
              type: string
              example: S312
              maxLength: 20
              pattern: ^[A-Za-z0-9._~-]{1,20}$
              description: |
                Client-supplied store identifier. If omitted, the server generates
                one (e.g. T12345678-0001) and uses it as the store_id.
    ApprovalStatus:
      type: string
      enum:
        - ACTIVE
        - DECLINED
        - UNDER_MANUAL_REVIEW
        - AUTOMATIC_REVIEW
        - WAITING_FOR_SIGNATURE
        - WAITING_FOR_DECLARATION
        - ERROR
        - ARCHIVED
        - WAITING_FOR_DETAILS
        - TERMINATED
    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
    StorePayoutDestination:
      type: object
      required:
        - status
        - type
      properties:
        merchant_category_code:
          type: string
          pattern: ^\d{1,4}
          format: mcc
          example: '2741'
        status:
          $ref: '#/components/schemas/ApprovalStatus'
        type:
          $ref: '#/components/schemas/LegalEntityType'
    OperatorPayoutDestination:
      type: object
      required:
        - payout_destination_id
        - status
        - type
      properties:
        payout_destination_id:
          type: string
          description: The unique identifier of the payout destination
        organization_number:
          type: string
          description: National organization number valid in the country specified
        name:
          type: string
          description: The name of the organization
        trade_name:
          type: string
          description: The trade name of the organization
        merchant_category_code:
          type: string
          pattern: ^\d{1,4}
          format: mcc
          example: '2741'
        status:
          $ref: '#/components/schemas/ApprovalStatus'
        type:
          $ref: '#/components/schemas/LegalEntityType'
    StoreReadOnly:
      type: object
      required:
        - id
        - created_at
        - created_by
        - updated_at
        - updated_by
        - status
        - verified
        - number_of_terminals
      properties:
        id:
          type: string
        created_at:
          type: string
        created_by:
          type: string
        updated_at:
          type: string
        updated_by:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - PENDING
            - SUSPENDED
            - DELETED
            - ERROR
        verified:
          type: boolean
          description: The store data have been verified
        number_of_terminals:
          type: integer
          description: Number of terminals associated with a store
        payout_destination:
          $ref: '#/components/schemas/StorePayoutDestination'
        operator_payout_destinations:
          type: array
          description: |
            Operator destinations associated with this store. Included when includes=operator_payout_destinations is used.
          items:
            $ref: '#/components/schemas/OperatorPayoutDestination'
    StoreBase:
      type: object
      required:
        - store_id
      allOf:
        - $ref: '#/components/schemas/StoreInput'
        - $ref: '#/components/schemas/StoreReadOnly'
    StoreCollection:
      type: object
      additionalProperties: false
      required:
        - stores
      properties:
        starting_after:
          type: string
        stores:
          type: array
          items:
            allOf:
              - type: object
                properties:
                  terminals_summary:
                    type: array
                    description: |
                      Summary of terminals for this store.
                    readOnly: true
                    items:
                      $ref: '#/components/schemas/StoreTerminalSummary'
              - $ref: '#/components/schemas/StoreBase'
    TerminalStatusReason:
      type: string
      description: Context explaining why the terminal has its current status.
      enum:
        - CHECK_UPDATE
    StoreTerminal:
      type: object
      required:
        - terminal_id
        - device_serial_number
      properties:
        terminal_id:
          type: string
          example: T312
        device_serial_number:
          type: string
          example: 181f1a3e-b81b-4460-a01b-2a3be2a253a1
        status:
          $ref: '#/components/schemas/TerminalStatus'
        status_reason:
          description: Context explaining why the terminal has its current status.
          allOf:
            - $ref: '#/components/schemas/TerminalStatusReason'
    StoreEnrollment:
      type: object
      description: |
        Details about the enrollment associated with this store.
      required:
        - type
        - status
        - pf_account_id
      properties:
        type:
          type: string
          enum:
            - bambora_ipp
        status:
          type: string
          enum:
            - pending
            - approved
            - rejected
        pf_account_id:
          type: string
          description: |
            Bambora IPP sub-merchant account identifier.
    Store:
      type: object
      allOf:
        - $ref: '#/components/schemas/StoreBase'
        - type: object
          properties:
            terminals:
              type: array
              description: |
                Terminals associated with this store.
              items:
                $ref: '#/components/schemas/StoreTerminal'
            enrollment:
              $ref: '#/components/schemas/StoreEnrollment'
    TerminalUpdateInput:
      type: object
      properties:
        device_model:
          type: string
        store_id:
          type: string
    Terminal:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/TerminalUpdateInput'
        - type: object
          required:
            - terminal_id
            - device_serial_number
          properties:
            terminal_id:
              type: string
              example: T12233302-T0001
            device_serial_number:
              type: string
              example: '123456789012'
            status:
              $ref: '#/components/schemas/TerminalStatus'
            status_reason:
              $ref: '#/components/schemas/TerminalStatusReason'
    TerminalReadOnly:
      type: object
      properties:
        store:
          type: object
          description: |
            Store details are included when the includes=store query parameter is used.
          properties:
            id:
              type: string
            store_name:
              type: string
    TerminalCollection:
      type: object
      additionalProperties: false
      required:
        - terminals
      properties:
        starting_after:
          type: string
        terminals:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/Terminal'
              - $ref: '#/components/schemas/TerminalReadOnly'
    TerminalInput:
      type: object
      required:
        - device_serial_number
        - store_id
      properties:
        device_serial_number:
          type: string
          description: Hardware serial number printed on the device.
          example: '123456789012'
        store_id:
          type: string
          description: The client-supplied `store_id` of the store to associate this terminal with.
          example: S312
    PricePackageMeta:
      type: object
      required:
        - name
        - description
      properties:
        name:
          type: string
        description:
          type: string
        pricing_conditions:
          type: string
        source_price_package_id:
          description: |
            The ID of the price package that this price package is based on.
          type: string
        metadata:
          type: object
          maxProperties: 40
          description: |
            A set of key/value pairs that you can attach to price package.
    PricePackagePrice:
      type: object
      additionalProperties: false
      required:
        - type
        - amounts
        - dimensions
      properties:
        type:
          type: string
          enum:
            - blend
            - ic++
        amounts:
          description: |
            All the fees for the product
          type: array
          minItems: 1
          items:
            type: object
            required:
              - unit_amount
              - flat_amount
            properties:
              name:
                type: string
                enum:
                  - default
                  - eu
                  - non_eu
                  - invoice
                  - invoice_b2b
                  - invoice_b2b_grouped
                  - invoice_b2c
                  - installment
                  - monthly_fee
                  - tx_fee
                description: |
                  Identifies the price variation within a product:

                  | Name | Description | Applicable `product_id` |
                  |---|---|---|
                  | `default` (or omitted) | Single price for all variations of a payment method | Any non-creditcard product |
                  | `eu` | Price for EU-issued cards | `checkout.*.visa`, `checkout.*.mastercard` |
                  | `non_eu` | Price for non-EU-issued or non-consumer cards | `checkout.*.visa`, `checkout.*.mastercard` |
                  | `installment` | Walley installment payments | `checkout.capture.walley` |
                  | `invoice` | Walley B2C invoice payments | `checkout.capture.walley` |
                  | `invoice_b2b` | B2B invoice payments | `checkout.capture.walley`, `checkout.capture.kravia`, `checkout.capture.two` |
                  | `invoice_b2b_grouped` | Grouped B2B invoice payments | `checkout.capture.kravia` |
                  | `invoice_b2c` | Kravia B2C invoice payments | `checkout.capture.kravia` |
                  | `monthly_fee` | Dintero monthly fee, separate from per-transaction prices | `checkout.dintero` |
                  | `tx_fee` | Dintero per-transaction fee, added on top of all other payment method prices | `checkout.dintero` |
              description:
                type: string
              flat_amount:
                type: integer
                example: 250
              unit_amount:
                type: string
                description: |
                  The unit depends on the context/product. The unit of checkout
                  payment is the transaction amount
                format: number
                example: '0.025'
        dimensions:
          type: array
          description: |
            The dimensions is used to decide what price alternative is applicable,
            one one price alternative will be used for a "cost" event
          example:
            - name: currency
              values:
                - NOK
                - SEK
            - name: card.issuer_country
              values:
                - 'NO'
                - SE
            - name: payment_product_type_category
              values:
                - invoice
                - b2b_invoice
          items:
            type: object
            additionalProperties: false
            required:
              - name
              - values
            properties:
              name:
                type: string
                enum:
                  - currency
                  - card.issuer_country
                  - payment_product_type_category
                description: |
                  | Name | Description |
                  |---|---|
                  | `currency` | ISO 4217 currency code |
                  | `card.issuer_country` | ISO 3166-1 alpha-2 country code of the card issuer |
                  | `payment_product_type_category` | Klarna only. Possible values: `card`, `invoice`, `fixed_amount`, `base_account`, `direct_debit`, `direct_bank_transfer`, `b2b_invoice`, `slice_it_by_card`, `pay_later_by_card`, `pay_by_card`, `fixed_sum_credit` |
              values:
                type: array
                items:
                  type: string
    PricePackageProduct:
      type: object
      required:
        - namespace
        - product_id
        - prices
      properties:
        namespace:
          type: string
          enum:
            - checkout
            - payout
            - orders
        product_id:
          type: string
          description: |
            **Examples**
              - checkout.capture.apple_pay
              - checkout.capture.card
              - checkout.capture.google_pay
              - checkout.capture.instabank
              - checkout.capture.klarna
              - checkout.capture.mobilepay
              - checkout.capture.vipps
              - checkout.capture.walley
              - checkout.monthly.service_fee
          example: checkout.capture.card
        prices:
          type: array
          items:
            $ref: '#/components/schemas/PricePackagePrice'
    PricePackageProducts:
      type: object
      required:
        - products
      properties:
        products:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/PricePackageProduct'
    PricePackageId:
      type: object
      required:
        - price_package_id
      properties:
        price_package_id:
          type: string
    PricePackageCreateData:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricePackageMeta'
        - $ref: '#/components/schemas/PricePackageProducts'
        - $ref: '#/components/schemas/PricePackageId'
    PricePackageAdditionalData:
      allOf:
        - type: object
          properties:
            creation_state:
              type: string
              description: |
                How the price package was created.
                - **`pristine`**: The price package does not differ from the original price package.
                - **`custom`**: The price package has been customized from the original price package.
              enum:
                - pristine
                - custom
    PricePackage:
      type: object
      description: |
        This object contains the details for a price package that can be given to
        zero or more accounts
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/PricePackageCreateData'
        - $ref: '#/components/schemas/PricePackageAdditionalData'
        - type: object
          required:
            - type
          properties:
            type:
              readOnly: true
              description: |
                The price package type.
                - **`account`**: Price package active for the account
                - **`default`**: Price package available for the partner account
              type: string
              enum:
                - default
                - account
    PricePackageResponse:
      type: object
      required:
        - price_package
      properties:
        price_package:
          $ref: '#/components/schemas/PricePackage'
    AccountJwks:
      type: object
      properties:
        jwks:
          readOnly: true
          description: |
            Alternative JWKS configured for validating access token issued by
            external authentication.
          required:
            - name
            - uri
          properties:
            name:
              description: |
                Short name identifying the issuer.
              type: string
            uri:
              type: string
              format: uri
              example: https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json
    AccountPaymentSummary:
      type: object
      properties:
        payment_case_status:
          allOf:
            - $ref: '#/components/schemas/ApprovalStatus'
            - readOnly: true
        projected_sales:
          type: string
          readOnly: true
          description: Projected sales declared by merchant.
        average_transaction_value:
          type: string
          readOnly: true
        merchant_category_code:
          type: string
          readOnly: true
          description: Merchant category code declared by merchant.
          format: mcc
        delivery_timeline:
          type: string
          readOnly: true
          enum:
            - P0W
            - P1D
            - P2D
            - P5D
            - P2W
            - P4W
            - P12W
            - P1Y
        most_expensive_product_price:
          type: string
          readOnly: true
          description: Price of most expensive product declared by merchant.
        gift_card_revenue_percentage:
          type: string
          readOnly: true
          description: |
            Percentage of revenue coming from gift card transactions
            declared by merchant.
        credit_rating:
          type: string
          readOnly: true
          description: The most recent credit rating of the merchant.
        prev_credit_rating:
          type: string
          readOnly: true
          description: The previous credit rating of the merchant.
        currency:
          type: string
          enum:
            - NOK
            - SEK
            - DKK
            - EUR
          readOnly: true
          description: |
            The currency of the various values declared by the merchant, such as
            `most_expensive_product_price`, `average_transaction_value`, and so on.
    UtmCampaign:
      type: object
      title: campaign
      properties:
        utm_source:
          type: string
          title: Campaign Source
          description: |
            Use utm_source to identify a search engine, newsletter name,
            or other source.
          example: google
        utm_medium:
          type: string
          title: Campaign Medium
          description: |
            Use utm_medium to identify a medium such as email or cost-per- click.
          example: cpc
        utm_campaign:
          type: string
          title: Campaign Name
          description: |
            Used for keyword analysis. Use utm_campaign to identify a
            specific product promotion or strategic campaign.
          example: spring_sale
        utm_term:
          type: string
          title: Campaign Term
          description: |
            Used for paid search. Use utm_term to note the keywords
            for this ad.
          example: running+shoes
        utm_content:
          type: string
          title: Campaign Content
          description: |
            Used for A/B testing and content-targeted ads. Use utm_content
            to differentiate ads or links that point to the same URL.
          example: textlink
    AccountApplicant:
      type: object
      required:
        - email
        - agreement
      properties:
        first_name:
          type: string
          example: John
        last_name:
          type: string
          example: Doe
        email:
          type: string
          example: customer@example.com
        phone_number:
          type: string
          description: |
            A phone number in E.164 number formatting.
          format: ^\+?[1-9]\d{1,14}$
          example: '+4799999999'
        agreement:
          $ref: '#/components/schemas/AccountAgreement'
        recaptcha_sitekey:
          type: string
          description: |
            The public site key used for reCAPTCHA
          example: 6LdE_pIUAAAAAHbiL0uHjHg2Mgn2IILTvZdA_Ux-
        recaptcha_response:
          type: string
          description: |
            A response from a reCAPTCHA check
          example: 03AOLTBLSbzmXKXuAz9N--DsZ1xWmhfx6okCheBPesOsNmRSdkfcO4E5CkeBQQFJkC_emfE_KF0P8C3T57Nr9eOon_PVTEIq1NUpRS5oGkGMhr1vxVe1F7txMYUc4ClxUDLxWiW5WgnDvWHC7gOnlJZKvxVE4gn7qAJijE6SFMXkvFOwoWcx_kONmBHGnXHGgxIe2M8G-FkIKr0WZbQIDYmDaiQxb6mL1L70UGOyO280v2Pp65JB1mSohdeJLdQhHeye6v6__H9_M0GxDGd8s-LoLUY5Vq9hKbAs8MCsh2OFwtpbTYGfqmDbTwsc2v8SqOOZ86uKXwl7gyk3RHXT27m8Rv8iZAs2Ym5w
        promo_code:
          type: string
          description: Promotion code
        signup_reference:
          type: string
          description: An optional reference that can be used to identify the signup when the account has been created.
        utm:
          $ref: '#/components/schemas/UtmCampaign'
    AccountCompanyTerms:
      description: |
        Terms of company account.
      type: object
      properties:
        type:
          type: string
          enum:
            - all
            - sales
            - cookies
            - privacy
        href:
          type: string
          format: uri
    AccountCompanyContact:
      description: |
        Contact details for a company.
      type: object
      properties:
        phone_number:
          type: string
          pattern: ^\+?\d{5,15}$
          description: |
            ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
        email:
          type: string
          format: email
        website:
          type: string
          format: uri
        type:
          type: string
          enum:
            - support
            - disputes
    AccountCompany:
      description: |
        The details of an account company
      type: object
      required:
        - business_name
        - address
      properties:
        business_name:
          type: string
          example: TKP tech AS
        display_name:
          type: string
          example: TKP tech instore AS
          description: The name of the company as displayed in Dintero systems. If not set, defaults to business_name.
        organization_number:
          type: string
          description: Companys identification number
          example: 123456789MVA
        industry:
          type: string
          example: computer industry
        website:
          type: string
          format: uri
          maxLength: 120
        terms_url:
          type: string
          format: uri
          maxLength: 240
        bank_name:
          type: string
          description: The name of the bank where the company's bank account is
        account_number:
          type: string
          description: The company's bank account number
        address:
          $ref: '#/components/schemas/Address'
        email:
          type: string
          format: email
          example: contact@business.dintero.com
        technical_email:
          type: string
          format: email
          example: tech_support@business.dintero.com
          description: |
            Technical email. Dintero will use this email when contacting
            the company about technical issues.
        phone_number:
          type: string
          pattern: ^\+?\d{5,15}$
          description: |
            mobile number of a person / company, ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
        branding:
          type: object
          properties:
            icon_url:
              description: |
                Url to icon. The image should have equal height and width, around 50px.

                Will be used to personalize the backoffice and checkout.
              type: string
              format: uri
              maxLength: 240
            logo_url:
              description: |
                Url to logo. Will be used in receipts, emails, etc.
              type: string
              format: uri
              maxLength: 240
        merchant_category_code:
          type: string
          format: mcc
        average_transaction_value:
          type: string
        most_expensive_product_price:
          type: string
        projected_sales:
          type: string
        terms:
          type: array
          description: |
            Terms of company account. If `terms_url` is set, this property will include a term of type `all` that corresponds to the `terms_url`.
            If the opposite is true, `terms_url` will be set corresponding to the first term of type `all`.
          items:
            allOf:
              - $ref: '#/components/schemas/AccountCompanyTerms'
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/AccountCompanyContact'
        public_business_name:
          type: string
          example: TKP tech
          description: Public name of the business, as displayed to customers
    AccountBillingStatement:
      description: |
        The details of the billing statement for the account
      type: object
      properties:
        name:
          type: string
          description: The name to be displayed on the billing statement
          minLength: 2
          maxLength: 22
          example: John Doe
        phone_number:
          type: string
          description: |
            The phone number to be displayed on the billing statement, ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
          pattern: ^\+?\d{5,15}$
          example: '+4745454545'
    AccountBilling:
      description: |
        The details of the billing for the account
      type: object
      required:
        - business_name
        - address
      properties:
        business_name:
          type: string
          example: TKP tech AS
        organization_number:
          type: string
          description: Companys identification number
          example: 123456789MVA
        address:
          $ref: '#/components/schemas/Address'
        email:
          description: Billing email
          type: string
          example: billing@business.dintero.com
        reference:
          description: Billing reference
          type: string
          maxLength: 120
        phone_number:
          type: string
          pattern: ^\+?\d{5,15}$
          description: |
            mobile number of a person / company, ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
        billing_statement:
          $ref: '#/components/schemas/AccountBillingStatement'
    Subscription:
      type: object
      description: Subscription plan for the account
      required:
        - interval
        - plan
      properties:
        interval:
          type: string
          description: |
            The frequency with which a subscription should be billed.
          enum:
            - month
            - year
        plan:
          type: string
          description: |
            The price plan which a billing is based on
          enum:
            - transaction_fee
            - per_customer_fee
        support:
          type: string
          description: The support service enabled
          enum:
            - office_hours
            - 24_7_extended
        metadata:
          type: object
          maxProperties: 40
          description: |
            A set of key/value pairs that you can attach to a subscription
            object. It can be useful for storing additional information about
            the subscription in a structured format.
    Attachment:
      description: |
        An attachment is a file or document associated with a reference and a uri.
      type: object
      required:
        - ref
        - href
      properties:
        ref:
          type: string
          description: |
            The reference to the attachment.
        href:
          type: string
          format: uri
          description: |
            The URI of the attachment.
    Account:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/AccountJwks'
        - $ref: '#/components/schemas/AccountPaymentSummary'
        - required:
            - applicant
            - company
            - billing
          properties:
            applicant:
              description: The individual completing the account registration
              allOf:
                - $ref: '#/components/schemas/AccountApplicant'
                - properties:
                    agreement:
                      type: object
                      properties:
                        accepted_at:
                          description: |
                            defines the date of the account terms and conditions
                            agreement in ISO 8601 format with a timezone
                          type: string
                          format: date-time
                          readOnly: true
            company:
              $ref: '#/components/schemas/AccountCompany'
            billing:
              $ref: '#/components/schemas/AccountBilling'
            subscription:
              $ref: '#/components/schemas/Subscription'
            attachments:
              type: array
              items:
                $ref: '#/components/schemas/Attachment'
            account_id:
              type: string
              description: The id that uniquely identifies the account.
              readOnly: true
            partner_id:
              type: string
              description: The id of the partner associated with the account
              format: ^[PT]{1}(?=(?:.{3})$)[0-9]*$
              readOnly: true
            livemode:
              type: boolean
              description: |
                Flag indicating whether the account exists in live
                mode and test mode.
              default: false
            active:
              type: boolean
              description: The account is active
              default: false
              readOnly: true
            language_code:
              type: string
              description: |
                The preferred language for the account as defined by
                <a href="https://tools.ietf.org/html/bcp47">BCP 47</a>
                (IETF BCP 47, "Tags for Identifying Languages").
            platform_type:
              type: string
              description: |
                Optional type of platform for merchants using split payout.
              readOnly: true
              enum:
                - marketplace
                - aggregator
            allowed_merchant_category_codes:
              type: array
              description: Restricts the MCC codes available for selection during merchant onboarding.
              items:
                type: string
                pattern: ^\d{4}$
    AccountConnectionEvent:
      type: object
      required:
        - status
        - event
      properties:
        id:
          type: string
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        created_by:
          type: string
          readOnly: true
        status:
          type: string
          enum:
            - pending
            - enabled
            - failed
            - declined
        event:
          type: string
          example: signature_required
        description:
          description: short description about the event
          type: string
          example: Vipps awaiting signature
        metadata:
          maxProperties: 40
          description: |
            A set of key/values that you can attach to a connection
            event.
          example:
            signature_link: https://sig.example.com/K34K244
    AccountConnectionMeta:
      type: object
      properties:
        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
        metadata:
          type: object
          maxProperties: 40
          description: |
            A set of key/value pairs that you can attach to a subscription
            object. It can be useful for storing additional information about
            the subscription in a structured format.
        status:
          description: |
            The status of the connection
          type: string
          enum:
            - pending
            - enabled
            - failed
            - declined
        events:
          description: |
            List of events recorded, an event is created when the
            connection is updated with new status
          type: array
          items:
            $ref: '#/components/schemas/AccountConnectionEvent'
        schema:
          type: number
          description: |
            The version of the schema used for the connection
          readOnly: true
    AccountConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnectionMeta'
        - properties:
            configuration:
              type: object
              required:
                - payment_options
              properties:
                payment_options:
                  description: |
                    Payment options supported by this connection
                  type: array
                  items:
                    type: object
                    required:
                      - currencies
                      - type
                    properties:
                      currencies:
                        type: array
                        items:
                          type: string
                          format: iso4217-code
                          example: NOK
                      type:
                        type: string
    ApplePayPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - dintero_psp.applepay
          details:
            type: object
            description: |
              Configuration details for the payment option
            properties:
              domain_names:
                description: |
                  An array of domain names used for embedding the checkout with Apple Pay. The value is just the domain name, without the protocol, port or path.
                type: array
                items:
                  type: string
                  example: example.dintero.com
    ApplePayConnectionConfiguration:
      type: object
      description: |
        The configuration for the Apple Pay connection.
      required:
        - merchant_id
        - payment_options
      properties:
        merchant_id:
          type: string
          description: |
            The Apple Pay merchant identifier.
        payment_options:
          $ref: '#/components/schemas/ApplePayPaymentOptions'
    ApplePayConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/ApplePayPaymentOptions'
        domain_names:
          description: |
            An array of domain names used for payment. Just the domain name, without the protocol.
          type: array
          items:
            type: string
            example: example.dintero.com
    ApplePayConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
            - configuration
          properties:
            configuration:
              $ref: '#/components/schemas/ApplePayConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/ApplePayConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
    BamboraConnectionConfiguration:
      type: object
      description: |
        Bambora configuration for the merchant

        The Bambora configuration includes a `secret_token` stored safely and never exposed
      required:
        - merchant_number
        - md5_key
      properties:
        merchant_number:
          type: string
        md5_key:
          type: string
        access_token:
          type: number
        secret_token:
          type: string
        token_scope:
          type: string
    BamboraPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - bambora.creditcard
              - bambora.mobilepay
              - bambora.vipps
              - bambora.applepay
    BamboraDirectConnectionSignup:
      type: object
      required:
        - case_id
        - merchant_number
        - md5_key
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
        merchant_number:
          type: string
          example: P12345678
        md5_key:
          type: string
          example: ae45ase
        payment_options:
          $ref: '#/components/schemas/BamboraPaymentOptions'
    BamboraConnectionSignup:
      type: object
      required:
        - payment_options
        - bank_name
        - account_number
        - revenue
      properties:
        payment_options:
          $ref: '#/components/schemas/BamboraPaymentOptions'
        store_type:
          type: array
          items:
            type: string
            enum:
              - online
              - instore
              - remote
        revenue:
          type: object
          properties:
            currency:
              type: string
              format: iso4217-code
              example: NOK
              description: |
                The three-character ISO-4217 currency for the expected amounts.
                https://en.wikipedia.org/wiki/ISO_4217
            yearly_revenue:
              type: string
              example: 100.000-250.000 NOK
            highest_transaction_amount:
              type: string
              example: 500-1000 NOK
              description: |
                estimated highest amount in a single transaction
            average_amount:
              type: string
              example: 250-500 NOK
              description: |
                average amount of transactions
            accept_prepaid:
              description: The company accepts advanced payments
              type: boolean
            subscriptions_or_memberships:
              description: The company sells subscriptions or memberships
              type: boolean
            gift_cards:
              description: The company sells gift cards
              type: boolean
        bank_name:
          type: string
          description: The name of the bank where the company's bank account is
        account_number:
          type: string
          description: The company's bank account number
        ownership:
          type: object
          properties:
            ownership_structure:
              type: string
              enum:
                - owners_with_more_than_25
                - no_owners_with_more_than_25
                - complex
            owners:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Name of owner, or representative of the company owning shares.
                  legal_name:
                    type: string
                    description: Name of company. Required if the owner is a company.
                  date_of_birth:
                    type: string
                    description: Date of birth of the signee.
                    example: '1990-09-20'
                  percentage:
                    type: number
                    example: 25
                    description: Ownership percentage
        verifications:
          type: object
          description: |
            Verify that the business complies with the following requirements from the payment connections.
          properties:
            terms_and_conditions:
              description: |
                The payment site displays terms and conditions, including return policy, delivery options and a
                privacy policy.
              type: boolean
            terms_and_conditions_url:
              description: |
                Url to terms and conditions, including return policy, delivery options and a
                privacy policy.
              type: string
            contact_information:
              description: |
                The company's contact information is easily available, including organization number, phone number
                and address
              type: boolean
            payment_site:
              description: Customers have access to a payment site. Applies to online stores.
              type: boolean
            clear_pricing:
              description: All products and services have clearly marked prices.
              type: boolean
            payment_product_logos:
              description: Visa and Mastercard logos are visible on the payment site.
              type: boolean
        signature:
          type: object
          description: |
            Signatures from general manager or someone with signature authority
          properties:
            signatures:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  email:
                    type: string
            politically_exposed_person:
              description: |
                If you or owner is a politically exposed person according to the money laundering act
              type: boolean
            politically_exposed_associated:
              description: |
                If you or owner is closesely associated with an politically exposed person
                according to the money laundering act
              type: boolean
        applicant:
          description: |
            The person signing up for payment connection.
          type: object
          properties:
            phone_number:
              type: string
              description: |
                A phone number in E.164 number formatting.
              format: ^\+?[1-9]\d{1,14}$
              example: '+4799999999'
    BamboraPayFacConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case in auth service
          type: string
          format: uuid
        merchant_number:
          type: string
          example: P12345678
        md5_key:
          type: string
          example: ae45ase
        payment_options:
          $ref: '#/components/schemas/BamboraPaymentOptions'
        mcc:
          type: string
          format: iso-18245
          example: 5814
          description: |
            A four-digit Merchant Category Code (MCC) for the store
            [ISO 18245:2003](https://www.iso.org/standard/33365.html)

            Overrides what is previously set on the case.
    BamboraConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - properties:
            configuration:
              $ref: '#/components/schemas/BamboraConnectionConfiguration'
            direct_signups:
              type: array
              description: |
                The Bambora direct signups received for this account.
              items:
                allOf:
                  - $ref: '#/components/schemas/BamboraDirectConnectionSignup'
                  - required:
                      - created_at
                      - signup_id
                    properties:
                      signup_id:
                        type: string
                        description: |
                          Unique ID for the signup
                        format: uuid
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
                      callback_at:
                        type: string
                        format: date-time
                        description: |
                          Callback when Bambora approved the signup
            signup:
              description: |
                **DEPRECATED** 

                Signup object present for Bambora signups with the old `POST /connections/bambora` endpoint.
              allOf:
                - $ref: '#/components/schemas/BamboraConnectionSignup'
                - required:
                    - created_at
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when Bambora approved the signup
            submerchant_signups:
              type: array
              description: |
                The signups received for this account

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/BamboraPayFacConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
                      callback_at:
                        type: string
                        format: date-time
                        description: |
                          Callback when Bambora approved the signup
    CollectorConnectionConfiguration:
      type: object
      description: |
        Collector Bank configuration for the merchant

        The Collector configuration includes a `password` stored safely and never exposed
      properties:
        username:
          type: string
        store_id:
          type: number
        country:
          type: string
          format: iso-3166-1
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - collector.invoice
                  - collector.invoice_b2b
                  - collector.installment
    CollectorConnectionSignup:
      type: object
      required:
        - legal_name
        - organization_number
        - bank_name
        - account_number
        - website
        - payment_options
      properties:
        business_name:
          type: string
          description: Name of the merchant, if it differs from legal_name
        legal_name:
          type: string
        organization_number:
          type: string
          example: 123456789MVA
        bank_name:
          type: string
          description: The name of the bank where the company's bank account is
        account_number:
          type: string
          description: The company's bank account number
        website:
          type: string
          description: Company's website url
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - collector.invoice
                  - collector.installment
    CollectorConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signup
          properties:
            configuration:
              $ref: '#/components/schemas/CollectorConnectionConfiguration'
            signup:
              allOf:
                - $ref: '#/components/schemas/CollectorConnectionSignup'
                - required:
                    - created_at
                    - url
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    url:
                      type: string
                      description: |
                        Signup URL from Collector, where merchant can complete the signup
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when Collector approved the signup
    PaymentOptions:
      type: array
      items:
        type: object
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - dintero.zero
              - swish.swish
              - payex.creditcard
              - payex.vipps
              - payex.mobilepay
              - collector.invoice
              - collector.installment
              - collector.invoice_b2b
              - instabank.finance
              - instabank.invoice
              - instabank.postponement
              - instabank.installment
              - vipps
              - bambora.creditcard
              - bambora.mobilepay
              - bambora.vipps
              - klarna.klarna
              - klarna.billie
    CommonConnectionSignup:
      type: object
      required:
        - payment_options
        - store_type
      properties:
        payment_options:
          $ref: '#/components/schemas/PaymentOptions'
        store_type:
          type: array
          items:
            type: string
            enum:
              - online
              - instore
              - remote
        package:
          type: string
          description: |
            What pricing strategy to use for this company.
          example: Checkout 195 NOK/month + 1.5%
        revenue:
          type: object
          properties:
            currency:
              type: string
              format: iso4217-code
              example: NOK
              description: |
                The three-character ISO-4217 currency for the expected amounts.
                https://en.wikipedia.org/wiki/ISO_4217
            yearly_revenue:
              type: string
              example: 100.000-250.000 NOK
            highest_transaction_amount:
              type: string
              example: 500-1000 NOK
              description: |
                estimated highest amount in a single transaction
            average_amount:
              type: string
              example: 250-500 NOK
              description: |
                average amount of transactions
            accept_prepaid:
              description: The company accepts advanced payments
              type: boolean
            subscriptions_or_memberships:
              description: The company sells subscriptions or memberships
              type: boolean
            gift_cards:
              description: The company sells gift cards
              type: boolean
            estimated_percentage_per_payment_type:
              description: Estimates of revenue in percentages per payment store_type
              type: array
              items:
                type: object
                properties:
                  percentage:
                    type: number
                    minimum: 0
                    maximum: 100
                  type:
                    type: string
                    enum:
                      - swish.swish
                      - payex.creditcard
                      - payex.vipps
                      - payex.mobilepay
                      - collector.invoice
                      - collector.installment
                      - collector.invoice_b2b
                      - instabank.finance
                      - instabank.invoice
                      - instabank.postponement
                      - instabank.installment
                      - vipps
                      - bambora.creditcard
                      - bambora.mobilepay
                      - bambora.vipps
        bank_accounts:
          description: |
            Will only support one bank account for the time being
          type: array
          minItems: 1
          maxItems: 1
          items:
            type: object
            properties:
              account_number:
                type: string
                description: The bank account number
              account_number_type:
                type: string
                description: |
                  What format the account number is.
                enum:
                  - iban
                  - mod11
              bank_name:
                type: string
                description: The name of the bank
              account_statement_url:
                type: string
                format: uri
                pattern: https?://*
                example: https://example.dintero.com/c/photos/account_statement.pdf
                description: |
                  Document or image to prove that the account number belongs to the company.
        ownership:
          type: object
          properties:
            ownership_structure:
              type: string
              enum:
                - owners_with_more_than_25
                - no_owners_with_more_than_25
                - complex
            owners:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Name of owner, or representative of the company owning shares.
                  legal_name:
                    type: string
                    description: Name of company. Required if the owner is a company.
                  date_of_birth:
                    type: string
                    description: Date of birth of the owner.
                    example: '1990-09-20'
                  social_security_number:
                    type: string
                    description: Social security number of the owner.
                  percentage:
                    type: number
                    example: 25
                    description: Ownership percentage
                  address:
                    $ref: '#/components/schemas/Address'
        verifications:
          type: object
          description: |
            Verify that the business complies with the following requirements from the payment connections.
          properties:
            terms_and_conditions:
              description: |
                The payment site displays terms and conditions, including return policy, delivery options and a
                privacy policy.
              type: boolean
            terms_and_conditions_url:
              description: |
                Url to terms and conditions, including return policy, delivery options and a
                privacy policy.
              type: string
            contact_information:
              description: |
                The company's contact information is easily available, including organization number, phone number
                and address
              type: boolean
            payment_site:
              description: Customers have access to a payment site. Applies to online stores.
              type: boolean
            payment_site_url:
              description: |
                Url to payment site.
              type: string
            demo_site_url:
              description: |
                Url to demo site.
              type: string
            clear_pricing:
              description: All products and services have clearly marked prices.
              type: boolean
            payment_product_logos:
              description: Visa and Mastercard logos are visible on the payment site.
              type: boolean
        signature:
          type: object
          description: |
            Signatures from general manager or someone with signature authority
          properties:
            signatures:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  email:
                    type: string
            politically_exposed_person:
              description: |
                If you or owner is a politically exposed person according to the money laundering act
              type: boolean
            politically_exposed_associated:
              description: |
                If you or owner is closesely associated with an politically exposed person
                according to the money laundering act
              type: boolean
        applicant:
          description: |
            The person signing up for payment connection.
          type: object
          properties:
            first_name:
              type: string
              example: John
            last_name:
              type: string
              example: Doe
            email:
              type: string
              example: customer@example.com
            phone_number:
              type: string
              description: |
                A phone number in E.164 number formatting.
              format: ^\+?[1-9]\d{1,14}$
              example: '+4799999999'
            social_security_number:
              type: string
              description: Social security number of the owner.
        company_information:
          type: object
          description: |
            Information on what your company does
          properties:
            industry:
              type: string
              enum:
                - goods
                - services
                - subscriptions_or_memberships
                - charity
                - travel_and_entertainment
                - food_and_beverages
                - other
            company_category:
              type: string
              description: |
                Company MCC code
              enum:
                - '4722'
                - '5021'
                - '5045'
                - '5122'
                - '5211'
                - '5399'
                - '5499'
                - '5691'
                - '5699'
                - '5712'
                - '5719'
                - '5732'
                - '5811'
                - '5812'
                - '5813'
                - '5814'
                - '5816'
                - '5817'
                - '5932'
                - '5941'
                - '5944'
                - '5945'
                - '5971'
                - '5977'
                - '5993'
                - '5999'
                - '7011'
                - '7033'
                - '7298'
                - '7299'
                - '7392'
                - '7399'
                - '7512'
                - '7922'
                - '7929'
                - '7991'
                - '7997'
                - '7999'
                - '8299'
                - '8398'
                - '8641'
                - '8699'
                - '8999'
            mcc:
              type: object
              description: More data about the mcc code selected
              properties:
                mcc:
                  type: string
                range:
                  type: object
                  properties:
                    start:
                      type: string
                    end:
                      type: string
                    description:
                      type: string
                    reserved:
                      type: boolean
                iso_description:
                  type: string
                usda_description:
                  type: string
                stripe_description:
                  type: string
                stripe_code:
                  type: string
                visa_description:
                  type: string
                visa_req_clearing_name:
                  type: string
            company_description:
              type: string
              description: |
                Description of the product or services that the company accepts payments from
        payment_method_specific:
          type: object
          description: |
            Any properties specifically needed for a certain payment method
          properties:
            payex:
              type: object
              properties:
                signup_url:
                  type: string
                  description: |
                    Link to payex form
            instabank:
              type: object
              required:
                - total_number_of_transactions
                - total_volume_of_transactions
                - finance_number_of_transactions
                - finance_volume_of_transactions
              description: |
                These fields must be filled out if instabank is a chosen payment method
              properties:
                total_number_of_transactions:
                  type: string
                  minLength: 1
                  description: |
                    Estimated number of transactions
                total_volume_of_transactions:
                  type: string
                  minLength: 1
                  description: |
                    Estimated yearly transaction volume
                finance_number_of_transactions:
                  type: string
                  minLength: 1
                  description: |
                    Estimated number of finance transactions
                finance_volume_of_transactions:
                  type: string
                  minLength: 1
                  description: |
                    Estimated yearly volume of finance transactions
    CommonConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnectionMeta'
        - required:
            - signup
          properties:
            signup:
              allOf:
                - $ref: '#/components/schemas/CommonConnectionSignup'
                - required:
                    - created_at
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                - properties:
                    payment_method_specific:
                      type: object
                      description: |
                        Any properties specifically needed for a certain payment method
                      properties:
                        vipps:
                          type: object
                          properties:
                            signup_url:
                              type: string
                              description: |
                                Link to vipps form
    DinteroPspConnectionConfiguration:
      type: object
      description: |
        Visa Tokenization configuration for the merchant
      required:
        - client_app_id
        - relationship_id
      properties:
        visa_net_client_id:
          type: string
        acquirer_merchant_id:
          type: string
        vipps_merchant_serial_number:
          type: string
          example: '123456'
        visa_token_client_app_id:
          type: string
        visa_token_relationship_id:
          type: string
          example: 10000000-20000000000
        mastercard_token_src_dpa_id:
          type: string
          example: src_dpa_56068
        mastercard_token_service_id:
          type: string
          example: SECURE_COF_MERCHANT_OBO#TESTPROJECT_PROD-PGMNAME#01
        google_pay_merchant_gateway_id:
          type: string
          example: dintero-test
    DinteroPspPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - dintero_psp.creditcard
    DinteroPspConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case id in auth service.
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/DinteroPspPaymentOptions'
    DinteroPspConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/DinteroPspConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/DinteroPspConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    InstabankConnectionConfiguration:
      type: object
      description: |
        Instabank configuration for the merchant
      properties:
        payment_product_codes:
          type: object
          description: |
            Instabank Product Codes
          required:
            - instabank.invoice
            - instabank.finance
          properties:
            instabank.finance:
              type: string
              example: '630'
            instabank.invoice:
              type: string
              example: '632'
        organization_number:
          type: string
        payment_options:
          type: array
          items:
            type: object
            required:
              - type
            properties:
              type:
                type: string
                enum:
                  - instabank.invoice
                  - instabank.finance
    InstabankConnectionSignup:
      type: object
      required:
        - email
        - phone_number
        - total_number_of_transactions
        - total_volume_of_transactions
        - finance_number_of_transactions
        - finance_volume_of_transactions
        - industry
        - payment_options
        - account_number
      properties:
        email:
          type: string
          example: customer@example.com
        phone_number:
          type: string
          description: |
            A phone number in E.164 number formatting.
          format: ^\+?[1-9]\d{1,14}$
          example: '+4799999999'
        total_number_of_transactions:
          type: string
          minLength: 1
          description: |
            Estimated number of transactions
        total_volume_of_transactions:
          type: string
          minLength: 1
          description: |
            Estimated yearly transaction volume
        finance_number_of_transactions:
          type: string
          minLength: 1
          description: |
            Estimated number of finance transactions
        finance_volume_of_transactions:
          type: string
          minLength: 1
          description: |
            Estimated yearly volume of finance transactions
        industry:
          type: string
          example: computer industry
        account_number:
          type: string
          description: |
            The account number for where settlement payout is transfered to. Must be
            a checking account in a Norwegian bank.
          format: modulus11
          minLength: 11
          maxLength: 11
          example: '12345678911'
        payment_options:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - type
            properties:
              type:
                type: string
                enum:
                  - instabank.invoice
                  - instabank.finance
    InstabankConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signup
          properties:
            configuration:
              $ref: '#/components/schemas/InstabankConnectionConfiguration'
            signup:
              allOf:
                - $ref: '#/components/schemas/InstabankConnectionSignup'
                - required:
                    - created_at
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when Instabank approved the signup
    KlarnaPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - klarna.klarna
              - klarna.billie
    KlarnaConnectionConfiguration:
      type: object
      description: |
        Klarna configuration for the merchant
      properties:
        credentials:
          type: array
          description: |
            The Klarna credentials created for this account
          items:
            type: object
            required:
              - case_id
              - merchant_id
              - username
            properties:
              case_id:
                description: |
                  The id to the case id in auth service
                type: string
                format: uuid
              merchant_id:
                type: string
              username:
                type: string
        payment_options:
          $ref: '#/components/schemas/KlarnaPaymentOptions'
    KlarnaConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/KlarnaPaymentOptions'
        price_package:
          description: |
            Name of the Dintero price package for the merchant. 
            The price package must be registered with Klarna as a price plan.
          type: string
          example: EU_DINTERO_PP001
        mcc:
          type: string
          format: iso-18245
          example: 5814
          description: |
            A four-digit Merchant Category Code (MCC) for the store
            [ISO 18245:2003](https://www.iso.org/standard/33365.html)

            Overrides what is previously set on the case.
    KlarnaConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/KlarnaConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/KlarnaConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
                      callback_at:
                        type: string
                        format: date-time
                        description: |
                          Callback when Klarna approved the signup
    KraviaConnectionSettlementType:
      type: string
      description: |
        Indicates whether settlement is done directly to the merchant or handled by Dintero
      enum:
        - direct
        - via_dintero
    KraviaPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - kravia.invoice_b2b
              - kravia.invoice_b2c
              - kravia.invoice_b2b_grouped
    InvoiceChannel:
      type: string
      description: |
        Default channel used for Kravia invoice distribution.

        - `kravia`: Dintero/Kravia distributes the invoice.
        - `merchant`: The merchant distributes the invoice.
      enum:
        - kravia
        - merchant
      default: kravia
    KraviaConnectionConfiguration:
      type: object
      description: |
        Kravia configuration for the merchant
      properties:
        credentials:
          type: array
          description: |
            The Kravia credentials created for this account
          items:
            type: object
            required:
              - case_id
              - merchant_id
            properties:
              case_id:
                description: |
                  The id to the case id in auth service
                type: string
                format: uuid
              merchant_id:
                type: string
              settlement_type:
                $ref: '#/components/schemas/KraviaConnectionSettlementType'
        payment_options:
          $ref: '#/components/schemas/KraviaPaymentOptions'
        supported_invoice_channels:
          type: array
          description: |
            Invoice channels available for this account.
          items:
            $ref: '#/components/schemas/InvoiceChannel'
          default:
            - kravia
    KraviaConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/KraviaPaymentOptions'
        settlement_type:
          $ref: '#/components/schemas/KraviaConnectionSettlementType'
    KraviaConnection:
      allOf:
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/KraviaConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/KraviaConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    Mastercard3DSConnectionSignup:
      type: object
      required:
        - case_id
      properties:
        case_id:
          description: |
            The id to the case id in auth service.
          type: string
          format: uuid
    Mastercard3DSConnection:
      allOf:
        - required:
            - signups
          properties:
            configuration:
              type: object
              description: |
                Mastercard 3DS configuration for the merchant
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - enabled
                    - failed
                    - pending
                    - declined
                  description: |
                    The status of the configuration
            events:
              type: array
              description: |
                The events received for this account.
              items:
                allOf:
                  - $ref: '#/components/schemas/AccountConnectionEvent'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when event was initiated
                        type: string
                        format: date-time
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/Mastercard3DSConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    MastercardTokenizationConnectionConfiguration:
      type: object
      description: |
        Mastercard Tokenization configuration for the merchant
      required:
        - token_src_dpa_id
        - token_service_id
      properties:
        token_src_dpa_id:
          type: string
        token_service_id:
          type: string
    MastercardTokenizationConnectionSignup:
      type: object
      required:
        - case_id
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
    MastercardTokenizationConnection:
      allOf:
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/MastercardTokenizationConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/MastercardTokenizationConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    PayExConnectionConfiguration:
      type: object
      description: |
        PayEx configuration for the merchant

        The PayEx configuration includes a `token` stored safely and never exposed
      properties:
        payee_id:
          type: string
        subsite:
          type: string
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - payex.creditcard
    PayExConnectionSignupContact:
      type: object
      required:
        - name
        - phone_number
        - email
      description: Contact information for the person in the given role
      properties:
        name:
          type: string
          example: John Doe
          description: Name of the contact person
        phone_number:
          type: string
          description: |
            Phone number for the contact person. A phone number in E.164 number formatting.
          format: ^\+?[1-9]\d{1,14}$
          example: '+4799999999'
        email:
          type: string
          description: Contact person's e-mail
          example: customer@example.com
    PayExConnectionSignup:
      type: object
      required:
        - payment_options
      properties:
        business_name:
          type: string
          description: Name of the merchant, if it differs from legal_name
        legal_name:
          type: string
        organization_number:
          type: string
          example: 123456789MVA
        applicant_contact:
          $ref: '#/components/schemas/PayExConnectionSignupContact'
        accounting_contact:
          $ref: '#/components/schemas/PayExConnectionSignupContact'
        bank_name:
          type: string
          description: The name of the bank where the company's bank account is
        account_number:
          type: string
          description: The company's bank account number
        website:
          type: string
          description: Company's website url
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - payex.creditcard
    PayExConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signup
          properties:
            configuration:
              $ref: '#/components/schemas/PayExConnectionConfiguration'
            signup:
              allOf:
                - $ref: '#/components/schemas/PayExConnectionSignup'
                - required:
                    - created_at
                    - url
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    url:
                      type: string
                      description: |
                        Signup URL from PayEx, where merchant can complete the signup
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when PayEx approved the signup
    PayExConnectionConfigurationV2:
      type: object
      description: |
        PayEx configuration for the merchant

        The PayEx configuration includes a `token` stored safely and never exposed
      properties:
        payee_id:
          type: string
        subsite:
          type: string
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - payex.creditcard
                  - payex.swish
                  - payex.vipps
    PayExConnectionV2:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signup
          properties:
            creditcard:
              $ref: '#/components/schemas/PayExConnection'
            configuration:
              $ref: '#/components/schemas/PayExConnectionConfigurationV2'
            signup:
              allOf:
                - $ref: '#/components/schemas/PayExConnectionSignup'
                - required:
                    - created_at
                    - url
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    url:
                      type: string
                      description: |
                        Signup URL from PayEx, where merchant can complete the signup
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when PayEx approved the signup
    SwishConnectionConfiguration:
      type: object
      description: |
        Swish configuration for the merchant

        The Collector configuration includes a `password` stored safely and never exposed
      properties:
        swish_number:
          type: string
          description: The merchant's Swish number
          example: '1231182293'
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - swish.swish
    SwishConnectionSignup:
      type: object
      required:
        - legal_name
        - organization_number
        - website
        - payment_options
      properties:
        business_name:
          type: string
          description: Name of the merchant, if it differs from legal_name
        legal_name:
          type: string
        organization_number:
          type: string
          example: 123456789MVA
        bank_name:
          type: string
          description: The name of the bank where the company's bank account is
        account_number:
          type: string
          description: The company's bank account number
        website:
          type: string
          description: Company's website url
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: SEK
              type:
                type: string
                enum:
                  - swish.swish
    SwishConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - type: object
          properties:
            configuration:
              $ref: '#/components/schemas/SwishConnectionConfiguration'
            signups:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - direct
                      - payfac
                  created_at:
                    type: string
                  callback_at:
                    type: string
                  data:
                    type: object
                    properties:
                      business_name:
                        type: string
                      legal_name:
                        type: string
                      organization_number:
                        type: string
                      bank_name:
                        type: string
                      account_number:
                        type: string
                      website:
                        type: string
                      case_id:
                        type: string
                      swish_number:
                        type: string
                      payment_options:
                        type: array
                        items:
                          type: object
                          properties:
                            currencies:
                              type: array
                              items:
                                type: string
                            type:
                              type: string
                              enum:
                                - swish.swish
            signup:
              description: Deprecated, replaced by signups
              allOf:
                - $ref: '#/components/schemas/SwishConnectionSignup'
                - required:
                    - created_at
                  properties:
                    created_at:
                      description: |
                        The time when signup was initiated
                      type: string
                      format: date-time
                    callback_at:
                      type: string
                      format: date-time
                      description: |
                        Callback when Swish approved the signup
    TwoPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - two.invoice_b2b
    TwoConnectionConfiguration:
      type: object
      description: |
        Two configuration for the merchant
      properties:
        merchant_id:
          description: The merchant ID registered in Two
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/TwoPaymentOptions'
    TwoConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/TwoPaymentOptions'
    TwoConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/TwoConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/TwoConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
    VippsConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signup
          properties:
            signup:
              type: object
              required:
                - created_at
              properties:
                created_at:
                  description: |
                    The time when signup was initiated
                  type: string
                  format: date-time
                id:
                  type: string
                  description: |
                    Signup ID from Vipps
                  example: 81b83246-5c19-7b94-875b-ea6d1114f099
                url:
                  type: string
                  description: |
                    Signup URL from Vipps, where merchant can complete the signup
                callback_at:
                  type: string
                  format: date-time
                  description: |
                    Result from callback received from Vipps after merchant completed
                    the signup, and Vipps approved it.
                expires_at:
                  type: string
                  format: date-time
                  description: |
                    The Vipps signup URL expires after 30 days.
            configuration:
              description: |
                Vipps configuration for the merchant, received from signup callback
                The vipps configuration includes a `client_secret` stored safely and
                never exposed
              properties:
                payment_options:
                  type: array
                  items:
                    type: object
                    required:
                      - type
                    properties:
                      type:
                        type: string
                        enum:
                          - vipps
                merchant_name:
                  type: string
                  example: Vipps
                created_time:
                  type: string
                  example: '00:00:00'
                merchant_serial_number:
                  type: string
                  example: '123456'
                client_id:
                  type: string
                  format: uuid
                  example: 51358942-08c8-4d50-99f4-a9aa970b5f5b
                subscription_keys:
                  type: array
                  items:
                    type: object
                    properties:
                      product:
                        type: string
                        example: Access
                      ocp_apim_subscription_key:
                        type: string
                        example: de897dbb-0cd3-4445-b003-ac8214ac4638
    VippsPspPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - dintero_psp.vipps
    VippsPspConnectionConfiguration:
      type: object
      description: |
        Vipps PSP configuration for the merchant
      required:
        - merchant_serial_number
      properties:
        merchant_serial_number:
          description: Merchant serial number generated by vipps
          type: string
          pattern: ^[0-9]{6}$
          example: '123456'
        payment_options:
          $ref: '#/components/schemas/VippsPspPaymentOptions'
    VippsPspConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
        - logo
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/VippsPspPaymentOptions'
        logo:
          type: string
          description: |
            Base64 encoded string of merchant logo which will be displayed in Vipps app. 
            The logo must be in PNG format. Square images are recommended. 
            The longest side cannot be more than 1000 pixels. Minimum size is 100 x 100 pixels.
    VippsPspConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/VippsPspConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/VippsPspConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
    VisaTokenizationConnectionConfiguration:
      type: object
      description: |
        Visa Tokenization configuration for the merchant
      required:
        - client_app_id
        - relationship_id
      properties:
        client_app_id:
          type: string
          description: |
            Unique identifier of merchant in VTS system
        relationship_id:
          type: string
          description: |
            Identifies relationship between merchant and us in VTS system
    VisaTokenizationConnectionSignup:
      type: object
      required:
        - case_id
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
    VisaTokenizationConnection:
      allOf:
        - required:
            - signups
          properties:
            configuration:
              $ref: '#/components/schemas/VisaTokenizationConnectionConfiguration'
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/VisaTokenizationConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    AccountService:
      type: object
      properties:
        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
        updated_by:
          type: string
          example: 1c92f7e1-2897-4d46-bdcc-c127a914fb4e
          description: |
            The ID of the user/client created the resource
          readOnly: true
        status:
          type: string
          enum:
            - enabled
            - disabled
        progression:
          type: string
          enum:
            - not_applied
            - applied
            - live
            - frozen
            - deactivated
        metadata:
          type: object
          maxProperties: 40
          description: |
            A set of key/value pairs that you can attach to a subscription
            object. It can be useful for storing additional information about
            the subscription in a structured format.
    ServiceFeatureStatus:
      type: string
      description: |
        Whether the feature is operational

        **enabled**
        > Indicates that the Feature might be used

        **pending**
        > Indicates that the Feature can't be used but that the `status`
        > eventually changes to either `declined` or `enabled` without
        > user intervention.

        **disabled**
        > Indicates that the Feature have been disabled

        **declined**
        > Indicates that the Feature can't be used and either requires some
        > action by the user or is permanently disabled
      enum:
        - declined
        - disabled
        - enabled
        - pending
    ServiceFeature:
      type: object
      required:
        - requested
        - status
      properties:
        created_by:
          type: string
          readOnly: true
        created_at:
          type: string
          format: datetime
          readOnly: true
        updated_by:
          type: string
          readOnly: true
        updated_at:
          type: string
          format: datetime
          readOnly: true
        requested:
          type: string
          enum:
            - enable
            - disable
        status:
          $ref: '#/components/schemas/ServiceFeatureStatus'
    CheckoutServiceFeatures:
      type: object
      properties:
        applepay:
          $ref: '#/components/schemas/ServiceFeature'
        billie:
          $ref: '#/components/schemas/ServiceFeature'
        clicktopay:
          $ref: '#/components/schemas/ServiceFeature'
        collector:
          $ref: '#/components/schemas/ServiceFeature'
        creditcard:
          $ref: '#/components/schemas/ServiceFeature'
        googlepay:
          $ref: '#/components/schemas/ServiceFeature'
        instabank:
          $ref: '#/components/schemas/ServiceFeature'
        klarna:
          $ref: '#/components/schemas/ServiceFeature'
        mobilepay:
          $ref: '#/components/schemas/ServiceFeature'
        santander:
          $ref: '#/components/schemas/ServiceFeature'
        swish:
          $ref: '#/components/schemas/ServiceFeature'
        vipps:
          $ref: '#/components/schemas/ServiceFeature'
        kravia:
          $ref: '#/components/schemas/ServiceFeature'
        two:
          $ref: '#/components/schemas/ServiceFeature'
        ipp:
          allOf:
            - $ref: '#/components/schemas/ServiceFeature'
            - type: object
              properties:
                sandbox_requested:
                  type: string
                  enum:
                    - enable
                    - disable
                sandbox_status:
                  $ref: '#/components/schemas/ServiceFeatureStatus'
    AccountCheckoutGateway:
      type: object
      properties:
        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
        progression:
          type: string
          enum:
            - not_applied
            - waiting_for_dintero
            - waiting_for_gateway
            - waiting_for_merchant
            - rejected
            - live
            - frozen
            - deactivated
    CheckoutAccountService:
      allOf:
        - $ref: '#/components/schemas/AccountService'
        - properties:
            features:
              $ref: '#/components/schemas/CheckoutServiceFeatures'
            gateways:
              type: object
              description: |
                All gateways requires an `enabled` connection
              properties:
                santander:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                collector:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                instabank:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                vipps:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                swish:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                bambora:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                payex:
                  type: object
                  properties:
                    creditcard:
                      $ref: '#/components/schemas/AccountCheckoutGateway'
                    swish:
                      $ref: '#/components/schemas/AccountCheckoutGateway'
                klarna:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                dintero_psp:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                kravia:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                two:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
                seitatech:
                  $ref: '#/components/schemas/AccountCheckoutGateway'
    PayoutServiceFeatures:
      type: object
      description: |
        Payout features
      properties:
        split_payment:
          $ref: '#/components/schemas/ServiceFeature'
        daily_payouts:
          $ref: '#/components/schemas/ServiceFeature'
    PayoutAccountService:
      allOf:
        - $ref: '#/components/schemas/AccountService'
        - properties:
            features:
              $ref: '#/components/schemas/PayoutServiceFeatures'
    AccountReadOnly:
      type: object
      properties:
        connections:
          type: object
          readOnly: true
          description: |
            Connections to external services registered on the merchant account
          properties:
            applepay:
              $ref: '#/components/schemas/ApplePayConnection'
            bambora:
              $ref: '#/components/schemas/BamboraConnection'
            collector:
              $ref: '#/components/schemas/CollectorConnection'
            common:
              $ref: '#/components/schemas/CommonConnection'
            dintero_psp:
              $ref: '#/components/schemas/DinteroPspConnection'
            instabank:
              $ref: '#/components/schemas/InstabankConnection'
            klarna:
              $ref: '#/components/schemas/KlarnaConnection'
            kravia:
              $ref: '#/components/schemas/KraviaConnection'
            mastercard_3ds:
              $ref: '#/components/schemas/Mastercard3DSConnection'
            mastercard_tokenization:
              $ref: '#/components/schemas/MastercardTokenizationConnection'
            payex:
              $ref: '#/components/schemas/PayExConnectionV2'
            swish:
              $ref: '#/components/schemas/SwishConnection'
            two:
              $ref: '#/components/schemas/TwoConnection'
            vipps:
              $ref: '#/components/schemas/VippsConnection'
            vipps_psp:
              $ref: '#/components/schemas/VippsPspConnection'
            visa_tokenization:
              $ref: '#/components/schemas/VisaTokenizationConnection'
        services:
          type: object
          readOnly: true
          description: |
            Status on services enabled on the merchant account
          properties:
            checkout:
              $ref: '#/components/schemas/CheckoutAccountService'
            customers:
              $ref: '#/components/schemas/AccountService'
            discounts:
              $ref: '#/components/schemas/AccountService'
            shopping:
              $ref: '#/components/schemas/AccountService'
            receipts:
              $ref: '#/components/schemas/AccountService'
            wallets:
              $ref: '#/components/schemas/AccountService'
            payout:
              $ref: '#/components/schemas/PayoutAccountService'
            ledger:
              $ref: '#/components/schemas/AccountService'
    PartnerConfiguration:
      type: object
      description: |
        Configuration options for the account.
      properties:
        default_price_package:
          type: string
          description: |
            Default price package to assign to new merchants.

            Use the price package ID of the price package.

            Please note that the price package must exist and be available to the
            partner account in question.
    AccountOnboarding:
      type: object
      properties:
        payment_channels:
          type: array
          items:
            type: string
            enum:
              - online
              - physical
              - payment_links
        integration_types:
          type: array
          items:
            type: string
            enum:
              - plugin
              - custom
        platforms:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              integration_type:
                type: string
                enum:
                  - plugin
              channel:
                type: string
                enum:
                  - online
                  - physical
        requested_payment_methods:
          type: array
          items:
            type: string
            enum:
              - creditcard
              - clicktopay
              - applepay
              - googlepay
              - vipps
              - mobilepay
              - swish
              - klarna
              - billie
              - walley
              - kravia
              - two
              - ipp
        currencies:
          type: array
          items:
            type: string
            format: currency
        allowed_merchant_category_codes:
          type: array
          description: Restricts the MCC codes available for selection during merchant onboarding.
          items:
            type: string
            pattern: ^\d{4}$
    ServiceFeatureRequest:
      type: object
      required:
        - requested
      properties:
        requested:
          type: string
          description: |
            Whether the Account should have the Feature
          enum:
            - enable
            - disable
    CheckoutServiceFeaturesRequest:
      type: object
      description: |
        Checkout features
      properties:
        applepay:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        billie:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        clicktopay:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        collector:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        creditcard:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        googlepay:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        instabank:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        klarna:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        mobilepay:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        santander:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        swish:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        vipps:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        two:
          $ref: '#/components/schemas/ServiceFeatureRequest'
    PayoutServiceFeaturesRequest:
      type: object
      description: |
        Payout features
      properties:
        split_payment:
          $ref: '#/components/schemas/ServiceFeatureRequest'
        daily_payouts:
          $ref: '#/components/schemas/ServiceFeatureRequest'
    PaymentOptionTypes:
      type: string
      enum:
        - bambora.creditcard
        - bambora.mobilepay
        - bambora.applepay
        - bambora.googlepay
        - bambora.vipps
        - collector.finance
        - collector.installment
        - collector.invoice
        - collector.invoice_b2b
        - collector.invoice_b2b_preapproved
        - collector.installment_b2b_preapproved
        - dintero.zero
        - dintero.wallets
        - dintero.external
        - dintero_psp.creditcard
        - dintero_psp.vipps
        - dintero_psp.applepay
        - dintero_psp.googlepay
        - dintero_psp.clicktopay
        - instabank.finance
        - instabank.installment
        - instabank.invoice
        - instabank.postponement
        - netaxept.creditcard
        - payex.creditcard
        - payex.mobilepay
        - payex.swish
        - payex.vipps
        - payex.applepay
        - payex.clicktopay
        - payex.googlepay
        - santander.debit_account
        - swish.swish
        - vipps
        - klarna.klarna
        - klarna.billie
        - kravia.invoice_b2b
        - kravia.invoice_b2b_grouped
        - kravia.invoice_b2c
        - seitatech.in_person
        - two.invoice_b2b
    AccountSandboxSettingsInput:
      type: object
      required:
        - services
      properties:
        services:
          type: object
          description: Sandbox services
          required:
            - checkout
          properties:
            checkout:
              type: object
              description: Checkout/Payment Sandbox
              required:
                - payment_options
              properties:
                payment_options:
                  type: array
                  items:
                    type: object
                    required:
                      - type
                      - currencies
                    properties:
                      type:
                        $ref: '#/components/schemas/PaymentOptionTypes'
                      currencies:
                        type: array
                        description: Accepted currencies for payment option
                        minItems: 1
                        uniqueItems: true
                        items:
                          type: string
                          format: iso4217-code
                          example: NOK
                features:
                  type: object
                  description: Additional payment features
                  properties:
                    ipp:
                      type: object
                      description: In-person payment
                      required:
                        - sandbox_requested
                      properties:
                        sandbox_requested:
                          type: string
                          enum:
                            - enable
                            - disable
    AccountSandboxSettings:
      type: object
      allOf:
        - $ref: '#/components/schemas/AccountSandboxSettingsInput'
        - type: object
          required:
            - account_id
            - status
            - created_by
            - created_at
            - updated_at
            - updated_by
          properties:
            account_id:
              type: string
              description: The id that uniquely identifies the account.
              readOnly: true
            status:
              type: string
              description: |
                Status of the sandbox settings
              enum:
                - pending
                - enabled
              readOnly: true
            created_by:
              type: string
              readOnly: true
            created_at:
              type: string
              format: datetime
              readOnly: true
            updated_by:
              type: string
              readOnly: true
            updated_at:
              type: string
              format: datetime
              readOnly: true
            services:
              type: object
              properties:
                checkout:
                  type: object
                  required:
                    - features
                  properties:
                    features:
                      type: object
                      properties:
                        ipp:
                          type: object
                          required:
                            - sandbox_status
                          properties:
                            sandbox_status:
                              $ref: '#/components/schemas/ServiceFeatureStatus'
    ApprovalsPaymentProduct:
      type: string
      description: |
        The type of product that the merchant wants to use for their business.
         - `checkout` the merchant accepts payouts to a single bank account
           (per currency).
         - `split_payment` needed for partners, marketplaces and platforms that
           will onboard sellers that will receive payouts to the sellers' own bank
           accounts.
      enum:
        - checkout
        - split_payment
    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'
    ApprovalsBankAccount:
      type: object
      required:
        - bank_account_currency
        - payout_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
        payout_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.
    ApprovalsPayment:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - country_code
            - organization_number
            - bank_accounts
            - payment_methods
            - products
          properties:
            products:
              type: array
              items:
                type: object
                required:
                  - product
                properties:
                  product:
                    $ref: '#/components/schemas/ApprovalsPaymentProduct'
            payment_methods:
              description: |
                Payment methods that the merchant wants to accept.
              type: array
              items:
                type: object
                required:
                  - payment_method
                properties:
                  payment_method:
                    type: string
                    enum:
                      - creditcard
                      - applepay
                      - clicktopay
                      - vipps
                      - swish
                      - mobilepay
                      - klarna
                      - walley
                      - santander
                      - netaxept
                      - instabank
                      - googlepay
                      - billie
                      - kravia
                      - two
                      - ipp
            country_code:
              type: string
              format: iso-3166-1
              description: |
                Country code, must be a two letter ISO 3166-1-alpha-2 country code
              maxLength: 2
              minLength: 2
            organization_number:
              type: string
              description: |
                National organization number valid in the country specified.
            bank_accounts:
              type: array
              minItems: 1
              maxItems: 1
              description: |
                Bank account information about the seller. Currently
                the contract service only supports one bank_account per payout
                destination.
              items:
                $ref: '#/components/schemas/ApprovalsBankAccount'
            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.
    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
    ApprovalsPaymentResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/ApprovalsPayment'
        - properties:
            case_status:
              $ref: '#/components/schemas/ApprovalStatus'
            links:
              $ref: '#/components/schemas/ApprovalLinks'
            mcc:
              type: string
              format: iso-18245
              example: 5814
              description: |
                A four-digit Merchant Category Code (MCC) for the store
                [ISO 18245:2003](https://www.iso.org/standard/33365.html)

                The MCC set on the case
    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'
    ApprovalsPayoutDestination:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - payout_destination_id
            - payout_reference
            - bank_accounts
          properties:
            language:
              type: string
              maxLength: 2
              enum:
                - en
                - 'no'
              description: The language that will be used in emails, declaration form, signing page etc.
            payout_destination_id:
              type: string
              maxLength: 40
              description: |
                ID of seller to create when the contract has been completed,
                signed, and approved.
            payout_destination_name:
              type: string
              maxLength: 60
              description: The name of the seller
            payout_destination_description:
              type: string
              maxLength: 1000
              description: Description of the seller
            payout_reference:
              type: string
              maxLength: 60
              description: |
                A static reference that will be included on bank payments, the
                name of the service the payout-destination will be enrolled into.
                Eg. if yor platform is an "Uber for lawnmowers" called "Mowber"
                the payout_reference should be "Mowber".
            type:
              $ref: '#/components/schemas/LegalEntityType'
            country_code:
              type: string
              format: iso-3166-1
              description: |
                Country code, must be a two letter ISO 3166-1-alpha-2 country code.
                Required if type is omitted or set to `company`.
              maxLength: 2
              minLength: 2
            organization_number:
              type: string
              description: |
                National organization number valid in the country specified. Required
                if type is omitted or set to `company`.
            individual:
              $ref: '#/components/schemas/Individual'
            bank_accounts:
              type: array
              minItems: 1
              maxItems: 1
              description: |
                Bank account information about the seller. Currently
                the contract service only supports one bank_account per payout
                destination.
              items:
                $ref: '#/components/schemas/ApprovalsBankAccount'
            payout_interval_type:
              type: string
              description: |
                The interval of the payout. The interval can be `daily`, `weekly`, `monthly` or `manual`.
              enum:
                - daily
                - weekly
                - monthly
                - manual
            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.
            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
    ApprovalsPayoutDestinationResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/ApprovalsPayoutDestination'
        - properties:
            case_status:
              $ref: '#/components/schemas/ApprovalStatus'
            links:
              $ref: '#/components/schemas/ApprovalLinks'
    CustomerDueDiligenceCase:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - case_for
            - products
            - case_request
          properties:
            package:
              type: string
              description: |
                What pricing strategy to use for this company.
            case_for:
              type: object
              required:
                - account_id
              properties:
                account_id:
                  type: string
                payout_destination_id:
                  type: string
                  maxLength: 40
                  description: |
                    If set the case will apply to the seller id for the given
                    account.
                payout_destination_name:
                  type: string
                  maxLength: 60
                  description: The name of the seller
                payout_destination_description:
                  type: string
                  maxLength: 1000
                  description: Description of the seller
                payout_reference:
                  type: string
                  maxLength: 60
                  description: |
                    A static reference that will be included on bank payments made via the payout_destination_id
            actions_on_approval:
              type: array
              items:
                type: string
                minItems: 1
                enum:
                  - enable_payout_account
                  - enable_checkout_account
                  - create_payout_destination
            products:
              type: array
              items:
                type: string
                minItems: 1
                enum:
                  - payout
                  - checkout
            payment_options:
              $ref: '#/components/schemas/PaymentOptions'
            case_request:
              type: object
              description: |
                Case object that will be submitted to the CDD service. See docs at https://docs.quickr.no/
              required:
                - checks
                - countryCode
                - organizationNumber
                - requireContractSigning
              properties:
                checks:
                  type: array
                  items:
                    type: string
                    minItems: 1
                    enum:
                      - KYC
                      - AML
                      - RISK
                      - INDUSTRY
                      - BANK_OWNERSHIP
                countryCode:
                  type: string
                  description: |
                    Country code, must be a two letter ISO 3166-1-alpha-2 country code
                  maxLength: 2
                  minLength: 2
                organizationNumber:
                  type: string
                  description: |
                    National organization number valid in the country specified.
                requireContractSigning:
                  type: boolean
                details:
                  type: object
                  description: |
                    Refer to docs at https://docs.quickr.no/. These properties are populated in the contract and by checks performed
                callbackUrl:
                  type: string
                  description: Autogenerated. Quickr POSTS to this url when the case is updated
                referenceId:
                  type: string
    CustomerDueDiligenceCaseResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/CustomerDueDiligenceCase'
        - required:
            - events
            - account_id
          properties:
            account_id:
              readOnly: true
              type: string
            events:
              readOnly: true
              type: array
              items:
                description: Updates to case
                type: object
                required:
                  - id
                  - event
                  - created_at
                  - request_id
                properties:
                  id:
                    type: number
                    description: Starts at 1, increment by 1 for each event
                  request_id:
                    type: string
                  case_status:
                    $ref: '#/components/schemas/ApprovalStatus'
                  event:
                    type: string
                    enum:
                      - case_created
                      - case_updated
                      - enable_payout_account
                      - enable_checkout_account
                      - create_payout_destination
                  created_at:
                    type: string
                    format: date-time
                    description: |
                      The date-time when the event was created
                    readOnly: true
                  error:
                    type: string
                    description: |
                      Error message if the event contains an error
                    readOnly: true
                  case:
                    type: object
                    description: |
                      Case object as received from the CDD service
                  created:
                    type: object
                    description: |
                      Response when the case was created
                    required:
                      - case_id
                      - contract_url
                    properties:
                      case_id:
                        type: string
                      contract_url:
                        type: string
    BamboraConnectionCallback:
      type: object
      required:
        - merchant_number
        - md5_key
        - payment_options
      properties:
        merchant_number:
          type: string
          example: P12345678
        md5_key:
          type: string
          example: ae45ase
        access_token:
          type: string
        secret_token:
          type: string
        token_scope:
          type: string
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - bambora.creditcard
                  - bambora.vipps
    BamboraIppSubmerchant:
      type: object
      required:
        - id
        - pf_account_id
        - proxy_mid
        - status
        - created_at
      properties:
        id:
          type: string
          format: uuid
          description: |
            Unique ID for the onboarding
        pf_account_id:
          type: string
          description: |
            PayFac account ID assigned for the submerchant
        proxy_mid:
          type: string
          description: |
            Proxy merchant ID associated with the onboarding
        virtual_account_id:
          type: string
          description: |
            Virtual account ID assigned by Bambora
        status:
          type: string
          enum:
            - pending
            - approved
            - rejected
          description: |
            Current status of the onboarding

            - `pending` - Created but not yet processed by Bambora
            - `approved` - Bambora approved the submerchant
            - `rejected` - Bambora rejected the submerchant
        store_ids:
          type: array
          items:
            type: string
          description: |
            IDs of the stores associated with this onboarding
        request_data:
          type: object
          properties:
            legal_id:
              type: string
              description: |
                Legal entity ID (organization number)
            legal_name:
              type: string
              description: |
                Legal entity name
            legal_address:
              type: string
              description: |
                Legal entity street address
            legal_city:
              type: string
              description: |
                Legal entity city
            legal_postcode:
              type: string
              description: |
                Legal entity postcode
            legal_country:
              type: string
              description: |
                Legal entity country
            dba_name:
              type: string
              description: |
                Trading/business name
            dba_address:
              type: string
              description: |
                Business street address
            dba_city:
              type: string
              description: |
                Business city
            dba_postcode:
              type: string
              description: |
                Business postcode
            contact_email:
              type: string
              description: |
                Contact email
            contact_phone:
              type: string
              description: |
                Contact phone number
            contact_name:
              type: string
              description: |
                Contact name
        enrollment_file_id:
          type: integer
          description: |
            ID of the enrollment file sent to Bambora. Set once the enrollment
            file has been uploaded
        error_reason_code:
          type: string
          description: |
            Error reason code if the onboarding was rejected
        error_reason_description:
          type: string
          description: |
            Human-readable error description if the onboarding was rejected
        enrolled_at:
          type: string
          format: date-time
          description: |
            Time when the submerchant was enrolled
        created_at:
          type: string
          format: date-time
          description: |
            Time when the onboarding was created
        updated_at:
          type: string
          format: date-time
          description: |
            Time when the onboarding was last updated
    BamboraIppSubmerchantCollection:
      type: object
      required:
        - submerchants
      properties:
        submerchants:
          type: array
          items:
            $ref: '#/components/schemas/BamboraIppSubmerchant'
        starting_after:
          type: string
    CollectorConnectionCallback:
      type: object
      required:
        - username
        - payment_options
      properties:
        username:
          type: string
          example: c_user
        password:
          type: string
          example: my_collector_bank_password
          description: |
            The password for the given username. Password is optional _if_ using dintero:admin and one of the standard usernames
        store_id:
          type: number
          description: |
            **Deprecated** in favour of `stores.store_id`.

            Store id for B2C
        country:
          type: string
          format: iso-3166-1
          description: |
            **Deprecated** in favour of `stores.country`.
        stores:
          description: Configured stores in the Collector Partner Portal
          type: array
          items:
            type: object
            properties:
              store_id:
                type: number
              country:
                type: string
                format: iso-3166-1
              currency:
                type: string
                example: NOK
                description: |
                  The three-character ISO-4217 currency.
                  https://en.wikipedia.org/wiki/ISO_4217
              segment:
                type: string
                description: The type of customers this store id is used for
                enum:
                  - B2C
                  - B2B
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - collector.invoice
                  - collector.installment
                  - collector.invoice_b2b
    InstabankConnectionCallback:
      type: object
      description: Instabank Callback
      required:
        - organization_number
      properties:
        organization_number:
          type: string
    KraviaConnectionUpdate:
      type: object
      properties:
        supported_invoice_channels:
          type: array
          description: |
            Invoice channels available for this account.
          items:
            $ref: '#/components/schemas/InvoiceChannel'
    SeitatechPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            maxItems: 1
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - seitatech.in_person
    SeitatechConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/SeitatechPaymentOptions'
    SeitatechConnection:
      allOf:
        - $ref: '#/components/schemas/AccountConnection'
        - required:
            - signups
          properties:
            signups:
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/SeitatechConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
    ApplePayConnectionUpdate:
      type: object
      required:
        - domain_names
      properties:
        domain_names:
          type: array
          items:
            type: string
            example: ecom.example.com
    PayExConnectionCallback:
      type: object
      required:
        - payee_id
        - payment_options
      properties:
        token:
          type: string
          example: eb4835ac0b0835ad8f886c0b077a49bc28f200ac03ba543ebea8bba8a62e143d
        payee_id:
          type: string
          example: 803-518c-4fa0-9b0f-177e871f21dd
        subsite:
          description: |
            Perform split settlements on payments. The subsite must be resolved with
            PayEx reconciliation before being used.
          type: string
          example: '1234678'
          maxLength: 40
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - payex.creditcard
    SwishPayfacConnectionSignup:
      type: object
      required:
        - case_id
        - swish_number
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case in auth service
          type: string
          format: uuid
        swish_number:
          description: The Swish number to be used for the merchant
          example: '1231182293'
        payment_options:
          description: Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - swish.swish
    SwishConnectionCallback:
      type: object
      required:
        - swish_number
      properties:
        swish_number:
          type: string
          description: The merchant's Swish number
          example: '1231182293'
        cert:
          type: string
          description: |
            Base 64 encoded string of the certificate. Can be in PEM or P12 format.
            If PEM, key and ca are required.
        key:
          type: string
          description: Base 64 encoded string of the public key
        passphrase:
          description: The passphrase for the certificate
          type: string
        ca:
          description: Base 64 encoded string of the CA of the certificate
          type: string
        payment_options:
          description: |
            Payment options to enable for this connection
          type: array
          items:
            type: object
            required:
              - currencies
              - type
            properties:
              currencies:
                type: array
                items:
                  type: string
                  format: iso4217-code
                  example: NOK
              type:
                type: string
                enum:
                  - swish.swish
    VippsConnectionCallback:
      type: object
      properties:
        signup-id:
          type: string
          example: 81b83246-5c19-7b94-875b-ea6d1114f099
        orgnumber:
          type: string
          example: '692493206'
        merchant-name:
          type: string
          example: Vipps
        createdTime:
          type: string
          example: '00:00:00'
        merchantSerialNumber:
          type: string
          example: '123456'
        client_Id:
          type: string
          example: 51358942-08c8-4d50-99f4-a9aa970b5f5b
        client_Secret:
          type: string
          example: verysecret123
        subscriptionKeys:
          type: array
          items:
            type: object
            properties:
              product:
                type: string
                example: Access
              ocp-apim-subscription-key:
                type: string
                example: de897dbb-0cd3-4445-b003-ac8214ac4638
    VisaClickToPayPaymentOptions:
      description: |
        Payment options to enable for this connection
      type: array
      items:
        type: object
        required:
          - currencies
          - type
        properties:
          currencies:
            type: array
            items:
              type: string
              format: iso4217-code
              example: NOK
          type:
            type: string
            enum:
              - dintero_psp.clicktopay
    VisaClickToPayConnectionSignup:
      type: object
      required:
        - case_id
        - payment_options
      properties:
        case_id:
          description: |
            The id to the case id in auth service
          type: string
          format: uuid
        payment_options:
          $ref: '#/components/schemas/VisaClickToPayPaymentOptions'
    VisaClickToPayConnection:
      allOf:
        - required:
            - signups
          properties:
            signups:
              type: array
              description: |
                The signups received for this account.

                Will be unique per `case_id` and `store_id`.
              items:
                allOf:
                  - $ref: '#/components/schemas/VisaClickToPayConnectionSignup'
                  - required:
                      - created_at
                    properties:
                      created_at:
                        description: |
                          The time when signup was initiated
                        type: string
                        format: date-time
        - $ref: '#/components/schemas/AccountConnectionMeta'
    Grant:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - client_id
            - audience
            - scope
          properties:
            client_id:
              type: string
            audience:
              type: string
              example: https://api.dintero.com/v1/accounts/P00000000
            scope:
              type: array
              items:
                type: string
                minItems: 1
                example: receipts:write
            type:
              description: |
                Limit the usage of the grant. A grant with grant_types set
                to only `authorization_code` cannot be used in
                [Get Token](/api-reference/authenticate/aid_auths_oauth_token_post) when
                calling the endpoint with `grant_type=client_credentials`
              default: any
              type: string
              enum:
                - any
                - authorization_code
                - client_credentials
                - password
            oidc:
              description: |
                Open ID connect configuration for the Grant. The option enables client
                to verify the identify of the End-User based on the authentication
                performed by an authorization server

                The grant type must be set to `authorization_code` when configured.
              required:
                - authority
                - client_id
                - client_secret
              properties:
                client_id:
                  type: string
                client_secret:
                  type: string
                authority:
                  type: string
                  description: |
                    The authority for the authentication, the authority must support
                    OpenID connect discovery

                    example: https://identityserver.example.com/access/.well-known/openid-configuration
                  format: url
                  example: https://identityserver.example.com/access
    Client:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - properties:
            name:
              type: string
            description:
              type: string
            client_id:
              type: string
              description: Your client ID.
            callbacks:
              type: array
              items:
                type: string
    ClientPatch:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
    PasswordLess:
      type: object
      required:
        - client_id
        - connection
        - audience
      properties:
        audience:
          type: string
          description: |
            The unique identifier of the target API you want to access.
        client_id:
          type: string
        connection:
          type: string
          description: |
            How to send the code to the user.
          enum:
            - email
            - sms
        email:
          type: string
          description: |
            The user's email address
        type:
          type: string
          description: |
            Passwordless for type company/customer requires that
            the email is registered to a customers users
          enum:
            - company
            - customer
          default: customer
        send:
          type: string
          description: |
            Use `code` to send a verification code.
          default: code
          enum:
            - code
        login_session_id:
          type: string
          description: |
            Use `login_session_id` to resend the same verifcation code to
            an alternative connection.
    RevokeToken:
      type: object
      required:
        - token
      properties:
        token:
          type: string
          example: YOUR_REFRESH_TOKEN
    AuthRole:
      type: object
      description: |
        Role that can be assigned to users
      required:
        - scope
      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
        name:
          type: string
          example: order support
        description:
          type: string
          example: Administrate orders
        scope:
          type: array
          items:
            type: string
            minItems: 1
          example:
            - read:accounts
            - read:billing
            - admin:shopping
    AuthToken:
      discriminator:
        propertyName: grant_type
        mapping:
          account_user: '#/components/schemas/account_user'
          authorization_code: '#/components/schemas/authorization_code'
          client_credentials: '#/components/schemas/client_credentials'
          mfa_oob: '#/components/schemas/mfa_oob'
          password: '#/components/schemas/password'
          refresh_token: '#/components/schemas/refresh_token'
      oneOf:
        - $ref: '#/components/schemas/account_user'
        - $ref: '#/components/schemas/authorization_code'
        - $ref: '#/components/schemas/client_credentials'
        - $ref: '#/components/schemas/mfa_oob'
        - $ref: '#/components/schemas/password'
        - $ref: '#/components/schemas/refresh_token'
    AccessToken:
      type: object
      required:
        - access_token
        - token_type
        - expires_in
      properties:
        access_token:
          type: string
          description: A JWT access token
          example: eyJhbGci...t7P4
        token_type:
          type: string
          enum:
            - Bearer
        expires_in:
          type: integer
          description: |
            The lifetime in seconds of the access token.  For
            example, the value "3600" denotes that the access token will
            expire in one hour from the time the response was generated.
          example: 86400
        refresh_token:
          type: string
          description: |
            Token that can be used to request new tokens when the existing
            Access Token expire.

            You can only get a Refresh Token if the Access Token used in the
            request has scope:

             - `create:accounts:auth:refresh_token`

            and the `grant-type` is one of:

             - `authorization_code`
             - `password`

            **NOTE**:
             - A Single-Page Application should not ever receive a Refresh Token,
               this information is sensitive and should not be exposed client-side
               in a browser.
             - Refresh token must be stored securely by an application since
               they allow a user to remain authenticated essentially forever.
    ReportedVolume:
      type: object
      required:
        - type
        - period
        - currency
        - volume
        - count
      properties:
        type:
          type: string
          enum:
            - monthly
            - weekly
        period:
          type: string
          description: |
            Format depend on type, e.g. `2023-09` for monthly and `2023-W40`
            for weekly
          format: iso-8601
        currency:
          type: string
          format: iso-4217
        volume:
          type: integer
        count:
          type: integer
    AccountPrivateDetails:
      type: object
      description: |
        Account properties that are private and managed by the
        root partner.
      properties:
        progression:
          type: string
          enum:
            - applied
            - live
            - frozen
            - deactivated
          description: |
            Status assigned to the account by the account partner
            > value is not visible for the merchant.
        reseller_id:
          type: string
          description: |
            Reseller id assigned by the account partner
            > value is not visible for the merchant
          example: DINTERO_ACCOUNT:99900000
        account_manager:
          type: object
          required:
            - email
          description: |
            Account manager responsible for the account.
            > value is not visible for the merchant
          properties:
            email:
              type: string
              example: employee@dintero.com
        permissions:
          description: List the permission granted the account
          type: array
          items:
            type: object
            required:
              - effect
              - action
            properties:
              effect:
                type: string
                enum:
                  - allow
                  - deny
              action:
                type: array
                minItems: 1
                maxItems: 1
                items:
                  type: string
                  enum:
                    - checkout:auto_capture
                    - notifications:publish
        sale_channel:
          type: string
          enum:
            - DIRECT
            - INBOUND
            - PARTNER
            - REFERRAL
        price_package:
          type: string
        statistics:
          type: object
          description: Statistics for the account
          properties:
            checkout_captures:
              description: Statistics about transactions captured
              type: array
              readOnly: true
              items:
                $ref: '#/components/schemas/ReportedVolume'
              example:
                - type: monthly
                  periode: 2023-09
                  currency: NOK
                  volume: 3921930
                  count: 131
                - type: weekly
                  periode: 2023-W33
                  currency: NOK
                  volume: 980482
                  count: 32
            metrics:
              description: key metrics about the account
              properties:
                checkout:transaction:first_capture_at:
                  type: string
                  format: datetime
                checkout:transaction:last_capture_at:
                  type: string
                  format: datetime
        services:
          type: object
          properties:
            checkout:
              type: object
              required:
                - features
              properties:
                features:
                  $ref: '#/components/schemas/CheckoutServiceFeatures'
            payout:
              required:
                - features
              properties:
                features:
                  $ref: '#/components/schemas/PayoutAccountService'
    AccountApprovals:
      type: object
      properties:
        approvals_payments_statuses:
          type: object
          description: Count of statuses of payments approvals
          properties:
            ACTIVE:
              type: number
            DECLINED:
              type: number
            UNDER_MANUAL_REVIEW:
              type: number
            AUTOMATIC_REVIEW:
              type: number
            WAITING_FOR_SIGNATURE:
              type: number
            WAITING_FOR_DECLARATION:
              type: number
            WAITING_FOR_DETAILS:
              type: number
            ERROR:
              type: number
            ARCHIVED:
              type: number
            TERMINATED:
              type: number
        approvals_payout_destinations_statuses:
          type: object
          description: Count of statuses of payout destinations approvals (aka seller approvals)
          properties:
            ACTIVE:
              type: number
            DECLINED:
              type: number
            UNDER_MANUAL_REVIEW:
              type: number
            AUTOMATIC_REVIEW:
              type: number
            WAITING_FOR_SIGNATURE:
              type: number
            WAITING_FOR_DECLARATION:
              type: number
            WAITING_FOR_DETAILS:
              type: number
            ERROR:
              type: number
            ARCHIVED:
              type: number
            TERMINATED:
              type: number
    ExtendedAccount:
      allOf:
        - $ref: '#/components/schemas/Account'
        - $ref: '#/components/schemas/AccountPrivateDetails'
        - $ref: '#/components/schemas/AccountReadOnly'
        - $ref: '#/components/schemas/AccountApprovals'
        - type: object
          properties:
            configuration:
              $ref: '#/components/schemas/PartnerConfiguration'
    PricePackageCustomCreateData:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricePackageMeta'
        - $ref: '#/components/schemas/PricePackageProducts'
    AccountEvent:
      discriminator:
        propertyName: event_type
        mapping:
          comment: '#/components/schemas/AccountEventComment'
          statistics: '#/components/schemas/AccountEventStatistics'
      description: |
        Events registered on the account
      oneOf:
        - $ref: '#/components/schemas/AccountEventComment'
        - $ref: '#/components/schemas/AccountEventStatistics'
    AccountPricePackages:
      allOf:
        - $ref: '#/components/schemas/Entity'
        - type: object
          required:
            - price_packages
          properties:
            price_packages:
              type: array
              items:
                $ref: '#/components/schemas/PricePackageId'
    MatchRequestAddress:
      type: object
      properties:
        address_line:
          type: string
          description: First line of the address, usually includes street name and number
          minLength: 1
          maxLength: 60
        address_line_2:
          type: string
          description: Second line of the address, usually includes apartment number or suite number
          maxLength: 60
        city:
          type: string
          description: The name of the city for a merchant location
          minLength: 1
          maxLength: 40
        postal_code:
          type: string
          description: The postal code for a merchant location
          minLength: 1
          maxLength: 10
        country:
          type: string
          description: |
            The country in which the address resides. \
            Valid values are three digit alpha country codes as defined in ISO 3166-1 (See https://en.wikipedia.org/wiki/ISO_3166-1)
          minLength: 1
          maxLength: 3
      required:
        - address_line
        - city
        - postal_code
        - country
    MatchRequestPrincipal:
      type: array
      description: List of ultimate beneficial owners
      minItems: 1
      maxItems: 5
      items:
        type: object
        required:
          - first_name
          - last_name
          - email
          - phone_number
          - address
        properties:
          first_name:
            type: string
            description: The first name of the principal owner of the business
            minLength: 1
            maxLength: 40
          last_name:
            type: string
            description: The last name of the principal owner of the business
            minLength: 1
            maxLength: 40
          email:
            type: string
            description: Email Id of a principal.
            example: abc@xxx.com
            minLength: 1
            maxLength: 100
            pattern: ^[a-zA-Z0-9!#$&*+/\?`@{|}~^.\-]+(\.com|\.net|\.org|\.edu)?$
          phone_number:
            type: string
            description: |
              The merchant’s business phone number, including area code.
              - For U.S. numbers - Must be exactly 10 digits and cannot start with 0 or 1.
              - For non-U.S. numbers - Can be up to 25 digits. Do not include the country code.
              - Formatting - Digits only. Do not use symbols or formatting characters (e.g., parentheses, spaces, or dashes).
            example: '3165557625'
            minLength: 1
            maxLength: 25
            pattern: ^[0-9]+$
          date_of_birth:
            type: string
            description: |
              The date of birth of the principal owner.
              Format: YYYY-MM-DD
            example: ‘1980-01-01’
            format: date
          address:
            type: object
            required:
              - address_line
              - city
              - country
            properties:
              address_line:
                type: string
                description: First line of the address, usually includes street name and number
                minLength: 1
                maxLength: 60
              address_line_2:
                type: string
                description: Second line of the address, usually includes apartment number or suite number
                maxLength: 60
              city:
                type: string
                description: The name of the city for a merchant location
                minLength: 1
                maxLength: 40
              postal_code:
                type: string
                description: The postal code for a merchant location
                minLength: 1
                maxLength: 10
              country:
                type: string
                description: |
                  The country in which the address resides. \
                  Valid values are three digit alpha country codes as defined in ISO 3166-1 (See https://en.wikipedia.org/wiki/ISO_3166-1)
                minLength: 1
                maxLength: 3
    MatchRequestMerchant:
      type: object
      properties:
        business_name:
          type: string
          description: The name of the business assigned by the principal owner(s)
          minLength: 1
          maxLength: 60
        trade_name:
          type: string
          description: The name used by a merchant that could be different from the legal name of the business
          maxLength: 110
        website_url:
          type: string
          description: URL to website of business
          maxLength: 4000
        address:
          $ref: '#/components/schemas/MatchRequestAddress'
        principals:
          $ref: '#/components/schemas/MatchRequestPrincipal'
        phone_number:
          type: string
          description: The Business or Merchant's phone number. Should not contain country code and should be digits only
          maxLength: 25
        merchant_category:
          type: string
          minLength: 1
          maxLength: 4
          description: |
            A classification code used in authorization, clearing,
            and other transactions or reports to identify the type of merchant.
          example: '1234'
      required:
        - business_name
        - principals
        - address
        - phone_number
        - merchant_category
    MatchRequestSearchCriteria:
      required:
        - search_all
      type: object
      properties:
        search_all:
          type: string
          description: |
            Determines if the inquiry is worldwide or not.
            The inquiry request can be either worldwide or regions and/or countries based.
            It cannot be both. If it is not worldwide search (search_all = N) and if 
            both region and country are not specified, then search will happen for USA.
            Valid values are Y or N
        region:
          type: array
          description: |
            Region in which the inquiry results must be obtained.

            (1) - U.S. REGION;
            (A) - CANADA;
            (B) - CARIB,C AMERICA,MEX,S AMERICA;
            (C) - ASIA/PACIFIC;
            (D) - EUROPE;
            (E) - SOUTH ASIA MIDDLE EAST AFRICA;

            A maximum of 6 regions may be submitted.
          items:
            type: string
          example:
            - '1'
            - A
            - D
        country:
          type: array
          description: |
            The three digit country code of the principal owner.
            Valid values are three digit alpha country codes as defined in ISO 3166-1 (See https://en.wikipedia.org/wiki/ISO_3166-1)
          items:
            type: string
          example:
            - NOR
            - USA
            - CAN
    MatchTerminationRequest:
      type: object
      properties:
        merchant:
          $ref: '#/components/schemas/MatchRequestMerchant'
        search_criteria:
          $ref: '#/components/schemas/MatchRequestSearchCriteria'
      required:
        - merchant
        - search_criteria
    MatchAddress:
      type: object
      properties:
        address_line_one:
          type: string
          description: First line of the address, usually includes street name and number
          minLength: 1
          maxLength: 60
        address_line_two:
          type: string
          description: Second line of the address, usually includes apartment number or suite number
          maxLength: 60
        city:
          type: string
          description: The name of the city for a merchant location.
          minLength: 1
          maxLength: 40
        country_subdivision:
          type: string
          description: The abbreviated state or province code for a merchant location (only supported for US and Canada merchants).
          maxLength: 2
        province:
          type: string
          description: The name of the province for the location.
          maxLength: 3
        postal_code:
          type: string
          description: The postal code for a merchant location
          minLength: 1
          maxLength: 10
        country:
          type: string
          description: The country in which the address resides. Valid values are three digit alpha country codes as defined in ISO 3166-1 (See https://en.wikipedia.org/wiki/ISO_3166-1)
          minLength: 1
          maxLength: 3
    MatchDriversLicense:
      type: object
      properties:
        number:
          type: string
          description: The drivers license number of a principal owner. Required when Drivers License Country is provided. Should not be provided if Drivers License Country is not provided.
          maxLength: 25
        country_subdivision:
          type: string
          description: The abbreviated state or province code for a merchant location (only supported for US and Canada merchants). Required when Drivers License Country is 'USA'. Should not be provided for non-US Drivers License Country.
          maxLength: 2
        country:
          type: string
          description: The three digit country code of the principal owner. Valid values are three digit alpha country codes as defined in ISO 3166-1. Required when Drivers License Number is provided. Should not be provided if Drivers License Number is not provided.
          maxLength: 3
    MatchPrincipal:
      type: array
      items:
        type: object
        properties:
          first_name:
            type: string
            description: The first name of the principal owner of the business.
            minLength: 1
            maxLength: 40
          middle_initial:
            type: string
            description: The middle initial of the name of the principal owner of the business.
          last_name:
            type: string
            description: The last name of the principal owner of the business.
            minLength: 1
            maxLength: 40
          address:
            $ref: '#/components/schemas/MatchAddress'
          phone_number:
            type: string
            description: The Business or Merchant's phone number. Should not contain country code and should be digits only
            maxLength: 25
          email:
            type: string
            description: Email Id of a principal owner of the business.
          alt_phone_number:
            type: string
            description: The Business or Merchant's alternate phone number
            maxLength: 25
          national_id:
            type: string
            description: The Social Security number of a principal owner. If the principal owner is not from the U.S. Region, then use their national ID card number.
            maxLength: 35
          drivers_license:
            $ref: '#/components/schemas/MatchDriversLicense'
    MatchTerminationReason:
      type: string
      example: '13'
      enum:
        - '01'
        - '02'
        - '03'
        - '04'
        - '05'
        - '07'
        - '08'
        - '09'
        - '10'
        - '11'
        - '12'
        - '13'
        - '14'
      description: |
        A two digit numeric code indication why a particular merchant was terminated.

        * 01 - Account Data Compromise
        * 02 - Common Points of Purchase
        * 03 - Laundering
        * 04 - Excessive Chargebacks
        * 05 - Excessive Fraud
        * 06 - Reserved for Future Use
        * 07 - Fraud Conviction
        * 08 - MasterCard Questionable Merchant Audit Program
        * 09 - Bankruptcy/Liquidation/Insolvency
        * 10 - Violation of MasterCard Standards
        * 11 - Merchant collusion
        * 12 - PCI Data Security Standard, Noncompliance
        * 13 - Illegal Transactions
        * 14 - Identity Theft
    MatchUrl:
      type: object
      properties:
        urls:
          type: array
          items:
            type: string
            maxLength: 4000
    MatchUrlGroup:
      type: object
      properties:
        exact_match_urls:
          $ref: '#/components/schemas/MatchUrl'
        close_match_urls:
          $ref: '#/components/schemas/MatchUrl'
        no_match_urls:
          $ref: '#/components/schemas/MatchUrl'
    MatchMerchant:
      type: object
      properties:
        name:
          type: string
          description: The name of the business assigned by the principal owner(s)
          minLength: 1
          maxLength: 60
        doing_business_as_name:
          type: string
          description: The name used by a merchant that could be different from the legal name of the business
          maxLength: 110
        address:
          $ref: '#/components/schemas/MatchAddress'
        phone_number:
          type: string
          description: The Business or Merchant's phone number. Should not contain country code and should be digits only
          maxLength: 25
        alt_phone_number:
          type: string
          description: The Business or Merchant's alternate phone number
          maxLength: 25
        national_tax_id:
          type: string
          description: The Merchant national tax ID (only provided in the US and is masked)
          maxLength: 35
        country_subdivision_tax_id:
          type: string
          description: The Merchant Country Subdivision tax ID (only provided in the US and is masked)
          maxLength: 35
        urls:
          type: array
          description: Website addresses of the merchant
          items:
            type: string
            maxLength: 4000
        principals:
          $ref: '#/components/schemas/MatchPrincipal'
        added_on_date:
          type: string
          description: Date the merchant was added to the MATCH database (ISO 8601 format).
          example: '2024-01-17'
        termination_reason_code:
          $ref: '#/components/schemas/MatchTerminationReason'
        added_by_acquirer_id:
          type: string
          description: The Member ICA that has added the merchant to the MATCH system
          maxLength: 11
        url_groups:
          type: array
          items:
            $ref: '#/components/schemas/MatchUrlGroup'
        comments:
          type: string
          description: Brief comments on why Merchant is added
          example: Added for reasons of fraud
          maxLength: 500
    MatchPrincipalMatch:
      type: object
      properties:
        name:
          type: string
        address:
          type: string
        phone_number:
          type: string
        alt_phone_number:
          type: string
        national_id:
          type: string
        drivers_license:
          type: string
        email:
          type: string
        date_of_birth:
          type: string
    MatchMerchantMatch:
      type: object
      description: |
        Object showing which field in the merchant data that matched the inquiry.
        Each field has a string value of M00, M01 or M02.

        M00 - No match for the given field

        M01 - Exact match for the given field

        M02 - Phonetic match for the given field

        A phonetic match can happen for words that sound similar (e.g. easy and EZ)
        or minor typographical differences, such as Rob and Bob
      properties:
        name:
          type: string
        doing_business_as_name:
          type: string
        phone_number:
          type: string
        address:
          type: string
        alt_phone_number:
          type: string
        country_subdivision_tax_id:
          type: string
        national_tax_id:
          type: string
        principal_matches:
          type: array
          items:
            $ref: '#/components/schemas/MatchPrincipalMatch'
    MatchSearchResponse:
      type: object
      properties:
        starting_after:
          type: integer
          description: |
            cursor for use in pagination. starting_after is the zero-based index to start the next request after.
            For instance, if you send a request that starts at index 0 and returns 10 items, a subsequent call can include starting_after=10 in order to fetch items starting with item 11.

            If there are no more items this field is not returned.
        inquiry_reference_number:
          type: string
          description: Reference number to look up inquiry result
        possible_matches:
          type: array
          items:
            type: object
            properties:
              total_merchant_matches:
                type: number
                description: Total number of possible matches on terminated merchants
              terminated_merchants:
                type: array
                items:
                  type: object
                  properties:
                    merchant:
                      $ref: '#/components/schemas/MatchMerchant'
                    merchant_match:
                      $ref: '#/components/schemas/MatchMerchantMatch'
    MatchTerminateMerchant:
      type: object
      properties:
        merchant:
          allOf:
            - $ref: '#/components/schemas/MatchRequestMerchant'
            - required:
                - phone_number
            - type: object
              required:
                - merchant_id
                - merchant_category
                - is_proprietorship
                - is_transaction_laundering
              properties:
                merchant_id:
                  type: string
                  minLength: 1
                  maxLength: 15
                  description: |
                    The identifier assigned to a merchant by an acquirer. An acquirer ID and 
                    merchant ID combination must be unique and merchant ID should be less than 15 characters.
                  example: '1234567890'
                merchant_category:
                  type: string
                  minLength: 1
                  maxLength: 4
                  description: |
                    A classification code used in authorization, clearing,
                    and other transactions or reports to identify the type of merchant.
                  example: '1234'
                is_proprietorship:
                  type: string
                  enum:
                    - 'Y'
                    - 'N'
                  description: Y if the merchant is a sole proprietorship
                  example: 'N'
                is_transaction_laundering:
                  type: string
                  enum:
                    - 'Y'
                    - 'N'
                  description: Y if the merchant was terminated for transaction laundering
                  example: 'N'
                principals:
                  type: array
                  minItems: 1
                  maxItems: 5
                  items:
                    type: object
                    required:
                      - date_of_birth
                    properties:
                      date_of_birth:
                        type: string
                        description: |
                          The date of birth of the principal owner.
                          Format: YYYY-MM-DD
                        example: '1980-01-01'
                        format: date
        termination:
          type: object
          required:
            - termination_reason
            - agreement_start_date
            - agreement_termination_date
          properties:
            termination_reason:
              $ref: '#/components/schemas/MatchTerminationReason'
            agreement_start_date:
              type: string
              description: |
                Date the merchant entered into agreement with the acquirer
                Format: YYYY-MM-DD
              example: '2013-12-31'
              format: date
            agreement_termination_date:
              type: string
              description: |
                Date the agreement was terminated with the merchant
                Format: YYYY-MM-DD
              example: '2013-12-31'
              format: date
            comment:
              type: string
              description: Comment on why the merchant is added
              example: Added due to fraud
      required:
        - merchant
        - termination
    VMSSAddress:
      type: object
      required:
        - city
        - countryOrRegion
        - streetAddress
      properties:
        city:
          type: string
          description: The city of the merchant's or agent's registered address.
          minLength: 2
          maxLength: 30
          example: St Albans
        countryOrRegion:
          type: string
          description: The country or region of the merchant's or agent's registered address.
          pattern: ([A-Z]){2}
          minLength: 2
          maxLength: 2
          example: 'NO'
        streetAddress:
          type: string
          description: |
            The street details of the merchant's or agent's registered address that should include,
            in this order as applicable: building number/name, street number and name, shop number, floor number.
          minLength: 4
          maxLength: 40
          example: 80 Wood Street
        stateOrProvince:
          type: string
          description: The state or province of the merchant's or agent's registered address.
          minLength: 2
          maxLength: 20
          example: CA
        zipOrPostalCode:
          type: string
          description: The postal code or zip code for the merchant's or agent's registered address. Required for the US.
          minLength: 3
          maxLength: 8
          example: SA82GF
    VMSSPrincipal:
      title: Up to 5 individuals that are registered as the merchant or agent principal/owner.
      type: array
      items:
        required:
          - name
        type: object
        properties:
          SSN:
            maxLength: 11
            minLength: 11
            type: string
            description: The merchant or agent principal's/owner’s social security number.
          name:
            maxLength: 35
            minLength: 5
            type: string
            description: |
              The name of the individual that is registered as the merchant
              or agent principal/owner.
            example: Bill Smith
          principalID:
            maxLength: 30
            minLength: 0
            type: string
            description: The merchant or agent principal's/owner's id from VMSS 1.0.
            example: '07043453'
          passportNumber:
            maxLength: 30
            minLength: 0
            type: string
            description: The merchant or agent principal's/owner's passport number.
            example: '07043453'
          businessPhoneNumber:
            maxLength: 15
            minLength: 8
            type: string
            description: |
              The merchant or agent principal's/owner's corporate/business
              contact number.
            example: '+861071111222'
          driverLicenseNumber:
            maxLength: 20
            minLength: 0
            type: string
            description: The merchant or agent principal's/owner's driver license number.
            example: '07043453'
          businessEmailAddress:
            maxLength: 40
            minLength: 4
            type: string
            description: |
              The merchant or agent principal's/owner's corporate/business
              email address.
            example: billsmith@snapphoto.com
          residentIDOrNationalID:
            maxLength: 30
            minLength: 0
            type: string
            description: |
              The merchant or agent principal's/owner's resident ID number
              or National ID number. This is required for clients in CEMEA.
            example: '07043453'
    VMSSFinancialAccounts:
      title: Up to 3 financial accounts
      type: array
      items:
        type: object
        properties:
          intBankAccountNumber:
            maxLength: 34
            minLength: 4
            type: string
            description: |
              An International Bank Account Number that can be verified by
              a checksum.
            example: NO8330001234567
          financialAccountNumber:
            maxLength: 20
            minLength: 0
            type: string
            description: |
              A code assigned by a financial institution to uniquely identify
              a customer account within the financial institution.
            example: '8090765400'
          financialInstitutionID:
            maxLength: 10
            minLength: 0
            type: string
            description: |
              A unique code that identifies a Financial Institution; for
            example: '101010'
    VMSSRequestMerchant:
      type: object
      required:
        - DBAName
        - address
        - businessPhoneNumbers
        - principals
      properties:
        address:
          $ref: '#/components/schemas/VMSSAddress'
        taxID:
          maxLength: 30
          minLength: 6
          type: string
          description: |
            A Tax Identification Code registered for the merchant or agent;
            for example, a Value Added Tax (VAT) Number in the UK or a Federal Tax
            ID Number in US.
          example: GB123456789
        DBAName:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            The “Doing-Business-As” Name that the merchant or agent operates
            under.
          example: Snap Photoshop Ltd
        category:
          maxLength: 1
          minLength: 1
          pattern: '[0-5]'
          type: string
          description: |-
            Business Category of the Terminated Record defined as follows:
            0 = Merchant
            1 = Payment Facilitator
            2 = Independent Sales Organization
            3 = Marketplace
            4 = Staged Digital Wallet Operator
            5 = Sponsored Merchant
          example: '1'
        legalName:
          maxLength: 70
          minLength: 4
          type: string
          description: |
            The parent or holding company legally registered name if this
            name is different from the Trading Name/DBA Name. For a sole proprietor,
            this field shall be omitted.
          example: Snap Photoshop Ltd
        principals:
          $ref: '#/components/schemas/VMSSPrincipal'
        webAddresses:
          maxItems: 3
          minItems: 0
          type: array
          description: |
            The registered web address of the merchant or agent. You may
            enter up to 3 web addresses. A web address is required when tradeOverInternet
            is true.
          items:
            maxLength: 40
            minLength: 4
            type: string
            example: https://u.nu
        financialAccts:
          $ref: '#/components/schemas/VMSSFinancialAccounts'
        tradeOverInternet:
          type: boolean
          description: |
            An indicator identifying if the merchant or agent trades over
            the Internet.
          default: false
          example: false
        businessEmailAddress:
          maxLength: 40
          minLength: 4
          type: string
          description: The primary email address registered for the merchant or agent.
          example: billsmith@snapphoto.com
        businessPhoneNumbers:
          maxItems: 3
          minItems: 1
          type: array
          description: |
            The primary phone number registered for the merchant or agent.
            You may enter up to 3 phone numbers.
          items:
            maxLength: 15
            minLength: 8
            type: string
            example: '+861071111222'
        merchantCategoryCodes:
          maxItems: 5
          minItems: 0
          type: array
          description: |
            A four-digit numeric code describing the merchant’s type of
            business product or service, also known as the merchant category code
            (MCC).
          items:
            maxLength: 5
            minLength: 1
            pattern: \d{4}
            type: string
            example: '5411'
        businessRegistrationNumber:
          maxLength: 30
          minLength: 2
          type: string
          description: |
            A Business Registration Number such as Commercial Registration,
            Ministry of Commerce certificate number or equivalent registration number
            for the merchant or agent.
          example: '452349600005'
    VMSSInquiryRequest:
      type: object
      properties:
        merchant:
          $ref: '#/components/schemas/VMSSRequestMerchant'
      required:
        - merchant
    VMSSTerminatedRecord:
      required:
        - address
        - businessPhoneNumbers
        - cardAcceptorIDs
        - category
        - contractEndDate
        - contractStartDate
        - DBAName
        - incorportationStatus
        - primaryListingReason
        - principals
        - tradeInternationally
        - tradeOverInternet
        - merchantCategoryCodes
      type: object
      properties:
        taxID:
          maxLength: 30
          minLength: 6
          type: string
          description: |
            A Tax Identification Code registered for the merchant or agent;
            for example, a Value Added Tax (VAT) Number in the UK or a Federal Tax
            ID Number in US.
          example: GB123456789
        DBAName:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            The “Doing-Business-As” Name that the merchant or agent operates
            under.
          example: Snap Photoshop Ltd
        address:
          $ref: '#/components/schemas/VMSSAddress'
        category:
          maxLength: 1
          minLength: 0
          pattern: '[0-5]'
          type: string
          description: |-
            Business Category of the Terminated Record defined as follows:
            0 = Merchant
            1 = Payment Facilitator
            2 = Independent Sales Organization
            3 = Marketplace
            4 = Staged Digital Wallet Operator
            5 = Sponsored Merchant
          example: '1'
        legalName:
          maxLength: 70
          minLength: 4
          type: string
          description: |
            The parent or holding company legally registered name if this
            name is different from the Trading Name/DBA Name. For a sole proprietor,
            this field shall be omitted.
          example: Snap Photoshop Ltd
        principals:
          $ref: '#/components/schemas/VMSSPrincipal'
        webAddresses:
          title: |
            The registered web address of the merchant or agent. You may enter
            up to 3 web addresses. A web address is required when tradeOverInternet
            is true.
          maxItems: 3
          minItems: 0
          type: array
          description: |
            The registered web address of the merchant or agent. You may
            enter up to 3 web addresses. A web address is required when tradeOverInternet
            is true.
          items:
            maxLength: 40
            minLength: 4
            type: string
            example: https://u.nu
        financialAccts:
          $ref: '#/components/schemas/VMSSFinancialAccounts'
        cardAcceptorIDs:
          title: |
            A unique reference identifying the sales establishment requesting
            the transaction. You may enter up to 5 Card Acceptor IDs.
          maxItems: 5
          minItems: 1
          type: array
          items:
            maxLength: 15
            minLength: 1
            type: string
            description: |
              A unique reference identifying the sales establishment requesting
              the transaction. You may enter up to 5 Card Acceptor IDs.
            example: '12345678910111'
        contractEndDate:
          maxLength: 10
          minLength: 10
          type: string
          description: |
            The date on which the merchant's or agent's contract agreement
            was terminated.
          example: '2019-11-14'
        contractStartDate:
          maxLength: 10
          minLength: 10
          type: string
          description: |
            The date on which the merchant's or agent's contract agreement
            was granted.
          example: '2019-11-01'
        tradeOverInternet:
          type: boolean
          description: |
            An indicator identifying if the merchant or agent trades over
            the Internet.
          default: false
          example: false
        businessEmailAddress:
          maxLength: 40
          minLength: 4
          type: string
          description: The primary email address registered for the merchant or agent.
          example: billsmith@snapphoto.com
        businessPhoneNumbers:
          title: |
            The primary phone number registered for the merchant or agent. You
            may enter up to 3 phone numbers.
          maxItems: 3
          minItems: 1
          type: array
          description: |
            The primary phone number registered for the merchant or agent.
            You may enter up to 3 phone numbers.
          items:
            maxLength: 15
            minLength: 8
            type: string
            example: '+861071111222'
        incorportationStatus:
          maxLength: 1
          minLength: 1
          pattern: '[1-6]|-1'
          type: string
          description: |-
            The incorporation status registered for the merchant or agent defined as follows:
            1 = Individual/Sole Proprietor
            2 = Partnership
            3 = Corporation
            4 = Medical or Legal Corporation 5 = Association / Estate / Trust
            6 = Non-Profit Organization
            -1 = Unknown (returned for legacy listings)
          example: '3'
        primaryListingReason:
          maxLength: 103
          minLength: 2
          type: string
          description: |
            The primary reason for the termination of the merchant's or
            agent's contract.
          example: 29-Bankruptcy/Liquidation/Insolvency
        tradeInternationally:
          type: boolean
          description: |
            An indicator identifying if the merchant or agent trades across
            international borders or territories.
          example: true
          default: false
        merchantCategoryCodes:
          title: |
            A four-digit numeric code describing the merchant’s type of business
            product or service, also known as the merchant category code (MCC).
          maxItems: 5
          minItems: 0
          type: array
          description: |
            A four-digit numeric code describing the merchant’s type of
            business product or service, also known as the merchant category code
            (MCC).
          items:
            maxLength: 5
            minLength: 1
            pattern: \d{4}
            type: string
            example: '5411'
        paymentFacilitatorBID:
          maxLength: 8
          minLength: 8
          pattern: \d{8}
          type: string
          description: |
            The business ID as registered with Visa to uniquely identify
            a payment facilitator.
          example: '10000108'
        secondaryListingReason:
          maxLength: 103
          minLength: 2
          type: string
          description: |
            The secondary reason for the termination of the merchant's
            or agent's contract.
          example: 34-Merchant Identity Theft
        acquirerAssignedMerchantID:
          maxLength: 30
          minLength: 2
          type: string
          description: |
            A unique Merchant Identification Number assigned by the Acquirer
            or by the Payment Facilitator in the case of a Sponsored Merchant. Mandatory
            for Merchant.
          example: '36654773'
        businessRegistrationNumber:
          maxLength: 30
          minLength: 2
          type: string
          description: |
            A Business Registration Number such as Commercial Registration,
            Ministry of Commerce certificate number or equivalent registration number
            for the merchant or agent.
          example: '452349600005'
        paymentFacilitatorCountryOrRegion:
          maxLength: 2
          minLength: 2
          pattern: ([A-Z]){2}
          type: string
          description: The country or region of the payment facilitator.
          example: 'NO'
    VMSSAddressMatch:
      type: object
      properties:
        city:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        streetAddress:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        countryOrRegion:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        stateOrProvince:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        zipOrPostalCode:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
    VMSSPrincipalsMatch:
      title: The principalMatch array.
      type: array
      items:
        type: object
        properties:
          SSN:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          name:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          principalID:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          passportNumber:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          businessPhoneNumber:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          driverLicenseNumber:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          businessEmailAddress:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          residentIDOrNationalID:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
    VMSSFinancialAccountsMatch:
      title: The financialAcctMatch array.
      type: array
      items:
        type: object
        properties:
          intBankAccountNumber:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          financialAccountNumber:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
          financialInstitutionID:
            maxLength: 1
            minLength: 1
            pattern: ([NEP]){1}
            type: string
            description: |-
              The indicator of the match type for the data field.
              N = No Match
              E = Exact Match
              P = Partial Match
            example: 'N'
    VMSSTerminatedRecordMatch:
      type: object
      properties:
        taxID:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        DBAName:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        legalName:
          maxLength: 35
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        addressMatch:
          $ref: '#/components/schemas/VMSSAddressMatch'
        webAddresses:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        principalsMatch:
          $ref: '#/components/schemas/VMSSPrincipalsMatch'
        tradeOverInternet:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        financialAcctsMatch:
          $ref: '#/components/schemas/VMSSFinancialAccountsMatch'
        businessEmailAddress:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        businessPhoneNumbers:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        merchantCategoryCodes:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
        businessRegistrationNumber:
          maxLength: 1
          minLength: 1
          pattern: ([NEP]){1}
          type: string
          description: |-
            The indicator of the match type for the data field.
            N = No Match
            E = Exact Match
            P = Partial Match
          example: 'N'
    VMSSMatchedRecord:
      title: Array of the matched records.
      type: array
      items:
        type: object
        properties:
          acquirerBID:
            maxLength: 8
            minLength: 8
            pattern: \d{8}
            type: string
            description: |
              Visa assigned Business Identifier (BID) of the Acquirer for
              the terminated contract.
            example: '10048640'
          acquirerName:
            maxLength: 240
            minLength: 0
            type: string
            description: Name of the Acquirer for the terminated contract.
            example: Bank of ABC
          terminatedRefID:
            maxLength: 36
            minLength: 1
            type: string
            description: |
              A system-generated terminated record reference identification
              number.
            example: 61e8aa42-d252-4e74-9dcc-85134f37a181
          terminatedRecord:
            $ref: '#/components/schemas/VMSSTerminatedRecord'
          terminatedRecordMatch:
            $ref: '#/components/schemas/VMSSTerminatedRecordMatch'
          acquirerCountryOrRegion:
            maxLength: 2
            minLength: 2
            pattern: ([A-Z]){2}
            type: string
            description: The country or region of the Acquirer for the terminated contract.
            example: 'NO'
    VMSSInquiryResponse:
      type: object
      properties:
        searchTerminatedResponse:
          type: object
          properties:
            possibleMatches:
              type: object
              properties:
                matchedRecords:
                  $ref: '#/components/schemas/VMSSMatchedRecord'
                totalCount:
                  type: integer
                  description: Number of possibly matched records returned in the response.
            searchRequestRef:
              type: object
              properties:
                acquirerBID:
                  maxLength: 8
                  minLength: 8
                  pattern: \d{8}
                  type: string
                  description: |
                    Visa assigned Business Identifier (BID) of the Acquirer for
                    the Search request.
                  example: '10048640'
                globalSearch:
                  type: boolean
                  description: |
                    An indicator identifying if the inquiry is worldwide or regional
                    based. True means Global Search and False means Regional Search.
                  default: false
                  example: false
                searchRequestRefID:
                  maxLength: 99999999
                  minLength: 0
                  type: string
                  description: A system-generated Search request reference id.
                  example: SRCH123412
                acquirerCountryOrRegion:
                  maxLength: 2
                  pattern: ([A-Z]){2}
                  type: string
                  description: The country or region of the Acquirer for the Search request.
                  example: 'NO'
                terminatedRecordSearchCriteria:
                  $ref: '#/components/schemas/VMSSRequestMerchant'
        status:
          type: object
          properties:
            statusDescription:
              type: string
              description: Status Description.
              minLength: 0
              maxLength: 256
              example: Success
            statusCode:
              type: string
              description: Status Code.
              minLength: 6
              maxLength: 6
              example: API000
    VMSSTermianteMerchantRequest:
      type: object
      properties:
        merchant:
          $ref: '#/components/schemas/VMSSTerminatedRecord'
      required:
        - merchant
    VMSSTerminateMerchantResponse:
      type: object
      properties:
        addResponse:
          type: object
          properties:
            acquirerBID:
              maxLength: 8
              minLength: 8
              pattern: \d{8}
              type: string
              description: |
                Visa assigned Business Identifier (BID) of the Acquirer for
                the Search request.
              example: '10048640'
            acquirerCountryOrRegion:
              maxLength: 2
              pattern: ([A-Z]){2}
              type: string
              description: The country or region of the Acquirer for the Search request.
              example: 'NO'
            acquirerName:
              minLength: 0
              maxLength: 240
              type: string
              description: Name of the Acquirer for the terminated contract.
              example: Dintero
            action:
              minLength: 1
              maxLength: 10
              type: string
              description: Action type.
              example: Add
            terminatedRefID:
              minLength: 1
              maxLength: 36
              type: string
              description: A system-generated terminated record reference identification number.
              example: 61e8aa42-d252-4e74-9dcc-85134f37a181
            terminatedRecord:
              $ref: '#/components/schemas/VMSSTerminatedRecord'
        status:
          type: object
          properties:
            statusDescription:
              type: string
              description: Status Description.
              minLength: 0
              maxLength: 256
              example: Success
            statusCode:
              type: string
              description: Status Code.
              minLength: 6
              maxLength: 6
              example: API000
    AccountUser:
      type: object
      description: An admin user for the account
      allOf:
        - $ref: '#/components/schemas/Entity'
        - required:
            - email
          properties:
            email:
              type: string
              example: customer@example.com
            name:
              type: string
              example: John Doe
            scope:
              type: array
              items:
                type: string
                minItems: 1
                example: receipts:write
            authentication_type:
              readOnly: true
              type: string
            agreement:
              $ref: '#/components/schemas/AccountAgreement'
    AccountAdminUser:
      type: object
      description: An admin user for the account
      allOf:
        - $ref: '#/components/schemas/AccountUser'
        - properties:
            roles:
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/AuthRole'
                  - required:
                      - id
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: |
                          An UUID that uniquely identifies the resource
            last_seen_at:
              type: string
              format: date-time
            configuration:
              $ref: '#/components/schemas/AccountUserConfig'
    AuditEvent:
      type: object
      description: |
        Audit event, an **actor** takes an **action** on and
        **entity** within a **context**
      required:
        - id
        - created_at
        - action
        - entity
        - context
      properties:
        id:
          type: string
          format: uuid
          description: |
            An UUID that uniquely identifies the resource
        created_at:
          type: string
          format: date-time
          description: |
            The date-time when the resource was created
        action:
          type: string
          example: auth.token
          description: Name of the action
        actor:
          type: string
          description: User ID who initiated the action.
        entity:
          type: string
          description: ID of the target entity of the action
        context:
          type: object
          description: Context for the event
          example:
            ip: 93.184.216.34
            user_agent: Mozilla/5.0 ..
    AccountSignupRequest:
      type: object
      properties:
        applicant:
          $ref: '#/components/schemas/AccountApplicant'
        company:
          $ref: '#/components/schemas/AccountCompany'
        billing:
          $ref: '#/components/schemas/AccountBilling'
        account_manager:
          type: object
          required:
            - email
          description: |
            Account manager responsible for the account.
            > value is not visible for the merchant
          properties:
            email:
              type: string
              example: employee@dintero.com
        external_integrations:
          type: object
          properties:
            wallmob_signup:
              type: object
              required:
                - merchant_type
                - password
              properties:
                merchant_type:
                  type: string
                  enum:
                    - company
                    - nonprofit
                password:
                  minLength: 6
                  type: string
      required:
        - applicant
    AccountSignupPreFillRequest:
      type: object
      properties:
        prefill_id:
          type: string
          description: Auto-generated id
        applicant:
          $ref: '#/components/schemas/AccountApplicant'
        company:
          $ref: '#/components/schemas/AccountCompany'
        billing:
          $ref: '#/components/schemas/AccountBilling'
        account_manager:
          type: object
          required:
            - email
          description: |
            Account manager responsible for the account.
            > value is not visible for the merchant
          properties:
            email:
              type: string
              example: employee@dintero.com
      required:
        - applicant
        - company
        - billing
    EmailAuthorizedUser:
      type: object
      properties:
        account_id:
          type: string
          format: ^\d{8}$
          description: |
            Account ID for the account created from completing the signup
        access_token:
          description: |
            Applicant user access token with `openid` scope
          type: string
        expires_in:
          description: |
            The lifetime in seconds of the access token.
          type: integer
        token_type:
          type: string
          enum:
            - Bearer
        refresh_token:
          type: string
        email:
          type: string
          description: |
            The email for the user that verified the account
        previous_password_token:
          type: string
          description: |
            A token that can be used as `previous_password`value when changing the password for the user via [PUT /v1/accounts/{aid}/account/user/password](/management-auth-api/account-users/account_user_password_put). Only included in the response if the signup created a new account user.
    Exchange:
      type: object
      required:
        - account_id
      properties:
        account_id:
          type: string
          format: ^[PT]{1}\d{8}$
          description: |
            The account_id to create exchange access_token for
    PricePackageCollectionResponse:
      type: object
      required:
        - price_packages
      properties:
        starting_after:
          type: string
        price_packages:
          type: array
          items:
            $ref: '#/components/schemas/PricePackage'
    PricePackageUpdateData:
      type: object
      allOf:
        - $ref: '#/components/schemas/PricePackageMeta'
        - $ref: '#/components/schemas/PricePackageProducts'
    LegalEntityTypeReadOnly:
      type: string
      description: |
        Type of legal entity
      enum:
        - company
        - individual
    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.
    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'
    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
    AuthPayoutDestinationCollectionEntity:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/AuthPayoutDestinationReadOnly'
    AuthPayoutDestinationCollection:
      type: object
      description: Collection of payout destinations.
      additionalProperties: false
      required:
        - payout_destinations
      properties:
        starting_after:
          type: string
        payout_destinations:
          type: array
          items:
            $ref: '#/components/schemas/AuthPayoutDestinationCollectionEntity'
    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 seller
        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.
        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
    AuthPayoutDestinationCreateRequest:
      type: object
      allOf:
        - $ref: '#/components/schemas/AuthPayoutDestinationCreateData'
    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: 181f1a3e-b81b-4460-a01b-2a3be2a253a1
              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
    AuthPayoutDestination:
      type: object
      allOf:
        - $ref: '#/components/schemas/Entity'
        - $ref: '#/components/schemas/AuthPayoutDestinationReadOnly'
        - $ref: '#/components/schemas/AuthPayoutDestinationAdditionalData'
    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.
    AuthPayoutDestinationPatch:
      type: object
      properties:
        payout_interval_type:
          type: string
          enum:
            - day
            - week
            - month
            - manual
    ServiceStatistic:
      type: object
      properties:
        start_at:
          type: string
          format: datetime
        end_at:
          type: string
          format: datetime
        type:
          type: string
          example: checkout/capture
        total_count:
          type: number
        total_metric_value:
          type: number
    AccountMonthlyStatistics:
      type: object
      readOnly: true
      properties:
        checkout:
          required:
            - payment_product_types
          properties:
            payment_product_types:
              type: array
              items:
                allOf:
                  - required:
                      - payment_product_type
                      - operation
                      - currency
                    properties:
                      operation:
                        type: string
                        enum:
                          - capture
                          - refund
                      currency:
                        type: string
                        example: NOK
                        description: |
                          The three-character ISO-4217 currency.
                          https://en.wikipedia.org/wiki/ISO_4217
                      payment_product_type:
                        type: string
                  - $ref: '#/components/schemas/ServiceStatistic'
        shopping:
          required:
            - orders
          properties:
            orders:
              type: array
              items:
                allOf:
                  - required:
                      - operation
                    properties:
                      operation:
                        type: string
                        enum:
                          - create
                  - $ref: '#/components/schemas/ServiceStatistic'
    AuthTokenBase:
      type: object
      properties:
        grant_type:
          type: string
      required:
        - grant_type
    AccountEventBase:
      type: object
      description: |
        Events registered on the account
      properties:
        event_type:
          type: string
        id:
          type: string
          description: |
            An id 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
          description: |
            The ID of the user/client created the resource
          readOnly: true
      required:
        - event_type
