⚡ नवीन — Kimi K3 आता लाइव: तुमची Moonshot की जोडा →
दस्तऐवज

API reference

गेटवे जे काही expose करतो, ते सर्व इथे आहे — auth मॉडेलनुसार गटबद्ध केलेले. Inference endpoints एक API key घेतात (Authorization: Bearer br-…); dashboard endpoints साइन-इन वर सेट केलेल्या ब्राउझर सेशन कुकीचा वापर करतात आणि पूर्णतेसाठी इथे सूचीबद्ध केलेले आहेत — बहुतेक लोक त्यांचा वापर dashboard UI द्वारे करतात. एक मशीन-वाचनीय स्कीमा openapi.json वर राहते.

Inference (API key)

POST /v1/chat/completions

OpenAI-compatible chat completions, स्ट्रीमिंग आणि नॉन-स्ट्रीमिंग.BharatRouter एक्स्टेन्शन (optimize,optimize_weights, provider, data_policy, upstream_key, fallbacks, …) स्वीकारतो — हे राउटर वापरून घेतो आणि रिक्वेस्ट गेटवे सोडण्यापूर्वी काढून टाकतो. ज्या provider ने प्रत्यक्षात रिक्वेस्ट सर्व्ह केली, तो x-br-provider response header मध्ये परत केला जातो.

curl https://api.bharatrouter.com/v1/chat/completions \
  -H "Authorization: Bearer br-..." -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-7b-instruct",
    "messages": [
      {"role": "system", "content": "You answer in Hindi."},
      {"role": "user", "content": "What is the capital of Maharashtra?"}
    ],
    "max_tokens": 200,
    "optimize": "uptime"
  }'

Response (नॉन-स्ट्रीमिंग) टोकन usage सह एक मानक chat-completion ऑब्जेक्ट आहे:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "qwen2.5-7b-instruct",
  "choices": [{ "index": 0, "message": { "role": "assistant", "content": "मुंबई ..." }, "finish_reason": "stop" }],
  "usage": { "prompt_tokens": 28, "completion_tokens": 41, "total_tokens": 69 }
}

"stream": true असल्यास response text/event-stream असते. गेटवे ज्या providers ना ते सपोर्ट करतात त्यांच्यावर stream_options.include_usage इंजेक्ट करतो, म्हणून[DONE] पूर्वीचा शेवटचा चंक usage ब्लॉक घेऊन जातो.

POST /v1/embeddings

OpenAI-compatible embeddings — chat प्रमाणेच एक्स्टेन्शन, रूटिंग आणि फेलओव्हरसह. प्लॅटफॉर्म key वर भारत-निवासी मॉडेल्स: bge-m3 (1024-dim).

curl https://api.bharatrouter.com/v1/embeddings \
  -H "Authorization: Bearer br-..." -H "Content-Type: application/json" \
  -d '{ "model": "bge-m3", "input": ["namaste", "vanakkam"], "data_policy": "india_only" }'

Catalog & health (सार्वजनिक, कोणतेही auth नाही)

Endpointकाय परत करतो
GET /v1/modelsसंपूर्ण कॅटलॉग: प्रति-मॉडेल INR price (₹/Mtok), रेझिडेन्सी, भाषा टॅग, संदर्भ लांबी, आणि लाइव्ह प्रति-रूट हेल्थ.
GET /v1/models/:id/statsएका मॉडेलसाठी 7-दिवसांचे traffic stats — यशस्वितेचा दर, p50/p95 latency, tokens/sec.
GET /v1/providersProvider रजिस्ट्री: कॉन्फिगर केलेली स्थिती, रेझिडेन्सी, BYOK सपोर्ट, प्लॅटफॉर्म-key फॉलबॅक.
GET /v1/pricing/compareOpenRouter सोबत price तुलना, FX द्वारे INR मध्ये रूपांतरित (तासानुसार कॅश्ड).
GET /v1/rankingsटोकन व्हॉल्यूमनुसार सर्वाधिक वापरलेले कॅटलॉग मॉडेल, 7-दिवस आणि 30-दिवसांच्या विंडो. Usage पहा.
GET /v1/collectionsसार्वजनिक collections रजिस्ट्री. व्हर्जन इतिहासासह एकासाठी GET /v1/collections/:slug.
GET /healthProvider कॉन्फिगरेशन आणि प्रति-रूट circuit-breaker स्थिती.
curl -s https://api.bharatrouter.com/v1/models | jq '.data[] | select(.id=="qwen2.5-7b-instruct")'

Discovery (सार्वजनिक)

GET /openapi.jsonOpenAPI 3.1 स्कीमा.
GET /llms.txtLLM-वाचनीय API सारांश.
GET /.well-known/mcp/server-card.jsonMCP सर्व्हर मेटाडेटा (streamable HTTP, bearer auth). एजंट्ससाठी MCP पहा.

Dashboard API (सेशन कुकी)

GitHub/Google OAuth द्वारे साइन-इन वर सेट केले जाते (GET /auth/:provider → callback → br_session कुकी;POST /auth/logout ती क्लियर करते). Org चे मालक सर्व काही करू शकतात; काही endpoints चिन्हांकित केल्याप्रमाणे फक्त-मालक आहेत.

Account

Endpointहे काय करते
GET /meसध्याचा user + org (id, email, role, org नाव, डोमेन).
PATCH /meडिस्प्ले नाव अपडेट करा किंवा अवतार काढून टाका.
PATCH /me/orgOrg चे नाव बदला (मालक).

API keys

संपूर्ण सिमेंटिक्स API keys & limits वर.

Endpointहे काय करते
GET /me/keyskeys सूचीबद्ध करा: prefix, नाव, tier, rpm/दैनिक limits, मासिक ₹ बजेट, या महिन्याचा खर्च, शेवटचा वापर.
POST /me/keysएक key तयार करा — name?, budget_inr?, expires_days? (1–365). संपूर्ण key नेमकी एकदाच दाखवली जाते. बीटामध्ये प्रति org कमाल 5 सक्रिय keys.
PATCH /me/keys/:idrpm_limit, daily_limit, budget_inr अपडेट करा (मालक/अॅडमिन). 60 s च्या आत प्रभावी.
DELETE /me/keys/:idएक key रद्द करा (मालक/अॅडमिन). 60 s च्या आत प्रभावी.

BYOK keys

संपूर्ण गाईड BYOK पेज वर.

Endpointहे काय करते
GET /me/byokBYOK स्वीकारणारे providers + तुमच्या सेव्ह केलेल्या keys (मास्क केलेल्या).
PUT /me/byok/:providerएक provider key सेव्ह करा किंवा बदला — key, label?, always_use? (मालक). लाइव्ह व्हेरिफाय केली जाते, रेस्टवर एन्क्रिप्टेड; सेव्ह केल्यावर मॉडेल शोधले जातात.
POST /me/byok/:provider/testसेव्ह केलेली key पुन्हा व्हेरिफाय करा: ok / rejected / unreachable (मालक).
GET /me/byok/:provider/modelsतुमच्या key ने शोधलेले मॉडेल, provider/model-id म्हणून अॅड्रेस केले जाऊ शकतात.
DELETE /me/byok/:providerसेव्ह केलेली key काढून टाका (मालक).

Billing

संपूर्ण सिमेंटिक्स Credits & billing वर.

Endpointहे काय करते
GET /me/billingबॅलन्स (₹), कमी-बॅलन्स थ्रेशोल्ड, money-event लेजर, पेमेंट्स, 30-दिवसांचा usage, बिलिंग पत्ता.
POST /me/billing/addressबिलिंग पत्ता सेट करा (पहिल्या top-up पूर्वी आवश्यक, GST place-of-supply साठी) (मालक).
GET /me/billing/pincode/:pinIndia Post PIN लुकअप → शहर/राज्य ऑटोफिल.
POST /me/billing/ordersएक Razorpay ऑर्डर तयार करा — amount_inr (पूर्ण ₹, बीटामध्ये 100–1000), promo_code? (मालक).
POST /me/billing/verifyचेकआउट signature व्हेरिफाय करा आणि बॅलन्स क्रेडिट करा (idempotent) (मालक).
POST /me/billing/promo/checkपेमेंटपूर्वी एक promo code व्हॅलिडेट करा (मालक).
POST /me/billing/settingsकमी-बॅलन्स email थ्रेशोल्ड (₹) सेट किंवा क्लियर करा (मालक).
GET /me/billing/receipts/:paymentIdप्रिंट करण्यायोग्य HTML पेमेंट पावती (मालक).

Routing chains

सेव्ह केलेल्या org-wide फेलओव्हर चेन — संपूर्ण गाईड Routing वर.

Endpointहे काय करते
GET /me/routingसेव्ह केलेल्या चेन सूचीबद्ध करा; एकासाठी GET /me/routing/:model.
PUT /me/routing/:modelएका मॉडेलची चेन सेव्ह करा/बदला — steps (1–10) (मालक/अॅडमिन).
DELETE /me/routing/:modelती काढून टाका; रूटिंग डिफॉल्टवर परत येते (मालक/अॅडमिन).

Collections

संपूर्ण गाईड Collections वर.

Endpointहे काय करते
GET /me/collectionsतुमच्या org च्या collections (खाजगी + सार्वजनिक + फोर्क केलेल्या).
POST /me/collectionsतयार करा — name, model, steps, readme_md?, public? (मालक/अॅडमिन).
PATCH /me/collections/:id · DELETE /me/collections/:idसंपादित करा (व्हर्जन वाढवते) किंवा काढून टाका (मालक/अॅडमिन).
POST /me/collections/star/:slugएक स्टार टॉगल करा (प्रति org एक).
POST /me/collections/fork/:slugएक सार्वजनिक collection तुमच्या org मध्ये फोर्क करा.
POST /me/collections/import/:slugपरकी असल्यास फोर्क करा, मग तुमची रूटिंग म्हणून लागू करा (मालक/अॅडमिन).

Custom endpoints (BYOE)

संपूर्ण गाईड Bring your own endpoint वर.

Endpointहे काय करते
GET /me/endpointsनोंदणीकृत endpoints सूचीबद्ध करा (keys मास्क केलेल्या, अनुपालन स्थितीसह).
POST /me/endpointsरजिस्टर करा + इनलाइन अनुपालन-चाचणी (मालक/अॅडमिन).
POST /me/endpoints/testएका न-सेव्ह केलेल्या कॉन्फिगची अनुपालन-चाचणी करा (कोणताही राइट नाही).
POST /me/endpoints/:id/retest · DELETE /me/endpoints/:idपुन्हा चाचणी करा किंवा काढून टाका (मालक/अॅडमिन).

Reliability monitoring

संपूर्ण गाईड Reliability monitoring वर.

Endpointहे काय करते
POST /me/collections/:slug/monitorनिरीक्षण चालू/बंद टॉगल करा (monitored) (मालक/अॅडमिन).
POST /me/collections/:slug/checkआत्ता प्रत्येक step ला कॅनरी करा आणि ताजे हेल्थ परत करा.
GET /me/collections/:slug/healthप्रति-step uptime + p95 latency + शेवटचे कॅनरी (?days= 1–90, डिफॉल्ट 7).
GET/POST /me/collections/:slug/alerts · DELETE …/alerts/:iderror_rate/latency_p95 वर alerts सूचीबद्ध करा, तयार करा किंवा काढून टाका → email/webhook (बदलण्यासाठी मालक/अॅडमिन).

Teams & workspaces

संपूर्ण गाईड Teams & workspaces वर.

Endpointहे काय करते
GET /me/orgs · POST /me/orgs · POST /me/orgs/switchorgs सूचीबद्ध करा, एक टीम org तयार करा, सक्रिय org स्विच करा.
GET /me/members · POST /me/membersसदस्य + प्रलंबित सूचीबद्ध करा; email + role द्वारे आमंत्रित करा (मालक/अॅडमिन).
PATCH /me/members/:id · DELETE /me/members/:idrole बदला (मालक) · काढून टाका किंवा सोडा.
GET /me/invitations · POST /me/invitations/:id/(accept|decline)तुमची आमंत्रणे; स्वीकारा किंवा नाकारा.
GET/POST /me/workspaces · PATCH/DELETE /me/workspaces/:idworkspaces सूचीबद्ध करा/तयार करा; PATCH नाव बदलते किंवा एक monthly_budget_inr कॅप सेट करते; DELETE आर्काइव्ह करते (बदलण्यासाठी मालक/अॅडमिन).

Usage & activity

संपूर्ण गाईड Usage, activity & rankings वर.

Endpointहे काय करते
GET /me/usageप्रति-key रिक्वेस्ट आणि टोकन, आज (IST) आणि मागील 30 दिवस.
GET /me/usage/dailyमागील 30 दिवस, दिवस आणि मॉडेलनुसार गटबद्ध — dashboard चार्टला पॉवर देते.
GET /me/activityएका तारीख रेंजवर खर्च/व्हॉल्यूम समुच्चय — दिवस×मॉडेल, टॉप मॉडेल/keys, प्रति-provider खर्च विभाजन.
GET /me/activity/eventsप्रति-रिक्वेस्ट ड्रिल-डाउन, सर्वात नवीन प्रथम, keyset-पेजिनेटेड.
POST /me/attributionएकदाचा "तुम्ही आमच्याबद्दल कुठे ऐकले?" साइनअप सर्व्हे.

Webhooks

EndpointNotes
POST /webhooks/razorpayRazorpay events (payment.captured, payment.failed), x-razorpay-signature HMAC header द्वारे व्हेरिफाय केलेले. क्रेडिटिंग webhook आणि checkout-verify या दोन्ही पथांवर idempotent आहे.

Response headers

Headerअर्थ
x-br-providerज्या provider ने रिक्वेस्ट सर्व्ह केली (उदा. krutrim, bharatrouter).
retry-after429 responses वर: पुन्हा प्रयत्न करण्यापूर्वी प्रतीक्षेचे सेकंद.

Platform limits

LimitValue
गेटवे रेट लिमिटप्रति key 120 requests/min (किंवा अनधिकृत असल्यास प्रति IP).
Trial keys60 requests/min, 200 requests/day (मध्यरात्री IST वर रीसेट).
प्रति org सक्रिय keys5 (बीटा).
Top-upप्रति व्यवहार ₹100–₹1,000 (बीटा).

प्रति-key limits आणि मासिक ₹ बजेट कॉन्फिगर करण्यायोग्य आहेत — पहाAPI keys & limits. Errors एकाच JSON envelope चा वापर करतात — पहा Errors.