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

# Obtenir un contenu

> Récupérez un article Content Studio complet, corps en Markdown compris.

Renvoie un article Content Studio avec son `content` en Markdown, son plan, ses métadonnées et ses sources.

<ParamField header="Authorization" type="string" required>
  Jeton bearer. Exemple : `Bearer qw-api-xxx`
</ParamField>

## Paramètres de chemin

<ParamField path="brandId" type="string" required>
  L’identifiant unique de la marque
</ParamField>

<ParamField path="articleId" type="string" required>
  L’identifiant unique de l’article
</ParamField>

## Réponse

<ResponseField name="success" type="boolean">
  Indique si la requête a réussi
</ResponseField>

<ResponseField name="brand" type="object">
  `id`, `name`, `domain`
</ResponseField>

<ResponseField name="article" type="object">
  <Expandable title="Article">
    <ResponseField name="id" type="string">Identifiant de l’article</ResponseField>
    <ResponseField name="title" type="string">Titre de l’article</ResponseField>
    <ResponseField name="slug" type="string">Slug d’URL ou `null`</ResponseField>
    <ResponseField name="description" type="string">Courte description ou `null`</ResponseField>
    <ResponseField name="content" type="string">Corps complet de l’article en **Markdown**</ResponseField>
    <ResponseField name="articleType" type="string">Type d’article</ResponseField>
    <ResponseField name="status" type="string">`DRAFT`, `GENERATING`, `LIVE` ou `ARCHIVED`</ResponseField>
    <ResponseField name="targetLength" type="number">Nombre de mots cible utilisé pour la génération</ResponseField>
    <ResponseField name="wordCount" type="number">Nombre de mots réel</ResponseField>
    <ResponseField name="guidelines" type="string">Consignes de génération ou `null`</ResponseField>
    <ResponseField name="includeTldr" type="boolean">Indique si un TL;DR a été demandé</ResponseField>
    <ResponseField name="includeFaq" type="boolean">Indique si une FAQ a été demandée</ResponseField>
    <ResponseField name="metaData" type="object">Métadonnées SEO et d’initialisation (JSON) ou `null`</ResponseField>
    <ResponseField name="outline" type="object">Plan structuré avec `sections`, ou `null`</ResponseField>
    <ResponseField name="finalUrl" type="string">URL de publication (si vous l’avez renseignée) ou `null`</ResponseField>
    <ResponseField name="publishedAt" type="string">Horodatage de publication (ISO 8601) ou `null`</ResponseField>
    <ResponseField name="generatedAt" type="string">Horodatage de génération du contenu (ISO 8601) ou `null`</ResponseField>
    <ResponseField name="createdAt" type="string">Horodatage de création (ISO 8601)</ResponseField>
    <ResponseField name="updatedAt" type="string">Horodatage de dernière mise à jour (ISO 8601)</ResponseField>

    <ResponseField name="sources" type="array">
      Sources utilisées pour l’article. Chaque objet a `id`, `title`, `url`, `usageType`, `order`.
    </ResponseField>
  </Expandable>
</ResponseField>

Un `404 RESOURCE_NOT_FOUND` est renvoyé si l’article n’existe pas ou n’appartient pas à la marque.

## Exemple de requête

```bash theme={null}
curl "https://www.qwairy.co/api/v1/brands/YOUR_BRAND_ID/content/ARTICLE_ID" \
  -H "Authorization: Bearer $QWAIRY_API_TOKEN"
```

## Exemple de réponse

```json theme={null}
{
  "success": true,
  "brand": {
    "id": "brand_01",
    "name": "Acme Analytics",
    "domain": "acme.example"
  },
  "article": {
    "id": "art_abc123",
    "title": "How to choose the right solution in 2026",
    "slug": "how-to-choose-the-right-solution-2026",
    "description": "A practical buyer's guide.",
    "content": "# How to choose the right solution in 2026\n\n## Introduction\n\n...",
    "articleType": "HOW_TO",
    "status": "LIVE",
    "targetLength": 1500,
    "wordCount": 1480,
    "guidelines": null,
    "includeTldr": true,
    "includeFaq": false,
    "metaData": {
      "seo": {
        "metaTitle": "How to choose the right solution (2026 guide)",
        "metaDescription": "A practical buyer's guide for 2026."
      }
    },
    "outline": {
      "sections": [
        { "id": "s1", "level": 2, "title": "Introduction", "order": 0 }
      ],
      "generatedAt": "2026-05-08T14:20:00.000Z"
    },
    "finalUrl": "https://acme.example/blog/how-to-choose",
    "publishedAt": "2026-05-10T09:00:00.000Z",
    "generatedAt": "2026-05-08T14:22:00.000Z",
    "createdAt": "2026-05-08T13:50:00.000Z",
    "updatedAt": "2026-05-10T09:00:00.000Z",
    "sources": [
      {
        "id": "src_1",
        "title": "Industry benchmark report",
        "url": "https://research.example/benchmark",
        "usageType": "AUTO",
        "order": 0
      }
    ]
  }
}
```

## Erreurs

| Statut | Signification |
| - | - |
| `401` | Jeton d’API manquant ou invalide |
| `404` | Marque ou article introuvable |
| `429` | Limite de débit dépassée ; respectez `Retry-After` |

Consultez [Limites de débit](/fr/developers/rate-limits) pour la gestion des nouvelles tentatives.


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