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

# Get Run Details

> Retrieves the current status and outputs of a specific workflow run. Poll this endpoint to track workflow progress and retrieve generated outputs.

**Rate Limit:** 120 requests per minute per API key.



## OpenAPI

````yaml GET /{key}/runs/{runId}
openapi: 3.1.0
info:
  title: Cordage Webhook API
  description: >-
    The Cordage Webhook API allows you to programmatically trigger workflows,
    monitor run status, and retrieve outputs. Use webhooks to integrate your AI
    workflows into external applications, automation pipelines, or custom tools.
  version: 1.0.0
  contact:
    name: Cordage Support
    url: https://trycordage.com
servers:
  - url: https://api.trycordage.com/api/webhooks
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Workflows
    description: Trigger and manage workflow executions
  - name: Runs
    description: Monitor and control workflow runs
paths:
  /{key}/runs/{runId}:
    get:
      tags:
        - Runs
      summary: Get run details
      description: >-
        Retrieves the current status and outputs of a specific workflow run.
        Poll this endpoint to track workflow progress and retrieve generated
        outputs.


        **Rate Limit:** 120 requests per minute per API key.
      operationId: getRunDetails
      parameters:
        - name: key
          in: path
          description: The webhook key
          required: true
          schema:
            type: string
            example: wh_abc123xyz
        - name: runId
          in: path
          description: The run ID returned from the trigger endpoint
          required: true
          schema:
            type: string
            format: uuid
            example: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '200':
          description: Run details retrieved successfully
          headers:
            X-RateLimit-Limit:
              description: Maximum requests allowed per window
              schema:
                type: integer
                example: 120
            X-RateLimit-Remaining:
              description: Remaining requests in current window
              schema:
                type: integer
                example: 119
            X-RateLimit-Reset:
              description: Seconds until rate limit resets
              schema:
                type: integer
                example: 45
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunDetailsResponse'
              examples:
                running:
                  summary: Workflow in progress
                  value:
                    run_id: 550e8400-e29b-41d4-a716-446655440000
                    status: running
                    created_at: '2024-01-15T10:30:00Z'
                    completed_at: null
                    metadata:
                      type: webhook
                      node_count: 5
                      webhook_key: wh_abc123xyz
                    outputs: null
                completed:
                  summary: Workflow completed
                  value:
                    run_id: 550e8400-e29b-41d4-a716-446655440000
                    status: completed
                    created_at: '2024-01-15T10:30:00Z'
                    completed_at: '2024-01-15T10:32:15Z'
                    metadata:
                      type: webhook
                      node_count: 5
                      webhook_key: wh_abc123xyz
                      final_outputs:
                        - export-node-1
                    outputs:
                      - https://storage.trycordage.com/outputs/image_001.png
                      - https://storage.trycordage.com/outputs/image_002.png
                failed:
                  summary: Workflow failed
                  value:
                    run_id: 550e8400-e29b-41d4-a716-446655440000
                    status: failed
                    created_at: '2024-01-15T10:30:00Z'
                    completed_at: '2024-01-15T10:31:00Z'
                    metadata:
                      type: webhook
                      node_count: 5
                    outputs: null
        '401':
          description: Unauthorized - missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden - API key doesn't have access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Webhook or run not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    RunDetailsResponse:
      type: object
      required:
        - run_id
        - status
        - created_at
      properties:
        run_id:
          type: string
          format: uuid
          description: Unique identifier for this workflow run
        status:
          $ref: '#/components/schemas/RunStatus'
        created_at:
          type: string
          format: date-time
          description: When the run was started
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: When the run completed (null if still running)
        metadata:
          $ref: '#/components/schemas/RunMetadata'
        outputs:
          type: array
          items:
            type: string
            format: uri
          nullable: true
          description: >-
            URLs of generated output files (available when status is
            'completed')
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message
        retry_after:
          type: integer
          description: Seconds to wait before retrying (only present for rate limit errors)
    RunStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
        - cancelled
      description: The current status of a workflow run
    RunMetadata:
      type: object
      description: Metadata about the workflow run
      properties:
        type:
          type: string
          description: Type of run (e.g., 'webhook', 'manual')
        node_count:
          type: integer
          description: Total number of nodes in the workflow
        webhook_id:
          type: string
          format: uuid
          description: ID of the webhook that triggered this run
        webhook_key:
          type: string
          description: Key of the webhook that triggered this run
        webhook_body:
          type: object
          additionalProperties: true
          description: The input data passed when triggering the webhook
        final_outputs:
          type: array
          items:
            type: string
          description: IDs of export nodes that produced outputs
        execution_order:
          type: array
          items:
            type: string
          description: Order in which nodes were executed
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        API key authentication. Get your API key from the workspace settings.

        Example: `Authorization: Bearer cordage_xxxxxxxxxxxx`

````