openapi: 3.0.0 info: title: Dust Apps API version: 1.0.2 description: Run Dust Apps — chained LLM/code blocks defined in the Dust Builder — and inspect their runs. contact: name: Dust Support url: https://docs.dust.tt license: name: MIT url: https://github.com/dust-tt/dust/blob/main/LICENSE servers: - url: https://dust.tt description: Dust.tt API (us-central1) - url: https://eu.dust.tt description: Dust.tt API (europe-west1) tags: - name: Apps description: Dust apps paths: /api/v1/w/{wId}/spaces/{spaceId}/apps/{aId}/runs/{runId}: get: summary: Get an App Run description: Retrieve a run for an app in the space identified by {spaceId}. tags: - Apps security: - BearerAuth: [] parameters: - in: path name: wId required: true description: Unique string identifier for the workspace schema: type: string - in: path name: spaceId required: true description: ID of the space schema: type: string - in: path name: aId required: true description: ID of the app schema: type: string - in: path name: runId required: true description: ID of the run schema: type: string responses: '200': description: The run content: application/json: schema: type: object properties: run: $ref: '#/components/schemas/Run' '400': description: Bad Request. Missing or invalid parameters. '401': description: Unauthorized. Invalid or missing authentication token. /api/v1/w/{wId}/spaces/{spaceId}/apps/{aId}/runs: post: summary: Create an App Run description: Create and execute a run for an app in the space specified by {spaceId}. tags: - Apps security: - BearerAuth: [] parameters: - in: path name: wId required: true description: Unique string identifier for the workspace schema: type: string - in: path name: spaceId required: true description: ID of the space schema: type: string - in: path name: aId required: true description: Unique identifier of the app schema: type: string requestBody: required: true content: application/json: schema: type: object required: - specification_hash - config - inputs properties: specification_hash: type: string description: Hash of the app specification. Ensures API compatibility across app iterations. config: type: object description: Configuration for the app run properties: model: type: object description: Model configuration properties: provider_id: type: string description: ID of the model provider model_id: type: string description: ID of the model use_cache: type: boolean description: Whether to use caching use_stream: type: boolean description: Whether to use streaming inputs: type: array description: Array of input objects for the app items: type: object additionalProperties: true stream: type: boolean description: If true, the response will be streamed blocking: type: boolean description: If true, the request will block until the run is complete block_filter: type: array items: type: string description: Array of block names to filter the response responses: '200': description: App run created and executed successfully content: application/json: schema: type: object properties: run: $ref: '#/components/schemas/Run' '400': description: Bad Request. Missing or invalid parameters. '401': description: Unauthorized. Invalid or missing authentication token. '404': description: Workspace or app not found. '405': description: Method not supported. '500': description: Internal Server Error. /api/v1/w/{wId}/spaces/{spaceId}/apps: get: summary: List Apps description: Get all apps in the space identified by {spaceId}. tags: - Apps security: - BearerAuth: [] parameters: - in: path name: wId required: true description: Unique string identifier for the workspace schema: type: string - in: path name: spaceId required: true description: ID of the space schema: type: string responses: '200': description: Apps of the workspace content: application/json: schema: type: object properties: apps: type: array items: type: object properties: id: type: integer description: Unique identifier for the app sId: type: string description: Unique string identifier for the app name: type: string description: Name of the app description: type: string description: Description of the app savedSpecification: type: string description: Saved specification of the app savedConfig: type: string description: Saved configuration of the app savedRun: type: string description: Saved run identifier of the app dustAPIProjectId: type: string description: ID of the associated Dust API project '400': description: Bad Request. Missing or invalid parameters. '401': description: Unauthorized. Invalid or missing authentication token. '404': description: Workspace not found. '405': description: Method not supported. '500': description: Internal Server Error. components: schemas: Run: type: object properties: run_id: type: string description: The ID of the run example: 4a2c6e8b0d app_id: type: string description: The ID of the app example: 9f1d3b5a7c status: type: object properties: run: type: string description: The status of the run example: succeeded build: type: string description: The status of the build example: succeeded results: type: object description: The results of the run example: {} specification_hash: type: string description: The hash of the app specification example: 8c0a4e6d2f traces: type: array items: type: array items: type: object properties: timestamp: type: number description: The timestamp of the trace example: 1234567890 trace: type: object description: The trace example: {} securitySchemes: BearerAuth: type: http scheme: bearer description: Your DUST API key is a Bearer token.