Skip to content
Rapid Router
← Rapid Router

What is a preset?

The Presets entry in your dashboard, explained from zero: what it is, why it exists, and how to use one.

The one-line version

A preset is a saved recipe for a request. You write the recipe once in the dashboard, give it a name, and your code just calls the name. The gateway applies the recipe to every request, live.

What happens on every call

Your code sends
"model": "@preset/support-triage"
plus the user's messages. Nothing else.
↓gateway looks up the recipe
The preset fills in
which model to use, backup models if it is down, the system prompt, temperature and other settings, preferred providers
↓full request goes out
The model answers
and the response tells you which preset version served: "preset": { "slug": "support-triage", "version": 3 }

So the request in your code stays tiny and stable, and everything that tends to change lives in the dashboard instead.

The superpower: change behaviour without a deploy

Say your app runs on Gemini and Gemini is having a bad day. Without presets you edit code, review, deploy, wait. With a preset you open the dashboard, change the model, and save:

You, in the dashboard
Edit support-triage: switch the model, tweak the system prompt. Save. That save becomes version 4.
↓seconds, not a release
Everything running in production
your web app, your worker, your cron script: every request that names the preset now uses the new recipe. No deploy, no restart, nobody woken up.

Every save is versioned, so if version 4 turns out worse, one click rolls back to version 3. The version history sits right on the Presets page.

Three ways to call one

{ "preset": "support-triage", "messages": [...] } uses the preset as-is.

{ "model": "@preset/support-triage" } same thing, written in the model field, handy when a library only lets you set a model string.

{ "model": "openai/gpt-oss-120b@preset/support-triage" } pins the model yourself and takes everything else, prompt and settings, from the preset.

If the request and the preset disagree, the request wins

Merging is field by field, and anything your code sends beats the preset. The preset only fills the gaps:

FieldYour requestPresetWhat is used
temperature0.90.20.9, the request's
system promptnone sent"You are a support agent..."the preset's
modelnone sentgemini, then deepseek as backupfirst one with a live route

Do I need one?

If you are experimenting, or your model and prompt live comfortably in your code, you do not. Presets earn their keep once something is running in production and you want to tune the model, prompt or settings without shipping a release every time, or share one tuned setup across several scripts and apps.

Full reference with all mergeable fields lives in the Presets docs.