---
title: "Fetch one routine"
method: GET
path: "/routines/{id}"
tags: ["Routines"]
---

# Fetch one routine

`GET /routines/{id}`

## Request

- Base URL: `https://commareports.com/api/v1`
- URL: `https://commareports.com/api/v1/routines/{id}`
- Auth: HTTP bearer

Owner-scoped. Scope: `routines`.

## Response `200`

The routine.

- Routine
  - `id` string, uuid, required
  - `report_id` string, uuid, required
  - `name` string, required
  - `schedule_cron` string, required: 5-field cron expression.
  - `trigger_url` string, uri, nullable
  - `payload` unknown
  - `enabled` boolean, required
  - `last_run_at` string, date-time, nullable
  - `last_run_status` string, nullable
  - `last_run_error` string, nullable
  - `next_run_at` string, date-time, nullable
  - `skill_id` string, uuid, nullable
  - `connector_ids` string[]
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Missing, invalid, revoked, or expired token.
- `403`: Token missing the required scope, or no access to the resource.
- `404`: Resource not found (also returned instead of 403 where existence must not leak).
- `429`: Rate limit exceeded. Rate limit: per-token sliding window (plan-aware — Free 60 req/min, Pro 600, Team/Enterprise 6000 by default); 429 responses carry a Retry-After header.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/commareports/apis/comma-api.md) · [All operations](https://skmtc.dev/commareports/apis/comma-api/llms.txt) · [OpenAPI document](https://skmtc.dev/commareports/apis/comma-api/revisions/cd5263522ade?raw)
