---
title: "Get By Source"
method: GET
path: "/api/admin/activation/by-source"
tags: ["admin-activation"]
---

# Get By Source

`GET /api/admin/activation/by-source`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/admin/activation/by-source`
- Auth: HTTP bearer

Which marketing pages/channels drove these signups, and did they activate.

Three groupings over one cohort: `sources` (CTA page), `channels`
(self-tagged utm_source), and `referrers` (channel derived from the
first-touch referrer host — the only view where untagged organic traffic
like Google/Bing/ChatGPT is readable instead of collapsing into NULL).

Reads `users.signup_source`. The NULL bucket means "no source recorded",
which for accounts predating the attribution rollout is unattributable
rather than direct — `instrumented_since` in the response marks the cutoff.

## Query parameters

- `days` integer, nullable: Signup cohort window; omit for all-time
- `include_internal` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
