• ISH API
    api.ish.chat
Platform
  • Dashboard
  • Keys
  • Usage
Setup
  • Docs
    • Claude
      Claude Code
    • OpenCodeOpenCode
    • OpenAI
      Codex CLI
    • Cursor
      Cursor IDE
Rootnull-only inference

Build on the same models that power ISH.

api.ish.chat exposes Rootnull-backed inference through OpenAI-compatible and Anthropic-compatible endpoints. API usage requires purchased credits from your ISH chat account.

Create API keyQuickstart
Base setup
GEThttps://api.ish.chat/v1/models
POSThttps://api.ish.chat/v1/chat/completions
POSThttps://api.ish.chat/v1/messages
Auth

Use Authorization: Bearer ish_live_...

Models

/v1/models lists canonical Rootnull ids. Connector aliases like ish/claude-sonnet-4.6 andclaude-sonnet-4-6 are accepted.

State

API calls are stateless. Chat memory stays in the web app.

API keys

Create keys from the API console. Raw keys are shown once, stored as hashes, and can be revoked at any time.

OpenAI-compatible chat

Point OpenAI SDK clients to the ISH base URL and call/chat/completions.

Example
curl https://api.ish.chat/v1/chat/completions \
  -H "Authorization: Bearer $ISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4.6",
    "messages": [
      { "role": "user", "content": "Write a launch checklist." }
    ]
  }'

Anthropic-compatible messages

Use /v1/messages for Anthropic-style clients and request bodies.

Example
curl https://api.ish.chat/v1/messages \
  -H "Authorization: Bearer $ISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4.6",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Explain reserve billing simply." }
    ]
  }'

Streaming

Set stream: true for SSE streaming.

Example
curl -N https://api.ish.chat/v1/chat/completions \
  -H "Authorization: Bearer $ISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4.5",
    "stream": true,
    "messages": [
      { "role": "user", "content": "Stream three short tips." }
    ]
  }'

Vision inputs

Send OpenAI-style image_url parts or Anthropic-style base64 image sources with vision-capable Rootnull models.

Example
curl https://api.ish.chat/v1/chat/completions \
  -H "Authorization: Bearer $ISH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4.5",
    "max_tokens": 80,
    "messages": [{
      "role": "user",
      "content": [
        { "type": "text", "text": "What is in this image?" },
        {
          "type": "image_url",
          "image_url": { "url": "data:image/png;base64,..." }
        }
      ]
    }]
  }'

Coding CLIs

Claude-style tools should use https://api.ish.chat without/v1. OpenAI-compatible tools should use https://api.ish.chat/v1.

Example
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.ish.chat",
    "ANTHROPIC_API_KEY": "ish_live_...",
    "ANTHROPIC_MODEL": "claude-sonnet-4.6",
    "ANTHROPIC_SMALL_FAST_MODEL": "claude-haiku-4.5",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4.7",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4.6",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4.5"
  },
  "model": "claude-sonnet-4.6"
}
OpenCodeOpenCode setup
OpenAI
Codex CLI setup
Cursor
Cursor IDE setup
Claude
Claude Code setup

Billing

API calls require purchased credits. Daily/free credits are for web chat only and cannot be spent through api.ish.chat or coding connectors.

Requests reserve the estimated maximum cost before inference. Purchased credits bill at 1x model tokens with no Rootnull multiplier. After the response completes, ISH reconciles actual token usage and refunds unused reserved credits.

Docs tree
OverviewAPI quickstart
Claude
Claude CodeAnthropic-compatible setup
OpenCodeOpenCodeOpenAI-compatible setup
OpenAI
Codex CLIResponses API setup
Cursor
Cursor IDECursor alias setup
ModelsGET /v1/modelsChat completionsPOST /v1/chat/completionsMessagesPOST /v1/messagesStreamingSSE responsesVisionImage inputsBillingPurchased credits only