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

# Descripción general de la API GraphQL

> Consulta las operaciones de redes sociales compatibles de Ayrshare a través de un único endpoint GraphQL.

La API GraphQL expone un subconjunto compatible de las capacidades REST de Ayrshare a través de un único endpoint. Cada campo expuesto llama al mismo controlador subyacente que su equivalente REST, por lo que la autenticación, los permisos del plan, las cuotas y los datos de respuesta siguen el comportamiento de REST. REST sigue siendo la API más amplia; usa el esquema o el Explorer para ver exactamente qué operaciones admite GraphQL.

Lo que aporta es la posibilidad de pedir varias cosas en una sola solicitud y de descubrir la superficie GraphQL compatible actual desde el propio esquema, sin leer la documentación página por página. El esquema describe cada campo de solicitud compatible y las selecciones tipadas disponibles en las respuestas estructuradas; las operaciones que devuelven el envoltorio REST como `JSON` conservan la carga útil completa.

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

Envía un `POST` con un cuerpo JSON que contenga una `query`, exactamente igual que con cualquier endpoint GraphQL. `GET` y `DELETE` devuelven `405 Method Not Allowed`: las consultas mediante `GET` son opcionales en la especificación de GraphQL y no se admiten aquí.

<h2 id="your-first-query">
  Tu primera consulta
</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) }"}'
```

La respuesta es el mismo envoltorio JSON que devuelve el [endpoint REST de historial](/docs/apis/history/get-history), dentro del campo `data` de GraphQL:

```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">
  Pedir varias cosas a la vez
</h2>

El motivo para recurrir a GraphQL es una solicitud como esta, que equivaldría a cuatro llamadas REST:

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

Un solo viaje de ida y vuelta devuelve las cuatro. Ten en cuenta que se trata de **cuatro campos de operación raíz y cuatro llamadas a la API a efectos de facturación**, no una. Seleccionar campos anidados de la respuesta no añade llamadas; consulta [Límites y facturación](/docs/apis/graphql/limits).

<h2 id="authentication">
  Autenticación
</h2>

Idéntica a REST. Envía tu API Key como token bearer:

```
Authorization: Bearer YOUR_API_KEY
```

Si tu cuenta usa User Profiles, las operaciones que exponen `profileKey` pueden seleccionar un perfil de cualquiera de estas dos formas:

<ul class="custom-bullets">
  <li>Envía <code>Profile-Key</code> como valor predeterminado para toda la solicitud.</li>
  <li>Pasa <code>profileKey</code> en un campo concreto para sobrescribir ese valor predeterminado, lo que permite que una solicitud actúe sobre más de un perfil.</li>
</ul>

Cuando ambos están presentes, prevalece el argumento del campo. Los campos de nivel de cuenta o exclusivos de la cuenta principal no exponen `profileKey` y pueden rechazar un encabezado `Profile-Key`; por ejemplo, `createProfile` debe usar la API Key principal sin ese encabezado. Revisa la definición de cada campo en el esquema para conocer su alcance, y consulta [Gestionar varios usuarios](/docs/multiple-users/business-plan-overview) para saber cómo funcionan las Profile Keys.

<h2 id="try-it-without-writing-code">
  Pruébalo sin escribir código
</h2>

El [GraphQL Explorer](https://app.ayrshare.com/graphql-explorer) es un navegador interactivo del esquema actual. Muestra todas las operaciones GraphQL disponibles con sus argumentos y descripciones, autocompleta mientras escribes y ejecuta consultas contra tu cuenta.

No necesitas una API Key para explorar el esquema: el esquema es público, igual que esta documentación. Sí la necesitas para ejecutar una consulta, porque cada operación pasa por la misma autenticación que REST.

<h2 id="should-you-use-graphql-or-rest">
  ¿Deberías usar GraphQL o REST?
</h2>

REST sigue siendo la interfaz principal y aquella en torno a la cual se construyen la mayor parte de nuestra documentación, los [SDKs](/docs/packages-guides/overview) y las integraciones. Recurre a GraphQL cuando:

<ul class="custom-bullets">
  <li>Necesites varios datos no relacionados y quieras obtenerlos en un solo viaje de ida y vuelta.</li>
  <li>Quieras nombres de operación, argumentos, objetos de entrada, enums y selecciones de respuesta tipadas legibles por máquina. La mayoría de las respuestas siguen siendo <code>JSON</code> para conservar el envoltorio REST completo; <code>createPost</code> devuelve actualmente un <code>PostResult</code> tipado.</li>
  <li>Estés explorando la API y quieras ver lo que existe sin moverte entre páginas de documentación.</li>
</ul>

Quédate con REST cuando:

<ul class="custom-bullets">
  <li>Estés subiendo archivos. Los bytes de los medios no pueden viajar en una solicitud GraphQL; consulta <a href="/docs/apis/graphql/using-the-api#uploading-media">Subir medios</a> para conocer la vía compatible.</li>
  <li>Estés usando uno de nuestros <a href="/docs/packages-guides/overview">SDKs o integraciones no-code</a>, que hablan REST.</li>
  <li>Quieras la menor cantidad posible de dependencias. Una llamada REST no necesita nada más que un cliente HTTP.</li>
</ul>

Ambas interfaces se admiten en paralelo, y puedes combinarlas libremente en la misma integración.

<h2 id="read-next">
  Lecturas recomendadas
</h2>

<ul class="custom-bullets">
  <li>[Usar la API](/docs/apis/graphql/using-the-api): encontrar operaciones, tipos de argumentos y subir medios.</li>
  <li>[Errores](/docs/apis/graphql/errors): qué fallos cambian el estado HTTP, por qué las operaciones fallidas siguen devolviendo HTTP 200 y cómo gestionar el éxito parcial.</li>
  <li>[Límites y facturación](/docs/apis/graphql/limits): límites de tamaño de las consultas y cómo se cuentan las solicitudes.</li>
</ul>


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