Quickstart

The Phoenix Grove API is OpenAI-compatible. If you already have code that talks to a Chat Completions endpoint, you can point it at Phoenix Grove by changing two things: the base URL and your API key.

Base URL:  https://api.pgsgrove.com/v1
Auth:      Authorization: Bearer pgsk_your_key_here

There is no separate SDK to install: the official OpenAI SDKs are the SDK. Just set base_url (Python / JS) or --url (curl) to the address above.

Get a key: create an account, open API Keys, and click Create key. Your full key is shown once; copy it then. We only ever store a hash.


1. Get your key

  1. Sign up (free, no subscription, no tier gate).
  2. Add credits on the Billing page (from $5).
  3. Create a key on the API Keys page and copy it.

Keys look like pgsk_ followed by a random string. Treat them like a password.


2. Your first request

The examples below use curl and the official OpenAI SDKs. There's no Phoenix Grove SDK to install — the OpenAI SDKs are the SDK. To use them, install one:

pip install openai      # Python
npm install openai      # JavaScript / TypeScript

curl needs nothing installed.

curl

curl https://api.pgsgrove.com/v1/chat/completions \
  -H "Authorization: Bearer $PGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "glm-5.2",
    "messages": [
      { "role": "system", "content": "You are a concise assistant." },
      { "role": "user", "content": "Give me three names for a tea shop." }
    ]
  }'

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="pgsk_your_key_here",
    base_url="https://api.pgsgrove.com/v1",
)

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "Give me three names for a tea shop."},
    ],
)

print(resp.choices[0].message.content)

JavaScript / TypeScript (OpenAI SDK)

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.PGS_API_KEY,
  baseURL: "https://api.pgsgrove.com/v1",
});

const resp = await client.chat.completions.create({
  model: "glm-5.2",
  messages: [
    { role: "system", content: "You are a concise assistant." },
    { role: "user", content: "Give me three names for a tea shop." },
  ],
});

console.log(resp.choices[0].message.content);

3. Pick a model

Browse the full catalog on the Models page. Each card has a copy-paste model id (and, where available, a -turbo id for priority routing). A few starting points:

  • glm-4.7-flash: fastest and cheapest for simple tasks.
  • deepseek-v4-pro: frontier reasoning and coding at a 1M-token window.
  • mimo-v2.5: multimodal flagship, reason over text and images together.
  • kimi-k2.7: trillion-parameter agentic coding with vision input.

Pass the id straight through as the model field. You can also list every id programmatically with GET /v1/models (no key required) — see Models & the catalog.


4. What you're billed

You pay per token, drawn from your prepaid credit balance. Prices are listed on every model card as $/1M input and output. Input tokens that hit the prompt cache are billed at a reduced rate automatically. Failed requests are never billed.

There are no monthly minimums and no subscription. When your balance runs out, requests return 402 until you top up.


Next steps