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

# Get Run Outputs

<Warning>
  This endpoint is **not available** for runs executed in `live` mode. It only works for runs executed in `async` or `schedule` mode. For live mode runs, results are returned directly in the API response.
</Warning>

## Pagination

This endpoint uses **cursor-based pagination** by default. Follow the `X-Pagination-Next` response header to retrieve subsequent pages.

* `limit` controls the page size (default: **100**, max: **500**).
* The `X-Pagination-Next` header contains the **full URL** for the next page, including `limit` and `cursor`.
* When the `X-Pagination-Next` header is **absent**, there are no more pages.

```bash theme={null}
# First request
curl -X GET "https://api.edges.run/v1/runs/{run_uid}/outputs?limit=200" \
  -H "Accept: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>"

# Follow X-Pagination-Next header for subsequent pages
curl -X GET "https://api.edges.run/v1/runs/{run_uid}/outputs?limit=200&cursor=<cursor_value>" \
  -H "Accept: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>"
```

<Warning>
  The `offset` parameter is **deprecated**. If provided, the system falls back to offset-based pagination and cursor pagination is not used. Prefer following the `X-Pagination-Next` URL for all new integrations.
</Warning>

## Rate Limits

### Run's Routes Limits

<Info>
  To date, all /runs/xxx routes are subject to the same limit (e.g., 30 requests/minute for TRIAL plans). We are working to refine these quotas per endpoint (status, output, etc.) to better match usage patterns. Plans and limits will be updated in the documentation as soon as these changes take effect.
</Info>

| Plan Tier          | Max Requests/Second | Max Requests/Minute | Rationale                                               |
| ------------------ | ------------------- | ------------------- | ------------------------------------------------------- |
| Trial              | \< 1                | 30                  | Supports 2 concurrent runs @ 10s polling interval       |
| Bronze             | 1                   | 60                  | Supports 2 concurrent runs with more aggressive polling |
| Silver / Gold      | 2.5                 | 150                 | Supports 5 concurrent runs @ 10s polling interval       |
| Platinum / Diamond | 5                   | 300                 | Supports 10 concurrent runs @ 10s polling interval      |
| Titanium           | 10                  | 600                 | Supports 15 concurrent runs @ 10s polling interval      |

Rate limits for polling run results via `/v1/runs/{run_uid}/outputs`. These limits support realistic polling patterns for customers who prefer polling over callbacks.

<Tip>These limits are aligned with concurrent execution limits. For example, with a Silver/Gold plan (5 concurrent runs), you can poll all active runs every 10 seconds with comfortable headroom.</Tip>

#### Capacity Examples

| Plan Tier          | Polling Capacity                         | Use Case                         |
| ------------------ | ---------------------------------------- | -------------------------------- |
| Trial              | Poll 2 runs every 10s                    | Basic polling during development |
| Bronze             | Poll 2 runs every 10s with headroom      | Small-scale polling              |
| Silver / Gold      | Poll 5 runs every 10s, or 1 run every 4s | Team polling operations          |
| Platinum / Diamond | Poll 10 runs every 10s                   | Multi-workspace polling          |
| Titanium           | Poll 15 runs every 10s                   | Enterprise-scale polling         |

<Note>
  **Implementation Details:**

  * Rate limit type: Per-workspace, per-minute
  * Error response: Standard 429 with `X-RateLimit-Type: /v1/runs/outputs`
  * Headers include `X-RateLimit-Remaining` for visibility
</Note>


## OpenAPI

````yaml v1/api/actions.json get /runs/{run_uid}/outputs
openapi: 3.1.0
info:
  title: ED Automation External API
  description: This is the External API documentation for ED Automation
  version: dev
servers:
  - url: https://api.edges.run/v1
security:
  - XApiKeyAuth: []
paths:
  /runs/{run_uid}/outputs:
    get:
      tags:
        - public / runs
      summary: Get outputs by Run UUID
      operationId: getRunOutputs
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          in: query
          name: limit
          required: false
          description: Number of outputs to return
        - schema:
            type: integer
            minimum: 0
            nullable: true
            default: null
            deprecated: true
          in: query
          name: offset
          required: false
          description: (deprecated) Number of outputs to skip for pagination
        - schema:
            type: string
            title: Pagination Cursor
          in: query
          name: cursor
          required: false
          description: >-
            (optional) Cursor value obtained from the `X-Pagination-Next`
            response header of a previous request, used to continue pagination.
            If not provided, the first page will be returned.
        - schema:
            type: string
            format: uuid
          in: path
          name: run_uid
          required: true
          description: Run UUID
      responses:
        '200':
          description: Returns the run outputs
          headers:
            X-Pagination-Next:
              schema:
                title: Next Page URL
                type: string
              description: >-
                URL to retrieve the next page of results. If present, indicates
                that there are more results to fetch. This URL includes the
                necessary query parameters (like cursor) to get the next set of
                outputs.
          content:
            application/json:
              schema:
                description: Returns the run outputs
                type: array
                items:
                  type: object
                  description: Run Output
                  additionalProperties: true
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
components:
  schemas:
    def-0:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type: string
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          nullable: true
          example: ERR-12345
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
  securitySchemes:
    XApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````