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

# Diagnosticar un paso de navegador

> Consulta errores de red, consola y navegación de un paso browser.script.

Consulta qué ocurrió durante la sesión de un paso `browser.script`. El
diagnóstico reúne el estado y duración de la sesión, solicitudes fallidas,
errores de consola y eventos de navegación.

## Endpoint

```text theme={null}
GET /workflows/{workflowId}/runs/{runId}/steps/{stepId}/diagnostics
```

Obtén `stepId` con
[Listar pasos de una ejecución](https://developers.insuranceboosters.com/automatizaciones/listar-pasos-ejecucion.md). El
endpoint solo está disponible para pasos `browser.script` que tengan una sesión
de navegación asociada.

## Ejemplo de solicitud

```bash theme={null}
curl "https://api.insuranceboosters.com/api/v1/workflows/<workflow-id>/runs/<run-id>/steps/<step-id>/diagnostics" \
  -H "x-ib-api-key: TU_API_KEY"
```

## Respuesta exitosa (`200`)

```json theme={null}
{
  "generatedAt": 1792784900000,
  "availability": "ready",
  "step": {
    "id": "1",
    "stepIndex": 1,
    "status": "failed",
    "startedAt": 1792784800000,
    "finishedAt": 1792784805200,
    "error": {
      "message": "No se encontró el botón Continuar"
    }
  },
  "session": {
    "status": "COMPLETED",
    "startedAt": "2026-10-23T20:00:00.000Z",
    "endedAt": "2026-10-23T20:00:05.200Z",
    "region": "us-west-2",
    "durationMs": 5200,
    "proxyBytes": 2048
  },
  "summary": {
    "totalEvents": 42,
    "requests": 18,
    "failedRequests": 1,
    "consoleErrors": 1,
    "navigations": 3,
    "truncated": false
  },
  "events": [
    {
      "timestamp": 1792784803100,
      "category": "network",
      "severity": "error",
      "title": "500 https://portal.ejemplo.com/cotizar",
      "request": {
        "url": "https://portal.ejemplo.com/cotizar",
        "status": 500,
        "mimeType": "application/json"
      }
    },
    {
      "timestamp": 1792784803400,
      "category": "console",
      "severity": "error",
      "title": "El portal rechazó la solicitud"
    }
  ],
  "warnings": []
}
```

## Disponibilidad

| Valor | Significado |
| - | - |
| `ready` | Los eventos están listos para consulta. |
| `processing` | La sesión sigue activa o sus eventos todavía se están preparando. Intenta de nuevo después. |
| `expired` | El historial de la sesión ya no está disponible. |
| `unavailable` | La sesión terminó sin eventos de diagnóstico disponibles. Revisa `warnings`. |

Una respuesta `200` con `availability` distinto de `ready` no indica un nuevo
error en la automatización. Describe únicamente si el historial técnico está
disponible.

## Privacidad del diagnóstico

La respuesta no incluye cuerpos de solicitudes o respuestas, encabezados,
cookies, credenciales, parámetros de consulta ni URLs de conexión. Los mensajes
de consola se recortan y sanitizan antes de devolverse.

> [!NOTE]
>
> Usa `summary` para encontrar rápidamente fallas y `events` para reconstruir
> su orden. Si `summary.truncated` es `true`, la respuesta contiene los eventos
> normalizados más recientes.

## Errores frecuentes

| HTTP | Qué significa | Qué hacer |
| - | - | - |
| `401` | API key inválida o faltante. | Verifica `x-ib-api-key`. |
| `404` | La ejecución, el paso o la sesión no existe; o el paso no es `browser.script`. | Confirma los identificadores y el tipo del paso. |
| `502` | El historial de navegación no está disponible temporalmente. | Intenta de nuevo después. |

## Relacionado

* [Paso Agente IA: automatizar portal](https://developers.insuranceboosters.com/automatizaciones/paso-agente-guion.md)
* [Listar pasos de una ejecución](https://developers.insuranceboosters.com/automatizaciones/listar-pasos-ejecucion.md)
* [Consultar ejecución](https://developers.insuranceboosters.com/automatizaciones/consultar-ejecucion.md)


## OpenAPI

````yaml openapi/automatizaciones-v1.yaml GET /workflows/{workflowId}/runs/{runId}/steps/{stepId}/diagnostics
openapi: 3.1.0
info:
  title: Insurance Boosters API — Automatizaciones
  version: 1.0.0
  description: >
    API pública para crear, publicar y ejecutar automatizaciones por webhook,
    cron, Gmail o eventos de registros, y consultar sus versiones y ejecuciones.
  license:
    name: Propietaria
    url: https://insuranceboosters.com
servers:
  - url: https://api.insuranceboosters.com/api/v1
    description: Producción
security:
  - IbApiKey: []
tags:
  - name: Automatizaciones
    description: Definición, publicación y control de automatizaciones.
  - name: Versiones
    description: Instantáneas publicadas de una automatización.
  - name: Ejecuciones
    description: Historial y detalle de corridas.
  - name: Webhooks
    description: Disparo público de automatizaciones con trigger webhook.
paths:
  /workflows/{workflowId}/runs/{runId}/steps/{stepId}/diagnostics:
    get:
      tags:
        - Ejecuciones
      summary: Consultar diagnóstico de un paso de navegador
      description: >-
        Devuelve un resumen sanitizado de la sesión de navegación asociada a un
        paso `browser.script`.
      operationId: getWorkflowBrowserScriptDiagnostics
      parameters:
        - $ref: '#/components/parameters/WorkflowId'
        - $ref: '#/components/parameters/RunId'
        - $ref: '#/components/parameters/StepId'
      responses:
        '200':
          description: Diagnóstico disponible o estado de disponibilidad de la sesión.
          headers:
            Cache-Control:
              schema:
                type: string
              description: Siempre `private, no-store`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowBrowserScriptDiagnostics'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '502':
          description: El servicio de navegación no está disponible temporalmente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    WorkflowId:
      name: workflowId
      in: path
      required: true
      description: Identificador de la automatización.
      schema:
        type: string
    RunId:
      name: runId
      in: path
      required: true
      description: Identificador de la ejecución.
      schema:
        type: string
    StepId:
      name: stepId
      in: path
      required: true
      description: Identificador del paso dentro de la ejecución.
      schema:
        type: string
  schemas:
    WorkflowBrowserScriptDiagnostics:
      type: object
      required:
        - generatedAt
        - availability
        - step
        - summary
        - events
        - warnings
      properties:
        generatedAt:
          type: integer
          description: Momento en que se generó el diagnóstico, en milisegundos Unix.
        availability:
          type: string
          enum:
            - ready
            - processing
            - expired
            - unavailable
        step:
          type: object
          required:
            - id
            - stepIndex
            - status
          properties:
            id:
              type: string
            stepIndex:
              type: integer
            status:
              $ref: '#/components/schemas/StepStatus'
            startedAt:
              type: integer
            finishedAt:
              type: integer
            error:
              type: object
              properties:
                message:
                  type: string
              required:
                - message
        session:
          type: object
          required:
            - status
          properties:
            status:
              type: string
            startedAt:
              type: string
              format: date-time
            endedAt:
              type: string
              format: date-time
            region:
              type: string
            durationMs:
              type: integer
            proxyBytes:
              type: integer
        summary:
          type: object
          required:
            - totalEvents
            - requests
            - failedRequests
            - consoleErrors
            - navigations
            - truncated
          properties:
            totalEvents:
              type: integer
            requests:
              type: integer
            failedRequests:
              type: integer
            consoleErrors:
              type: integer
            navigations:
              type: integer
            truncated:
              type: boolean
        events:
          type: array
          items:
            $ref: '#/components/schemas/WorkflowBrowserDiagnosticEvent'
        warnings:
          type: array
          items:
            type: string
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    StepStatus:
      type: string
      enum:
        - queued
        - running
        - succeeded
        - failed
        - skipped
    WorkflowBrowserDiagnosticEvent:
      type: object
      required:
        - category
        - severity
        - title
      properties:
        timestamp:
          type: integer
        category:
          type: string
          enum:
            - console
            - network
            - navigation
            - lifecycle
        severity:
          type: string
          enum:
            - info
            - warning
            - error
        title:
          type: string
        request:
          type: object
          properties:
            method:
              type: string
            url:
              type: string
              format: uri
            status:
              type: integer
            mimeType:
              type: string
    AuthError:
      type: object
      properties:
        message:
          type: string
      required:
        - message
  responses:
    Unauthorized:
      description: API key inválida o faltante.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthError'
          example:
            message: Invalid API key.
    NotFound:
      description: Recurso no encontrado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Workflow not found.
  securitySchemes:
    IbApiKey:
      type: apiKey
      in: header
      name: x-ib-api-key
      description: API key emitida por Insurance Boosters.

````

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