For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://modelgates.ai/docs/_mcp/server.
Analytics - Python SDK
The Python SDK and docs are currently in beta. Report issues on GitHub.
Overview
Analytics and usage endpoints
Available Operations
- get_user_activity - Get user activity grouped by endpoint
get_user_activity
Returns user activity data grouped by endpoint for the last 30 (completed) UTC days. Management key required.
Example Usage
python
from modelgates import ModelGatesimport os with ModelGates( http_referer="<value>", x_open_router_title="<value>", x_open_router_categories="<value>", api_key=os.getenv("MODELGATES_API_KEY", ""),) as open_router: res = open_router.analytics.get_user_activity() # Handle response print(res)Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
http_referer | Optional[str] | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. | |
x_open_router_title | Optional[str] | :heavy_minus_sign: | The app display name allows you to customize how your app appears in ModelGates's dashboard. | |
x_open_router_categories | Optional[str] | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings. | |
date_ | Optional[str] | :heavy_minus_sign: | Filter by a single UTC date in the last 30 days (YYYY-MM-DD format). | 2025-08-24 |
api_key_hash | Optional[str] | :heavy_minus_sign: | Filter by API key hash (SHA-256 hex string, as returned by the keys API). | abc123def456... |
user_id | Optional[str] | :heavy_minus_sign: | Filter by org member user ID. Only applicable for organization accounts. | user_abc123 |
retries | Optional[utils.RetryConfig] | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.ForbiddenResponseError | 403 | application/json |
| errors.NotFoundResponseError | 404 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.ModelGatesDefaultError | 4XX, 5XX | */* |