Login
API ReferenceFeatured

OpenAI Compatibility

Use OpenAI SDKs and RAG frameworks with the /v1 API.

All documentation

Connect the official OpenAI SDK—or software that accepts an OpenAI-compatible base URL—to the platform. Authentication, API-key restrictions, rate limits, billing, model routing, and failover are shared with the native External API.

Base URL

https://abzar-ai.com/v1

For clients that assume an OpenRouter-style path, the equivalent alias is:

https://abzar-ai.com/api/v1

Both base URLs use the same authentication, model catalog, routing, billing, and response adapters. Prefer /v1 for new integrations; /api/v1 exists to make migration and third-party client setup easier.

Use your platform API key as a Bearer token:

Authorization: Bearer your-api-key-here

Keep API keys on your server. Do not expose a pk_ key in browser JavaScript.

Supported endpoints

  • GET /v1/models
  • GET /v1/models/{model}
  • POST /v1/chat/completions
  • POST /v1/responses
  • POST /v1/embeddings
  • POST /v1/images/generations

/v1/chat/completions supports text, vision content parts, streaming, custom function tools, tool-result messages, JSON mode, strict JSON Schema, sampling controls, and OpenAI-shaped usage/error objects. /v1/responses provides a modern stateless interface over the same billed model gateway.

JavaScript quickstart

import OpenAI from "openai"

const client = new OpenAI({
  apiKey: process.env.ABZAR_AI_API_KEY,
  baseURL: "https://abzar-ai.com/v1"
})

const response = await client.responses.create({
  model: "your-chat-model",
  input: "Give me three practical RAG quality checks."
})

console.log(response.output_text)

Python quickstart

from openai import OpenAI

client = OpenAI(
    api_key="your-api-key-here",
    base_url="https://abzar-ai.com/v1",
)

completion = client.chat.completions.create(
    model="your-chat-model",
    messages=[{"role": "user", "content": "Write a concise welcome message."}],
)

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

Model capabilities

Models do not all support the same operations. Call GET /v1/models and read each model’s additive metadata before enabling UI controls:

{
  "id": "your-chat-model",
  "object": "model",
  "created": 1787731200,
  "context_length": 128000,
  "max_output_tokens": 8192,
  "capabilities": {
    "chat": true,
    "streaming": true,
    "tools": true,
    "structuredOutput": true,
    "imageAnalysis": true
  },
  "architecture": {
    "input_modalities": ["text", "image"],
    "output_modalities": ["text"]
  },
  "supported_parameters": [
    "model",
    "messages",
    "stream",
    "tools",
    "response_format"
  ]
}

created is the stable catalog creation time rather than the time of the discovery request. abzar_pricing contains platform-credit estimates and is intentionally namespaced so OpenRouter-style clients do not mistake it for upstream per-token pricing.

Tool requests are routed only to supplier routes that positively advertise tool support. Unsupported model/operation combinations fail before provider spend whenever they can be determined during routing.

Compatibility boundaries

This API implements the production endpoints listed above. It does not expose OpenAI account resources or unrelated services such as Files, Batch, Fine-tuning, Moderations, Assistants, Vector Stores, Audio, Video, or Realtime.

The Responses endpoint is stateless create-only. It supports text, image input, structured output, and custom function tools. It does not currently store or retrieve responses, run background jobs, continue by previous_response_id, execute built-in tools such as web search and file search, or accept reasoning, file input, automatic truncation, and verbosity controls. Unsupported parameters return an explicit OpenAI-shaped unsupported_parameter error with the exact error.param; they are never silently ignored.

Continue with Responses API and Tools & Structured Output.