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

# Get content

> Retrieve a full Content Studio article including the markdown body.

Returns one Content Studio article with its Markdown `content`, outline, metadata, and sources.

<ParamField header="Authorization" type="string" required>
  Bearer token. Example: `Bearer qw-api-xxx`
</ParamField>

## Path parameters

<ParamField path="brandId" type="string" required>
  The unique identifier of the brand
</ParamField>

<ParamField path="articleId" type="string" required>
  The unique identifier of the article
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates if the request was successful
</ResponseField>

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

<ResponseField name="article" type="object">
  <Expandable title="Article">
    <ResponseField name="id" type="string">Article ID</ResponseField>
    <ResponseField name="title" type="string">Article title</ResponseField>
    <ResponseField name="slug" type="string">URL slug or `null`</ResponseField>
    <ResponseField name="description" type="string">Short description or `null`</ResponseField>
    <ResponseField name="content" type="string">Full article body in **Markdown**</ResponseField>
    <ResponseField name="articleType" type="string">Article type</ResponseField>
    <ResponseField name="status" type="string">`DRAFT`, `GENERATING`, `LIVE` or `ARCHIVED`</ResponseField>
    <ResponseField name="targetLength" type="number">Target word count used for generation</ResponseField>
    <ResponseField name="wordCount" type="number">Actual word count</ResponseField>
    <ResponseField name="guidelines" type="string">Generation guidelines or `null`</ResponseField>
    <ResponseField name="includeTldr" type="boolean">Whether a TL;DR was requested</ResponseField>
    <ResponseField name="includeFaq" type="boolean">Whether an FAQ was requested</ResponseField>
    <ResponseField name="metaData" type="object">SEO/initialization metadata (JSON) or `null`</ResponseField>
    <ResponseField name="outline" type="object">Structured outline with `sections` or `null`</ResponseField>
    <ResponseField name="finalUrl" type="string">Published URL (if set by you) or `null`</ResponseField>
    <ResponseField name="publishedAt" type="string">Publish timestamp (ISO 8601) or `null`</ResponseField>
    <ResponseField name="generatedAt" type="string">Content generation timestamp (ISO 8601) or `null`</ResponseField>
    <ResponseField name="createdAt" type="string">Creation timestamp (ISO 8601)</ResponseField>
    <ResponseField name="updatedAt" type="string">Last update timestamp (ISO 8601)</ResponseField>

    <ResponseField name="sources" type="array">
      Sources used for the article. Each object has `id`, `title`, `url`, `usageType`, `order`.
    </ResponseField>
  </Expandable>
</ResponseField>

A `404 RESOURCE_NOT_FOUND` is returned if the article does not exist or does not belong to the brand.

## Synthetic request

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

## Synthetic response

```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
      }
    ]
  }
}
```

## Errors

| Status | Meaning |
| - | - |
| `401` | Missing or invalid API token |
| `404` | Brand or article not found |
| `429` | Rate limit exceeded; honor `Retry-After` |

See [Rate limits](/developers/rate-limits) for retry behavior.


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