> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dari.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# People & Keys

> List routed activity attributed to people and API keys.

<ParamField header="Authorization" type="string" required>`Bearer` plus a Management API key.</ParamField>
<ParamField query="from" type="string" required>RFC 3339 range start, inclusive.</ParamField>
<ParamField query="to" type="string" required>RFC 3339 range end, exclusive.</ParamField>
<ParamField query="router_id" type="string">Limit to one router.</ParamField>
<ParamField query="api_key_id" type="array">API key ID filter. Repeatable.</ParamField>
<ParamField query="user_id" type="array">Attributed user ID filter. Repeatable.</ParamField>
<ParamField query="model" type="array">Model ID filter. Repeatable.</ParamField>
<ParamField query="provider" type="string">Provider filter.</ParamField>
<ParamField query="status" type="string">`completed`, `provider_error`, `selector_error`, or `aborted`.</ParamField>
<ParamField query="key_source" type="string">`user`, `managed`, or `subscription`.</ParamField>
<ParamField query="source_scope" type="string">`openai_chat`, `openai_responses`, `anthropic_messages`, comma-separated, `all`, or `none`.</ParamField>
<ParamField query="search" type="string">Search names, emails, key labels, and prefixes.</ParamField>
<ParamField query="identity_scope" type="string" default="all">`all`, `people`, or `keys`.</ParamField>
<ParamField query="sort_by" type="string" default="last_active">`identity`, `keys`, `conversations`, `messages`, `tokens`, `spend`, or `last_active`.</ParamField>
<ParamField query="sort_direction" type="string" default="desc">`asc` or `desc`.</ParamField>
<ParamField query="limit" type="integer" default="50">Maximum identities.</ParamField>
<ParamField query="offset" type="integer" default="0">Identities to skip.</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.dari.dev/v1/organizations/current/routing/activity/people-keys?from=2026-07-01T00:00:00Z&to=2026-07-08T00:00:00Z&identity_scope=keys&search=prod" \
    -H "Authorization: Bearer $DARI_API_KEY"
  ```
</RequestExample>

The response contains `identities`, `identity_count`, `limit`, `offset`, and `next_offset`.

## Compare People Over Time

```http theme={null}
GET /v1/organizations/{org}/routing/activity/people-series
```

<ParamField query="bucket_seconds" type="integer" required>Use `60`, `300`, `900`, `1800`, `86400`, `604800`, or `2592000`.</ParamField>
<ParamField query="comparison_user_id" type="array">Person to compare. Repeatable.</ParamField>

```bash theme={null}
dari activity people series --from 2026-07-01T00:00:00Z --to 2026-07-08T00:00:00Z --comparison-user-id usr_123
```
