Documentation2389 Docs

API Reference

Complete reference for the 2389 API. Our endpoints are OpenAI-compatible, so you can use existing OpenAI client libraries.

Base URL

https://id.2389.ai/v1

Authentication

All API requests require an API key passed in the Authorization header:

Authorization: Bearer sk-2389-YOUR_API_KEY

Endpoints

List Models

GET /v1/models

Returns a list of available models.

curl https://id.2389.ai/v1/models \
  -H "Authorization: Bearer sk-2389-YOUR_API_KEY"

Chat Completions

POST /v1/chat/completions

Creates a chat completion for the given messages.

Request Body

ParameterTypeRequiredDescription
modelstringYesModel ID to use (see available models below)
messagesarrayYesArray of message objects with role and content
streambooleanNoEnable streaming responses (default: false)
temperaturenumberNoSampling temperature (0-2)
max_tokensintegerNoMaximum tokens in the response

Message Object

FieldTypeDescription
rolestringOne of: system, user, assistant
contentstringThe message content

Example Request

curl -X POST https://id.2389.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-2389-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "What is the capital of France?"}
    ],
    "temperature": 0.7
  }'

Example Response

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1704067200,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The capital of France is Paris."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 8,
    "total_tokens": 33
  }
}

Available Models

OpenAI Models

Model IDDescription
gpt-4oMost capable GPT-4 model
gpt-4o-miniAffordable, fast GPT-4 model
gpt-4-turboGPT-4 Turbo with vision capabilities
gpt-4Original GPT-4 model
gpt-3.5-turboFast and cost-effective
o1Reasoning model for complex tasks
o1-miniSmaller, faster reasoning model

Anthropic Models

Model IDDescription
claude-opus-4-5-20250514Most capable Claude model
claude-sonnet-4-5-20250514Balanced performance and speed
claude-sonnet-4-20250514Latest Sonnet model
claude-3-5-sonnet-20241022Claude 3.5 Sonnet
claude-3-5-haiku-20241022Fast and efficient
claude-3-opus-20240229Claude 3 Opus
claude-3-haiku-20240307Claude 3 Haiku

Streaming

Set stream: true to receive responses as Server-Sent Events (SSE). Each event contains a delta of the response.

curl -X POST https://id.2389.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-2389-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'

Rate Limits

API requests are rate limited to 60 requests per minute per API key.

Rate limit headers are included in all responses:

HeaderDescription
X-RateLimit-LimitMaximum requests per window
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the window resets

Error Responses

Errors follow the OpenAI error format:

{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Common Error Codes

HTTP StatusError CodeDescription
401invalid_api_keyMissing or invalid API key
400invalid_request_errorMalformed request body
404model_not_foundRequested model does not exist
429rate_limit_exceededToo many requests
500internal_errorServer error