> ## Documentation Index
> Fetch the complete documentation index at: https://gomodel-feat-guardrails.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Playground

> Try any model through the gateway from the dashboard and inspect the exact request and response JSON.

The **Playground** page (`/admin/dashboard/playground`) sends requests through the
gateway's public API with your dashboard key, so every call is routed, logged, and
metered exactly like a client's request. Pick an endpoint (`/v1/chat/completions`,
`/v1/responses`, or `/v1/messages`), a model from the inventory or any alias,
or virtual model by name, and whether to stream; build the conversation
from editable, reorderable System, User, and Assistant messages; and send a prompt.
The JSON panel on the right shows the request body as it will be sent (updated live
as you edit) and the last response with its status, latency, and token usage —
streamed responses are assembled into the same shape a non-streaming call returns.
Requests are subject to the same budgets, rate limits, guardrails, and audit logging
as any other client of the gateway.

## User path scoping

Virtual models can be restricted to specific `user_paths`, and Playground requests
authenticated with the master key can scope themselves to one of those paths with
the **User path** field next to the model picker. When you select a model whose
policy declares `user_paths`, the field is prefilled with the first entry; you can
edit it before sending. On send, the value is carried on the user-path request
header, exactly as an external client would send it, so the gateway records the
path on the request snapshot and grants access to models restricted to that path —
a request without the header is denied for those models.

The header name is `X-GoModel-User-Path` by default. If you customize it through
`USER_PATH_HEADER` (or `server.user_path_header`), the dashboard reads the
effective name from `GET /admin/runtime/config` and sends the scoped path under
that header, so no extra dashboard configuration is needed.

<img src="https://mintcdn.com/gomodel-feat-guardrails/4nnNwFhFLezXOEgu/features/playground.png?fit=max&auto=format&n=4nnNwFhFLezXOEgu&q=85&s=3fe7dcdb2c6a82eba56daf7d24f5fb63" alt="GoModel dashboard Playground page with the Messages endpoint selected, a model picker, System, User, and Assistant message cards, a prompt composer, and the request JSON panel on the right" style={{ width: "100%", maxWidth: "1280px", height: "auto" }} className="rounded-lg" width="2924" height="1814" data-path="features/playground.png" />
