---
title: "Read one source by its id"
method: GET
path: "/sources/{id}"
tags: ["Atlas"]
---

# Read one source by its id

`GET /sources/{id}`

## Request

- Base URL: `https://api.epovest.com/v1`
- URL: `https://api.epovest.com/v1/sources/{id}`
- Auth: HTTP bearer

The same entry the list carries.

## Response `200`

The source.

- object
  - `source` Source, required
    - `id` string, uuid, required
    - `domain` string, required: The registrable domain, so a hosting platform counts as one source rather than one per author.
    - `engines` EngineAuthority[], required: Which engines cite this source, and what it weighs on each.
      - `engine` 'chatgpt' | 'claude' | 'gemini' | 'perplexity' | 'mistral' | 'grok', required: The AI assistants the questions are asked to.
      - `aa` integer, required
    - `last_detected_on` string, date, required

## Other responses

- `401`: `unauthenticated`: missing, unknown or revoked key.
- `403`: `insufficient_scope`: the credential may not do this, either because the key lacks the scope, or, on a one-click connection, because the person lacks the role the action needs (manager, or owner to start, pause and top up). On that path, read it as "this person may not do this" and tell them which role the action needs.
- `404`: `not_found`: unknown for this account.
- `429`: `rate_limited`: 120 requests per minute per credential, sliding window. Retry after `Retry-After` seconds.

---

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