Dust Identity Events API

Work with system events

Operations 1

GET /api/v1/events List events #

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-events-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-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DUST Events 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: Events
  description: Work with system events
paths:
  /api/v1/events:
    get:
      operationId: events.list
      summary: List events
      tags:
      - Events
      responses:
        '200':
          description: List of events (Activity Groups when grouped).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventListResponse'
        '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
        '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
      parameters:
      - in: query
        name: actionFilter
        schema:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
      - in: query
        name: cursor
        schema:
          type: string
      - in: query
        name: excludeActionFilter
        schema:
          type: string
      - in: query
        name: groupBy
        schema:
          const: activity
      - in: query
        name: occurred
        schema:
          type: string
      - in: query
        name: order
        schema:
          enum:
          - asc
          - desc
      - in: query
        name: orgId
        schema:
          type: string
      - in: query
        name: pageSize
        schema:
          anyOf:
          - type: number
          - type: string
            pattern: ^(?:(?!^-0\.?0*$)(?:-?(?:(?:0|[1-9]\d*)(?:\.\d+)?)|\.\d+?))$
      - in: query
        name: teamId
        schema:
          type: string
      - in: query
        name: threadId
        schema:
          type: string
      - in: query
        name: withTargets
        schema:
          anyOf:
          - const: 'false'
          - const: 'true'
          - type: boolean
      - in: query
        name: withUser
        schema:
          anyOf:
          - const: 'false'
          - const: 'true'
          - type: boolean
components:
  schemas:
    ThreadFieldTextValue:
      type: object
      properties:
        text:
          type: string
      required:
      - text
    ThreadFieldSelectMany:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: select-many
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldSelectManyValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldPhoneValue:
      type: object
      properties:
        phone:
          type: string
      required:
      - phone
    ThreadFieldDefinitionDate:
      type: object
      properties:
        name:
          type: string
        type:
          const: date
        id:
          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
          default: 386ff857-2e20-41e6-b97f-6a626481fa89
        isPrivate:
          type: boolean
          default: false
        isRequired:
          type: boolean
          default: false
        default:
          anyOf:
          - type: string
          - type: 'null'
        description:
          type: string
      required:
      - name
      - type
    ThreadFieldThread:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: thread
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldThreadValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldDateRangeValue:
      type: object
      properties:
        from:
          type: string
        to:
          type: string
      required:
      - from
      - to
    ThreadFieldSelect:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: select
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldSelectValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldDefinitionPhone:
      type: object
      properties:
        name:
          type: string
        type:
          const: phone
        id:
          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
          default: 4f65f255-250b-4ffb-b8f5-64144d2c3ecf
        isPrivate:
          type: boolean
          default: false
        isRequired:
          type: boolean
          default: false
        default:
          anyOf:
          - type: string
            pattern: ^(?:\+?\d{1,4})?[-.\s]*?\(?\d{1,3}?\)?[-.\s]*?\d{1,4}[-.\s]*?\d{1,4}[-.\s]?\d{1,9}$
          - type: 'null'
        description:
          type: string
      required:
      - name
      - type
    ThreadFieldResource:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          enum:
          - audio
          - doc
          - file
          - image
          - pdf
          - video
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldResourceValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldTime:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: time
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldTimeValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldUrlValue:
      type: object
      properties:
        url:
          type: string
      required:
      - url
    ThreadFieldDate:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: date
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldDateValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldEmailValue:
      type: object
      properties:
        email:
          type: string
      required:
      - email
    Principal:
      type: object
      properties:
        avatar:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        email:
          anyOf:
          - type: string
          - type: 'null'
        emailVerified:
          anyOf:
          - type: boolean
          - type: 'null'
        familyName:
          anyOf:
          - type: string
          - type: 'null'
        kind:
          enum:
          - human
          - service
        name:
          anyOf:
          - type: string
          - type: 'null'
        phone:
          anyOf:
          - type: string
          - type: 'null'
        profileId:
          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
        updatedAt:
          type: string
        userId:
          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:
      - avatar
      - createdAt
      - email
      - emailVerified
      - familyName
      - kind
      - name
      - phone
      - profileId
      - updatedAt
      - userId
    ThreadFieldDateRange:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: date-range
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldDateRangeValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadFieldText:
      type: object
      properties:
        archivedAt:
          anyOf:
          - type: string
          - type: 'null'
        createdAt:
          type: string
        defId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        description:
          anyOf:
          - type: string
          - type: 'null'
        fieldId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        isPrivate:
          type: boolean
        isRequired:
          type: boolean
        name:
          anyOf:
          - type: string
          - type: 'null'
        ownerId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
        sortPriority:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
        transferId:
          anyOf:
          - type: string
            description: a RFC-4122-compliant UUID
            pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
          - type: 'null'
        transferredAt:
          anyOf:
          - type: string
          - type: 'null'
        type:
          const: text
        updatedAt:
          type: string
        value:
          anyOf:
          - $ref: '#/components/schemas/ThreadFieldTextValue'
          - type: 'null'
      required:
      - archivedAt
      - createdAt
      - defId
      - description
      - fieldId
      - isPrivate
      - isRequired
      - name
      - ownerId
      - sortPriority
      - transferId
      - transferredAt
      - type
      - updatedAt
      - value
    ThreadTemplateSpec:
      type: array
      items:
        anyOf:
        - $ref: '#/components/schemas/ThreadFieldDefinitionResource'
        - $ref: '#/components/schemas/ThreadFieldDefinitionBoolean'
        - $ref: '#/components/schemas/ThreadFieldDefinitionDate'
        - $ref: '#/components/schemas/ThreadFieldDefinitionDateRange'
        - $ref: '#/components/schemas/ThreadFieldDefinitionDatetime'
        - $ref: '#/components/schemas/ThreadFieldDefinitionDuration'
        - $ref: '#/components/schemas/ThreadFieldDefinitionEmail'
        - $ref: '#/components/schemas/ThreadFieldDefinitionLongText'
        - $ref: '#/components/schemas/ThreadFieldDefinitionNumber'
        - $ref: '#/components/schemas/ThreadFieldDefinitionJson'
        - $ref: '#/components/schemas/ThreadFieldDefinitionPhone'
        - $ref: '#/components/schemas/ThreadFieldDefinitionSelect'
        - $ref: '#/components/schemas/ThreadFieldDefinitionSelectMany'
        - $ref: '#/components/schemas/ThreadFieldDefinitionTags'
        - $ref: '#/components/schemas/ThreadFieldDefinitionText'
        - $ref: '#/components/schemas/ThreadFieldDefinitionTime'
        - $ref: '#/components/schemas/ThreadFieldDefinitionUrl'
    ThreadFieldDefinitionNumber:
      type: object
      properties:
        name:
          type: string
        type:
          const: number
        id:
          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
          default: 88007de5-4857-4391-890f-0e22663116b9
        isPrivate:
          type: boolean
          default: false
        isRequired:
          type: boolean
          default: false
        default:
          anyOf:
          - type: number
          - type: 'null'
        description:
          type: string
      required:
      - name
      - type
    ThreadFieldThreadValue:
      type: object
      properties:
        threadId:
          type: string
          description: a RFC-4122-compliant UUID
          pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
      required:
      - threadId
    EventListResponse:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              action:
                type: string
                maxLength: 64
              comment:
                anyOf:
                - type: string
                - type: 'null'
              created:
                type: string
              declaredActor:
                anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                      maxLength: 128
                      minLength: 1
                    displayName:
                      type: string
                      maxLength: 128
                    role:
                      type: string
                      maxLength: 64
                    system:
                      type: string
                      maxLength: 64
                  required:
                  - id
                - type: 'null'
              eventId:
                type: string
                description: a RFC-4122-compliant UUID
                pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
              geolocation:
                anyOf:
                - type: number
                - type: object
                - type: string
                - type: boolean
                - type: 'null'
              ipAddress:
                anyOf:
                - type: string
                - type: 'null'
              namespace:
                anyOf:
                - type: string
                - type: 'null'
              occurred:
                type: string
              operationId:
                type: string
                description: a RFC-4122-compliant UUID
                pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
              operationName:
                anyOf:
                - type: string
                - type: 'null'
              payload:
                anyOf:
                - type: number
                - type: object
                - type: string
                - type: boolean
                - type: 'null'
              payload_version:
                type: string
                maxLength: 16
              topic:
                anyOf:
                - type: string
                - type: 'null'
              transactionId:
                anyOf:
                - type: string
                  description: a RFC-4122-compliant UUID
                  pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                - type: 'null'
              userAgent:
                anyOf:
                - type: string
                - type: 'null'
              userId:
                type: string
                description: a RFC-4122-compliant UUID
                pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
              userOrgId:
                type: string
                description: a RFC-4122-compliant UUID
                pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
              userTeamId:
                type: string
                description: a RFC-4122-compliant UUID
                pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
              to_bundles:
                type: array
                items:
                  type: object
                  properties:
                    bundleId:
                      type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    childOfId:
                      anyOf:
                      - type: string
                        description: a RFC-4122-compliant UUID
                        pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                      - type: 'null'
                    createdAt:
                      type: string
                    description:
                      anyOf:
                      - type: string
                      - type: 'null'
                    kind:
                      type: string
                    name:
                      type: string
                    ownerId:
                      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
                    hasChildren:
                      type: boolean
                    idPath:
                      type: array
                      items:
                        type: string
                    isSharedOut:
                      type: boolean
                    path:
                      type: array
                      items:
                        type: string
                    permissions:
                      type: object
                      properties:
                        can_edit:
                          type: boolean
                          default: false
                        can_publish:
                          type: boolean
                          default: false
                        can_share:
                          type: boolean
                          default: false
                        can_transfer:
                          type: boolean
                          default: false
                        can_view:
                          type: boolean
                          default: false
                    threadCount:
                      type: number
                  required:
                  - bundleId
                  - childOfId
                  - createdAt
                  - description
                  - kind
                  - name
                  - ownerId
                  - updatedAt
              to_collections:
                type: array
                items:
                  type: object
                  properties:
                    collectionId:
                      type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    createdAt:
                      type: string
                    description:
                      anyOf:
                      - type: string
                      - type: 'null'
                    kind:
                      anyOf:
                      - type: string
                      - type: 'null'
                    name:
                      type: string
                    ownerId:
                      type: string
                      description: a RFC-4122-compliant UUID
                      pattern: ^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$
                    updatedAt:
                      type: string
                  required:
                  - collectionId
                  - createdAt
                  - description
                  - kind
                  - name
                  - ownerId
                  - updatedAt
         

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