Dust Identity Connections API

Connections (team links) between Teams; they gate sharing and shipments

Operations 14

POST /api/v1/connections Create a connection #
GET /api/v1/connections List connections #
GET /api/v1/connections/{code} Get a connection #
DELETE /api/v1/connections/{code} Delete a connection #
PATCH /api/v1/connections/confirm Confirm a connection #
PATCH /api/v1/connections/pause Pause a connection #
PATCH /api/v1/connections/cancel Cancel a connection #
PATCH /api/v1/connections/resume Resume a paused connection #
POST /api/v1/connections/amend/propose Propose a connection direction amendment #
PATCH /api/v1/connections/amend/accept Accept a pending connection amendment #
PATCH /api/v1/connections/amend/confirm Confirm an accepted connection amendment #
PATCH /api/v1/connections/amend/cancel Cancel a pending connection amendment #
PATCH /api/v1/connections/accept Accept a connection #
PATCH /api/v1/connections/reject Reject a connection #

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-connections-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-connections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DUST Connections 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: Connections
  description: Connections (team links) between Teams; they gate sharing and shipments
paths:
  /api/v1/connections:
    post:
      operationId: connections.create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                allow:
                  enum:
                  - receive
                  - send
                  - send_receive
                email:
                  type: string
                  pattern: ^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$
                  format: email
              required:
              - allow
      summary: Create a connection
      description: Create a connection invite, which enables sharing between the two teams once accepted.
      tags:
      - Connections
      responses:
        '200':
          description: Created connection
          content:
            application/json:
              schema:
                type: object
                properties:
                  acceptingTeamId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  allow:
                    type: string
                  amendmentAcceptedById:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentProposedById:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentProposerTeamId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentStatus:
                    anyOf:
                    - type: string
                    - type: 'null'
                  amendmentUpdatedAt:
                    anyOf:
                    - type: string
                    - type: 'null'
                  code:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  createdAt:
                    type: string
                  createdById:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  email:
                    anyOf:
                    - type: string
                    - type: 'null'
                  pendingAllow:
                    anyOf:
                    - type: string
                    - type: 'null'
                  requestingTeamId:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  respondedAt:
                    anyOf:
                    - type: string
                    - type: 'null'
                  responderId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  status:
                    type: string
                  updatedAt:
                    type: string
                  acceptedBy:
                    $ref: '#/components/schemas/Principal'
                  acceptingTeam:
                    type: object
                    properties:
                      createdAt:
                        type: string
                      description:
                        anyOf:
                        - type: string
                        - type: 'null'
                      detail:
                        anyOf:
                        - type: string
                        - type: 'null'
                      logo:
                        anyOf:
                        - type: string
                        - type: 'null'
                      name:
                        anyOf:
                        - type: string
                        - type: 'null'
                      orgId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      teamId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      updatedAt:
                        type: string
                      depth:
                        type: number
                      num_members:
                        type: number
                      org:
                        type: object
                        properties:
                          name:
                            type: string
                          orgId:
                            type: string
                        required:
                        - name
                        - orgId
                      path:
                        type: string
                    required:
                    - createdAt
                    - description
                    - detail
                    - logo
                    - name
                    - orgId
                    - teamId
                    - updatedAt
                  requestedBy:
                    $ref: '#/components/schemas/Principal'
                  requestingTeam:
                    type: object
                    properties:
                      createdAt:
                        type: string
                      description:
                        anyOf:
                        - type: string
                        - type: 'null'
                      detail:
                        anyOf:
                        - type: string
                        - type: 'null'
                      logo:
                        anyOf:
                        - type: string
                        - type: 'null'
                      name:
                        anyOf:
                        - type: string
                        - type: 'null'
                      orgId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      teamId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      updatedAt:
                        type: string
                      depth:
                        type: number
                      num_members:
                        type: number
                      org:
                        type: object
                        properties:
                          name:
                            type: string
                          orgId:
                            type: string
                        required:
                        - name
                        - orgId
                      path:
                        type: string
                    required:
                    - createdAt
                    - description
                    - detail
                    - logo
                    - name
                    - orgId
                    - teamId
                    - updatedAt
                required:
                - acceptingTeamId
                - allow
                - amendmentAcceptedById
                - amendmentProposedById
                - amendmentProposerTeamId
                - amendmentStatus
                - amendmentUpdatedAt
                - code
                - createdAt
                - createdById
                - email
                - pendingAllow
                - requestingTeamId
                - respondedAt
                - responderId
                - status
                - updatedAt
        '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
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: FORBIDDEN
                  message:
                    type: string
                  status:
                    const: 403
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '500':
          description: Unknown error occurred
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNKNOWN_ERROR
                  message:
                    type: string
                  status:
                    const: 500
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
      x-required-role: team-admin
    get:
      operationId: connections.list
      parameters:
      - in: query
        name: authedUserOnly
        schema:
          type: boolean
      - in: query
        name: box
        schema:
          enum:
          - accepted
          - requested
      - in: query
        name: excludeIds
        schema:
          type: array
          items:
            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
      - in: query
        name: includeLinked
        schema:
          enum:
          - 'false'
          - 'true'
      - in: query
        name: order
        schema:
          enum:
          - asc
          - desc
      - 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: role
        schema:
          enum:
          - admin
          - member
      - in: query
        name: rootId
        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
      - in: query
        name: status
        schema:
          enum:
          - accepted
          - canceled
          - connected
          - paused
          - pending
          - rejected
      summary: List connections
      description: List connections in your organization, optionally filtered by team ID.
      tags:
      - Connections
      responses:
        '200':
          description: List of connections
          content:
            application/json:
              schema:
                type: object
                properties:
                  links:
                    type: array
                    items:
                      type: object
                      properties:
                        acceptingTeamId:
                          anyOf:
                          - type: string
                            description: a RFC-4122-compliant UUID
                            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                          - type: 'null'
                        allow:
                          type: string
                        amendmentAcceptedById:
                          anyOf:
                          - type: string
                            description: a RFC-4122-compliant UUID
                            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                          - type: 'null'
                        amendmentProposedById:
                          anyOf:
                          - type: string
                            description: a RFC-4122-compliant UUID
                            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                          - type: 'null'
                        amendmentProposerTeamId:
                          anyOf:
                          - type: string
                            description: a RFC-4122-compliant UUID
                            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                          - type: 'null'
                        amendmentStatus:
                          anyOf:
                          - type: string
                          - type: 'null'
                        amendmentUpdatedAt:
                          anyOf:
                          - type: string
                          - type: 'null'
                        code:
                          type: string
                          description: a RFC-4122-compliant UUID
                          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                        createdAt:
                          type: string
                        createdById:
                          type: string
                          description: a RFC-4122-compliant UUID
                          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                        email:
                          anyOf:
                          - type: string
                          - type: 'null'
                        pendingAllow:
                          anyOf:
                          - type: string
                          - type: 'null'
                        requestingTeamId:
                          type: string
                          description: a RFC-4122-compliant UUID
                          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                        respondedAt:
                          anyOf:
                          - type: string
                          - type: 'null'
                        responderId:
                          anyOf:
                          - type: string
                            description: a RFC-4122-compliant UUID
                            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                          - type: 'null'
                        status:
                          type: string
                        updatedAt:
                          type: string
                        acceptedBy:
                          $ref: '#/components/schemas/Principal'
                        acceptingTeam:
                          type: object
                          properties:
                            createdAt:
                              type: string
                            description:
                              anyOf:
                              - type: string
                              - type: 'null'
                            detail:
                              anyOf:
                              - type: string
                              - type: 'null'
                            logo:
                              anyOf:
                              - type: string
                              - type: 'null'
                            name:
                              anyOf:
                              - type: string
                              - type: 'null'
                            orgId:
                              type: string
                              description: a RFC-4122-compliant UUID
                              pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                            teamId:
                              type: string
                              description: a RFC-4122-compliant UUID
                              pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                            updatedAt:
                              type: string
                            depth:
                              type: number
                            num_members:
                              type: number
                            org:
                              type: object
                              properties:
                                name:
                                  type: string
                                orgId:
                                  type: string
                              required:
                              - name
                              - orgId
                            path:
                              type: string
                          required:
                          - createdAt
                          - description
                          - detail
                          - logo
                          - name
                          - orgId
                          - teamId
                          - updatedAt
                        requestedBy:
                          $ref: '#/components/schemas/Principal'
                        requestingTeam:
                          type: object
                          properties:
                            createdAt:
                              type: string
                            description:
                              anyOf:
                              - type: string
                              - type: 'null'
                            detail:
                              anyOf:
                              - type: string
                              - type: 'null'
                            logo:
                              anyOf:
                              - type: string
                              - type: 'null'
                            name:
                              anyOf:
                              - type: string
                              - type: 'null'
                            orgId:
                              type: string
                              description: a RFC-4122-compliant UUID
                              pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                            teamId:
                              type: string
                              description: a RFC-4122-compliant UUID
                              pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                            updatedAt:
                              type: string
                            depth:
                              type: number
                            num_members:
                              type: number
                            org:
                              type: object
                              properties:
                                name:
                                  type: string
                                orgId:
                                  type: string
                              required:
                              - name
                              - orgId
                            path:
                              type: string
                          required:
                          - createdAt
                          - description
                          - detail
                          - logo
                          - name
                          - orgId
                          - teamId
                          - updatedAt
                      required:
                      - acceptingTeamId
                      - allow
                      - amendmentAcceptedById
                      - amendmentProposedById
                      - amendmentProposerTeamId
                      - amendmentStatus
                      - amendmentUpdatedAt
                      - code
                      - createdAt
                      - createdById
                      - email
                      - pendingAllow
                      - requestingTeamId
                      - respondedAt
                      - responderId
                      - status
                      - updatedAt
                  total:
                    type: number
                required:
                - links
                - total
        '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
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: FORBIDDEN
                  message:
                    type: string
                  status:
                    const: 403
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
        '500':
          description: Unknown error occurred
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    const: UNKNOWN_ERROR
                  message:
                    type: string
                  status:
                    const: 500
                  detail:
                    type: object
                    description: Extra context information specific to this error
                required:
                - code
                - message
                - status
      x-required-role: team-admin
  /api/v1/connections/{code}:
    get:
      operationId: connections.get
      parameters:
      - in: path
        name: code
        schema:
          type: string
        required: true
      summary: Get a connection
      description: Get a connection by invite code.
      tags:
      - Connections
      responses:
        '200':
          description: Connection
          content:
            application/json:
              schema:
                type: object
                properties:
                  acceptingTeamId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  allow:
                    type: string
                  amendmentAcceptedById:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentProposedById:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentProposerTeamId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  amendmentStatus:
                    anyOf:
                    - type: string
                    - type: 'null'
                  amendmentUpdatedAt:
                    anyOf:
                    - type: string
                    - type: 'null'
                  code:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  createdAt:
                    type: string
                  createdById:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  email:
                    anyOf:
                    - type: string
                    - type: 'null'
                  pendingAllow:
                    anyOf:
                    - type: string
                    - type: 'null'
                  requestingTeamId:
                    type: string
                    description: a RFC-4122-compliant UUID
                    pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                  respondedAt:
                    anyOf:
                    - type: string
                    - type: 'null'
                  responderId:
                    anyOf:
                    - type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    - type: 'null'
                  status:
                    type: string
                  updatedAt:
                    type: string
                  acceptedBy:
                    $ref: '#/components/schemas/Principal'
                  acceptingTeam:
                    type: object
                    properties:
                      createdAt:
                        type: string
                      description:
                        anyOf:
                        - type: string
                        - type: 'null'
                      detail:
                        anyOf:
                        - type: string
                        - type: 'null'
                      logo:
                        anyOf:
                        - type: string
                        - type: 'null'
                      name:
                        anyOf:
                        - type: string
                        - type: 'null'
                      orgId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      teamId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      updatedAt:
                        type: string
                      depth:
                        type: number
                      num_members:
                        type: number
                      org:
                        type: object
                        properties:
                          name:
                            type: string
                          orgId:
                            type: string
                        required:
                        - name
                        - orgId
                      path:
                        type: string
                    required:
                    - createdAt
                    - description
                    - detail
                    - logo
                    - name
                    - orgId
                    - teamId
                    - updatedAt
                  requestedBy:
                    $ref: '#/components/schemas/Principal'
                  requestingTeam:
                    type: object
                    properties:
                      createdAt:
                        type: string
                      description:
                        anyOf:
                        - type: string
                        - type: 'null'
                      detail:
                        anyOf:
                        - type: string
                        - type: 'null'
                      logo:
                        anyOf:
                        - type: string
                        - type: 'null'
                      name:
                        anyOf:
                        - type: string
                        - type: 'null'
                      orgId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      teamId:
                        type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      updatedAt:
                        type: string
                      depth:
                        type: number
                      num_members:
                        type: number
                      org:
                        type: object
                        properties:
                          name:
                            type: string
                          orgId:
                            type: string
                        requir

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