BanQu Public Profiles API

The Public Profiles API from BanQu — 10 operation(s) for public profiles.

OpenAPI Specification

banqu-public-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BanQu Public Profiles 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: Public Profiles
paths:
  /shared-profile/{ownerId}:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      tags:
      - Public Profiles
      description: Get public profile
      responses:
        '200':
          description: An user or organization profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExistentProfile'
        '404':
          $ref: '#/components/responses/404'
  /shared-profile/{ownerId}/forms:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      description: Get forms describing shared profile sections
      tags:
      - Public Profiles
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Form'
        '404':
          $ref: '#/components/responses/404'
  /shared-profile/{ownerId}/related-data-entries:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      description: Get data entries related to the profile
      tags:
      - Public Profiles
      parameters:
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      - name: status
        in: query
        schema:
          type: string
          enum:
          - all
          - pending
          - submitted
          - reviewed
          - rejected
          - approved
          - denied
          - archived
        description: Data entry status filter
        required: false
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormDataEntry'
  /shared-profile/{ownerId}/geo-data:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      description: Get GeoJSON data from related Data Entries and Profile Forms
      tags:
      - Public Profiles
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - all
          - pending
          - submitted
          - reviewed
          - rejected
          - approved
          - denied
          - archived
        description: Data entry status filter
        required: false
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeoJsonFeatureCollection'
  /shared-profile/{ownerId}/connections:
    get:
      security: []
      tags:
      - Public Profiles
      description: List public profile connections
      parameters:
      - name: ownerId
        description: User or Org id
        in: path
        schema:
          type: string
        required: true
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      responses:
        '200':
          description: Public profile connections
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Connection'
        '404':
          $ref: '#/components/responses/404'
  /shared-profile/{ownerId}/assets:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      tags:
      - Public Profiles
      description: List public profile assets
      parameters:
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      responses:
        '200':
          description: Get shared assets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharedAssets'
  /shared-profile/{ownerId}/transactions:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      tags:
      - Public Profiles
      description: List public profile transactions
      parameters:
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/SortBy'
      responses:
        '200':
          description: Get shared transactions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharedTransaction'
        '404':
          $ref: '#/components/responses/404'
  /shared-profile/{ownerId}/transactions/{transactionId}/operations:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    - name: transactionId
      description: shared transactions ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      tags:
      - Public Profiles
      description: List public profile transaction operations
      responses:
        '200':
          description: Get shared transaction operations
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharedOperations'
        '404':
          $ref: '#/components/responses/404'
  /shared-profile/{ownerId}/requests:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    post:
      tags:
      - Public Profiles
      description: Send profile share request
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                expiresAt:
                  $ref: '#/components/schemas/Timestamp'
                sections:
                  type: array
                  items:
                    type: string
                  uniqueItems: true
      responses:
        '201':
          $ref: '#/components/responses/201'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422'
  /shared-profile/{ownerId}/households:
    parameters:
    - name: ownerId
      description: User or Org account ID
      in: path
      schema:
        type: string
      required: true
    get:
      security: []
      description: List public profile households. If ownerId is a head of household result contains list of members including himself. If ownerId is dependent result contains all heads of households ownerId is member of
      tags:
      - Public Profiles
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShallowProfile'
        '404':
          $ref: '#/components/responses/404'
components:
  responses:
    '404':
      description: "HTTP 404 - Not Found \nRequested resource could not be found"
    '201':
      description: HTTP 201 - Created
      headers:
        Location:
          schema:
            type: string
          description: Url of the created entity
    '422':
      description: "HTTP 422 - Unprocessable Request \nThe server understands the content type of the request entity and the syntax of the request is correct, but was unable to process the contained instructions"
    '403':
      description: "HTTP 403 - Forbidden \nNot authorized to access selected resource"
  schemas:
    GeoJsonFeatureCollection:
      type: object
      properties:
        type:
          type: string
          enum:
          - FeatureCollection
        features:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - Feature
              geometry:
                $ref: '#/components/schemas/GeoJsonGeometryObject'
              properties:
                type: object
            required:
            - type
            - geometry
      required:
      - type
      - features
    Attachment:
      type: object
      additionalProperties: false
      properties:
        downloadUrl:
          type: string
          format: url
        fileName:
          type: string
          minLength: 1
        fileSize:
          type: number
          minimum: 0
        mimeType:
          type: string
          minLength: 1
          example: image/jpeg
        md5:
          type: string
          minLength: 32
          maxLength: 32
          pattern: ^[a-f0-9]{32}$
      required:
      - downloadUrl
    AssetDescription:
      type: string
      minLength: 0
      maxLength: 200
    ExistentProfile:
      allOf:
      - type: object
        properties:
          id:
            $ref: '#/components/schemas/ImmutableId'
      - $ref: '#/components/schemas/Profile'
      unevaluatedProperties: false
    SharedTransactionStats:
      type: object
      properties:
        incomingPending:
          type: string
        outgoingPending:
          type: string
    SharedTradeTransaction:
      type: object
      properties:
        id:
          type: string
        transactionId:
          type: string
        type:
          type: string
          enum:
          - trade
        isCredit:
          type: boolean
        receiver:
          $ref: '#/components/schemas/TransactionParty'
        sender:
          $ref: '#/components/schemas/TransactionParty'
        stats:
          $ref: '#/components/schemas/SharedTransactionStats'
        sent:
          type: number
        transfers:
          type: array
          items:
            type: string
        participants:
          type: array
          items:
            type: string
      required:
      - id
      - transactionId
      - type
      - isCredit
      - receiver
      - sender
      - sent
      - transfers
      - participants
    ProfilePhoto:
      allOf:
      - $ref: '#/components/schemas/ProfileProperty'
      - properties:
          etag:
            type: string
            minLength: 32
            maxLength: 32
            example: '00000000000000000000000000000000'
          value:
            type: string
            format: url
            example: https://example.com/avatar.jpg
    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
    ReadWriteVisibility:
      type: string
      enum:
      - readonly
      - edit
    ImmutableId:
      type: string
      readOnly: true
      minLength: 32
      maxLength: 32
      example: '00000000000000000000000000000000'
    Form:
      type: object
      title: Form
      properties:
        id:
          $ref: '#/components/schemas/ImmutableId'
        title:
          $ref: '#/components/schemas/LocalizedString'
        version:
          type: number
          readOnly: true
          description: Form template age. It is increased on server side with every modification
        sharing:
          title: Form Type
          oneOf:
          - title: Transaction Properties Form
            type: object
            properties:
              level:
                type: string
                enum:
                - batch
              txTypes:
                description: The transaction types the form can be used for
                type: array
                items:
                  type: string
                  enum:
                  - batch
                  - transformation
                minItems: 1
                uniqueItems: true
            additionalProperties: false
          - title: Private Data Entry Form
            type: object
            properties:
              level:
                type: string
                enum:
                - private
            additionalProperties: false
          - title: Fragment Form
            type: object
            properties:
              level:
                type: string
                enum:
                - fragment
            additionalProperties: false
          - title: Shared Data Entry Form
            type: object
            properties:
              level:
                type: string
                enum:
                - shared
            additionalProperties: false
          - title: User Profile Form
            type: object
            properties:
              level:
                type: string
                enum:
                - replace
              profileSectionName:
                type: string
                pattern: ^(urn:banqu:schemas:[a-f\d]{32}:User:)?[a-zA-Z][\da-zA-Z]*$
                minLength: 1
              reportingSectionName:
                type: string
                pattern: ^(urn:banqu:schemas:[a-f\d]{32}:User:[a-zA-Z][\da-zA-Z]*)?$
              priority:
                type: number
                minimum: 0
              replaceProfileSections:
                type: array
                items:
                  type: string
              profileSectionNamePrefix:
                description: Used as a backdoor in API to be able to change a client form into a standard form
                type: string
                enum:
                - 'urn:banqu:schemas:scim:User:'
            additionalProperties: false
            required:
            - level
            - profileSectionName
          - title: Org Profile Form
            type: object
            properties:
              level:
                type: string
                enum:
                - org-profile
              profileSectionName:
                type: string
                pattern: ^(urn:banqu:schemas:[a-f\d]{32}:Org:)?[a-zA-Z][\da-zA-Z]*$
                minLength: 1
              profileSectionNamePrefix:
                description: Used as a backdoor in API to be able to change a client form into a standard form
                type: string
                enum:
                - 'urn:banqu:schemas:scim:Org:'
              priority:
                type: number
                minimum: 0
            additionalProperties: false
            required:
            - level
            - profileSectionName
          required:
          - level
        appearance:
          title: Form Appearance Settings
          type: object
          properties:
            collapsingType:
              type: string
              enum:
              - accordion
              - collapsed
              - expanded
            showScore:
              type: boolean
          additionalProperties: false
        usagePreferences:
          title: Data Entry Form Usage Preferences
          type: object
          properties:
            assign:
              type: boolean
              description: If true, the form can be assigned to connected identities
            navbarCreate:
              type: boolean
              description: If true, the form data entry can be created from the navbar
            identityCreate:
              type: boolean
              description: If true, the form data entry can be created from the connected identity page
          additionalProperties: false
        deletedFrozenFields:
          type: object
          readOnly: true
          description: A map containing all deleted frozen fields (available for restoration). Managed on serverside
        owner:
          $ref: '#/components/schemas/ImmutableId'
        sections:
          title: Form Sections
          type: array
          items:
            $ref: '#/components/schemas/FormSection'
        groups:
          title: Form Groups
          type: array
          items:
            $ref: '#/components/schemas/FormGroup'
        archived:
          type: boolean
          description: Indicates if form is archived
          readOnly: true
        thirdPartyValidation:
          type: boolean
          description: On profile forms indicates if the form data can be reviewed by a third-party contract specified in data entry
      required:
      - title
      - sections
      additionalProperties: false
      example:
        title:
          en: My Form
        version: 1
        sections:
        - title:
            en: Some List
          name: section1
          multiple: true
          required: true
          fields:
          - name: field1
            type: text
            title:
              en: Field Title
            required: true
            visibility:
              approver: readonly
              reviewer: hidden
              responder: edit
        sharing:
          level: shared
    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
    FormElementVisibility:
      oneOf:
      - type: object
        description: Data-entry or profile form field visibility
        required:
        - approver
        - reviewer
        - responder
        properties:
          approver:
            $ref: '#/components/schemas/ReadWriteVisibility'
          reviewer:
            $ref: '#/components/schemas/ReadWriteHideVisibility'
          responder:
            $ref: '#/components/schemas/ReadWriteHideVisibility'
        additionalProperties: false
      - type: object
        description: Transaction form field visibility
        required:
        - initiator
        - update-by-initiator
        - participant
        properties:
          update-by-initiator:
            $ref: '#/components/schemas/ReadWriteHideVisibility'
          participant:
            $ref: '#/components/schemas/ReadWriteHideVisibility'
          initiator:
            $ref: '#/components/schemas/ReadWriteHideVisibility'
        additionalProperties: false
    Connection:
      type: object
      allOf:
      - $ref: '#/components/schemas/Resource'
      - $ref: '#/components/schemas/Profile'
      - $ref: '#/components/schemas/ConnectionExtension'
      required:
      - id
    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
    SharedTransfer:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        code:
          $ref: '#/components/schemas/AssetCode'
        description:
          $ref: '#/components/schemas/AssetDescription'
        uom:
          $ref: '#/components/schemas/AssetUom'
        direction:
          type: string
          enum:
          - in
          - out
        received:
          type: number
        isCredit:
          type: boolean
        type:
          type: string
          enum:
          - transfer
        qty:
          type: number
        sent:
          type: number
        assetId:
          type: string
        sender:
          $ref: '#/components/schemas/TransactionParty'
        receiver:
          $ref: '#/components/schemas/TransactionParty'
      required:
      - id
      - direction
      - received
      - uom
      - code
      - isCredit
      - type
      - qty
      - sent
      - assetId
      - sender
      - receiver
    ProfileEmail:
      oneOf:
      - allOf:
        - $ref: '#/components/schemas/ProfileProperty'
        - properties:
            value:
              type: string
              format: email
              example: user@example.com
      - type: string
        format: email
        minLength: 1
        example: user@example.com
    SharedBatchTransaction:
      type: object
      properties:
        id:
          type: string
        transactionId:
          type: string
        isCredit:
          type: boolean
        type:
          type: string
          enum:
          - batch
        sent:
          type: number
        sender:
          $ref: '#/components/schemas/TransactionParty'
        receiver:
          $ref: '#/components/schemas/TransactionParty'
        transfers:
          type: array
          items:
            type: string
        stats:
          $ref: '#/components/schemas/SharedTransactionStats'
      required:
      - id
      - transactionId
      - isCredit
      - type
      - sent
      - sender
      - receiver
      - transfers
      - stats
    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
    DescriptionVariant:
      type: string
      enum:
      - text
      - tooltip
      - long-text
    ProfileProperty:
      title: Profile Property
      type: object
      properties:
        type:
          type: string
        value:
          type: string
          minLength: 1
        primary:
          type: boolean
      required:
      - value
    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+))*$
    SharedTransaction:
      oneOf:
      - $ref: '#/components/schemas/SharedDeposit'
      - $ref: '#/components/schemas/SharedTransformation'
      - $ref: '#/components/schemas/SharedTradeTransaction'
      - $ref: '#/components/schemas/SharedTransfer'
      - $ref: '#/components/schemas/SharedBatchTransaction'
    FormData:
      description: Form data that matches parent form schema
      type: object
      properties: {}
    LocalizedString:
      type: object
      required:
      - en
      additionalProperties:
        type: string
        description: Strings in different languages
      properties:
        en:
          type: string
          description: Default English localization string
    SharedAsset:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        code:
          $ref: '#/components/schemas/AssetCode'
        description:
          $ref: '#/components/schemas/AssetDescription'
        uom:
          $ref: '#/components/schemas/AssetUom'
        isCredit:
          type: boolean
        balance:
          type: number
      required:
      - uom
      - isCredit
      - id
      - code
      - balance
    ShallowProfile:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        displayName:
          type: string
        name:
          type: object
        emails:
          type: array
          items:
            $ref: '#/components/schemas/ProfileProperty'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ProfileProperty'
        photos:
          type: array
          items:
            $ref: '#/components/schemas/ProfileProperty'
      required:
      - id
    SharedAssets:
      type: array
      description: List of shared assets
      items:
        $ref: '#/components/schemas/SharedAsset'
    OptionalLocalizedString:
      type: object
      additionalProperties:
        type: string
        description: Strings in different languages
    FormFieldImportance:
      type: object
      properties:
        ui:
          type: boolean
          description: Field is important for UI
        reporting:
          type: boolean
          description: Field is important for reporting
        coc:
          type: boolean
          description: Field is important for CoC
      additionalProperties: false
    SharedTransformationAsset:
      type: object
      properties:
        id:
          type: string
        code:
          $ref: '#/components/schemas/AssetCode'
        description:
          $ref: '#/components/schemas/AssetDescription'
        uom:
          $ref: '#/components/schemas/AssetUom'
      required:
      - id
      - uom
      - code
    GeoJsonGeometryObject:
      type: object
      properties:
        type:
          type: string
          enum:
          - Point
          - MultiPoint
          - LineString
          - MultiLineString
          - Polygon
          - MultiPolygon
          - GeometryCollection
        coordinates:
          oneOf:
          - type: array
            items:
              type: number
              minItems: 2
          - type: array
            items:
              type: array
              items:
                type: number
                minItems: 2
          - type: array
            items:
              type: array
              items:
                type: array
                items:
                  type: number
                  minItems: 2
      required:
      - type
      - coordinates
    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
    ReadWriteHideVisibility:
      type: string
      enum:
      - hidden
      - readonly
      - edit
    SharedTransformationOperation:
      type: object
      properties:
        id:
          type: string
        transactionId:
          type: string
        code:
          $ref: '#/components/schemas/AssetCode'
        description:
          $ref: '#/components/schemas/AssetDescription'
        uom:
          $ref: '#/components/schemas/AssetUom'
        type:
          type: string
          enum:
          - transformation
          - transformation-result
        sources:
          type: array
          items:
            $ref: '#/components/schemas/SharedTransformationAsset'
        destinations:
     

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