---
title: "AI usage: recent calls, or every call in one run"
method: GET
path: "/admin/analytics/ai-usage/calls"
tags: ["Admin"]
---

# AI usage: recent calls, or every call in one run

`GET /admin/analytics/ai-usage/calls`

## Request

- Base URL: `https://api.presscart.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.presscart.com/admin/analytics/ai-usage/calls`
- Auth: HTTP bearer

## Query parameters

- `page` number, nullable: Page number, 1-based. Defaults to 1.
- `limit` number, nullable: Results per page, from 1 to 100. Defaults to 50.
- `run_id` string, uuid: When given, returns every call in this run oldest first; from, to, feature, provider, and status are ignored.
- `from` string: Range start (yyyy-mm-dd), inclusive. Defaults to 30 days before `to`. Must be a real calendar date when run_id is absent; ignored when run_id is given.
- `to` string: Range end (yyyy-mm-dd), inclusive. Defaults to today (UTC). The inclusive range cannot exceed 366 days. The range must not be reversed when run_id is absent; ignored when run_id is given.
- `feature` string: AI usage feature (chat, marketplace_search, opportunities, profile_enrichment, compliance, questionnaire, live_article_check, embeddings, tag_matching, outlet_search, agents) when run_id is absent; ignored when run_id is given.
- `provider` string: AI provider (gemini, openai, jev, exa, anthropic) when run_id is absent; ignored when run_id is given.
- `status` string: Call status (success, error) when run_id is absent; ignored when run_id is given.

## Response `200`

Paginated AI calls

- object
  - `total_pages` number, required
  - `current_page` number, required
  - `next_page` number, nullable, required
  - `previous_page` number, nullable, required
  - `records` object[], required
    - `id` string, required
    - `started_at` string, required
    - `duration_ms` number, required
    - `feature` string, required
    - `operation` string, required
    - `provider` 'gemini' | 'openai' | 'jev' | 'exa' | 'anthropic', required
    - `model` string, required
    - `status` 'success' | 'error', required
    - `error_code` string, nullable, required
    - `input_tokens` number, nullable, required
    - `cached_input_tokens` number, nullable, required
    - `output_tokens` number, nullable, required
    - `reasoning_tokens` number, nullable, required
    - `cost_usd` number, nullable, required
    - `cost_source` 'provider' | 'price_list' | 'estimate' | 'unpriced', required
    - `run_id` string, nullable, required
    - `team_id` string, nullable, required
    - `team_name` string, nullable, required
    - `user_id` string, nullable, required
  - `total_records` number, required
  - `run` object, nullable, required
    - `cost_usd` number, required
    - `calls` number, required
    - `started_at` string, required
    - `duration_ms` number, required

---

[API](https://skmtc.dev/presscart/apis/presscart-prod-api.md) · [All operations](https://skmtc.dev/presscart/apis/presscart-prod-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presscart/apis/presscart-prod-api/revisions/2154581d845e?raw)
