---
title: "List tracked sources"
method: GET
path: "/org/tracked-sources"
tags: ["Tracked Sources"]
---

# List tracked sources

`GET /org/tracked-sources`

## Request

- Base URL: `https://apiv2.senso.ai/api/v1`
- URL: `https://apiv2.senso.ai/api/v1/org/tracked-sources`
- Auth: API key in header `X-API-Key`

Returns one page of your organization's citation-classification rules, plus the total row count for the same filter.

## Query parameters

- `limit` integer
- `offset` integer
- `search` string

## Response `200`

One page of tracked sources.

- TrackedSourceListResponse: One page of tracked sources with the org's total row count.
  - `tracked_sources` TrackedSourceResponse[], required: The tracked sources on this page.
    - `id` string, uuid, required: Unique identifier of the rule.
    - `org_id` string, uuid, required: The organization that owns this rule.
    - `pattern` string, required: The pattern the rule matches on. Patterns written through the API are normalized; rules seeded during onboarding or from published content may carry the raw URL (the classifier normalizes at match time).
    - `match_type` 'domain' | 'host' | 'path_prefix' | 'exact_url', required: The scope the pattern matches against.
    - `tier` 'primary' | 'tracked' | 'secondary', required: A cited URL's classification tier — `primary` (Owned: one of your own websites), `tracked` (Tracked: one of your configured tracked sources), or `secondary` (External: any other domain). The tiers partition citations, so every cited URL falls in exactly one of them.
    - `category` 'affiliated_domain' | 'published_content' | 'social' | 'press': Reporting label, present only for `tracked`-tier rules that carry one.
    - `label` string: Human-readable label, when set.
    - `priority` integer, required: Tie-break priority when multiple rules match a URL.
    - `source_origin` 'manual' | 'onboarding' | 'published', required: How the rule was created — `manual` (via the API/editor), `onboarding` (seeded from the org's website), or `published` (auto-created when content was published; read-only except for the `active` toggle).
    - `active` boolean, required: Whether the rule is currently applied.
    - `created_at` string, date-time, required: When the rule was created.
    - `updated_at` string, date-time, required: When the rule was last updated.
  - `total` integer, required: Total rows matching the filter, across all pages.
  - `limit` integer, required: The page size that was applied.
  - `offset` integer, required: The row offset that was applied.

## Other responses

- `400`: The request was malformed — a bad path/query parameter or an invalid value.
- `401`: Missing or invalid credentials — supply a valid org API key in the `X-API-Key` header.

---

[API](https://skmtc.dev/senso/apis/senso-org-api.md) - [All operations](https://skmtc.dev/senso/apis/senso-org-api/llms.txt) - [OpenAPI document](https://skmtc.dev/senso/apis/senso-org-api/revisions/d789b4fcbe84?raw)
