Skip to content

Coding tools

Any coding agent that can talk to a custom OpenAI Chat Completions endpoint can use ResetData. Our API serves POST /api/v1/chat/completions only — not OpenAI’s Responses API (/responses) or Anthropic’s Messages API (/v1/messages) — so some tools need a setting or a proxy, covered below.

The examples use zai/glm-5.3. Swap in any chat model slug from the catalog. The Tool Setup panel in the playground generates these snippets for the model you have selected.

Every tool reads your key from an environment variable, so it never sits in a config file:

Terminal window
export RESETDATA_API_KEY="sk-rd-..."

OpenCode ships two release lines, 1.x and 2.x, with different config formats. Check which one you have first:

Terminal window
opencode --version

Both lines read the same config files — opencode.json in your project, or ~/.config/opencode/opencode.json globally. OpenCode 2 still reads the 1.x format, but OpenCode 1 cannot read the 2.x format. If you switch between versions, or share the file with someone on 1.x, use the OpenCode 1 config.

{
"$schema": "https://opencode.ai/config.json",
"providers": {
"resetdata": {
"name": "ResetData",
"env": ["RESETDATA_API_KEY"],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://api.resetdata.ai/api/v1"
},
"models": {
"zai/glm-5.3": {
"name": "zai/glm-5.3"
}
}
}
},
"model": "resetdata/zai/glm-5.3"
}

env tells OpenCode which environment variable holds the key. With RESETDATA_API_KEY exported, run opencode.

Without a limit entry OpenCode does not know the model’s context window, so it will not compact a long session for you. To turn that on, add the model’s context length from the catalog. In OpenCode 2 that is "limit": { "context": <tokens> } on the model. OpenCode 1 needs both context and output set.

Add a provider to ~/.codex/config.toml:

model = "zai/glm-5.3"
model_provider = "resetdata"
[model_providers.resetdata]
name = "ResetData"
base_url = "https://api.resetdata.ai/api/v1"
env_key = "RESETDATA_API_KEY"
wire_api = "chat"

wire_api = "chat" matters. Recent Codex builds default to the Responses API, which ResetData does not serve. If your Codex build no longer accepts "chat", you need a proxy that translates the Responses API to Chat Completions in front of ResetData.

Claude Code speaks only Anthropic’s Messages API, so it cannot connect to ResetData directly. Run an Anthropic-to-OpenAI translating proxy (for example LiteLLM) that forwards to https://api.resetdata.ai/api/v1, then point Claude Code at the proxy:

Terminal window
export ANTHROPIC_BASE_URL="<your-anthropic-format-proxy-url>"
export ANTHROPIC_AUTH_TOKEN="$RESETDATA_API_KEY"
export ANTHROPIC_MODEL="zai/glm-5.3"
claude

ANTHROPIC_AUTH_TOKEN is sent as a Bearer token. Use ANTHROPIC_API_KEY instead if your proxy expects the x-api-key header.