AZA Finance Transactions API

The Transactions API from AZA Finance — 7 operation(s) for transactions.

Operations 8

GET /transactions Get a list of transactions #
POST /transactions Creates a new transaction #
POST /transactions/calculate Calculates transaction amounts for a transaction payload #
POST /transactions/validate Validates a transaction payload #
POST /transactions/create_and_fund Creates a new transaction and funds it from account balance #
GET /transactions/{Transaction ID} Fetch a single transaction #
POST /transactions/{Transaction ID}/payin Creates a fake payin for transaction #
POST /transactions/{Transaction ID}/payout Creates a fake payout for transaction #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aza-finance-transactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aza-finance-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TransferZero Account Debits Transactions API
  description: Reference documentation for the TransferZero API V1
  version: '1.0'
servers:
- url: https://api-sandbox.transferzero.com/v1
- url: https://api.transferzero.com/v1
security:
- AuthorizationKey: []
  AuthorizationNonce: []
  AuthorizationSignature: []
- AuthorizationKey: []
  AuthorizationSecret: []
tags:
- name: Transactions
paths:
  /transactions:
    get:
      tags:
      - Transactions
      summary: Get a list of transactions
      description: Retrieves a paginated list of the Transactions created by your API key.
      operationId: get-transactions
      parameters:
      - name: page
        in: query
        description: The page number to request (defaults to 1)
        required: false
        schema:
          type: integer
        example: 1
      - name: per
        in: query
        description: The number of results to load per page (defaults to 10)
        required: false
        schema:
          type: integer
        example: 10
      - name: external_id
        in: query
        description: 'Allows filtering results by `external_id`.


          Example: `/v1/senders?external_id=26ec8517-2f0d-48c0-b74f-0bccb9ab3a87`'
        required: false
        schema:
          type: string
      - name: sender_id
        in: query
        description: 'Allows filtering results by `sender_id`.


          Example: `/v1/transactions?sender_id=b41d3cb7-6c54-4245-85fc-8e30690eb0f7`'
        required: false
        schema:
          type: string
      - name: transactions_type
        in: query
        description: 'Allows filtering results by `transactions_type`.


          Example: `/v1/transactions?transactions_type=automated`'
        required: false
        schema:
          type: string
          enum:
          - automated
          - manual
      responses:
        '200':
          description: A paginated list of the transactions created by your API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionListResponse'
        '400':
          description: Bad Request - server was unable to process the request due to invalid syntax.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorStatus'
              example: "{\n  \"status\": 400,\n  \"error\": \"Bad Request\"\n}"
        '401':
          description: Authentication information is missing or invalid.
        '500':
          description: Internal Server Error.
      x-group-parameters: true
    post:
      tags:
      - Transactions
      summary: Creates a new transaction
      description: 'Transactions are the main objects in the TransferZero API, so it''s important to understand how to create and manage them.

        Transactions facilitate money movement from one Sender in a specific currency to one or multiple Recipients in another currency.


        The main flow of a successful transaction flow is the following -

        - Transaction is created linking the Sender to the Recipient(s) with the requested amounts.

        - Once the sender is KYC''d and approved the transaction can be funded.

        - Once the transaction is funded, we will initiate the payout to the recipient(s).

        - After the recipient (or all recipients) has received the money, the transaction is finished.'
      externalDocs:
        description: API Documentation - Create Transaction
        url: https://docs.transferzero.com/docs/transaction-flow/
      operationId: post-transactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
        required: true
      responses:
        '201':
          description: Transaction has been created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: Bad Request - server was unable to process the request due to invalid syntax.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorStatus'
              example: "{\n  \"status\": 400,\n  \"error\": \"Bad Request\"\n}"
        '401':
          description: Authentication information is missing or invalid.
        '422':
          description: Error - transaction payload is invalid (includes errors object and duplicate transaction/sender if external_id is already in use)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '500':
          description: Internal Server Error.
  /transactions/calculate:
    post:
      tags:
      - Transactions
      summary: Calculates transaction amounts for a transaction payload
      description: Calculates the input, output and fee amounts for the recipients in a transaction payload
      operationId: calculate-transactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
        required: true
      responses:
        '200':
          description: Transaction object with calculated values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '401':
          description: Authentication information is missing or invalid.
        '422':
          description: Error - transaction payload is invalid (includes errors object)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '500':
          description: Internal Server Error.
  /transactions/validate:
    post:
      tags:
      - Transactions
      summary: Validates a transaction payload
      description: Validates fields in a transaction payload and displays invalid or missing fields
      operationId: validate-transactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
        required: true
      responses:
        '200':
          description: Success - transaction payload is valid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '401':
          description: Authentication information is missing or invalid.
        '422':
          description: Error - transaction payload is invalid (includes errors object)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '500':
          description: Internal Server Error.
  /transactions/create_and_fund:
    post:
      tags:
      - Transactions
      summary: Creates a new transaction and funds it from account balance
      description: 'This endpoint creates a transaction and funds it from an account balance. You must ensure that you have established an account with us in the pay-in currency of the transactions you wish to create, and that this account is sufficently funded, before calling this endpoint.


        Note that the <pre>external_id</pre> field is required for requests to this endpoint.'
      operationId: create-and-fund-transaction
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRequest'
        required: true
      responses:
        '201':
          description: Transaction has been created and funded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: Bad Request - server was unable to process the request due to invalid syntax.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorStatus'
              example: "{\n  \"status\": 400,\n  \"error\": \"Bad Request\"\n}"
        '401':
          description: Authentication information is missing or invalid.
        '422':
          description: Error - transaction payload is invalid (includes errors object and duplicate transaction/sender if external_id is already in use)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '500':
          description: Internal Server Error.
  /transactions/{Transaction ID}:
    get:
      tags:
      - Transactions
      summary: Fetch a single transaction
      description: 'Finds and returns a Transaction created by the requesting API key, using

        the provided Transaction ID.'
      operationId: get-transaction
      parameters:
      - name: Transaction ID
        in: path
        description: 'ID of the transaction.


          Example: `/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670`'
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Transaction object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '400':
          description: Bad Request - server was unable to process the request due to invalid syntax.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorStatus'
              example: "{\n  \"status\": 400,\n  \"error\": \"Bad Request\"\n}"
        '401':
          description: Authentication information is missing or invalid.
        '404':
          description: Resource Not Found.
        '500':
          description: Internal Server Error.
      x-group-parameters: true
  /transactions/{Transaction ID}/payin:
    post:
      tags:
      - Transactions
      summary: Creates a fake payin for transaction
      description: 'This method is available only in sandbox environment and is supposed to be used only for testing integration.

        It allows you to emulate a payin without paying actual money.

        '
      operationId: payin-transaction
      parameters:
      - name: Transaction ID
        in: path
        description: 'ID of the transaction to payin.


          Example: `/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payin`'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayinMethodRequest'
        required: true
      responses:
        '200':
          description: Transaction object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '401':
          description: Authentication information is missing or invalid.
        '404':
          description: Resource Not Found.
        '422':
          description: Invalid transaction object (includes errors object)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '500':
          description: Internal Server Error.
  /transactions/{Transaction ID}/payout:
    post:
      tags:
      - Transactions
      summary: Creates a fake payout for transaction
      description: 'This method is available only in sandbox environment and is supposed to be used only for testing.

        It allows you to emulate the payout of a transaction after payin.

        '
      operationId: payout-transaction
      parameters:
      - name: Transaction ID
        in: path
        description: 'ID of the transaction to payout.


          Example: `/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payout`'
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Transaction object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionResponse'
        '401':
          description: Authentication information is missing or invalid.
        '404':
          description: Resource Not Found.
        '500':
          description: Internal Server Error.
components:
  schemas:
    TransactionResponseMeta:
      type: object
      properties:
        existing:
          $ref: '#/components/schemas/TransactionResponseExisting'
      readOnly: true
    TransactionResponse:
      type: object
      properties:
        object:
          $ref: '#/components/schemas/Transaction'
        meta:
          $ref: '#/components/schemas/TransactionResponseMeta'
      readOnly: true
      example:
        object:
          id: 5280d11f-0ed3-4a60-ab07-29fdb058e4c4
          metadata: {}
          state: approved
          input_amount: 1000.0
          input_currency: GBP
          sender:
            id: fdee3b02-81ad-409d-9f34-2b0dd5c39e8f
            type: person
            state: approved
            country: UG
            street: fake street
            postal_code: fak3 one
            city: London
            phone_number: '+256752403639'
            email: example@home.org
            ip: 127.0.0.1
            first_name: Peter
            last_name: Smith
            birth_date: '1987-08-08'
            metadata:
              my: data
            providers: {}
          payin_methods: []
          paid_amount: 0.0
          due_amount: 1000.0
          recipients:
          - id: 31288256-ec72-4a0a-bab7-06fb3a6cc8dd
            transaction_id: 5280d11f-0ed3-4a60-ab07-29fdb058e4c4
            created_at: '2017-08-08T13:19:32.855Z'
            input_usd_amount: 772.5
            state: initial
            transaction_state: initial
            editable: true
            retriable: true
            may_cancel: true
            requested_amount: 750.0
            requested_currency: USD
            input_amount: 1000.0
            input_currency: EUR
            output_amount: 294750.0
            output_currency: NGN
            payout_method:
              id: e7e6ca2e-1b38-4d55-991c-d6933c2f6043
              type: NGN::Bank
              details:
                first_name: Johnny
                last_name: English
                bank_code: '050'
                bank_account: '11039382982833'
                bank_account_type: '20'
              metadata: {}
            metadata: {}
          created_at: 2017-08-08 13:19:32 UTC
          expires_at: '2017-08-08T14:19:32.855Z'
          external_id: 806ec63a-a5a7-43cc-9d75-1ee74fbcc026
        meta:
          existing:
            sender:
              id: fdee3b02-81ad-409d-9f34-2b0dd5c39e8f
              type: person
              state: approved
              country: UG
              street: fake street
              postal_code: fak3 one
              city: London
              phone_number: '+256752403639'
              email: example@home.org
              ip: 127.0.0.1
              first_name: Peter
              last_name: Smith
              birth_date: '1987-08-08'
              metadata:
                my: data
              providers: {}
            transaction:
              id: 5280d11f-0ed3-4a60-ab07-29fdb058e4c4
              metadata: {}
              state: approved
              input_amount: 1000.0
              input_currency: GBP
              sender:
                id: fdee3b02-81ad-409d-9f34-2b0dd5c39e8f
                type: person
                state: approved
                country: UG
                street: fake street
                postal_code: fak3 one
                city: London
                phone_number: '+256752403639'
                email: example@home.org
                ip: 127.0.0.1
                first_name: Peter
                last_name: Smith
                birth_date: '1987-08-08'
                metadata:
                  my: data
                providers: {}
              payin_methods: []
              paid_amount: 0.0
              due_amount: 1000.0
              recipients:
              - id: 31288256-ec72-4a0a-bab7-06fb3a6cc8dd
                transaction_id: 5280d11f-0ed3-4a60-ab07-29fdb058e4c4
                created_at: '2017-08-08T13:19:32.855Z'
                input_usd_amount: 772.5
                state: initial
                transaction_state: initial
                editable: true
                retriable: true
                may_cancel: true
                requested_amount: 750.0
                requested_currency: USD
                input_amount: 1000.0
                input_currency: EUR
                output_amount: 294750.0
                output_currency: NGN
                payout_method:
                  id: e7e6ca2e-1b38-4d55-991c-d6933c2f6043
                  type: NGN::Bank
                  details:
                    first_name: Johnny
                    last_name: English
                    bank_code: '050'
                    bank_account: '11039382982833'
                    bank_account_type: '20'
                  metadata: {}
                metadata: {}
              created_at: 2017-08-08 13:19:32 UTC
              expires_at: '2017-08-08T14:19:32.855Z'
              external_id: 806ec63a-a5a7-43cc-9d75-1ee74fbcc026
    PayinMethodDetails:
      description: 'Fields needed by the payment processor. Depends on the chose payin type.


        See the appropriate model details for more info:


        - `NGN::Bank`: see [`PayinMethodDetailsNGNBank`](#model-PayinMethodDetailsNGNBank)

        - `GHS::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile)

        - `UGX::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile)


        Note that some payin processors don''t require additional input, these include `lhv` through `EUR::Bank` and `GBP::Bank`.

        Some providers like `providus` also have all of their fields set as optional, so you might not want to set any values.

        To use these providers please set this value to `{}` (an empty hash)

        '
      oneOf:
      - $ref: '#/components/schemas/PayinMethodDetailsNGNBank'
      - $ref: '#/components/schemas/PayinMethodDetailsMobile'
      - $ref: '#/components/schemas/PayinMethodDetailsBTC'
    PayoutMethodDetailsBTC:
      required:
      - address
      - first_name
      - last_name
      - name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        name:
          type: string
        address:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"name\": \"Full Name\"\n  \"address\": \"n4VQ5YdHf7hLQ2gWQYYrcxoE5B7nWuDFNF\"\n}"
    PayinMethodRequest:
      type: object
      properties:
        payin_method:
          $ref: '#/components/schemas/PayinMethod'
      example:
        payin_method:
          type: PayinMethod::NGN::Bank
    PayoutMethod:
      type: object
      properties:
        type:
          type: string
          description: 'Contains the currency to send the money to, and the type of the money movement


            Commonly used payout types are:


            - `NGN::Bank` - for Nigerian bank account payments.

            - `GHS::Bank` - for Ghanaian bank account payments.

            - `GHS::Mobile` - for Ghanaian mobile money payments.

            - `UGX::Mobile` - for Ugandan mobile money payments.

            - `XOF::Mobile` - for mobile money payments to West-Africa.

            - `XOF::Bank` - for Senegalese bank account payments.

            - `XOF::Cash` - for Senegalese cash remittance payments.

            - `MAD::Cash` - for Moroccan cash remittance payments.

            - `EUR::Bank` - for IBAN bank transfers in EUR.

            - `GBP::Bank` - for IBAN bank and FP accounts transfers in GBP.

            - `ZAR::Bank` - for South Africa bank account payments.

            - `USD::Bank` - for USD account payments. *** Currently for Egypt, Nigeria and United States only and in Beta phase ***

            - `USD::Cash` - for USD cash remittance payments. *** Currently for Nigeria only and in Beta phase ***

            - `KES::Bank` - for Kenyan bank account payments.

            - `KES::Mobile` - for Kenyan mobile money payments.

            - `XAF::Mobile` - for mobile money payments to Central African (CEMAC) countries. *** Currently in Beta phase ***

            - `XAF::Bank` - for Cameroon bank account payments.

            - `GNF::Mobile` - for mobile money payments to Guinea.

            - `BRL::Bank` - for Brazilian bank account payments.

            - `NZD::Bank` - for New Zealand bank account payments.

            - `BWP::Bank` - for Botswana bank account payments.

            - `ZMW::Bank` - for Zambian bank account payments.

            - `CAD::Bank` - for Canadian bank account payments.

            - `UGX::Bank` - for Ugandan bank account payments.

            - `EGP::Bank` - for Egyptian bank account payments.

            - `EGP::Cash` - for Egyptian cash payments.

            '
          example: NGN::Bank
        details:
          $ref: '#/components/schemas/PayoutMethodDetails'
        metadata:
          type: object
          description: Metadata of payout method. You can store any kind of information in this field.
          example: {}
        id:
          type: string
          format: uuid
        errors:
          additionalProperties:
            type: array
            readOnly: true
            items:
              $ref: '#/components/schemas/ValidationErrorDescription'
          description: The fields that have some problems and don't pass validation
          readOnly: true
          example:
            phone_number:
            - error: invalid
            documents:
            - error: blank
        fields:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FieldDescription'
          description: The fields needed for payments with this payment method with details on validation requirements
          readOnly: true
          example:
            email:
              type: input
              validations:
                inclusion:
                  in:
                    NI: National Id
                    PP: Passport
                  allow_blank: true
      description: This describes the specific details on how the payment has to be routed to the recipient.
      example:
        metadata: {}
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        type: NGN::Bank
        fields:
          email:
            type: input
            validations:
              inclusion:
                in:
                  NI: National Id
                  PP: Passport
                allow_blank: true
        errors:
          phone_number:
          - error: invalid
          documents:
          - error: blank
      externalDocs:
        description: Payout Types in the API documentation
        url: https://docs.transferzero.com/docs/transaction-flow/#payout-type
    PayoutMethodMobileProviderEnum:
      type: string
      description: 'The Mobile Wallet provider of the recipient:


        For XOF (Senegal) valid options are:

        - `orange`: Orange

        - `tigo`: Tigo

        - `emoney`: Emoney

        - `free`: Free

        - `expresso` : Expresso

        - `wave`: Wave


        For XOF (Ivory Coast) valid options are:

        - `orange`: Orange

        - `moov`: Moov

        - `mtn`: MTN

        - `wave`: Wave


        For XOF (Burkina Faso) valid options are:

        - `orange`: Orange

        - `mobicash`: Mobicash

        - `moov` : Moov


        For XOF (Togo) valid options are:

        - `moov`: Moov

        - `tmoney`: Tmoney


        For XOF (Benin) valid options are:

        - `moov`: Moov

        - `mtn`: Mtn


        For XOF (Mali) valid options are:

        - `orange`: Orange

        - `mobicash`: Mobicash

        - `tigo` : Tigo


        For GHS valid options are:

        - `airteltigo`: AirtelTigo

        - `mtn`: MTN

        - `vodafone`: Vodafone


        For KES valid options are:

        - `mpesa`: MPESA


        For UGX valid options are:

        - `africell`: Africell

        - `airtel`: Airtel

        - `mtn`: MTN

        - `telecom`: Telecom


        For XAF (Chad) valid options are:

        - `moov`: Moov


        For XAF (Cameroon) valid options are:

        - `orange`: Orange

        - `mtn`: MTN


        For XAF (Congo) valid options are:

        - `airtel`: Airtel

        - `mtn`: MTN


        For XAF (Gabon) valid options are:

        - `airtel`: Airtel

        - `moov`: Moov


        For GNF (Guinea) valid options are:

        - `orange`: Orange

        - `mtn`: MTN'
      example: orange
      enum:
      - africell
      - airtel
      - airteltigo
      - emoney
      - expresso
      - free
      - mobicash
      - moov
      - mpesa
      - mtn
      - orange
      - telecom
      - tigo
      - tmoney
      - vodafone
      - wave
    Pagination:
      type: object
      properties:
        current_page:
          type: integer
          description: The number of the current page
          readOnly: true
          example: 2
        next_page:
          type: integer
          description: The number of the next page. If no next page exists, this will be `null`
          readOnly: true
          example: 3
        prev_page:
          type: integer
          description: The number of the previous page. If no previous page exists, this will be `null`
          readOnly: true
          example: 1
        total_pages:
          type: integer
          description: The number of pages in the result set
          readOnly: true
          example: 5
        total_count:
          type: integer
          description: The total number of results in the set
          readOnly: true
          example: 45
      readOnly: true
      example:
        next_page: 3
        total_count: 45
        total_pages: 5
        prev_page: 1
        current_page: 2
    RecipientStateReasonDetails:
      anyOf:
      - $ref: '#/components/schemas/StateReasonDetails'
    RecipientState:
      type: string
      description: 'The state of the recipient. Can be one of the following:


        * `initial`: We haven''t initiated the payout yet, you can still cancel the transaction

        * `pending`: Payout has been initiated and we''re waiting from a response from the provider. You can try to cancel it at this point, however it will only get cancelled if we get confirmation from our partner that the payment has failed.

        * `success`: Payout is done, and the recipient has been paid.

        * `error`: There was an error from the provider, you can find more details in the `state_reason` attribute. We will usually retry the transaction at a later date. You can either wait, edit the recipient or cancel the transaction.

        * `refunded`: You asked us to cancel the transaction and we refunded the money.

        * `manual`: There were too many errors on this transaction, and we stopped retrying. Please edit the recipient, contact us or cancel the transaction.

        * `stuck`: We didn''t receive a response from the provider in time, and we don''t know whether it has been paid our not. Please contact us for further details.

        * `overpaid`: The recipient was paid out more than was requested (not applicable for most of the payout providers)

        * `canceled`: The transaction has been cancelled, and we will refund the money soon

        * `exception`: Some exception has happened; please contact TransferZero'
      readOnly: true
      example: initial
      enum:
      - initial
      - pending
      - success
      - error
      - refunded
      - manual
      - stuck
      - overpaid
      - canceled
      - exception
    PayoutMethodCashProviderEnum:
      type: string
      description: 'The cash provider for the pickup:

        For XOF valid options are:

        - `wizall`: Wizall'
      example: wizall
      enum:
      - wari
      - wizall
    FieldSelectValidation:
      type: object
      properties:
        in:
          type: object
          description: Describes the valid options for this selectbox
          readOnly: true
          example:
            '20': Current
            '10': Savings
        allow_blank:
          type: boolean
          description: Describes whether the field is optional or not
          readOnly: true
          example: false
    PayoutMethodDetailsIBAN:
      required:
      - first_name
      - iban
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        iban:
          type: string
        bic:
          type: string
        bank_name:
          type: string
        narration:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"iban\": \"DE89370400440532013000\",\n  \"bic\": \"DEUTDEBBXXX\", // Optional\n  \"bank_name\": \"Deutsche Bank\", // Optional\n  \"narration\": \"Birthday Gift\" // Optional\n}\n```"
    PayoutMethodDetailsXOFCash:
      required:
      - cash_provider
      - first_name
      - last_name
      - phone_number
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        phone_number:
          type: string
        cash_provider:
          $ref: '#/components/schemas/PayoutMethodCashProviderEnum'
        country:
          $ref: '#/components/schemas/PayoutMethodCountryEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"phone_number\": \"+221774044436\", // E.164 international format\n  \"cash_provider\": \"wizall\" // Mandatory; Values: \"wizall\";\n  \"country\": \"SN\" // Optional; Values: \"CI\", \"ML\" or \"SN\"; Default value is \"SN\";\n}\n```\n\nPlease note all senders trying to create Wizall cash pickup requests must have `identity_type` and `identity_number` present. The fields above are generally considered optional for senders for other payment corridors. If you wish to use an existing sender who has some of these fields missing you can provide them alongside the `id` or `external_id` field in the sender details.\nFor example -\n\n```JSON\n{\n  \"transaction\": {\n      \"sender\": {\n        \"external_id\": \"<id of sender>\",\n        \"identity_type\": \"ID\",\n        \"identity_number\": \"AB12345678\",\n        (...)\n      },\n      (...)\n    }\n}\n```"
    PayinMethodDetailsMobile:
      type: object
      properties:
        phone_number:
          type: string
          description: The phone number where the funds should be collected from
          example: '+256129999999'
        mobile_provider:
          $ref: '#/components/schemas/PayoutMethodMobileProviderEnum'
        country:
          $ref: '#/components/schemas/PayoutMethodCountryEnum'
        otp:
          type: string
          description: The OTP that the sender received in otp verified ussd popup ux flow.
      description: "```JSON\n\"details\": {\n  \"phone_number\": \"+256129999999\",\n}\n```"
    PayoutMethodNatureOfBusinessEnum:
      type: string
      description: "Nature of business options (used only with a Business sender)\n\nAvailable values:\n  - personal: Personal\n  - agriculture_and_hunting: Agriculture and Hunting\n  - forestry: Forestry\n  - fishing: Fishing\n  - agricultural_by_products: Agricultural By-Products\n  - coal_mining: Coal Mining\n  - oil_mining: Oil Mining\n  - iron_ore_mining: Iron Ore Mining\n  - other_metal_and_diamond_mining: Other Metal and Diamond Mining\n  - other_mineral_mining: Other Mineral Mining\n  - manufacturing_of_food_drink_tobacco: Manufacture of Food/Drink/Tobacco\n  - manufacturing_of_textiles_leather_fur_furniture: Manufacture of Textiles/Leather/Fur/Furniture\n  - manufa

# --- truncated at 32 KB (157 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aza-finance/refs/heads/main/openapi/aza-finance-transactions-api-openapi.yml