---
title: "List route templates"
method: GET
path: "/route-templates"
tags: ["Route Templates"]
---

# List route templates

`GET /route-templates`

## Request

- Base URL: `https://gajo.io/api/v1`
- URL: `https://gajo.io/api/v1/route-templates`
- Auth: API key in header `x-api-key`

**Requires a Pro plan.** Returns your active route templates. Route templates are abstract: they list device slots but contain no URLs. Concrete destinations are set per link with `POST /urls/{code}/binding`.

## Response `200`

Your route templates.

- RouteTemplateListResult: Envelope shared by every response.
  - `success` true, required: `true` when the request succeeded.
  - `message` string, nullable: Human-readable status or error message. Often `null` on reads.
  - `data` RouteTemplate[], required: Operation-specific payload; `null` or absent when there is nothing to return.
    - `name` string, required
    - `description` string, nullable, required
    - `active` boolean, required
    - `createdDate` string, date-time, required
    - `updatedDate` string, date-time, nullable, required
    - `rules` object[], required
      - `deviceType` 'Android' | 'IOS' | 'Mobile' | 'Tablet' | 'Desktop' | 'Default', required: Device slot used by route templates and Device bindings. At redirect time OS-specific slots (`Android`, `IOS`) are matched first, then device classes (`Mobile`, `Tablet`, `Desktop`), then `Default` catches everything else.
      - `priority` integer, required: Position in the template (0-based, request order).

## Other responses

- `401`: The `x-api-key` header is missing, or the key is unknown or revoked.
- `403`: Your plan is not Pro (the message names the Pro feature).
- `429`: Per-minute rate limit exceeded. Wait `Retry-After` seconds.
- `500`: Unexpected server error.

---

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