Skip to documentation

Getting Started

Getting Started

Add a provider, choose a model, and send your first request with hosted AnchorShell Relay.

Relay sits between your application and its model providers. Start with one provider and model, then create a Group when you want a stable request name with ordered alternatives.

Dashboard

  1. Sign in to AnchorShell.
  2. Open Model Relay → Setup.
  3. Enter your provider's name, base URL, API key, and model ID.
  4. Click Save and Continue.
  5. Add the model to a group if you want one name for several models.
  6. Review limits and pricing. Send the test request.
  7. Open Playground to edit the request and inspect the response.

The order is provider → model → optional group → request. Your provider supplies the model and charges for its use.

API

Create an inference key in Account → API keys. Replace <API_KEY> below; see API authentication for optional management scopes.

Direct model

Use the call name from Providers. This example assumes you configured and enabled this model.

curl -X POST 'https://api.anchorshell.com/v1/chat/completions' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ]
}'

Response — 200 OK

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

{
  "id": "<COMPLETION_ID>",
  "object": "chat.completion",
  "model": "gpt-5-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Relay waits for the preferred model before considering fallback."
      },
      "finish_reason": "stop"
    }
  ]
}

Group

After creating agentic, select it in the same model field:

curl -X POST 'https://api.anchorshell.com/v1/chat/completions' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model": "agentic",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ]
}'

Response — 200 OK

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

{
  "id": "<COMPLETION_ID>",
  "object": "chat.completion",
  "model": "gpt-5-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Relay waits for the preferred model before considering fallback."
      },
      "finish_reason": "stop"
    }
  ]
}

No routing header or query parameter is needed. Configure setup through Providers and Groups.

Next

Self-hosted.