📚 API Documentation

Complete API reference for 15code platform

1️⃣ API Overview

Two Protocols Supported

15code supports both OpenAI and Anthropic API protocols. Use OpenAI protocol for GPT/GLM models, Anthropic protocol for Claude models.

Protocol Base URL Supported Models
OpenAI https://cli.15code.com/v1 GPT-5.4, GPT-5.3-Codex, GLM-5, GLM-5.1
Anthropic https://claude.15code.com Claude Opus 4.7, Claude Sonnet 4.6

2️⃣ Authentication

API Key

All requests require API Key authentication. Get your key from Dashboard.

# OpenAI Protocol - Header Authorization: Bearer sk-your-api-key # Anthropic Protocol - Header x-api-key: sk-your-api-key
💡 Security tips:
• Never share your API Key
• Never upload to GitHub or public repos
• Use environment variables instead of hardcoding

3️⃣ Endpoints

OpenAI Protocol Endpoints

Endpoint Method Description
/v1/chat/completions POST Chat completion (main endpoint)
/v1/models GET List available models

Anthropic Protocol Endpoints

Endpoint Method Description
/v1/messages POST Create message (main endpoint)

4️⃣ Request Examples

OpenAI Protocol - curl

curl https://cli.15code.com/v1/chat/completions \ -H "Authorization: Bearer sk-your-api-key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.4", "messages": [ {"role": "user", "content": "Hello, how are you?"} ], "max_tokens": 1024, "temperature": 0.7 }'

OpenAI Protocol - Python

from openai import OpenAI client = OpenAI( base_url="https://cli.15code.com/v1", api_key="sk-your-api-key" ) response = client.chat.completions.create( model="gpt-5.4", messages=[{"role": "user", "content": "Hello!"}], max_tokens=1024 ) print(response.choices[0].message.content)

Anthropic Protocol - curl

curl https://claude.15code.com/v1/messages \ -H "x-api-key: sk-your-api-key" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "max_tokens": 1024, "messages": [ {"role": "user", "content": "Hello, Claude!"} ] }'

Anthropic Protocol - Python

from anthropic import Anthropic client = Anthropic( base_url="https://claude.15code.com", api_key="sk-your-api-key" ) message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}] ) print(message.content[0].text)

5️⃣ Supported Models

Claude Series (Anthropic Protocol)

claude-opus-4.7
Flagship · 1M context
claude-sonnet-4.6
Balanced performance
💡 Claude models:
• claude-opus-4.7 / claude-sonnet-4.6
• Opus 4.7 supports 1M context window

GPT Series (OpenAI Protocol)

gpt-5.4
Flagship model
gpt-5.3-codex
Code expert

GLM Series (OpenAI Protocol)

glm-5.1
Enhanced · Long tasks
glm-5
Zhipu flagship
💡 GLM pricing advantage:
• GLM-5: 40% cheaper than official
• GLM-5.1: 20% cheaper than official

6️⃣ Error Handling

Common Error Codes

Code Description Solution
400 Invalid request Check parameters format
401 Authentication failed Check API Key
403 Permission denied Check balance or access
404 Model not found Check model name
429 Rate limit exceeded Slow down, retry later
500 Server error Retry or contact support

7️⃣ Usage Limits

Context Window Limits

Model Context Window Max Output
Claude Opus 4.7 1,000,000 tokens 128,000 tokens
Claude Sonnet 4.6 1,000,000 tokens 128,000 tokens
GPT-5.4 128,000 tokens 16,000 tokens
GLM-5 200,000 tokens 65,000 tokens