---
title: "Retrieve a route"
method: GET
path: "/routes/{routeId}"
tags: ["Routes"]
---

# Retrieve a route

`GET /routes/{routeId}`

## Request

- Base URL: `https://api.spoke.com/public/v1`
- URL: `https://api.spoke.com/public/v1/routes/{routeId}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/spoke/apis/spoke-api/docs/routes/:routeId/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `routeId` string, required

## Response `200`

The requested route

- RouteSchema: A route.
  - `id` string, required
  - `title` string, required: The title of the route.
  - `stopCount` number, required: The number of stops in the route.
  - `driver` string, required
  - `state` object, nullable, required: The state of a route.
    - `completed` boolean, required: Whether the route is completed.
    - `completedAt` number, nullable, required: The timestamp the route was completed at.
    - `distributed` boolean, required: Whether the route is distributed.
    - `distributedAt` number, nullable, required: The timestamp the route was distributed at.
    - `notifiedRecipients` boolean, required: Whether the recipients were notified.
    - `notifiedRecipientsAt` number, nullable, required: The timestamp the recipients were notified at.
    - `started` boolean, required: Whether the route is started.
    - `startedAt` number, nullable, required: The timestamp the route was started at.
  - `plan` string, required

## Other responses

- `400`: ID format is invalid
- `401`: Unauthorized
- `403`: Route is no longer accessible due to data access restrictions.
- `404`: The provided route id does not exist
- `500`: An internal server error occurred
- `default`: The default error model

---

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