# Source Types

> Classify ingested content so the AI answers with the right context.

URL: https://docs.reaktly.com/docs/integrations/source-types

## Available source types

Every ingested item carries a `sourceType`. It tells the platform how to treat the content and which structured fields the AI can use in answers.

| Source type | Use for | Typical structured fields |
|---|---|---|
| `PRODUCT` | Products, SKUs, shop items | `sku`, `price`, `currency`, `vendor`, `inStock` |
| `ARTICLE` | Blog posts, news, guides | `author`, `publishedAt`, `category`, `tags` |
| `SERVICE` | Service offerings | `price`, `duration`, `category` |
| `PERSON` | Team members, experts, agents | `role`, `department`, `expertise` |
| `BLOG_POST` | Blog content with post semantics | `author`, `publishedAt` |
| `DOCUMENTATION` | Product or technical docs | `section`, `version` |
| `PDF` / `FILE` | Uploaded documents | file metadata |
| `VIDEO` / `AUDIO` | Reserved for transcript ingestion | — |

Put structured values in `data.sourceData` (or `data.metadata` for the raw original record). The AI sees them alongside the text, which is what makes answers like "is this in stock?" possible.

## Choosing a type

- Selling products → `PRODUCT`
- Publishing content on a blog → `ARTICLE` (or `BLOG_POST` when post semantics matter)
- Describing what you offer → `SERVICE`
- Introducing people → `PERSON`
- Technical or product documentation → `DOCUMENTATION`
- Anything uploaded as a file → `PDF` / `FILE`

> **Note:**
> There is no generic `PAGE` type. For website pages, use the type that reflects the *content*: an article is `ARTICLE`, a product page is `PRODUCT`, documentation is `DOCUMENTATION`.

## Examples

### PRODUCT

```json
{
  "sourceType": "PRODUCT",
  "externalId": "prod-123",
  "data": {
    "title": "Premium Headphones",
    "content": "Wireless noise-cancelling headphones with 30-hour battery life.",
    "url": "https://shop.example.com/headphones",
    "sourceData": {
      "sku": "HP-NC-001",
      "price": 299.99,
      "currency": "EUR",
      "vendor": "AudioTech",
      "inStock": true
    }
  }
}
```

### ARTICLE

```json
{
  "sourceType": "ARTICLE",
  "externalId": "post-456",
  "data": {
    "title": "10 Tips for Better Customer Support",
    "content": "Full article text here…",
    "url": "https://blog.example.com/support-tips",
    "sourceData": {
      "author": "Jane Smith",
      "publishedAt": "2026-01-15",
      "category": "Support",
      "tags": ["customer-service", "best-practices"]
    }
  }
}
```

Both examples are complete requests when combined with `integrationId` — see the [Ingestion API reference](/docs/api-reference/ingestion).