Documentación de API

Ejecuta capturas y revisiones visuales desde CI, herramientas y webhooks.

Usa la API para CI, hooks de publicación o trabajos de backend. La configuración de páginas queda en el panel para que el equipo revise referencias, fallos y archivos.

Qué cubre la API

8 rutas
Resultados de render
Crea capturas, PDF, HTML, Markdown y archivos desde una sola API.
Revisiones web programadas
Ejecuta revisiones guardadas desde CI y revisa las páginas cambiadas en el panel.
Resultados y revisión
Consulta trabajos, descarga artefactos y conserva historial unido a referencias.

URL base

https://renderlog.com

Inicio rápido

Ejecutar un conjunto de pruebas

Crea un token de API con runs:write, ejecuta una revisión guardada desde CI y consulta el trabajo hasta que termine. La configuración de la página queda en el panel.

Descargar especificación OpenAPI
Crear ejecucióncURL
curl -X POST https://renderlog.com/api/check-suites/suite_01J/runs \
  -H "Authorization: Bearer rl_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "png",
    "labels": {
      "branch": "main",
      "commit": "8f4a7f2"
    }
  }'
Consultar trabajocURL
curl https://renderlog.com/api/jobs/job_01J \
  -H "Authorization: Bearer rl_live_xxx"

Casos de uso

Empieza con la ruta de API que encaja con el trabajo

Usa el panel para configurar y reutiliza la API en trabajos que deben ejecutarse desde CI, hooks de publicación o tareas del servidor.

Autenticación

Los tokens de API pertenecen al espacio de trabajo. Crea tokens limitados y tokens de corta duración para URLs GET que puedan quedar en registros.

Authorization: Bearer rl_live_xxx

Reglas de cobro

Una ejecución se cobra solo cuando termina correctamente y devuelve un resultado real. Las ejecuciones fallidas o no válidas sin un resultado útil no se cobran.

Salidas públicas admitidas: captura, PDF, HTML, Markdown y archivo generado. El video es asíncrono y se cobra por separado cuando está activado.

Destino externo

Envía archivos de resultado a tu almacenamiento compatible con S3

RenderLog puede guardar archivos en almacenamiento gestionado o escribirlos en tu bucket. El historial, el estado de revisión y los metadatos siguen en RenderLog.

Campos

Bucket
El nombre exacto del bucket o contenedor.
Región
Región del proveedor, por ejemplo us-east-1. Algunos proveedores no la requieren.
Endpoint
Endpoint propio compatible con S3. Déjalo vacío para AWS S3 estándar.
Prefijo
Ruta opcional antes de cada archivo, por ejemplo renderlog/.

Antes de añadirlo

  1. Crea un bucket para los archivos de resultado de RenderLog.
  2. Permite que las credenciales de almacenamiento de RenderLog escriban objetos en ese bucket.
  3. Añade el destino en los ajustes del espacio de trabajo y selecciónalo para futuras ejecuciones.

Métodos

GET o POST

GET es cómodo para renders simples de URL. POST es más seguro cuando la solicitud lleva secretos, pasos largos o ajustes de almacenamiento.

GET

GET es cómodo

Usa GET para URLs de render compartibles y parámetros simples. Si una URL lleva valores sensibles, usa una clave limitada y de corta duración.

curl "https://renderlog.com/api/render?url=https%3A%2F%2Fexample.com&format=png&width=1366&height=768&dpr=1&selector=%23app" \
  -H "Authorization: Bearer rl_live_xxx"
POST

POST es más seguro para secretos

Usa POST para encabezados, cookies, HTML, Markdown, pasos guardados más largos, ajustes de almacenamiento y webhooks.

curl -X POST https://renderlog.com/api/render \
  -H "Authorization: Bearer rl_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/account",
    "format": "png",
    "headers": { "X-RenderLog-Access": "secret" },
    "failureRules": [
      { "type": "preset", "preset": "cloudflare_challenge" },
      { "type": "selector_missing", "selector": "#app" }
    ]
  }'

API de renderizado

Crea renders puntuales por GET o POST. GET es cómodo. POST se recomienda para valores sensibles.

GET/api/render

Renderizar por URL

Inicia un render desde parámetros de consulta. Los valores sensibles en una URL pueden quedar en registros, historial del navegador y analítica. Usa un token limitado y de corta duración cuando decidas enviarlos por GET.

Token de API

Trabajo

{
  "id": "job_01J",
  "status": "passed",
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Parámetros de ruta y consulta

urlqueryObligatorioURL de destino.
formatqueryOpcionalpng, jpeg, webp, pdf, html o markdown. Predeterminado: png
widthqueryOpcionalAncho del viewport en píxeles CSS. Predeterminado: 1366
heightqueryOpcionalAlto del viewport en píxeles CSS. Predeterminado: 768
dprqueryOpcionalFactor de escala del dispositivo de 1 a 3. Predeterminado: 1
selectorqueryOpcionalSelector CSS para capturar un elemento.
fullPagequeryOpcionalUsa true para capturar la página completa. Predeterminado: false

Campos de respuesta

idObligatorioID del trabajo. Úsalo con GET /api/jobs/.
statusObligatorioqueued, running, passed, failed o canceled.
resultOpcionalNull mientras está en cola o en ejecución. Contiene filas de resultado al completar. Predeterminado: null
POST/api/render

Renderizar con cuerpo

Inicia un render con ajustes completos como encabezados, cookies, HTML, Markdown, pasos guardados, almacenamiento y reglas de fallo.

Token de API

Solicitud de render

{
  "url": "https://example.com/account",
  "format": "png",
  "headers": {
    "X-RenderLog-Access": "secret"
  },
  "failureRules": [
    {
      "type": "preset",
      "preset": "cloudflare_challenge"
    },
    {
      "type": "selector_missing",
      "selector": "#app"
    }
  ]
}

Trabajo

{
  "id": "job_01J",
  "status": "passed",
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Campos de solicitud

urlObligatorioURL de la página que se va a renderizar. Es obligatoria salvo que envíes HTML o Markdown.
formatOpcionalFormato del resultado: png, jpeg, webp, pdf, html, markdown, file o webm. Predeterminado: png
headersOpcionalEncabezados adicionales. Usa POST para secretos. Predeterminado: {}
cookiesOpcionalCookies enviadas antes de abrir la página. Predeterminado: []
failureRulesOpcionalReglas que marcan un resultado como no válido, como CAPTCHA, desafío de Cloudflare o selector ausente. Predeterminado: []
asyncOpcionalDevuelve la respuesta de inmediato y permite consultar GET /api/jobs/ si el resultado puede tardar. Predeterminado: false

Campos de respuesta

idObligatorioID del trabajo. Úsalo con GET /api/jobs/.
statusObligatorioqueued, running, passed, failed o canceled.

Ejecuciones de pruebas

Ejecuta conjuntos de pruebas guardados o un caso de prueba desde CI, hooks de despliegue o herramientas internas.

POST/api/check-suites/{id}/runs

Ejecutar conjunto

Inicia todos los casos de prueba activos de un conjunto guardado. Usa etiquetas para rama, compilación o entorno.

Token de API

Ejecución del conjunto

{
  "format": "png",
  "labels": {
    "environment": "production",
    "build": "142",
    "commit": "8f4a7f2"
  },
  "delaySeconds": 30
}

Trabajo

{
  "id": "job_01J",
  "status": "queued",
  "result": null
}

Parámetros de ruta y consulta

idpathObligatorioID del conjunto de pruebas.

Campos de solicitud

formatOpcionalFormato de resultado para cada caso de prueba de esta ejecución. Predeterminado: png
labelsOpcionalEtiquetas clave/valor para filtrar luego, como rama, compilación o entorno. Predeterminado: {}
delaySecondsOpcionalEspera antes de iniciar la ejecución. Útil después de despliegues que necesitan calentamiento. Predeterminado: 0
asyncOpcionalDevuelve la respuesta de inmediato y permite consultar GET /api/jobs/. Predeterminado: false
POST/api/check-cases/{id}/runs

Ejecutar un caso de prueba

Inicia un objetivo guardado. Úsalo cuando un despliegue cambió solo una página o componente.

Token de API

Ejecución de caso

{
  "format": "png",
  "labels": {
    "branch": "main",
    "commit": "8f4a7f2"
  },
  "delaySeconds": 0
}

Trabajo

{
  "id": "job_01J",
  "status": "passed",
  "summary": {
    "total": 1,
    "passed": 1,
    "failed": 0,
    "errored": 0,
    "skipped": 0
  },
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true
    }
  ]
}

Parámetros de ruta y consulta

idpathObligatorioID del caso de prueba.

Campos de solicitud

formatOpcionalFormato de resultado para este caso de prueba. Predeterminado: png
labelsOpcionalEtiquetas clave/valor para filtrar luego. Predeterminado: {}
delaySecondsOpcionalEspera antes de iniciar la ejecución. Predeterminado: 0

Resultados

Consulta trabajos, inspecciona ejecuciones y descarga archivos generados.

GET/api/runs

Listar ejecuciones

Devuelve ejecuciones recientes con etiquetas, archivos de resultado y estado de cobro.

Token de API

Ejecuciones

{
  "runs": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "bytes": 128420
    }
  ]
}
GET/api/jobs/{id}

Obtener trabajo

Devuelve el estado y las filas de resultado de un render o una ejecución de conjunto.

Token de API

Trabajo

{
  "id": "job_01J",
  "status": "passed",
  "summary": {
    "total": 4,
    "passed": 4,
    "failed": 0,
    "errored": 0,
    "skipped": 0
  },
  "result": [
    {
      "id": "run_01J",
      "status": "passed",
      "format": "png",
      "billable": true,
      "artifacts": [
        {
          "id": "artifact_01J",
          "url": "/api/runs/run_01J/artifacts/artifact_01J",
          "contentType": "image/png"
        }
      ]
    }
  ]
}

Parámetros de ruta y consulta

idpathObligatorioID del trabajo devuelto al iniciar un render o una ejecución de conjunto de pruebas.
GET/api/runs/{id}

Obtener ejecución

Devuelve el estado, las etiquetas y los enlaces de archivos de resultado de una ejecución.

Token de API

Ejecución

{
  "id": "run_01J",
  "status": "passed",
  "format": "png",
  "billable": true,
  "artifacts": [
    {
      "id": "artifact_01J",
      "kind": "primary",
      "contentType": "image/png",
      "url": "/api/runs/run_01J/artifacts/artifact_01J"
    }
  ]
}

Parámetros de ruta y consulta

idpathObligatorioID de la ejecución.
GET/api/runs/{id}/artifacts/{artifactId}

Descargar archivo de resultado

Descarga una captura, PDF, HTML, Markdown, archivo o video generado.

Token de API

Archivo de resultado

"Binary artifact response with the stored content type."

Parámetros de ruta y consulta

idpathObligatorioID de la ejecución.
artifactIdpathObligatorioID del archivo de resultado.