> ## Documentation Index
> Fetch the complete documentation index at: https://openworklabs.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Inspect a Workflow

> Returns the Workflow's library entry (caller role, connection readiness, result freshness, view state, Automation count), its detail (current and past versions, latest snapshot, latest successful snapshot), and the generated Artifact views bound to it. maxAgeMs (60 seconds to 30 days, default 24 hours) is the threshold that classifies the latest result as fresh or stale. Version code and example input are redacted for members without manager access; when generated Artifact views are disabled for the deployment, views is empty and viewState is default.



## OpenAPI

````yaml /openapi.json get /v1/workflows/{configObjectId}
openapi: 3.1.0
info:
  title: Den API
  description: >-
    OpenAPI spec for the Den control plane API.


    Authentication:

    - Use `Authorization: Bearer <session-token>` for user-authenticated routes
    that require a Den session.

    - Use `x-api-key: <den-api-key>` for organization API-key calls. API keys
    resolve to the issuing user and the organization member they were scoped to
    when created, so they can call ordinary user and organization routes without
    a separate signed-in session.
      Example: `curl https://api.openworklabs.com/v1/me -H "x-api-key: den_..."`.
    - Session-only flows still require a signed-in user session, including
    organization creation, invitation acceptance, active-organization switching,
    and MCP token minting.

    - Public routes like health and documentation do not require authentication.


    Swagger tip: use the security schemes in the Authorize dialog to set either
    `bearerAuth` or `denApiKey` before trying protected endpoints.
  version: 0.18.46
  contact:
    name: OpenWork
    url: https://openworklabs.com
    email: team@openworklabs.com
  license:
    name: OpenWork Enterprise Edition License
    url: https://github.com/different-ai/openwork/blob/dev/ee/LICENSE
servers:
  - url: https://api.openworklabs.com
security:
  - bearerAuth: []
  - denApiKey: []
tags:
  - name: System
    description: >-
      Service health, readiness, API documentation, and desktop version
      metadata.
  - name: Authentication
    description: >-
      Sign-in discovery, administrator bootstrap, OAuth provider connections,
      and MCP token minting.
  - name: OAuth
    description: >-
      OAuth 2.0 / OpenID Connect authorization-server and protected-resource
      metadata and dynamic client registration (RFC 8414, RFC 9728, RFC 7591),
      used by MCP clients.
  - name: SCIM
    description: >-
      SCIM 2.0 provisioning endpoints for identity providers (RFC 7644) and the
      organization SCIM connector management routes.
  - name: SSO
    description: Organization single sign-on connector management routes.
  - name: Bootstrap
    description: Agent-first provisional workspace setup routes.
  - name: Users
    description: Current user and membership routes.
  - name: Organizations
    description: Organization creation, context, brand assets, and install links.
  - name: Invitations
    description: Invitation preview, acceptance, creation, and cancellation routes.
  - name: Members
    description: Organization member management routes.
  - name: Roles
    description: Organization custom role management routes.
  - name: Teams
    description: Organization team management routes.
  - name: API Keys
    description: Organization API key management routes.
  - name: Desktop Policies
    description: Desktop app policies applied to the organization, members, or teams.
  - name: LLM Providers
    description: Organization LLM provider catalog, configuration, and access routes.
  - name: Inference
    description: Organization inference settings.
  - name: Inference Providers
    description: >-
      Organization inference Gateway providers, model groups, credential sets,
      access grants, member connections, and usage.
  - name: Cloud
    description: Organization Cloud instance lifecycle and browser gateway resolution.
  - name: Workers
    description: Worker lifecycle, billing, and runtime routes.
  - name: Worker Runtime
    description: Worker runtime inspection and upgrade routes.
  - name: Worker Activity
    description: Worker heartbeat and activity reporting routes.
  - name: Automations
    description: Scheduled Automations, their runs, and desktop runner presence.
  - name: Workflows
    description: Saved Workflows (Code Mode scripts), their versions, snapshots, and views.
  - name: Workflow Runs
    description: Durable Workflow run history.
  - name: Codemode Runs
    description: Generated Artifact views produced by Code Mode runs.
  - name: Apps
    description: >-
      Saved reusable apps built from Workflows and Artifact views, and their
      sharing.
  - name: Config Objects
    description: >-
      Versioned configuration objects (skills, workflows, and other plugin
      content).
  - name: Plugins
    description: Plugin packages, access grants, and imports.
  - name: Marketplaces
    description: Marketplaces that distribute plugins to members and teams.
  - name: Resources
    description: >-
      Aggregated snapshot of the resources and marketplace capabilities
      available to the caller.
  - name: Dashboards
    description: Shared dashboards and their access grants.
  - name: Capability Sources
    description: >-
      Native provider capabilities (Google Workspace, Microsoft 365) and
      external MCP connections executed as the calling member.
  - name: Direct uploads
    description: Multipart uploads that stream workspace files straight to a provider.
  - name: Connectors
    description: >-
      Connector accounts and instances (GitHub and other sources) and their sync
      state.
  - name: GitHub
    description: >-
      GitHub App installation, repository discovery, and plugin import from
      GitHub.
  - name: Diagnostics
    description: Controlled egress diagnostics for self-hosted deployments.
  - name: Telemetry
    description: Telemetry event ingestion and adoption analytics.
  - name: Webhooks
    description: Signed inbound webhooks from third-party providers.
  - name: Admin
    description: Platform administration routes for allowlisted OpenWork administrators.
  - name: Deprecated
    description: Removed features that answer with 410 or an empty result for old clients.
paths:
  /v1/workflows/{configObjectId}:
    get:
      tags:
        - Workflows
      summary: Inspect a Workflow
      description: >-
        Returns the Workflow's library entry (caller role, connection readiness,
        result freshness, view state, Automation count), its detail (current and
        past versions, latest snapshot, latest successful snapshot), and the
        generated Artifact views bound to it. maxAgeMs (60 seconds to 30 days,
        default 24 hours) is the threshold that classifies the latest result as
        fresh or stale. Version code and example input are redacted for members
        without manager access; when generated Artifact views are disabled for
        the deployment, views is empty and viewState is default.
      operationId: getV1WorkflowsByConfigObjectId
      parameters:
        - in: query
          name: maxAgeMs
          schema:
            type: integer
            minimum: 60000
            maximum: 2592000000
        - schema:
            type: string
          in: path
          name: configObjectId
          required: true
      responses:
        '200':
          description: Workflow returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  workflow:
                    type: object
                    properties:
                      type:
                        type: string
                        const: workflow
                      id:
                        type: string
                      plugin:
                        anyOf:
                          - type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                            required:
                              - id
                              - name
                          - type: 'null'
                      name:
                        type: string
                      description:
                        anyOf:
                          - type: string
                          - type: 'null'
                      role:
                        type: string
                        enum:
                          - viewer
                          - editor
                          - manager
                      edges:
                        type: array
                        items: {}
                      state:
                        type: string
                        enum:
                          - ready
                          - needs_signin
                          - needs_admin_setup
                      resultState:
                        type: string
                        enum:
                          - never_run
                          - fresh
                          - stale
                          - needs_attention
                      latestSuccessfulAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      viewState:
                        type: string
                        enum:
                          - default
                          - custom_active
                          - build_failed
                          - retired
                      activeViewTitle:
                        anyOf:
                          - type: string
                          - type: 'null'
                      automationCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      source:
                        type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - created
                              - installed_template
                          templateName:
                            type: string
                          templateVersion:
                            type: string
                        required:
                          - kind
                    required:
                      - type
                      - id
                      - plugin
                      - name
                      - description
                      - role
                      - edges
                      - state
                      - resultState
                      - latestSuccessfulAt
                      - viewState
                      - activeViewTitle
                      - automationCount
                      - source
                  script:
                    type: object
                    properties:
                      pluginId:
                        type: string
                        minLength: 1
                        maxLength: 160
                      configObjectId:
                        type: string
                        minLength: 1
                        maxLength: 160
                      title:
                        type: string
                        minLength: 1
                        maxLength: 255
                      description:
                        anyOf:
                          - type: string
                          - type: 'null'
                      canRun:
                        type: boolean
                      canManage:
                        type: boolean
                      currentVersion:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                            maxLength: 160
                          code:
                            anyOf:
                              - type: string
                              - type: 'null'
                          graph:
                            anyOf:
                              - type: object
                                properties:
                                  nodes:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: input
                                            label:
                                              type: string
                                            fields:
                                              type: array
                                              items:
                                                type: string
                                          required:
                                            - id
                                            - kind
                                            - label
                                            - fields
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: tool
                                            label:
                                              type: string
                                            namespace:
                                              type: string
                                            tool:
                                              type: string
                                            scriptPath:
                                              type: string
                                            assignsTo:
                                              anyOf:
                                                - type: string
                                                - type: 'null'
                                            parallelGroup:
                                              anyOf:
                                                - type: string
                                                - type: 'null'
                                          required:
                                            - id
                                            - kind
                                            - label
                                            - namespace
                                            - tool
                                            - scriptPath
                                            - assignsTo
                                            - parallelGroup
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: search
                                            label:
                                              type: string
                                          required:
                                            - id
                                            - kind
                                            - label
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: branch
                                            label:
                                              type: string
                                          required:
                                            - id
                                            - kind
                                            - label
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: loop
                                            label:
                                              type: string
                                          required:
                                            - id
                                            - kind
                                            - label
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            kind:
                                              type: string
                                              const: return
                                            label:
                                              type: string
                                          required:
                                            - id
                                            - kind
                                            - label
                                  edges:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        from:
                                          type: string
                                        to:
                                          type: string
                                        label:
                                          anyOf:
                                            - type: string
                                            - type: 'null'
                                        kind:
                                          type: string
                                          enum:
                                            - flow
                                            - data
                                      required:
                                        - from
                                        - to
                                        - label
                                        - kind
                                  parseError:
                                    anyOf:
                                      - type: string
                                      - type: 'null'
                                required:
                                  - nodes
                                  - edges
                                  - parseError
                              - type: 'null'
                          inputSchema:
                            anyOf:
                              - {}
                              - type: 'null'
                          outputSchema:
                            anyOf:
                              - {}
                              - type: 'null'
                          exampleInput:
                            anyOf:
                              - {}
                              - type: 'null'
                          requiredCapabilities:
                            type: array
                            items:
                              type: object
                              properties:
                                capabilityName:
                                  type: string
                                  minLength: 1
                                  maxLength: 255
                                scriptPath:
                                  type: string
                                  minLength: 1
                                  maxLength: 255
                              required:
                                - capabilityName
                                - scriptPath
                          codeDigest:
                            type: string
                            pattern: ^sha256:[a-f0-9]{64}$
                          inputSchemaDigest:
                            anyOf:
                              - type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              - type: 'null'
                          outputSchemaDigest:
                            anyOf:
                              - type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              - type: 'null'
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          automationReferences:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                name:
                                  type: string
                                  minLength: 1
                                  maxLength: 120
                                state:
                                  type: string
                                  enum:
                                    - active
                                    - inactive
                                    - needs_attention
                                    - archived
                                configObjectVersionId:
                                  type: string
                                  minLength: 1
                                  maxLength: 160
                                input: {}
                              required:
                                - id
                                - name
                                - state
                                - configObjectVersionId
                        required:
                          - id
                          - code
                          - graph
                          - inputSchema
                          - outputSchema
                          - requiredCapabilities
                          - codeDigest
                          - inputSchemaDigest
                          - outputSchemaDigest
                          - createdAt
                          - automationReferences
                      versions:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 160
                            code:
                              anyOf:
                                - type: string
                                - type: 'null'
                            graph:
                              anyOf:
                                - type: object
                                  properties:
                                    nodes:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: input
                                              label:
                                                type: string
                                              fields:
                                                type: array
                                                items:
                                                  type: string
                                            required:
                                              - id
                                              - kind
                                              - label
                                              - fields
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: tool
                                              label:
                                                type: string
                                              namespace:
                                                type: string
                                              tool:
                                                type: string
                                              scriptPath:
                                                type: string
                                              assignsTo:
                                                anyOf:
                                                  - type: string
                                                  - type: 'null'
                                              parallelGroup:
                                                anyOf:
                                                  - type: string
                                                  - type: 'null'
                                            required:
                                              - id
                                              - kind
                                              - label
                                              - namespace
                                              - tool
                                              - scriptPath
                                              - assignsTo
                                              - parallelGroup
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: search
                                              label:
                                                type: string
                                            required:
                                              - id
                                              - kind
                                              - label
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: branch
                                              label:
                                                type: string
                                            required:
                                              - id
                                              - kind
                                              - label
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: loop
                                              label:
                                                type: string
                                            required:
                                              - id
                                              - kind
                                              - label
                                          - type: object
                                            properties:
                                              id:
                                                type: string
                                              kind:
                                                type: string
                                                const: return
                                              label:
                                                type: string
                                            required:
                                              - id
                                              - kind
                                              - label
                                    edges:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          from:
                                            type: string
                                          to:
                                            type: string
                                          label:
                                            anyOf:
                                              - type: string
                                              - type: 'null'
                                          kind:
                                            type: string
                                            enum:
                                              - flow
                                              - data
                                        required:
                                          - from
                                          - to
                                          - label
                                          - kind
                                    parseError:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                  required:
                                    - nodes
                                    - edges
                                    - parseError
                                - type: 'null'
                            inputSchema:
                              anyOf:
                                - {}
                                - type: 'null'
                            outputSchema:
                              anyOf:
                                - {}
                                - type: 'null'
                            exampleInput:
                              anyOf:
                                - {}
                                - type: 'null'
                            requiredCapabilities:
                              type: array
                              items:
                                type: object
                                properties:
                                  capabilityName:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  scriptPath:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                required:
                                  - capabilityName
                                  - scriptPath
                            codeDigest:
                              type: string
                              pattern: ^sha256:[a-f0-9]{64}$
                            inputSchemaDigest:
                              anyOf:
                                - type: string
                                  pattern: ^sha256:[a-f0-9]{64}$
                                - type: 'null'
                            outputSchemaDigest:
                              anyOf:
                                - type: string
                                  pattern: ^sha256:[a-f0-9]{64}$
                                - type: 'null'
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            automationReferences:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    minLength: 1
                                    maxLength: 160
                                  name:
                                    type: string
                                    minLength: 1
                                    maxLength: 120
                                  state:
                                    type: string
                                    enum:
                                      - active
                                      - inactive
                                      - needs_attention
                                      - archived
                                  configObjectVersionId:
                                    type: string
                                    minLength: 1
                                    maxLength: 160
                                  input: {}
                                required:
                                  - id
                                  - name
                                  - state
                                  - configObjectVersionId
                          required:
                            - id
                            - code
                            - graph
                            - inputSchema
                            - outputSchema
                            - requiredCapabilities
                            - codeDigest
                            - inputSchemaDigest
                            - outputSchemaDigest
                            - createdAt
                            - automationReferences
                      latestSnapshot:
                        anyOf:
                          - type: object
                            properties:
                              receiptId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              pluginId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              configObjectId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              configObjectVersionId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              automationRunId:
                                anyOf:
                                  - type: string
                                    minLength: 1
                                    maxLength: 160
                                  - type: 'null'
                              value:
                                anyOf:
                                  - {}
                                  - type: 'null'
                              markdown:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              codeDigest:
                                type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              resultDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              inputSchemaDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              outputSchemaDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              rendererVersion:
                                anyOf:
                                  - type: string
                                    const: codemode-markdown-v1
                                  - type: 'null'
                              toolCalls:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                  required:
                                    - name
                              status:
                                type: string
                                enum:
                                  - succeeded
                                  - failed
                              errorKind:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              errorMessage:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              source:
                                type: string
                                enum:
                                  - manual
                                  - scheduled
                              startedAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              finishedAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              contentDeletedAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                            required:
                              - receiptId
                              - pluginId
                              - configObjectId
                              - configObjectVersionId
                              - automationRunId
                              - value
                              - markdown
                              - codeDigest
                              - resultDigest
                              - inputSchemaDigest
                              - outputSchemaDigest
                              - rendererVersion
                              - toolCalls
                              - status
                              - errorKind
                              - errorMessage
                              - source
                              - startedAt
                              - finishedAt
                              - contentDeletedAt
                          - type: 'null'
                      latestSuccessfulSnapshot:
                        anyOf:
                          - type: object
                            properties:
                              receiptId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              pluginId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              configObjectId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              configObjectVersionId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              automationRunId:
                                anyOf:
                                  - type: string
                                    minLength: 1
                                    maxLength: 160
                                  - type: 'null'
                              value:
                                anyOf:
                                  - {}
                                  - type: 'null'
                              markdown:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              codeDigest:
                                type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              resultDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              inputSchemaDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              outputSchemaDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              rendererVersion:
                                anyOf:
                                  - type: string
                                    const: codemode-markdown-v1
                                  - type: 'null'
                              toolCalls:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                  required:
                                    - name
                              status:
                                type: string
                                enum:
                                  - succeeded
                                  - failed
                              errorKind:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              errorMessage:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              source:
                                type: string
                                enum:
                                  - manual
                                  - scheduled
                              startedAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              finishedAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              contentDeletedAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                            required:
                              - receiptId
                              - pluginId
                              - configObjectId
                              - configObjectVersionId
                              - automationRunId
                              - value
                              - markdown
                              - codeDigest
                              - resultDigest
                              - inputSchemaDigest
                              - outputSchemaDigest
                              - rendererVersion
                              - toolCalls
                              - status
                              - errorKind
                              - errorMessage
                              - source
                              - startedAt
                              - finishedAt
                              - contentDeletedAt
                          - type: 'null'
                      freshness:
                        oneOf:
                          - type: object
                            properties:
                              state:
                                type: string
                                const: never_run
                            required:
                              - state
                          - type: object
                            properties:
                              state:
                                type: string
                                const: fresh
                              ageMs:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                            required:
                              - state
                              - ageMs
                          - type: object
                            properties:
                              state:
                                type: string
                                const: stale
                              ageMs:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              maxAgeMs:
                                type: integer
                                exclusiveMinimum: 0
                                maximum: 9007199254740991
                            required:
                              - state
                              - ageMs
                              - maxAgeMs
                          - type: object
                            properties:
                              state:
                                type: string
                                const: needs_attention
                              ageMs:
                                anyOf:
                                  - type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  - type: 'null'
                              lastSuccessfulReceiptId:
                                anyOf:
                                  - type: string
                                    minLength: 1
                                    maxLength: 160
                                  - type: 'null'
                              reason:
                                type: string
                                minLength: 1
                                maxLength: 2000
                            required:
                              - state
                              - ageMs
                              - lastSuccessfulReceiptId
                              - reason
                    required:
                      - pluginId
                      - configObjectId
                      - title
                      - description
                      - canRun
                      - canManage
                      - currentVersion
                      - versions
                      - latestSnapshot
                      - latestSuccessfulSnapshot
                      - freshness
                  views:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                          maxLength: 160
                        configObjectId:
                          type: string
                          minLength: 1
                          maxLength: 160
                        title:
                          type: string
                          minLength: 1
                          maxLength: 255
                        description:
                          anyOf:
                            - type: string
                              maxLength: 2000
                            - type: 'null'
                        status:
                          type: string
                          enum:
                            - active
                            - retired
                        activeRevisionId:
                          anyOf:
                            - type: string
                              minLength: 1
                              maxLength: 160
                            - type: 'null'
                        useInWorkflow:
                          type: boolean
                        revisions:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                minLength: 1
                                maxLength: 160
                              artifactViewId:
                                type: string
                                minLength: 1
                                maxLength: 160
                              resourceUri:
                                type: string
                                pattern: ^ui:\/\/openwork\/artifacts\/.*
                              buildStatus:
                                type: string
                                enum:
                                  - ready
                                  - failed
                              sourceDigest:
                                type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              resourceDigest:
                                anyOf:
                                  - type: string
                                    pattern: ^sha256:[a-f0-9]{64}$
                                  - type: 'null'
                              outputSchemaDigest:
                                type: string
                                pattern: ^sha256:[a-f0-9]{64}$
                              csp:
                                type: object
                                properties:
                                  connectDomains:
                                    minItems: 0
                                    maxItems: 0
                                    type: array
                                    items:
                                      type: string
                                  resourceDomains:
                                    minItems: 0
                                    maxItems: 0
                                    type: array
                                    items:
                                      type: string
                                  frameDomains:
                                    minItems: 0
                                    maxItems: 0
                                    type: array
                                    items:
                                      type: string
                                  baseUriDomains:
                                    minItems: 0
                                    maxItems: 0
                                    type: array
                                    items:
                                      type: string
                                required:
                                  - connectDomains
                                  - resourceDomains
                                  - frameDomains
                                  - baseUriDomains
                              diagnostics:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    level:
                                      type: string
                                      enum:
                                        - error
                                        - warning
                                    message:
                                      type: string
                                      minLength: 1
                                      maxLength: 4000
                                    line:
                                      anyOf:
                                        - type: integer
                                          exclusiveMinimum: 0
                                          maximum: 9007199254740991
                                        - type: 'null'
                                    column:
                                      anyOf:
                                        - type: integer
                                          minimum: 0
                                          maximum: 9007199254740991
                                        - type: 'null'
                                  required:
                                    - level
                                    - message
                                    - line
                                    - column
                              compilerName:
                                type: string
                                minLength: 1
                              compilerVersion:
                                type: string
                                minLength: 1
                              reactVersion:
                                type: string
                                minLength: 1
                              compiledHtmlBytes:
                                anyOf:
                                  - type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  - type: 'null'
                              retiredAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                              createdAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - id
                              - artifactViewId
                              - resourceUri
                              - buildStatus
                              - sourceDigest
                              - resourceDigest
                              - outputSchemaDigest
                              - csp
                              - diagnostics
                              - compilerName
                              - compilerVersion
                              - reactVersion
                              - compiledHtmlBytes
                              - retiredAt
                              - createdAt
                        createdAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        updatedAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - id
                        - configObjectId
                        - title
                        - description
                        - status
                        - activeRevisionId
                        - revisions
                        - createdAt
                        - updatedAt
                required:
                  - workflow
                  - script
                  - views
        '404':
          description: Workflow not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
      security:
        - bearerAuth: []
        - denApiKey: []
components:
  schemas:
    NotFoundError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: session-token
      description: >-
        Session token passed as `Authorization: Bearer <session-token>` for
        user-authenticated Den routes.
    denApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Organization API key passed as the `x-api-key` header. The raw key is
        the header value; do not prefix it with `Bearer`.

````