> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GraphQL API अवलोकन

> एक ही GraphQL endpoint के माध्यम से समर्थित Ayrshare सोशल मीडिया ऑपरेशन्स को query करें।

GraphQL API एक ही endpoint के माध्यम से Ayrshare की REST क्षमताओं का एक समर्थित उपसमूह उपलब्ध कराता है। प्रत्येक उपलब्ध फ़ील्ड उसी अंतर्निहित controller को कॉल करता है जिसे उसका REST समकक्ष कॉल करता है, इसलिए authentication, entitlements, कोटा, और response डेटा REST के व्यवहार का पालन करते हैं। REST ही अधिक व्यापक API बना रहता है; GraphQL ठीक-ठीक किन ऑपरेशन्स का समर्थन करता है, यह देखने के लिए schema या Explorer का उपयोग करें।

इससे आपको यह क्षमता मिलती है कि आप एक ही request में कई चीज़ें माँग सकें और दस्तावेज़ीकरण को पृष्ठ-दर-पृष्ठ पढ़े बिना, स्वयं schema से वर्तमान में समर्थित GraphQL सतह का पता लगा सकें। Schema हर समर्थित request फ़ील्ड और संरचित responses पर उपलब्ध typed selections का वर्णन करता है; जो ऑपरेशन्स REST envelope को `JSON` के रूप में लौटाते हैं, वे उस पूरे payload को सुरक्षित रखते हैं।

```
https://api.ayrshare.com/graphql
```

किसी भी GraphQL endpoint की तरह ही, `query` वाली JSON body के साथ एक `POST` भेजें। `GET` और `DELETE` `405 Method Not Allowed` लौटाते हैं — GraphQL specification में `GET` पर queries वैकल्पिक हैं और यहाँ समर्थित नहीं हैं।

<h2 id="your-first-query">
  आपकी पहली query
</h2>

```bash theme={"system"}
curl -X POST https://api.ayrshare.com/graphql \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ postHistory(lastDays: 7) }"}'
```

Response वही JSON envelope है जो [REST history endpoint](/docs/apis/history/get-history) लौटाता है, GraphQL के `data` फ़ील्ड में लिपटा हुआ:

```json theme={"system"}
{
  "data": {
    "postHistory": {
      "history": [
        { "id": "RkQ8uXg2jT7bNd1Wq0Ya", "status": "success", "post": "Hello world" }
      ],
      "refId": "9d2a7c41f0b8e6d35a1c",
      "count": 1,
      "lastUpdated": "2026-09-24T12:00:00.000Z",
      "nextUpdate": "2026-09-24T12:00:00.000Z"
    }
  }
}
```

<h2 id="asking-for-several-things-at-once">
  एक साथ कई चीज़ें माँगना
</h2>

GraphQL अपनाने का कारण इस तरह की request है, जिसके लिए चार REST calls करनी पड़तीं:

```graphql theme={"system"}
{
  history: postHistory(lastDays: 7)
  accounts: user
  comments: comments(id: "abc123")
  analytics: socialAnalytics(platforms: [INSTAGRAM])
}
```

एक ही round trip में चारों वापस आ जाते हैं। ध्यान दें कि ये **चार root operation फ़ील्ड्स हैं और billing के लिए चार API calls** गिनी जाती हैं, एक नहीं। Nested response फ़ील्ड्स चुनने से calls नहीं बढ़तीं — [सीमाएँ और Billing](/docs/apis/graphql/limits) देखें।

<h2 id="authentication">
  Authentication
</h2>

REST के समान। अपनी API key को bearer token के रूप में भेजें:

```
Authorization: Bearer YOUR_API_KEY
```

यदि आपका खाता User Profiles का उपयोग करता है, तो `profileKey` उपलब्ध कराने वाले ऑपरेशन्स दो में से किसी भी तरीके से profile चुन सकते हैं:

<ul class="custom-bullets">
  <li>पूरी request के लिए डिफ़ॉल्ट के रूप में <code>Profile-Key</code> भेजें।</li>
  <li>उस डिफ़ॉल्ट को ओवरराइड करने के लिए किसी एक फ़ील्ड पर <code>profileKey</code> पास करें, जिससे एक ही request एक से अधिक profile पर कार्य कर सकती है।</li>
</ul>

दोनों मौजूद होने पर फ़ील्ड argument को प्राथमिकता मिलती है। खाता-स्तर या केवल primary-account वाले फ़ील्ड्स `profileKey` उपलब्ध नहीं कराते और `Profile-Key` header को अस्वीकार कर सकते हैं; उदाहरण के लिए, `createProfile` को उस header के बिना primary API key का उपयोग करना होगा। प्रत्येक फ़ील्ड का दायरा जानने के लिए उसकी schema परिभाषा देखें, और profile keys कैसे काम करती हैं, इसके लिए [कई उपयोगकर्ताओं का प्रबंधन](/docs/multiple-users/business-plan-overview) देखें।

<h2 id="try-it-without-writing-code">
  बिना कोड लिखे आज़माएँ
</h2>

[GraphQL Explorer](https://app.ayrshare.com/graphql-explorer) वर्तमान schema के लिए एक इंटरैक्टिव ब्राउज़र है। यह हर उपलब्ध GraphQL ऑपरेशन को उसके arguments और विवरणों के साथ सूचीबद्ध करता है, टाइप करते समय autocomplete करता है, और आपके खाते पर queries चलाता है।

Schema ब्राउज़ करने के लिए आपको API key की आवश्यकता नहीं है — schema सार्वजनिक है, ठीक वैसे ही जैसे यह दस्तावेज़ीकरण। Query चलाने के लिए आपको इसकी आवश्यकता होती है, क्योंकि हर ऑपरेशन REST वाले ही authentication से होकर गुज़रता है।

<h2 id="should-you-use-graphql-or-rest">
  आपको GraphQL का उपयोग करना चाहिए या REST का?
</h2>

REST प्राथमिक इंटरफ़ेस बना रहता है, और हमारा अधिकांश दस्तावेज़ीकरण, [SDKs](/docs/packages-guides/overview), और integrations इसी के इर्द-गिर्द बने हैं। GraphQL का उपयोग तब करें जब:

<ul class="custom-bullets">
  <li>आपको कई असंबंधित डेटा चाहिए और आप उन्हें एक ही round trip में पाना चाहते हैं।</li>
  <li>आप machine-readable ऑपरेशन नाम, arguments, input objects, enums, और typed response selections चाहते हैं। अधिकांश responses <code>JSON</code> ही रहते हैं ताकि वे पूरा REST envelope सुरक्षित रखें; <code>createPost</code> वर्तमान में एक typed <code>PostResult</code> लौटाता है।</li>
  <li>आप API को एक्सप्लोर कर रहे हैं और दस्तावेज़ीकरण पृष्ठों के बीच आए-जाए बिना देखना चाहते हैं कि क्या-क्या उपलब्ध है।</li>
</ul>

REST के साथ बने रहें जब:

<ul class="custom-bullets">
  <li>आप फ़ाइलें अपलोड कर रहे हैं। मीडिया bytes GraphQL request के माध्यम से नहीं भेजे जा सकते — समर्थित तरीके के लिए <a href="/docs/apis/graphql/using-the-api#uploading-media">मीडिया अपलोड करना</a> देखें।</li>
  <li>आप हमारे किसी <a href="/docs/packages-guides/overview">SDK या no-code integration</a> का उपयोग कर रहे हैं, जो REST का उपयोग करते हैं।</li>
  <li>आप न्यूनतम संभव dependencies चाहते हैं। REST call के लिए HTTP client के अलावा कुछ नहीं चाहिए।</li>
</ul>

दोनों इंटरफ़ेस साथ-साथ समर्थित हैं, और आप उन्हें एक ही integration में स्वतंत्र रूप से मिला सकते हैं।

<h2 id="read-next">
  आगे पढ़ें
</h2>

<ul class="custom-bullets">
  <li>[API का उपयोग करना](/docs/apis/graphql/using-the-api) — ऑपरेशन्स ढूँढना, argument types, और मीडिया अपलोड करना।</li>
  <li>[त्रुटियाँ](/docs/apis/graphql/errors) — कौन-सी विफलताएँ HTTP status बदलती हैं, विफल ऑपरेशन्स फिर भी HTTP 200 क्यों लौटाते हैं, और आंशिक सफलता को कैसे संभालें।</li>
  <li>[सीमाएँ और Billing](/docs/apis/graphql/limits) — query आकार की सीमाएँ और requests की गिनती कैसे होती है।</li>
</ul>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.