Dust Identity Transfers API

Transfer ownership of threads across organizations

Operations 18

GET /api/v1/transfers List transfers for the active team (status views or mail-box) #
POST /api/v1/transfers Create a draft Transfer #
GET /api/v1/transfers/{transfer_id} Get a Transfer with its Fabric Manifest items #
GET /api/v1/transfers/{transfer_id}/preview Authoritative Transfer Preview for a sent Transfer #
GET /api/v1/transfers/{transfer_id}/preview/resources/{res_id}/content Offered Resource content for a Transfer Preview #
GET /api/v1/transfers/{transfer_id}/preview/graph Pre-acceptance provenance graph for a sent Transfer #
GET /api/v1/transfers/{transfer_id}/preview/threads/{source_thread_id}/events Disclosed transaction history for an offered Thread #
POST /api/v1/transfers/{transfer_id}/send Send a draft Transfer to a receiving team #
POST /api/v1/transfers/{transfer_id}/respond Respond to a received Transfer (accept / reject / request changes) #
POST /api/v1/transfers/{transfer_id}/messages Post a message on a Transfer's conversation #
POST /api/v1/transfers/{transfer_id}/cancel Cancel a draft, sent, or change-requested Transfer #
POST /api/v1/transfers/{transfer_id}/retry Retry a failed Transfer #
POST /api/v1/transfers/{transfer_id}/abandon Abandon a failed Transfer #
POST /api/v1/transfers/{transfer_id}/start-from-prior-manifest Start a new shipment from a stopped shipment's manifest #
POST /api/v1/transfers/{transfer_id}/items Add a Manifest Item to a draft Transfer #
PATCH /api/v1/transfers/{transfer_id}/items/{item_id} Update a Manifest Item on a draft Transfer #
DELETE /api/v1/transfers/{transfer_id}/items/{item_id} Remove a Manifest Item from a draft Transfer #
PUT /api/v1/transfers/{transfer_id}/primary-thread Set the primary Thread of a draft Transfer #

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/dust-identity-transfers-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

dust-identity-transfers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DUST Transfers API
  description: DUST Platform API
  version: 2026.7.4
servers:
- url: https://apid.dustid.io
  description: DUST API for trusted provenance.
security:
- Bearer: []
tags:
- name: Transfers
  description: Transfer ownership of threads across organizations
paths:
  /api/v1/transfers:
    get:
      operationId: transfer.list
      parameters:
      - in: query
        name: box
        schema:
          enum:
          - inbox
          - outbox
          - sent
      - in: query
        name: direction
        schema:
          enum:
          - inbound
          - outbound
      - in: query
        name: pageIndex
        schema:
          anyOf:
          - type: number
          - type: string
            pattern: ^(?:(?!^-0\.?0*$)(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?)|\.\d+?))$
      - in: query
        name: pageSize
        schema:
          anyOf:
          - type: number
          - type: string
            pattern: ^(?:(?!^-0\.?0*$)(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?)|\.\d+?))$
      - in: query
        name: q
        schema:
          type: string
      - in: query
        name: status
        schema:
          enum:
          - abandoned
          - canceled
          - change_request
          - completed
          - draft
          - failed_retryable
          - processing
          - rejected
          - sent
      - in: query
        name: view
        schema:
          enum:
          - all
          - completed
          - draft
          - in_progress
          - received
      summary: List transfers for the active team (status views or mail-box)
      description: 'Listing of Transfer Fabric Operations. Preferred `view` semantics: `all` = every transfer the team is party to; `draft` = the team''s editable shipments; `in_progress` = dispatched but unfinished, either direction; `completed` = shipments the team sent that finished; `received` = shipments the team received that finished. Legacy mail-box `box` (`inbox`/`outbox`/`sent`) still supported and takes precedence.'
      tags:
      - Transfers
      responses:
        '200':
          description: Transfers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
    post:
      operationId: transfer.create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                description:
                  type: string
              required:
              - name
      summary: Create a draft Transfer
      tags:
      - Transfers
      responses:
        '200':
          description: Created transfer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferOperation'
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: INVALID_REQUEST
                  message:
                    type: string
                  status:
                    const: 400
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}:
    get:
      operationId: transfer.get
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      summary: Get a Transfer with its Fabric Manifest items
      description: Visible to admins of the sending team and, once sent, admins of the receiving team.
      tags:
      - Transfers
      responses:
        '200':
          description: Transfer detail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferGetResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/preview:
    get:
      operationId: transfer.preview
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      summary: Authoritative Transfer Preview for a sent Transfer
      description: 'The frozen `sent` manifest (ADR-0037) projected live as one preview per effective processing Thread: copied Thread data plus the Fabric Disclosure that becomes visible on acceptance, with offered Assembly Part structure and any Folder/Category placement. Available to admins of either party once the Transfer is `sent` (and while `processing`/`failed_retryable`); not available while it is still editable (`draft`/`change_request`).'
      tags:
      - Transfers
      responses:
        '200':
          description: Transfer preview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferPreviewResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/preview/resources/{res_id}/content:
    get:
      operationId: transfer.preview_resource_content
      parameters:
      - in: path
        name: res_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      - in: query
        name: download
        schema:
          type: string
      summary: Offered Resource content for a Transfer Preview
      description: A short-lived signed URL for the bytes of a Resource offered in the Transfer Preview. Authorizes by previewable transfer + party admin + membership in the frozen `sent` manifest's selected source assets, not by recipient Thread access (recipient Threads do not exist before acceptance). `?download=1` requests attachment disposition.
      tags:
      - Transfers
      responses:
        '200':
          description: Offered resource content URL
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferPreviewResourceContentResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/preview/graph:
    get:
      operationId: transfer.preview_graph
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      - in: query
        name: sourceThreadId
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        description: a UUID
      summary: Pre-acceptance provenance graph for a sent Transfer
      description: 'The frozen `sent` manifest projected live into the Fabric Graph shape (receiver preview provenance, extends ADR-0037): BOM-scoped nodes (the offered Threads, with Assembly structure on `parentAssembly`/`kind`) plus one incoming-transfer receipt per Thread. Redacted to the offered/disclosed set. Available to admins of either party once `sent` (and while `processing`/`failed_retryable`).'
      tags:
      - Transfers
      responses:
        '200':
          description: Preview provenance graph
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FabricGraphResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/preview/threads/{source_thread_id}/events:
    get:
      operationId: transfer.preview_thread_events
      parameters:
      - in: path
        name: source_thread_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      - in: query
        name: excludeActionFilter
        schema:
          type: string
      summary: Disclosed transaction history for an offered Thread
      description: The disclosed event history for one offered Thread in the frozen `sent` manifest, projected live and scoped to the offered/disclosed asset set and the offered BOM — mirroring exactly what acceptance would fix as event-disclosure. NOT_FOUND when the Thread is not part of the preview.
      tags:
      - Transfers
      responses:
        '200':
          description: Disclosed thread history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferPreviewThreadEventsResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/send:
    post:
      operationId: transfer.send
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                toId:
                  anyOf:
                  - type: string
                    description: a UUID
                    format: uuid
                    pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
                  - const: 00000000-0000-0000-0000-000000000000
                    description: a UUID
                    format: uuid
                  - const: ffffffff-ffff-ffff-ffff-ffffffffffff
                    description: a UUID
                    format: uuid
                  description: a UUID
                  format: uuid
              required:
              - toId
      summary: Send a draft Transfer to a receiving team
      description: Sets the target team and moves the transfer to `sent`. Transfers are cross-organization only; the receiving team must respond before anything is processed.
      tags:
      - Transfers
      responses:
        '200':
          description: Sent
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: INVALID_REQUEST
                  message:
                    type: string
                  status:
                    const: 400
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/respond:
    post:
      operationId: transfer.finalize
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
              - type: object
                properties:
                  reason:
                    type: string
                    minLength: 1
                  value:
                    const: request_changes
                required:
                - reason
                - value
              - type: object
                properties:
                  value:
                    enum:
                    - accept
                    - reject
                  reason:
                    type: string
                required:
                - value
      summary: Respond to a received Transfer (accept / reject / request changes)
      description: Receiving-team response. `accept` starts processing immediately and cannot be undone; `request_changes` returns the transfer to the sender for editing.
      tags:
      - Transfers
      responses:
        '200':
          description: Responded
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: INVALID_REQUEST
                  message:
                    type: string
                  status:
                    const: 400
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/messages:
    post:
      operationId: transfer.post_message
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostTransferMessageRequest'
      summary: Post a message on a Transfer's conversation
      description: Either party (sending or receiving team) can post a free-form message on the shipment. Messages are recorded in the same append-only history as change-request / reject / accept notes, but carry no state transition.
      tags:
      - Transfers
      responses:
        '200':
          description: Message posted
          content:
            application/json:
              schema:
                type: boolean
        '400':
          description: Invalid Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: INVALID_REQUEST
                  message:
                    type: string
                  status:
                    const: 400
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/cancel:
    post:
      operationId: transfer.cancel
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
      summary: Cancel a draft, sent, or change-requested Transfer
      description: Cancels a shipment the sending team still owns (`draft`/`sent`/`change_request`), releasing any source-thread freeze. An optional reason is recorded in the shipment's negotiation log. Admin of the source team.
      tags:
      - Transfers
      responses:
        '200':
          description: Canceled
          content:
            application/json:
              schema:
                type: boolean
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNAUTHORIZED
                  message:
                    type: string
                  status:
                    const: 401
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: NOT_FOUND
                  message:
                    type: string
                  status:
                    const: 404
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
  /api/v1/transfers/{transfer_id}/retry:
    post:
      operationId: transfer.retry
      parameters:
      - in: path
        name: transfer_id
        schema:
          anyOf:
          - type: string
            description: a UUID
            format: uuid
            pattern: '[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}'
          - const: 00000000-0000-0000-0000-000000000000
            description: a UUID
            format: uuid
          - const: ffffffff-ffff-ffff-ffff-ffffffffffff
            description: a UUID
            format: uuid
          format: uuid
        required: true
        description: a UUID
      summary: Retry a failed Transf

# --- truncated at 32 KB (254 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dust-identity/refs/heads/main/openapi/dust-identity-transfers-api-openapi.yml