# Send a request through the dummy model

Canonical HTML: https://anchorshell.com/guides/dummy-model-first-request

Configure Relay's built-in dummy provider and verify the routed gateway without an external account.

Last updated: 2026-08-18

## Purpose

Send a complete routed request without using a paid provider. The built-in dummy provider returns deterministic responses for local verification.

## Prerequisites

- Relay is running at `http://localhost:11730`.
- You unlocked the admin interface.

## Add the provider

1. Open **Providers**.

2. Add an API Key Provider with these values:

| Field | Value |
| --- | --- |
| Provider name | `Local Dummy` |
| Base URL | `http://localhost:11730/v1/dummy` |
| Authentication | Bearer, using your `RELAY_API_TOKEN` |
| Enabled | Yes |

> **Caution:** Do not use `http://localhost:11730/v1`. That address is Relay's routed gateway. Relay rejects this self-referential provider configuration.

3. Add a model under `Local Dummy`.

4. Set the model name and upstream model to `dummy`.

5. Select a Chat-compatible route kind.

6. Enable the model.

## Send the request

```sh
curl http://localhost:11730/v1/chat/completions \
  -H 'Authorization: Bearer <RELAY_API_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"model":"dummy","messages":[{"role":"user","content":"wait_0"}]}'
```

**Response — 200 OK**

Example non-streaming response (selected fields). Content, model, and usage depend on the selected provider.

```json
{
  "id": "<COMPLETION_ID>",
  "object": "chat.completion",
  "model": "dummy",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I waited 0 seconds."
      },
      "finish_reason": "stop"
    }
  ]
}
```

## Expected result

Relay selects `Local Dummy/dummy`. The response contains a deterministic dummy completion.

Open **Logs** and confirm these fields:

- Selected provider and model.
- Queue and provider timing.
- Input and output token counts.
- Completion status.

## Verification

Open **Logs**. Confirm the selected Provider and Model, queue and provider timing, token counts, and completion status.

## Recovery

- If Relay reports no route, confirm that the provider and model are enabled.
- If Relay rejects the provider URL, use the required `/v1/dummy` suffix.
- If the dummy provider rejects the prompt, use `wait_0`, `wait_5`, or a documented rate-limit command.

## Next

[Add a provider, model, and group](https://anchorshell.com/guides/add-provider-model-group).
