---
title: "Get routing rule version history"
method: GET
path: "/v1/projects/{projectId}/routes/versions"
tags: ["project-routes"]
---

# Get routing rule version history

`GET /v1/projects/{projectId}/routes/versions`

Get the version history for a project's routing rules. Returns the staging version (if one exists) followed by production versions, most recent first. The staging version has `isStaging: true` and the current production version has `isLive: true`.

## Path parameters

- `projectId` string, required

## Query parameters

- `teamId` string
- `slug` string

## Response `200`

- object
  - `versions` object[], required
    - `id` string, required — Unique identifier for the version.
    - `s3Key` string, required — The S3 key where the routing rules are stored.
    - `lastModified` number, required — Timestamp of when this version was last modified.
    - `createdBy` string, required — The user who created this version.
    - `isStaging` false | true — Whether this version is staged and not yet promoted to production.
    - `isLive` false | true — Whether this version is currently live in production.
    - `ruleCount` number — The number of routing rules in this version.
    - `alias` string — The staging alias for previewing this version.

## Other responses

- `400` — One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `410`

## Changes

> 39 revisions in range; 5 could not be searched.

- **2026-07-21** `2ae10ee9d21c` — 1 info
  - added the non-success response with the status `410`

[Change history](https://skmtc.dev/vercel/apis/api/changes/v1/projects/:projectId/routes/versions/get.md)

---

[API](https://skmtc.dev/vercel/apis/api.md) · [All operations](https://skmtc.dev/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vercel/api/revisions/4191ba96b0c1/schema)
