Skip to main content

Projects

A project is an isolated workspace inside Routerly. Each project has:

  • Its own API tokens that your applications use to authenticate
  • Its own routing configuration (which models to use and in what order)
  • Its own budget limits (optional)
  • Its own usage logs
  • A set of members with specific roles (for dashboard access)

Creating a Project

CLI

routerly project add \
--name "My App" \
--slug my-app \
--models gpt-5-mini,claude-haiku-4-5

--slug is the URL-safe identifier used in logs and the dashboard. It must be unique.

Dashboard

  1. Open Projects in the sidebar
  2. Click + New Project
  3. Fill in Name, Slug, and optionally an initial model list
  4. Click Create

Project Tabs

Each project in the dashboard has five tabs:

General

Shows the project name, slug, default request timeout, and the connection snippet (base URL and a masked token) ready to copy into your code.

Routing

Configure which models the project can use and in what order. Drag routing policies into the list and set their parameters. See Concepts: Routing for details.

Tokens

Manage the Bearer tokens used to authenticate API calls. Each token can have per-token budget limits that stack on top of the project-level limits.

Creating a token:

  1. Click + New Token
  2. Give it a name (e.g. production, staging, ci)
  3. Optionally configure per-token limits
  4. Click Create — the token value is shown once only

Per-token limits allow you to cap spending for individual applications or environments independently of the project-level budget.

Users

Assign dashboard users to this project and control what they can see and do. Available project-scoped roles: viewer, editor, admin. See Dashboard: Users & Roles.

Logs

Live view of recent requests routed through this project. Columns: timestamp, model used, status, input tokens, output tokens, cost. Click any row to see the full routing trace.

The log table auto-refreshes at a configurable interval (5 s / 15 s / 30 s / 1 min / 5 min).


Project Slugs

Slugs are used in the scoped proxy URL:

POST http://localhost:3000/projects/{slug}/v1/chat/completions

Using the scoped URL is optional — you can also use the generic /v1/chat/completions with a project token that is already bound to the project.


Listing and Removing Projects

routerly project list
routerly project remove --slug my-app
warning

Removing a project deletes all its tokens and budget configuration. Usage records in usage.json are preserved for historical reporting.