> ## 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

> Виконуйте підтримувані операції Ayrshare для соцмереж через єдиний GraphQL-ендпоінт.

GraphQL API надає підтримувану підмножину можливостей REST Ayrshare через єдиний ендпоінт. Кожне доступне поле викликає той самий базовий контролер, що й відповідний REST-аналог, тому автентифікація, права доступу, квоти та дані відповіді відповідають поведінці REST. REST залишається ширшим API; щоб точно дізнатися, які операції підтримує GraphQL, скористайтеся схемою або Explorer.

GraphQL додає можливість запитувати кілька речей в одному запиті та дізнаватися поточну підтримувану поверхню GraphQL безпосередньо зі схеми, не читаючи документацію сторінку за сторінкою. Схема описує кожне підтримуване поле запиту та типізовані вибірки, доступні для структурованих відповідей; операції, які повертають REST-обгортку як `JSON`, зберігають повне корисне навантаження.

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

Надсилайте `POST` із JSON-тілом, що містить `query`, так само як до будь-якого GraphQL-ендпоінту. `GET` і `DELETE` повертають `405 Method Not Allowed`: запити через `GET` є необов'язковими в специфікації GraphQL і тут не підтримуються.

<h2 id="your-first-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) }"}'
```

Відповідь — це та сама JSON-обгортка, яку повертає [REST-ендпоінт історії](/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 — запит на кшталт цього, який потребував би чотирьох REST-викликів:

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

Один обмін запитом і відповіддю повертає всі чотири результати. Зверніть увагу, що це **чотири кореневі поля операцій і чотири виклики API для білінгу**, а не один. Вибір вкладених полів відповіді не додає викликів — див. [Ліміти та білінг](/docs/apis/graphql/limits).

<h2 id="authentication">
  Автентифікація
</h2>

Так само, як у REST. Надсилайте ваш API Key як bearer-токен:

```
Authorization: Bearer YOUR_API_KEY
```

Якщо ваш акаунт використовує User Profiles, операції, що надають `profileKey`, можуть вибирати профіль одним із двох способів:

<ul class="custom-bullets">
  <li>Надішліть <code>Profile-Key</code> як типове значення для всього запиту.</li>
  <li>Передайте <code>profileKey</code> в окремому полі, щоб перевизначити це типове значення. Так один запит може діяти від імені кількох профілів.</li>
</ul>

Якщо присутні обидва варіанти, пріоритет має аргумент поля. Поля рівня акаунта або поля лише для основного акаунта не надають `profileKey` і можуть відхиляти заголовок `Profile-Key`; наприклад, `createProfile` потрібно викликати з основним API Key без цього заголовка. Перевіряйте визначення кожного поля в схемі, щоб дізнатися його область дії, а про те, як працюють Profile Key, читайте в розділі [Керування кількома користувачами](/docs/multiple-users/business-plan-overview).

<h2 id="try-it-without-writing-code">
  Спробуйте без написання коду
</h2>

[GraphQL Explorer](https://app.ayrshare.com/graphql-explorer) — це інтерактивний браузер поточної схеми. Він показує кожну доступну операцію GraphQL з її аргументами та описами, пропонує автодоповнення під час введення і виконує запити до вашого акаунта.

Щоб переглядати схему, API Key не потрібен: схема публічна, так само як і ця документація. Проте він потрібен, щоб виконати запит, оскільки кожна операція проходить ту саму автентифікацію, що й у REST.

<h2 id="should-you-use-graphql-or-rest">
  GraphQL чи REST?
</h2>

REST залишається основним інтерфейсом, навколо якого побудована більша частина нашої документації, [SDK](/docs/packages-guides/overview) та інтеграцій. Обирайте GraphQL, коли:

<ul class="custom-bullets">
  <li>Вам потрібно кілька не пов'язаних між собою частин даних і ви хочете отримати їх за один обмін запитом і відповіддю.</li>
  <li>Вам потрібні машинозчитувані назви операцій, аргументи, вхідні об'єкти, enum-и та типізовані вибірки відповіді. Більшість відповідей залишаються <code>JSON</code>, щоб зберегти повну REST-обгортку; <code>createPost</code> наразі повертає типізований <code>PostResult</code>.</li>
  <li>Ви досліджуєте API і хочете побачити, що в ньому є, не переходячи між сторінками документації.</li>
</ul>

Залишайтеся з REST, коли:

<ul class="custom-bullets">
  <li>Ви завантажуєте файли. Байти медіа не можуть передаватися через GraphQL-запит — підтримуваний спосіб описано в розділі <a href="/docs/apis/graphql/using-the-api#uploading-media">Завантаження медіа</a>.</li>
  <li>Ви використовуєте один із наших <a href="/docs/packages-guides/overview">SDK або no-code інтеграцій</a>, які працюють через REST.</li>
  <li>Ви хочете мінімальної кількості залежностей. Для REST-виклику не потрібно нічого, крім HTTP-клієнта.</li>
</ul>

Обидва інтерфейси підтримуються паралельно, і ви можете вільно поєднувати їх в одній інтеграції.

<h2 id="read-next">
  Що читати далі
</h2>

<ul class="custom-bullets">
  <li>[Використання API](/docs/apis/graphql/using-the-api) — пошук операцій, типи аргументів і завантаження медіа.</li>
  <li>[Помилки](/docs/apis/graphql/errors) — які збої змінюють HTTP-статус, чому невдалі операції все одно повертають HTTP 200 і як обробляти частковий успіх.</li>
  <li>[Ліміти та білінг](/docs/apis/graphql/limits) — обмеження розміру запитів і як рахуються запити.</li>
</ul>


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