---
title: "Visit, signup, trial, paid funnel by first-touch source, in the request's timezone."
method: GET
path: "/api/v1/admin/metrics/acquisition"
tags: ["Metrics Admin"]
---

# Visit, signup, trial, paid funnel by first-touch source, in the request's timezone.

`GET /api/v1/admin/metrics/acquisition`

## Request

- Base URL: `https://api.avatarfactory.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.avatarfactory.io/api/v1/admin/metrics/acquisition`
- Auth: one of:
  - API key in cookie `session`
  - HTTP bearer

## Query parameters

- `tz` string, nullable
- `include_internal` '0' | '1', nullable
- `from` string, date, nullable
- `to` string, date, nullable
- `filters` string, nullable
- `granularity` 'day' | 'week' | 'month'
- `compare` 'previous' | 'yoy' | 'none'

## Response `200`

OK

- AcquisitionResponse
  - `compare` 'previous' | 'yoy' | 'none', required
  - `compare_from` string, date, nullable, required
  - `compare_to` string, date, nullable, required
  - `currency` 'USD'
  - `env` 'production' | 'staging' | 'local' | 'test', required
  - `estimated_before` string, date, nullable
  - `filters` FilterEcho[]
    - `dimension` string, required
    - `op` 'is' | 'not', required
    - `values` string[], required
  - `freshness` FreshnessSummary, required
    - `is_mrr_carried` boolean, required
    - `is_stale` boolean, required
    - `last_success_at` string, date-time, nullable, required
    - `subscription_state_day` string, date, nullable, required
  - `from` string, date, required
  - `funnel` FunnelStep[], required
    - `conversion_pct` number, nullable, required
    - `count` KpiValue, required
      - `compare_value` integer, nullable, required
      - `delta_pct` number, nullable, required
      - `value` integer, nullable, required
    - `step` 'visit' | 'signup' | 'trial' | 'paid', required
  - `granularity` 'day' | 'week' | 'month', required
  - `meta` ResponseMeta, required: The zone the answer's dates are in (ruling 11). tz_applied is false where the data is UTC by nature (/freshness, /exports).
    - `tz` string, required
    - `tz_applied` boolean
  - `notes` string[]
  - `rows` AcquisitionRow[], required
    - `campaign` string, required
    - `medium` string, required
    - `paid` integer, required
    - `signup_rate_pct` number, nullable, required
    - `signups` integer, required
    - `source` string, required
    - `trials` integer, required
    - `visits` integer, required
  - `series` AcquisitionPoint[], required
    - `bucket` string, date, required
    - `paid` integer, required
    - `signups` integer, required
    - `trials` integer, required
    - `visits` integer, required
  - `to` string, date, required
  - `total_rows` integer, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `422`: Unprocessable Entity
- `503`: Service Unavailable

---

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