BanQu Asset Sharing API

The Asset Sharing API from BanQu — 6 operation(s) for asset sharing.

Operations 8

GET /assets/shares
POST /assets/shares
GET /assets/shares/{shareId}
DELETE /assets/shares/{shareId}
GET /assets/shares/{shareId}/transfers
GET /assets/shares/{shareId}/transfers/{transferId}
GET /assets/shares/{shareId}/transfers/{transferId}/sources
GET /assets/shares/{shareId}/transfers/{transferId}/form

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/banqu-asset-sharing-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 email required.

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

OpenAPI Specification

banqu-asset-sharing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BanQu Asset Sharing API
  version: 3.3.4
  description: The BanQu API is organized around [REST](http://en.wikipedia.org/wiki/Representational_State_Transfer). Our API is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP verbs, which can be understood by off-the-shelf HTTP clients, and [JSON](http://www.json.org) for input and output.
servers:
- url: https://banqu.app:443/api/v1
security:
- Bearer: []
tags:
- name: Asset Sharing
paths:
  /assets/shares:
    get:
      description: List asset shares
      tags:
      - Asset Sharing
      responses:
        '200':
          description: List of asset and transfer shares
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetShareList'
        '401':
          $ref: '#/components/responses/401'
    post:
      description: Create asset share
      tags:
      - Asset Sharing
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewAssetShare'
      responses:
        '201':
          $ref: '#/components/responses/201'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
  /assets/shares/{shareId}:
    parameters:
    - in: path
      name: shareId
      schema:
        type: string
      required: true
    get:
      security: []
      description: Get asset share details
      tags:
      - Asset Sharing
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetShare'
        '404':
          $ref: '#/components/responses/404'
    delete:
      description: Delete asset share
      tags:
      - Asset Sharing
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
  /assets/shares/{shareId}/transfers:
    get:
      security: []
      description: Get shared asset history
      tags:
      - Asset Sharing
      parameters:
      - in: path
        name: shareId
        schema:
          type: string
        required: true
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      - name: since
        description: Get transfer after specific time. The value should contain a valid JavaScript Timestamp
        in: query
        schema:
          type: number
        required: false
      - name: till
        description: Get transfer before specific time. The value should contain a valid JavaScript Timestamp
        in: query
        schema:
          type: number
        required: false
      - name: sourcesGroupingMethod
        in: query
        schema:
          type: string
          enum:
          - precise
          - fifo
      responses:
        '200':
          description: List of transfers between date ranges
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetShareTransfer'
        '404':
          $ref: '#/components/responses/404'
  /assets/shares/{shareId}/transfers/{transferId}:
    get:
      security: []
      description: Get shared asset transfer details
      tags:
      - Asset Sharing
      parameters:
      - in: path
        name: shareId
        schema:
          type: string
        required: true
      - in: path
        name: transferId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Transfer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnyAssetOperation'
        '404':
          $ref: '#/components/responses/404'
  /assets/shares/{shareId}/transfers/{transferId}/sources:
    get:
      security: []
      description: List shared asset transfer sources
      tags:
      - Asset Sharing
      parameters:
      - in: path
        name: shareId
        schema:
          type: string
        required: true
      - in: path
        name: transferId
        schema:
          type: string
        required: true
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      - name: sourcesGroupingMethod
        in: query
        schema:
          type: string
          enum:
          - precise
          - fifo
      responses:
        '200':
          description: List of transfers that provided an amount of asset that was transferred in given transfer
          content:
            application/json:
              schema:
                type: array
                title: Transfers
                items:
                  $ref: '#/components/schemas/AnyAssetOperation'
        '404':
          $ref: '#/components/responses/404'
  /assets/shares/{shareId}/transfers/{transferId}/form:
    get:
      security: []
      description: Get shared asset transfer properties form
      tags:
      - Asset Sharing
      parameters:
      - in: path
        name: shareId
        schema:
          type: string
        required: true
      - in: path
        name: transferId
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Transfer properties form
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Form'
        '404':
          $ref: '#/components/responses/404'
components:
  schemas:
    FormFieldWithItems:
      title: Form Field with Items
      type: object
      properties:
        $entityId:
          type: string
          description: Internal unique identifier for the field
        name:
          $ref: '#/components/schemas/JsonNestedIdentifier'
        type:
          type: string
          enum:
          - select
          - multiSelect
          - radio
        displayAs:
          type: string
          enum:
          - dropdown
          - list
        title:
          $ref: '#/components/schemas/LocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        descriptionVariant:
          $ref: '#/components/schemas/DescriptionVariant'
        required:
          type: boolean
        validation:
          type: string
        parentFieldName:
          $ref: '#/components/schemas/ParentFieldName'
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Internal unique identifier for the item
              title:
                $ref: '#/components/schemas/OptionalLocalizedString'
              value:
                type: string
              weight:
                type: number
                minimum: -1
                description: A numerical value representing the importance of this item in the overall score calculation. Higher values indicate greater importance.
              frozen:
                type: boolean
                description: Indicates if the item is frozen and cannot be modified
              parentValue:
                type: string
                description: Value of a parent field that this item belongs to. Used to filter items in a select field based on the parent field value
            required:
            - value
            additionalProperties: false
        allowOther:
          type: boolean
        visibility:
          $ref: '#/components/schemas/FormElementVisibility'
        primary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        globalPrimary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        uniqueAcrossInstances:
          type: boolean
          description: Unique across section instances when form section is repeatable
        size:
          type: integer
          description: The number of slots preserved for the field in a table column
          minimum: 1
          maximum: 12
        displayTotals:
          type: boolean
          description: When enabled, the sum of all field values is displayed in the totals row on the UI
        weight:
          type: number
          description: A numerical value representing the importance of this field in the overall score calculation. Higher values indicate greater importance.
        isParent:
          type: boolean
          description: Mark the selected connection as a parent of the data entry
        importanceArea:
          $ref: '#/components/schemas/FormFieldImportance'
        frozen:
          type: boolean
          readOnly: true
      required:
      - name
      - type
      - title
      - required
    PaymentDestinationType:
      title: Destination Type
      description: mobile for payments by phone number; payCode for 6DOT50 partner transfer
      enum:
      - mobile
      - new-mobile
      - payCode
    FormGroup:
      type: object
      properties:
        id:
          type: string
        title:
          $ref: '#/components/schemas/OptionalLocalizedString'
        parentId:
          type: string
          description: Identifier of the group this sub-group belongs to
        weight:
          type: number
          minimum: 0
          description: A numerical value representing the importance of this field in the overall score calculation. Higher values indicate greater importance.
        threshold:
          type: number
          minimum: 0
          description: A specific value that the score must meet or exceed for a particular action or decision to be triggered.
      additionalProperties: false
      required:
      - id
    GeoCoordinates:
      type: object
      properties:
        lat:
          type: number
          format: double
          minimum: -90
          maximum: 90
        lon:
          type: number
          format: double
          minimum: -180
          maximum: 180
      additionalProperties: false
      required:
      - lat
      - lon
      example:
        lat: 37.7749
        lon: -122.4194
    AssetShare:
      allOf:
      - $ref: '#/components/schemas/AssetShareData'
      - $ref: '#/components/schemas/AssetTransferShareData'
    TransformingAsset:
      type: object
      additionalProperties: false
      properties:
        id:
          $ref: '#/components/schemas/Id'
        code:
          $ref: '#/components/schemas/AssetCode'
        description:
          $ref: '#/components/schemas/AssetDescription'
        uom:
          $ref: '#/components/schemas/AssetUom'
      required:
      - id
      - code
      - uom
    FormSection:
      title: Form Section
      type: object
      properties:
        $entityId:
          type: string
          description: Internal unique identifier for the section
        title:
          $ref: '#/components/schemas/OptionalLocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        name:
          $ref: '#/components/schemas/JsonIdentifier'
        multiple:
          type: boolean
          description: If multiple instances of the section are allowed
        required:
          type: boolean
          description: If at least one of the section instances is required
        requiredIf:
          type: string
        visibleIf:
          type: string
        weight:
          type: number
          description: A numerical value representing the importance of this field in the overall score calculation. Higher values indicate greater importance.
        threshold:
          type: number
          minimum: 0
          description: A specific value that the score must meet or exceed for a particular action or decision to be triggered.
        layout:
          type: string
          description: Section markup layout
          enum:
          - horizontal
          - vertical
          - table
        fields:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/FormField'
            - $ref: '#/components/schemas/CheckboxField'
            - $ref: '#/components/schemas/FormFieldWithItems'
            - $ref: '#/components/schemas/FormMarkupElement'
            - $ref: '#/components/schemas/FragmentField'
        groupId:
          type: string
          description: Identifier of the group this section belongs to
        frozen:
          type: boolean
          readOnly: true
      required:
      - fields
    JsonIdentifier:
      type: string
      description: JSON field name
      pattern: ^[$a-zA-Z_][\da-zA-Z_]*$
    FormMarkupElement:
      title: Form Markup Element
      type: object
      required:
      - title
      - type
      properties:
        type:
          type: string
          enum:
          - legend
          - static
        url:
          type: string
          format: url
        title:
          $ref: '#/components/schemas/LocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        visibility:
          $ref: '#/components/schemas/FormElementVisibility'
        $entityId:
          type: string
        requiredIf:
          type: string
        visibleIf:
          type: string
      additionalProperties: false
    ParentFieldName:
      type: string
      pattern: ^[a-zA-Z_][\da-zA-Z_]*(\[\]\.([a-zA-Z_][\da-zA-Z_]*))?(\.([a-zA-Z_][\da-zA-Z_]*|\d+))*$
      description: Name of a parent field whose selected value filters options in this field. E.g., selecting a connection filters related data entries
    JsonNestedIdentifier:
      type: string
      description: JSON field name, optionally nested, e.g., 'field1.subfield2'
      pattern: ^[a-zA-Z_][\da-zA-Z_]*(\.([a-zA-Z_][\da-zA-Z_]*|\d+))*$
    Attachments:
      type: array
      items:
        $ref: '#/components/schemas/Attachment'
    PaymentDestination:
      oneOf:
      - $ref: '#/components/schemas/AssetMobileDestination'
      - $ref: '#/components/schemas/AssetAgencyDestination'
    AssetDescription:
      type: string
      minLength: 0
      maxLength: 200
    ImmutableTimestamp:
      type: number
      readOnly: true
      description: Number of milliseconds elapsed since January 1, 1970 00:00:00 UTC
      example: 1568894551000
    AssetTransferShareData:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        assetId:
          $ref: '#/components/schemas/Id'
        transferId:
          $ref: '#/components/schemas/Id'
        holderId:
          $ref: '#/components/schemas/Id'
        since:
          $ref: '#/components/schemas/Timestamp'
        till:
          $ref: '#/components/schemas/Timestamp'
        asset:
          $ref: '#/components/schemas/AssetInfo'
        assetHistory:
          $ref: '#/components/schemas/AssetHistory'
      required:
      - assetId
      - id
      - holderId
      - asset
      - since
      - till
    AssetUom:
      title: Asset Unit of Measurement
      type: string
      enum:
      - BR
      - BO
      - BX
      - BU
      - CN
      - CA
      - CH
      - DO
      - EA
      - FO
      - FT
      - GA
      - GR
      - HR
      - JA
      - KG
      - KK
      - LT
      - Q3
      - MR
      - MG
      - M4
      - OZ
      - PK
      - PR
      - PC
      - LB
      - SJ
      - VS
      - YD
      example: KG
    AssetShareData:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        assetId:
          $ref: '#/components/schemas/Id'
        holderId:
          $ref: '#/components/schemas/Id'
        startDate:
          type: string
        endDate:
          type: string
        asset:
          $ref: '#/components/schemas/AssetInfo'
      required:
      - assetId
      - id
      - holderId
      - asset
    CheckboxField:
      title: Checkbox Field
      type: object
      properties:
        $entityId:
          type: string
          description: Internal unique identifier for the field
        name:
          $ref: '#/components/schemas/JsonNestedIdentifier'
        type:
          type: string
          enum:
          - checkbox
        title:
          $ref: '#/components/schemas/OptionalLocalizedString'
        placeholder:
          $ref: '#/components/schemas/OptionalLocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        descriptionVariant:
          $ref: '#/components/schemas/DescriptionVariant'
        required:
          type: boolean
        visibility:
          $ref: '#/components/schemas/FormElementVisibility'
        size:
          type: integer
          description: The number of slots preserved for the field in a table column
          minimum: 1
          maximum: 12
        weight:
          type: number
          description: A numerical value representing the importance of this field in the overall score calculation. Higher values indicate greater importance.
        importanceArea:
          $ref: '#/components/schemas/FormFieldImportance'
        frozen:
          type: boolean
          readOnly: true
        uniqueAcrossInstances:
          enum:
          - false
        defaultValue:
          type: boolean
          description: Default value for this checkbox field
      required:
      - name
      - type
    FragmentField:
      title: Fragment Field
      type: object
      required:
      - fragmentId
      - type
      properties:
        type:
          type: string
          enum:
          - fragment
        fragmentId:
          type: string
          minLength: 16
        title:
          $ref: '#/components/schemas/LocalizedString'
        placeholder:
          $ref: '#/components/schemas/OptionalLocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        descriptionVariant:
          $ref: '#/components/schemas/DescriptionVariant'
        visibility:
          $ref: '#/components/schemas/FormElementVisibility'
        $entityId:
          type: string
        requiredIf:
          type: string
        visibleIf:
          type: string
        required:
          type: boolean
        importanceArea:
          $ref: '#/components/schemas/FormFieldImportance'
        frozen:
          type: boolean
          readOnly: true
        primary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        globalPrimary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        uniqueAcrossInstances:
          type: boolean
          description: Unique across section instances when form section is repeatable
        formula:
          type: string
          description: Formula for calculated mode of the field
      additionalProperties: false
    PaymentDestinationProvider:
      title: Payment Destination Provider
      description: Payment provider where the payment should be delivered to
      type: string
      enum:
      - banqu-agency
      - mtn-zambia
      - 6dot50pay-zaf
      - mtn-uganda
      - tigo-tanzania
      - celbux-zaf
      - airtel
      - zamtel
      - vodacom
    FormField:
      title: Form Field
      type: object
      properties:
        $entityId:
          type: string
          description: Internal unique identifier for the field
        name:
          $ref: '#/components/schemas/JsonNestedIdentifier'
        type:
          type: string
          enum:
          - text
          - textarea
          - connectionSelect
          - assetSelect
          - countrySelect
          - currencySelect
          - dataEntrySelect
          - datetime
          - file
          - geoPosition
          - polygon
          - barcode
        title:
          $ref: '#/components/schemas/LocalizedString'
        placeholder:
          $ref: '#/components/schemas/OptionalLocalizedString'
        description:
          $ref: '#/components/schemas/OptionalLocalizedString'
        descriptionVariant:
          $ref: '#/components/schemas/DescriptionVariant'
        required:
          type: boolean
        validation:
          type: string
        parentFieldName:
          $ref: '#/components/schemas/ParentFieldName'
        visibility:
          $ref: '#/components/schemas/FormElementVisibility'
        format:
          type: string
          description: Format of 'datetime' field type
          enum:
          - date
          - time
          - date-time
        primary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        globalPrimary:
          type: boolean
          description: Whether field is a primary key or part of a primary key. Primary key values should be unique across multiple form data entries of a same user
        uniqueAcrossInstances:
          type: boolean
          description: Unique across section instances when form section is repeatable
        size:
          type: integer
          description: The number of slots preserved for the field in a table column
          minimum: 1
          maximum: 12
        displayTotals:
          type: boolean
          description: When enabled, the sum of all field values is displayed in the totals row on the UI
        weight:
          type: number
          description: A numerical value representing the importance of this field in the overall score calculation. Higher values indicate greater importance.
        isParent:
          type: boolean
          description: Mark the selected connection as a parent of the data entry
        connectionType:
          type: string
          description: Connection type to filter connections in the connection select field
          enum:
          - org
          - user
        importanceArea:
          $ref: '#/components/schemas/FormFieldImportance'
        frozen:
          type: boolean
          readOnly: true
        formula:
          type: string
          description: Formula for calculated mode of the field
      required:
      - name
      - type
      - title
    NewAssetShare:
      type: object
      properties:
        assetId:
          $ref: '#/components/schemas/Id'
        transferId:
          $ref: '#/components/schemas/Id'
        startDate:
          $ref: '#/components/schemas/Timestamp'
        endDate:
          $ref: '#/components/schemas/Timestamp'
        since:
          $ref: '#/components/schemas/Timestamp'
        till:
          $ref: '#/components/schemas/Timestamp'
      required:
      - assetId
    AssetTransferOperation:
      type: object
      title: Asset Transfer
      description: Movement of some asset amount between two accounts, denoted `sender` and `receiver`
      properties:
        isDraft:
          type: boolean
          enum:
          - false
          writeOnly: true
        id:
          $ref: '#/components/schemas/ImmutableId'
        transactionId:
          $ref: '#/components/schemas/ImmutableId'
        direction:
          title: Transfer Direction
          type: string
          enum:
          - in
          - out
          readOnly: true
        assetId:
          $ref: '#/components/schemas/Id'
        exchangingAssetId:
          allOf:
          - $ref: '#/components/schemas/Id'
          - description: ID of the asset being used as a payment for the current transfer
        code:
          allOf:
          - $ref: '#/components/schemas/AssetCode'
          - readOnly: true
        description:
          allOf:
          - $ref: '#/components/schemas/AssetDescription'
          - readOnly: true
        uom:
          allOf:
          - $ref: '#/components/schemas/AssetUom'
          - readOnly: true
        qty:
          title: Quantity
          type: number
          example: 1
          readOnly: true
        quantity:
          title: Amount to be transferred
          type: number
          minimum: 0
          writeOnly: true
        isCredit:
          title: Is Credit Asset
          type: boolean
          description: Indicates if "Credit" type of asset was transferred
          readOnly: true
        sent:
          $ref: '#/components/schemas/ImmutableTimestamp'
        claimToken:
          type: string
          readOnly: true
        hasClaimToken:
          type: boolean
          readOnly: true
        claimed:
          $ref: '#/components/schemas/ImmutableTimestamp'
        received:
          $ref: '#/components/schemas/ImmutableTimestamp'
        message:
          title: Message to Receiver
          type: string
          description: Optional message for transfer receiver
          maxLength: 1024
        price:
          title: Asset Price
          type: number
          minimum: 0
        priceCurrency:
          title: Asset Price Currency
          type: string
          minLength: 3
          maxLength: 3
          example: USD
        sender:
          title: Sender
          type: object
          properties:
            id:
              title: Sender ID
              type: string
              minLength: 32
              maxLength: 32
              example: '00000000000000000000000000000000'
            name:
              title: Sender Name
              type: string
            isOrg:
              title: Sender is Org
              type: boolean
            externalId:
              title: External Id
              type: string
          readOnly: true
        senderId:
          allOf:
          - $ref: '#/components/schemas/Id'
          - writeOnly: true
        receiver:
          type: object
          title: Receiver
          properties:
            id:
              title: Receiver ID
              type: string
              minLength: 32
              maxLength: 32
              example: '00000000000000000000000000000000'
            name:
              title: Receiver Name
              type: string
            isOrg:
              title: Receiver is Org
              type: boolean
            photoUrl:
              title: Receiver Photo
              type: string
              format: url
            photoEtag:
              title: Receiver Photo ETag
              type: string
            externalId:
              title: External Id
              type: string
          readOnly: true
        receiverId:
          allOf:
          - $ref: '#/components/schemas/Id'
          - writeOnly: true
        destination:
          $ref: '#/components/schemas/PaymentDestination'
        initiatedBy:
          type: object
          title: Initiated By
          description: Account that initiated the transfer
          properties:
            id:
              $ref: '#/components/schemas/ImmutableId'
            name:
              title: Initiated By
              type: string
          readOnly: true
        initiatedByUser:
          type: object
          title: Initiated By User
          description: User that initiated the transfer
          properties:
            id:
              title: Initiated By User ID
              type: string
              minLength: 32
              maxLength: 32
              example: '00000000000000000000000000000000'
            name:
              title: Initiated By User
              type: string
          readOnly: true
        agency:
          type: object
          title: Agency
          description: For transfers sent to a BanQu Agency, the field contains Agency account that made the cash out
          properties:
            id:
              title: Agency ID
              type: string
              minLength: 32
              maxLength: 32
              example: '00000000000000000000000000000000'
            name:
              type: string
            address:
              type: string
          readOnly: true
        agent:
          type: object
          title: Agent
          description: For transfers sent to a BanQu Agency, the field contains Agent that made the cash out
          properties:
            id:
              title: Agent ID
              type: string
              minLength: 32
              maxLength: 32
              example: '00000000000000000000000000000000'
            name:
              title: Agent Name
              type: string
          readOnly: true
        properties:
          type: object
          title: Transfer Properties
          description: Key-value pairs with custom transfer properties
          additionalProperties: true
          example:
            poNumber: '000001'
            stockCode: 7b35e21b717844
        assetAttachments:
          allOf:
          - $ref: '#/components/schemas/Attachments'
          - readOnly: true
        draft:
          type: boolean
          description: Flag that indicates the transfer is not completed. Usually until it is confirmed by a receiver
          readOnly: true
        sourceOperations:
          $ref: '#/components/schemas/SourceOperations'
        explicitAvailableQty:
          type: number
          description: Amount that wasn't yet used as an explicit source for another operation over same asset in receiver's account. Confirmation with a changed quantity affects this number too
          readOnly: true
        availableQty:
          type: number
          description: Amount that wasn't yet used as an explicit and/or implicit source for another operation over same asset in receiver's account
          readOnly: true
        receivedQty:
          type: number
          description: Amount that was confirmed by receiver. Undefined until confirmation
          readOnly: true
        receiverComment:
          type: string
          description: Optional text message from the user who confirmed transfer
          readOnly: true
        partiallyConfirmedQty:
          type: number
          description: Defines absolute confirmed quantity of a partially confirmed transfer. Example, initial transfer has amount 10kg. It was split into 3kg and 7 kg transfers upstream. The last transfer was confirmed at 90%. partiallyConfirmedQty will equal 6.3kg (90% of 7kg). partiallyConfirmedShare will equal 0.9
          readOnly: true
        partiallyConfirmedShare:
          type: number
          description: A transfer amount can be explicitly sourced into different batches (upstream). When cascade confirmation is ON this can result in partial confirmation of initial transfer quantity. This property defines what fraction of this transfer was confirmed
          readOnly: true
        sourcesCount:
          allOf:
          - $ref: '#/components/schemas/SourcesCount'
          - readOnly: true
        effectiveDate:
          $ref: '#/components/schemas/EffectiveDate'
        effectiveLocation:
          $ref: '#/components/schemas/EffectiveLocation'
      additionalProperties: false
      required:
      - senderId
      - receiverId
      - assetId
      - quantity
    AssetShareRow:
      allOf:
      - $ref: '#/components/schemas/AssetShareDetail'
      - $ref: '#/components/schemas/AssetTransferShareDetail'
    LocalizedString:
      type: object
      required:
      - en
      additionalProperties:
        type: string
        description: Strings in different languages
      properties:
        en:
          type: string
          description: Default English localization string
    AssetHistory:
      type: array
      items:
        type: object
        properties:
          initialBalance:
            type: number
          totalQty:
            type: number
          transfers:
            type: array
            items:
              type: string
          startTime:
            $ref: '#/components/schemas/Timestamp'
          endTime:
            $ref: '#/components/schemas/Timesta

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/banqu/refs/heads/main/openapi/banqu-asset-sharing-api-openapi.yml