API

User activity API for a recent-actions feed

Show each person what they did lately across files, email, security scans, AI and the data warehouse.

What it does

  • The User Activity API answers one question for the signed-in person: "what have I done lately?". It reads the access logs that the platform already keeps and gives back a single feed across files, the data warehouse, AI requests, email and security scans.
  • It solves a small but constant request. Users ask "did my upload go through?", "did that email send?" and "what did I scan last week?". Without this, someone builds a page for each. With it, one endpoint returns a unified, filterable history that you can drop into a profile page or an account screen.
  • The feed can be filtered by service (files, warehouse, ai, email or security) and by status (success, failed or pending). It looks back 30 days by default, and you can ask for anything from 1 to 365 days. Page through it with limit and offset, up to 500 per page.
  • A statistics call counts the same events by service and by action over the window you choose, which is handy for a small "your month" panel. Summary calls for files, security, AI and the warehouse add details: what the person stores and has done with it, scans they ran, inference they used, and how they use the warehouse.
  • It is scoped to the caller. You see your own activity, not other people's, and the data comes from tenant-scoped logs. Authenticate with a Bearer token from Takelan SSO or an X-API-Key header. Over the limit you get a 429 with a Retry-After header.
  • Affordable by design. Start free* inside platform limits. *Free within platform limits; usage beyond limits may be charged to maintain the platform. Connected ShadowCradle organizations can switch on Takelan SSO and these free* services with one switch. Airgap licences work without any Takelan connection.

Example use cases

"Recent activity" on a profile page

A developer adds a feed to the account screen with one call, filtered to the last 7 days, so users can see what they did without opening a ticket.

Self-service support

A support team links to the activity view. When a customer asks whether an email left or an upload failed, the answer is already on screen with a success or failed status.

Spot failures early

An admin filters by status=failed to see which of their own actions did not complete, such as an upload or an email send.

A monthly "your usage" panel

A small business shows each staff member counts by service and action for the past 30 days, using the statistics call.

AI usage at a glance

A team lead checks the AI summary to see how much inference they have used, before they talk to the account owner about limits.

Security check-in

A person who scans downloads before opening them can see their scan history in one place.

Try it

My recent failed actions, last 7 days

curl "https://app.takelan.com/api/v1/user/activity?days=7&status=failed&limit=20" \
  -H "X-API-Key: $TAKELAN_API_KEY"

# Response (abridged, fictional)
# {
#   "activities": [
#     { "service": "email", "action": "send", "status": "failed",
#       "timestamp": "2026-10-24T09:12:44Z" }
#   ],
#   "total": 1, "limit": 20, "offset": 0, "period_days": 7
# }

Each item also carries service-specific details. Values shown are fictional.

Counts by service

curl "https://app.takelan.com/api/v1/user/statistics?days=30" \
  -H "X-API-Key: $TAKELAN_API_KEY"

Endpoints

  • GET /api/v1/user/activity Unified feed. Filters: service (files, warehouse, ai, email, security), status, days (1-365), limit (up to 500), offset.
  • GET /api/v1/user/statistics Counts by service and by action over a window.
  • GET /api/v1/user/files What you store and what you did with it lately.
  • GET /api/v1/user/security Malware scans you have run.
  • GET /api/v1/user/ai AI requests you made and what they used.
  • GET /api/v1/user/warehouse What you stored in the data warehouse and how you use it.

MCP

Available as tools through /mcp/utils. Every route here is a read, so a read-only key works. An agent sees the activity of the person whose key it holds, never anyone else's. Writes are off by default, though this family has none. About MCP

Common questions

how to show a user their recent activity in my app

Call GET /api/v1/user/activity with their token. Optionally filter by service and status, and set days. Render the items as a list.

which services does the user activity feed cover

Files, the data warehouse, AI requests, email and security scans. Filter with the service parameter using files, warehouse, ai, email or security.

how far back does activity history go

It defaults to 30 days. You can ask for 1 to 365 days with the days parameter.

can an admin see another user's activity with this api

No. These routes return the caller's own activity. For tenant-wide records, use the access logs of the specific service, such as the warehouse access-logs endpoint.

how do I find failed actions

Add status=failed to the activity request. Valid statuses are success, failed and pending.

how do I count activity by service

GET /api/v1/user/statistics returns counts by service and by action for the window you set.

does it need a special permission

It needs a valid sign-in or API key for the tenant. Read-only keys work because every route is a read.

is the user activity api free

It is affordable by design: start free* within platform limits. *Free within platform limits; usage beyond limits may be charged to maintain the platform.

Analytics & Cookies

We use self-hosted Matomo analytics. By default we measure anonymously with no cookies. Enable cookies to help us improve your experience. You can change this anytime.