---
title: "List sources"
method: GET
path: "/api/v1/sources"
tags: ["sources"]
---

# List sources

`GET /api/v1/sources`

## Request

- Base URL: `https://pineprompt.com`
- URL: `https://pineprompt.com/api/v1/sources`
- Auth: HTTP bearer

Returns every cited source in the active project. The response is paginated.

## Query parameters

- `page` integer
- `per_page` integer
- `sort_by` 'created_at' | 'updated_at' | 'domain'
- `sort_order` 'asc' | 'desc'
- `include` string

## Headers

- `Pineprompt-Project-Id` integer, required

## Response `200`

OK

- SourceList
  - `data` Source[]
    - `id` integer: The unique ID of the source.
    - `project_id` integer: The ID of the project the source belongs to.
    - `domain` string: The domain of the cited URL.
    - `type` string, nullable: The source type, as classified by Pineprompt.
    - `playbook` 'pitch' | 'buy' | 'participate' | 'claim' | 'hands_off', nullable: The playbook category the source falls under.
    - `analyzed_at` string, date-time, nullable: When the source was most recently analyzed, or `null` if it has not yet been analyzed.
    - `project` Project: A project represents a single brand or site you monitor. Its `brand_id` names the own brand, the brand every core metric is computed for.
      - `id` integer: The unique ID of the project.
      - `organization_id` integer: The ID of the organization that owns the project.
      - `name` string: The display name of the project.
      - `brand_id` integer, nullable: The ID of the project's own brand, or null while none has been designated.
      - `organization` Organization: An organization is the top-level billing entity and tenant boundary in Pineprompt. Every project, member, and API key belongs to exactly one organization.
        - `id` integer: The unique ID of the organization.
        - `name` string: The display name of the organization.
        - `created_at` string, date-time: When the organization was created.
        - `updated_at` string, date-time: When the organization was last updated.
      - `created_at` string, date-time: When the project was created.
      - `updated_at` string, date-time: When the project was last updated.
    - `created_at` string, date-time: When the source was created.
    - `updated_at` string, date-time: When the source was last updated.
  - `links` PaginationLinks
    - `first` string, nullable
    - `last` string, nullable
    - `prev` string, nullable
    - `next` string, nullable
  - `meta` PaginationMeta
    - `current_page` integer
    - `from` integer, nullable
    - `last_page` integer
    - `path` string
    - `per_page` integer
    - `to` integer, nullable
    - `total` integer
    - `links` PaginationLink[]: The page-link rows, in display order from the first page through the last. The set always opens with a previous link and closes with a next link.
      - `url` string, nullable: The URL for this link, or `null` for the disabled previous and next boundaries.
      - `label` string: The label for this link, either a page number or a localized previous or next caption.
      - `page` integer, nullable: The page number this link points to, or `null` for the disabled previous and next boundaries.
      - `active` boolean: Whether this link is the page currently being returned.

## Other responses

- `400`: Missing project header
- `401`: Unauthorized
- `403`: Missing ability
- `404`: Project not in this organization
- `422`: Validation failed

---

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