API Hop

दस्तावेज़

API Hop दस्तावेज़

Claude Messages इंटरफ़ेस

मूल Claude Messages-संगत API। यह एंडपॉइंट Anthropic Messages अनुरोध और उत्तर संरचनाएँ इस्तेमाल करता है, जिनमें टूल कॉल और Anthropic SSE इवेंट शामिल हैं।

POSThttps://api.apihop.ai/anthropic/v1/messages

मूल Claude Messages-संगत API। यह एंडपॉइंट Anthropic Messages अनुरोध और उत्तर संरचनाएँ इस्तेमाल करता है, जिनमें टूल कॉल और Anthropic SSE इवेंट शामिल हैं।

अपस्ट्रीम प्रदाता Claude Sonnet 4.6 (claude-sonnet-4-6) समर्थित करता है, लेकिन यह फिलहाल API Hop पर प्रकाशित नहीं है। यह सक्रिय एकीकरण डिफ़ॉल्ट नहीं है। कोई भी मॉडल कॉल करने से पहले अपने GET https://api.apihop.ai/v1/models उत्तर से पहुँच पुष्टि करें।

text
POST https://api.apihop.ai/anthropic/v1/messages

प्रमाणीकरण

सभी अनुरोधों में API Hop API कुंजी आवश्यक है। Anthropic SDK, Claude Code और संगत क्लाइंट आम तौर पर x-api-key इस्तेमाल करते हैं; सामान्य HTTP क्लाइंट Bearer Token प्रमाणीकरण भी ले सकते हैं।

http
x-api-key: YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01
http
Authorization: Bearer YOUR_APIHOP_API_KEY
anthropic-version: 2023-06-01

अनुरोध बॉडी

modelstringआवश्यकडिफ़ॉल्ट: claude-sonnet-5-5

समर्थित Claude मॉडल ID।

  • claude-fable-5
  • claude-fable-5-1
  • claude-opus-4-6
  • claude-opus-4-7
  • claude-opus-4-8
  • claude-opus-5
  • claude-opus-5-5
  • claude-sonnet-5
  • claude-sonnet-5-5

आपकी API कुंजी के वर्तमान उपलब्ध मॉडल के लिए GET https://api.apihop.ai/v1/models इस्तेमाल करें।

max_tokensintegerआवश्यक

अधिकतम आउटपुट टोकन, धनात्मक सुरक्षित पूर्णांक के रूप में। बजट में सोच-विचार और अंतिम टेक्स्ट आउटपुट, दोनों के टोकन हैं। अनुपस्थित, शून्य, ऋणात्मक, भिन्नात्मक, स्ट्रिंग या असुरक्षित पूर्णांक मान जनरेशन या बिलिंग से पहले invalid_request_error के साथ HTTP 400 लौटाते हैं। मॉडल की अधिकतम सीमा इससे कम हो सकती है।

सोच-विचार करने वाले मॉडल में 128 जैसा छोटा बजट केवल सोच-विचार ब्लॉक देकर stop_reason: "max_tokens" पर बिना टेक्स्ट आउटपुट समाप्त हो सकता है। कार्य और चुने मॉडल के लिए स्पष्ट बजट दें, जिसमें सोच-विचार और अंतिम उत्तर की जगह हो। उदाहरणों के मान बदले जा सकने वाली सीमाएँ हैं, अपस्ट्रीम डिफ़ॉल्ट या मॉडल सीमा नहीं; बड़ी सीमा आउटपुट उपयोग और लागत बढ़ा सकती है।

messagesobject[]आवश्यक

बातचीत के संदेश। हर संदेश में role और content हैं।

role में user और assistant समर्थित हैं। content स्ट्रिंग या सामग्री ब्लॉक की ऐरे हो सकता है।

systemstring | object[]

सिस्टम प्रॉम्प्ट। Anthropic Messages में messages के system रोल के बजाय शीर्ष-स्तरीय system फ़ील्ड होता है।

streambooleanडिफ़ॉल्ट: false

Anthropic SSE इवेंट लौटाने हैं या नहीं।

temperaturenumber

सैंपलिंग तापमान। स्वीकार्य मान और प्रभाव चुने मॉडल के अनुसार बदलते हैं।

top_pnumber

Nucleus सैंपलिंग पैरामीटर। स्वीकृति से जनरेशन व्यवहार बदलने की गारंटी नहीं।

top_kinteger

Top-k सैंपलिंग पैरामीटर। समर्थन चुने मॉडल पर निर्भर है।

stop_sequencesstring[]

रुकने के क्रम।

खाली न होने वाले रुकने के क्रम वाले अनुरोध उन मॉडल सेवाओं से बचते हैं जो इन्हें समर्थित नहीं करतीं; कोई संगत सेवा न हो तो जनरेशन या बिलिंग से पहले अनुरोध 400 लौटाता है।

toolsobject[]

Anthropic टूल परिभाषाएँ। फ़ंक्शन टूल में आम तौर पर name, description और input_schema होते हैं।

tool_choiceobject

टूल चयन नीति, जैसे { "type": "auto" } या { "type": "tool", "name": "..." }।

thinkingobject

मूल Anthropic सोच-विचार कॉन्फ़िगरेशन, चुने मॉडल और प्रदाता के समर्थन के अधीन। Claude 4.5 में { "type": "enabled", "budget_tokens": 1024 } है; Claude Sonnet/Opus 4.6 में adaptive thinking भी समर्थित है। हर मॉडल संस्करण पर हाथ से तय बजट लागू न करें। टूल निरंतरता में thinking, signature, redacted_thinking और tool_use सहित पूरा क्रमबद्ध assistant content बिना बदले लौटाएँ। पूरे टूल आदान-प्रदान में सोच-विचार कॉन्फ़िगरेशन और आवश्यक anthropic-beta हेडर समान रखें। SSE में उसी सामग्री ब्लॉक के signature_delta.signature अंश जोड़ें; खाली सोच-विचार सारांश का अर्थ उसका हस्ताक्षर हटाया जा सकता है होना नहीं। प्रदाता खाते की पहुँच अस्वीकृति अपस्ट्रीम विफलता है, अमान्य हस्ताक्षर का प्रमाण नहीं। पहचानी गई Bedrock खाता पहुँच अस्वीकृतियाँ api_error के साथ HTTP 502 लौटाती हैं; सामान्य क्लाइंट सत्यापन त्रुटियाँ HTTP 400 रखती हैं। स्वीकृति के लिए चालू अपस्ट्रीम खाता फिर भी चाहिए।

metadataobject

अनुरोध मेटाडेटा।

प्रॉम्प्ट कैशिंग

system या संदेश सामग्री ब्लॉक में cache_control: { "type": "ephemeral" } जोड़ें। कैश उपयोग में cache_creation_input_tokens, cache_read_input_tokens तथा समर्थित 5-मिनट या 1-घंटे के निर्माण बकेट हो सकते हैं। 1-घंटे के TTL में संबंधित anthropic-beta हेडर भी आवश्यक है।

अनुरोध उदाहरण

नॉन-स्ट्रीमिंग

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself in one sentence."
    }
  ],
  "stream": false
}

स्ट्रीमिंग

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Reply exactly OK."
    }
  ],
  "stream": true
}

उत्तर

नॉन-स्ट्रीमिंग उत्तर Anthropic Message संरचना रखते हैं।

idstring

उत्तर ID, जैसे msg_...।

typestring

ऑब्जेक्ट प्रकार, आम तौर पर message।

rolestring

आम तौर पर assistant।

modelstring

वास्तव में इस्तेमाल Claude मॉडल।

contentobject[]

मूल आउटपुट सामग्री ब्लॉक, जिनमें इस्तेमाल होने पर text, tool_use और thinking शामिल हैं।

stop_reasonstring

रुकने का कारण, जैसे end_turn, max_tokens, stop_sequence या tool_use।

usageobject

टोकन उपयोग, जिसमें input_tokens और output_tokens हैं। उपलब्ध होने पर कैश टोकन फ़ील्ड शामिल होते हैं।

सफलता उदाहरण

json
{
  "id": "msg_01...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5-5",
  "content": [
    {
      "type": "text",
      "text": "Hello, I am Claude and can help with writing, coding, and analysis tasks."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 18,
    "output_tokens": 24
  }
}

स्ट्रीमिंग उत्तर

stream: true होने पर एंडपॉइंट Anthropic SSE इवेंट लौटाता है। सामान्य इवेंट हैं:

  • message_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

त्रुटि उत्तर

पूरी कोड सूची, प्रोटोकॉल अंतर और निदान चरणों के लिए त्रुटि कोड और निदान देखें।

त्रुटि उत्तर Anthropic-शैली संरचना इस्तेमाल करते हैं:

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid credentials or API key has expired."
  }
}