---
title: "Read the personal lines"
method: GET
path: "/api/v1/campaigns/{campaign_id}/personalization"
tags: ["Campaigns"]
---

# Read the personal lines

`GET /api/v1/campaigns/{campaign_id}/personalization`

## Request

- Base URL: `https://app.argorant.com`
- URL: `https://app.argorant.com/api/v1/campaigns/{campaign_id}/personalization`
- Auth: HTTP bearer

The campaign's personal-line variables, how many people have their own line, and the people who still use the fallback, with facts about their company to write from.

| Cost | What it does | Key scopes |
| --- | --- | --- |
| Free | Reads only | `argorant:read_counts` |

## Path parameters

- `campaign_id` string, uuid, required

## Query parameters

- `pending_limit` integer
- `pending_offset` integer
- `include_facts` boolean

## Headers

- `X-Request-Id` string

## Response `200`

OK

- object
  - `campaign_id` string
  - `configured` boolean
  - `personalization` object
    - `variables` object[]
      - `name` string
      - `instruction` string
      - `fallback` string
  - `progress` object
    - `total` integer
    - `written` integer
    - `fallback` integer
  - `pending_leads` object[]
    - `lead_id` string
    - `email` string
    - `company` string
    - `facts` object
      - `industry` string
      - `city` string
  - `summary` string

## Other responses

- `401`: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
- `403`: 403 Forbidden. `scope_missing` when the key lacks argorant:read_counts.
- `404`: 404 Not found. `not_found` when the item does not exist in your workspace.
- `422`: 422 Validation error. `validation_error` when a field has the wrong type or is missing.
- `429`: 429 Too many requests. `rate_limited` when too many requests this minute.

---

[API](https://skmtc.dev/argorant/apis/argorant-api.md) · [All operations](https://skmtc.dev/argorant/apis/argorant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/argorant/apis/argorant-api/revisions/4bc28c0085b6?raw)
