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

# Get run details

> Show steps and status of a run.



## OpenAPI

````yaml /en/automations-api/api-reference/openapi-automations.json get /v1/automations/{automationId}/runs/{runId}
openapi: 3.0.3
info:
  title: 'Notifique API v1: Automations and events'
  version: 1.0.0
  description: >-
    Definition of **events** (name + optional `payload` schema), **automations**
    as a graph (trigger by event or **inbound message** on a channel, delays,
    conditions, including **`source: "message"`** on inbound, **`endFlow`** to
    end a branch, multi-channel sends, contact updates, etc.) and **trigger**
    via `POST /v1/events/send`. Auth: `Authorization: Bearer sk_live_...` or
    `x-api-key` header. All bodies use **camelCase**.


    **Scopes:** `events:read` | `events:write` | `automations:read` |
    `automations:write`. Send steps (`sendTemplate`, direct emails, etc.) still
    require the matching channel send keys.


    **Pagination:** query `page` (≥1, default 1) and `limit` (1 to 100, default
    20), as strings or coherent numbers.


    **Blocked workspace** returns **402** with `Payment Required`.


    **Onboarding:** on any `/v1` route, if onboarding is incomplete, middleware
    returns **403** with `code: ONBOARDING_REQUIRED` (body similar to other
    403s).


    **Escopos adicionais:** `assistants:read` | `assistants:write` |
    `assistants:invoke` | `knowledge_bases:read` | `knowledge_bases:write` |
    `mcp_connections:read` | `mcp_connections:write` | `http_tools:read` |
    `http_tools:write`.
servers:
  - url: https://api.notifique.dev
    description: Production
security:
  - ntfAutoBearerAuth: []
  - ntfAutoApiKeyHeader: []
tags:
  - name: Eventos
    description: CRUD de definições de evento + disparo `POST /v1/events/send`.
  - name: Automações
    description: CRUD de automações, stop e listagem de runs.
  - name: Runs
    description: Histórico e detalhe de execuções (`AutomationRun` + passos).
  - name: Assistentes
    description: CRUD de WorkspaceAssistant, invoke de teste e bindings MCP/HTTP.
  - name: Bases de conhecimento
    description: CRUD de bases RAG e documentos.
  - name: MCP
    description: Conexões MCP do workspace (CUSTOM_URL via API; OAuth curado no painel).
  - name: HTTP tools
    description: Ferramentas REST allowlist para assistentes.
  - name: Inbox
    description: Unified conversations and metrics (premium feature).
paths:
  /v1/automations/{automationId}/runs/{runId}:
    get:
      tags:
        - Runs
      summary: Get run details
      description: Show steps and status of a run.
      operationId: ntfAuto_getRun
      parameters:
        - $ref: '#/components/parameters/NtfAuto_automationId'
        - $ref: '#/components/parameters/NtfAuto_runId'
      responses:
        '200':
          $ref: '#/components/responses/NtfAuto_RunDetail200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ntfAuto_GetRunResponse'
        '401':
          $ref: '#/components/responses/NtfAuto_401'
        '402':
          $ref: '#/components/responses/NtfAuto_402'
        '403':
          $ref: '#/components/responses/NtfAuto_403AutomationsRead'
        '404':
          $ref: '#/components/responses/NtfAuto_RunNotFound'
components:
  parameters:
    NtfAuto_automationId:
      name: automationId
      in: path
      required: true
      schema:
        type: string
      description: Cuid da automação.
    NtfAuto_runId:
      name: runId
      in: path
      required: true
      schema:
        type: string
      description: Cuid da `AutomationRun`.
  responses:
    NtfAuto_RunDetail200:
      description: Run com array `steps` ordenado por criação.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_RunDetailResponse'
          example:
            success: true
            data:
              id: clxx...
              workspaceId: clxx...
              automationId: clxx...
              contactId: clxx...
              eventName: string
              payloadJson: {}
              status: QUEUED
              createdAt: '2025-02-10T14:00:00.000Z'
              updatedAt: '2025-02-10T14:00:00.000Z'
              steps:
                - id: clxx...
                  stepKey: string
                  stepKind: TRIGGER
                  status: PENDING
                  attempt: 1
                  createdAt: '2025-02-10T14:00:00.000Z'
                  scheduledFor: '2025-02-10T14:00:00.000Z'
                  startedAt: '2025-02-10T14:00:00.000Z'
                  finishedAt: '2025-02-10T14:00:00.000Z'
                  errorMessage: string
                  outputJson: {}
              sourceApiKeyId: clxx...
              fireId: clxx...
              errorMessage: string
              startedAt: '2025-02-10T14:00:00.000Z'
              completedAt: '2025-02-10T14:00:00.000Z'
    NtfAuto_401:
      description: >-
        Chave ausente ou inválida. No middleware global de `/v1` também ocorre
        quando não há API Key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorEnvelope401'
          examples:
            route:
              value:
                success: false
                error: Unauthorized
                message: Invalid or missing API Key
                code: UNAUTHORIZED
            middleware:
              value:
                success: false
                error: Unauthorized
                message: >-
                  API Key is required. Provide Authorization: Bearer <key> or
                  x-api-key header.
                code: UNAUTHORIZED
    NtfAuto_402:
      description: >-
        Expired plan or suspended workspace (`WORKSPACE_BLOCKED`), plan
        automation limit (`PLAN_LIMIT_AUTOMATIONS`), or plan/trial without
        balance for automations/events
        (`PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorPaymentRequired'
          examples:
            workspaceBlocked:
              value:
                success: false
                error: Payment Required
                message: Plan expired or suspended
                code: WORKSPACE_BLOCKED
            premiumFeature:
              value:
                success: false
                error: Payment Required
                message: Premium automations require an active plan, trial, or balance
                code: PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE
    NtfAuto_403AutomationsRead:
      description: Sem escopo `automations:read`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorForbiddenScope'
          example:
            success: false
            error: Forbidden
            message: 'Missing scope: automations:read'
            code: FORBIDDEN
    NtfAuto_RunNotFound:
      description: Run não pertence à automação ou não existe.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NtfAuto_ErrorNotFound'
          example:
            success: false
            error: Not Found
            message: Run not found
            code: NOT_FOUND
  schemas:
    ntfAuto_GetRunResponse:
      type: object
      additionalProperties: false
      description: Resposta JSON vazia (sucesso sem payload).
      properties:
        success:
          type: boolean
          example: true
      example:
        success: true
    NtfAuto_RunDetailResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          $ref: '#/components/schemas/NtfAuto_AutomationRunDetail'
      example:
        success: true
        data:
          id: clxx...
          workspaceId: clxx...
          automationId: clxx...
          contactId: clxx...
          eventName: string
          payloadJson: {}
          status: QUEUED
          createdAt: '2025-02-10T14:00:00.000Z'
          updatedAt: '2025-02-10T14:00:00.000Z'
          steps:
            - id: clxx...
              stepKey: string
              stepKind: TRIGGER
              status: PENDING
              attempt: 1
              createdAt: '2025-02-10T14:00:00.000Z'
              scheduledFor: '2025-02-10T14:00:00.000Z'
              startedAt: '2025-02-10T14:00:00.000Z'
              finishedAt: '2025-02-10T14:00:00.000Z'
              errorMessage: string
              outputJson: {}
          sourceApiKeyId: clxx...
          fireId: clxx...
          errorMessage: string
          startedAt: '2025-02-10T14:00:00.000Z'
          completedAt: '2025-02-10T14:00:00.000Z'
    NtfAuto_ErrorEnvelope401:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          example: Unauthorized
        message:
          type: string
        code:
          type: string
          example: VALIDATION_ERROR
      example:
        success: false
        error: Unauthorized
        message: string
    NtfAuto_ErrorPaymentRequired:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Payment Required
        message:
          type: string
          example: Plan expired or suspended
        code:
          type: string
          enum:
            - WORKSPACE_BLOCKED
            - PLAN_LIMIT_AUTOMATIONS
            - PREMIUM_FEATURE_REQUIRES_PLAN_OR_BALANCE
      example:
        success: false
        error: Payment Required
        message: Plan expired or suspended
        code: WORKSPACE_BLOCKED
    NtfAuto_ErrorForbiddenScope:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Forbidden
        message:
          type: string
        code:
          type: string
          example: FORBIDDEN
      example:
        success: false
        error: Forbidden
        message: string
    NtfAuto_ErrorNotFound:
      type: object
      required:
        - success
        - error
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: string
          enum:
            - Not Found
        message:
          type: string
        code:
          type: string
          example: NOT_FOUND
      example:
        success: false
        error: Not Found
        message: string
    NtfAuto_AutomationRunDetail:
      type: object
      required:
        - id
        - workspaceId
        - automationId
        - contactId
        - eventName
        - payloadJson
        - status
        - createdAt
        - updatedAt
        - steps
      properties:
        id:
          type: string
        workspaceId:
          type: string
        automationId:
          type: string
        contactId:
          type: string
        eventName:
          type: string
        payloadJson:
          type: object
          additionalProperties: true
          properties: {}
        status:
          $ref: '#/components/schemas/NtfAuto_AutomationRunStatus'
        sourceApiKeyId:
          type: string
          nullable: true
        fireId:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        startedAt:
          nullable: true
          type: string
          format: date-time
        completedAt:
          nullable: true
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        steps:
          type: array
          items:
            $ref: '#/components/schemas/NtfAuto_AutomationRunStepRow'
      example:
        id: clxx...
        workspaceId: clxx...
        automationId: clxx...
        contactId: clxx...
        eventName: string
        payloadJson: {}
        status: QUEUED
        createdAt: '2025-02-10T14:00:00.000Z'
        updatedAt: '2025-02-10T14:00:00.000Z'
        steps:
          - id: clxx...
            stepKey: string
            stepKind: TRIGGER
            status: PENDING
            attempt: 1
            createdAt: '2025-02-10T14:00:00.000Z'
            scheduledFor: '2025-02-10T14:00:00.000Z'
            startedAt: '2025-02-10T14:00:00.000Z'
            finishedAt: '2025-02-10T14:00:00.000Z'
            errorMessage: string
            outputJson: {}
        sourceApiKeyId: clxx...
        fireId: clxx...
        errorMessage: string
        startedAt: '2025-02-10T14:00:00.000Z'
        completedAt: '2025-02-10T14:00:00.000Z'
    NtfAuto_AutomationRunStatus:
      type: string
      enum:
        - QUEUED
        - RUNNING
        - COMPLETED
        - FAILED
        - CANCELLED
    NtfAuto_AutomationRunStepRow:
      type: object
      required:
        - id
        - runId
        - stepKey
        - stepKind
        - status
        - attempt
        - createdAt
      properties:
        id:
          type: string
        stepKey:
          type: string
        stepKind:
          $ref: '#/components/schemas/NtfAuto_AutomationRunStepKind'
        status:
          $ref: '#/components/schemas/NtfAuto_AutomationRunStepStatus'
        scheduledFor:
          nullable: true
          type: string
          format: date-time
        startedAt:
          nullable: true
          type: string
          format: date-time
        finishedAt:
          nullable: true
          type: string
          format: date-time
        attempt:
          type: integer
          minimum: 0
        errorMessage:
          type: string
          nullable: true
        outputJson:
          nullable: true
          description: Objeto livre conforme passo.
          type: object
          additionalProperties: true
        createdAt:
          type: string
          format: date-time
      example:
        id: clxx...
        stepKey: string
        stepKind: TRIGGER
        status: PENDING
        attempt: 1
        createdAt: '2025-02-10T14:00:00.000Z'
        scheduledFor: '2025-02-10T14:00:00.000Z'
        startedAt: '2025-02-10T14:00:00.000Z'
        finishedAt: '2025-02-10T14:00:00.000Z'
        errorMessage: string
        outputJson: {}
    NtfAuto_AutomationRunStepKind:
      type: string
      enum:
        - TRIGGER
        - DELAY
        - SEND_TEMPLATE
        - CONDITION
        - SEND_EMAIL
        - SEND_WHATSAPP
        - SEND_SMS
        - SEND_TELEGRAM
        - SEND_PUSH
        - SEND_RCS
        - UPDATE_CONTACT
        - DELETE_CONTACT
        - CREATE_CONTACT
        - END_FLOW
    NtfAuto_AutomationRunStepStatus:
      type: string
      enum:
        - PENDING
        - RUNNING
        - COMPLETED
        - FAILED
        - SKIPPED
        - CANCELLED
  securitySchemes:
    ntfAutoBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: '`Authorization: Bearer sk_live_...`'
    ntfAutoApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: Mesmo valor da chave, sem prefixo Bearer.

````