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

# Inspect one workflow run

> Returns a small status projection. terminalNodes contains the last executed node on each ending branch, with its name and succeeded/failed state. Raw input, node IDs/types, outputs and traces are not returned. A found failed run still returns HTTP 200.



## OpenAPI

````yaml /openapi.json get /workflows/{agentId}/run
openapi: 3.1.0
info:
  title: 11x API
  version: 1.0.0
  description: >-
    API for 11x AI agents. Programmatically enroll contacts into agent calling
    sequences, manage sequences, and track credit usage. All requests are
    authenticated with an organization API key in the `x-api-key` header. The
    bulk scheduling endpoint also enforces a configurable per-agent rate limit
    and returns HTTP 429 when exceeded.
servers:
  - url: https://julian.11x.ai/api/v1
security:
  - apiKeyAuth: []
tags:
  - name: Workflows
    description: Start an API-triggered workflow and inspect its runs.
  - name: Scheduling
    description: Enroll contacts into an agent's calling sequence.
  - name: Sequences
    description: Manage active sequences.
  - name: Agents
    description: Read agent configuration.
  - name: Conversation Meetings
    description: >-
      Manage the meeting booked during a conversation — list its attendees, add
      attendees before it starts, and cancel it. Every endpoint is addressed by
      an `entityId` that identifies the conversation. Today only voice calls are
      supported, with the form of the call prefix followed by the call ID (e.g.
      `call.abc123`). The meeting is resolved from the calendar booking created
      during the conversation, and the calendar provider remains the source of
      truth.
  - name: Conversation Metadata
    description: >-
      Retrieve completed conversation data asynchronously — designed for batch
      ingestion, backfills, and reconciliation jobs that pull conversation
      metadata instead of receiving it through a webhook.


      **Recommended batch ingestion flow:**


      1. Call `GET /conversations/search/{agentId}` with the time window you
      want to ingest (e.g. yesterday or the last seven days).

      2. Iterate through the returned `sequenceIds`.

      3. For each sequence ID, call `GET /conversations/metadata/{sequenceId}`.

      4. Store the returned `metadata` array in your warehouse.

      5. Use `limit`, `offset`, and `hasMore` to paginate through larger
      backfills.
  - name: Credits
    description: Track credit utilization.
  - name: Webhooks
    description: Events 11x sends to your endpoint.
  - name: Recordings
    description: >-
      Fetch call audio, and optionally transcripts.


      A recording belongs to a single call, so `GET /recordings/{callId}` is
      addressed by call ID. The bulk endpoint selects by **sequence** ID
      instead, because that is the unit `GET /conversations/search/{agentId}`
      returns — same resource, two selectors.


      **Bulk export flow:**


      1. Call `GET /conversations/search/{agentId}` for the window you want.

      2. Pass a page of the returned `sequenceIds` to `POST /recordings` (up to
      100 per request).

      3. Download each `url` before it expires; re-fetch individual calls later
      with `GET /recordings/{callId}`.


      Recording URLs are signed and short-lived — see `expiresAt` on each entry.
paths:
  /workflows/{agentId}/run:
    get:
      tags:
        - Workflows
      summary: Inspect one workflow run
      description: >-
        Returns a small status projection. terminalNodes contains the last
        executed node on each ending branch, with its name and succeeded/failed
        state. Raw input, node IDs/types, outputs and traces are not returned. A
        found failed run still returns HTTP 200.
      operationId: getWorkflowRun
      parameters:
        - $ref: '#/components/parameters/AgentId'
        - name: runId
          in: query
          required: true
          schema:
            type: string
            minLength: 1
          description: workflowRunId returned by POST.
      responses:
        '200':
          description: Run status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowRunDetail'
        '400':
          description: runId is missing or empty.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Run or agent not found in this organization.
        '429':
          description: >-
            Shared per-agent workflow-read budget exceeded; retry after the
            Retry-After interval.
components:
  parameters:
    AgentId:
      name: agentId
      in: path
      required: true
      description: ID of the agent, e.g. `agent.abc123`.
      schema:
        type: string
  schemas:
    WorkflowRunDetail:
      allOf:
        - $ref: '#/components/schemas/WorkflowRunSummary'
        - type: object
          required:
            - terminalNodes
          properties:
            terminalNodes:
              type: array
              items:
                type: object
                required:
                  - nodeName
                  - status
                properties:
                  nodeName:
                    type: string
                  status:
                    type: string
                    enum:
                      - succeeded
                      - failed
    WorkflowRunSummary:
      type: object
      required:
        - workflowRunId
        - status
        - startedAt
        - finishedAt
      properties:
        workflowRunId:
          type: string
        status:
          type: string
          enum:
            - queued
            - in_progress
            - completed
            - failed
        startedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Null while queued.
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Null until terminal.
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Machine-readable error code.
          example: INVALID_PHONE_NUMBER
        message:
          type: string
          description: Human-readable explanation.
  responses:
    Unauthorized:
      description: >-
        `UNAUTHORIZED` or `INVALID_API_KEY` — API key missing, invalid, or not
        authorized for this agent's organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missingApiKey:
              summary: Missing API key
              value:
                error: UNAUTHORIZED
                message: >-
                  API key is required. Please provide your API key in the
                  x-api-key header.
            invalidApiKey:
              summary: Invalid API key
              value:
                error: INVALID_API_KEY
                message: The provided API key is invalid.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Organization API key. Get it from the 11x team or from the platform.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.