Public API v1 | Read-only

Check your workspace
from anywhere.

7 REST endpoints to power an internal dashboard, a monitoring tool, or the Tramya Mobile app. Rotatable Bearer token authentication, rate-limited, with no private content exposed beyond a 200-character snippet.

Getting started

Three steps to your first request.

  1. Create a token in /admin, under "API keys v1." Choose its scopes (billing:read, cloud:read, workspace:read, projects:read) and copy the secret immediately - it will never be shown again.
  2. Pass it in a Bearer header: Authorization: Bearer tra_pk_xxx. The tra_pk_ prefix is constant. The rest is random (192 bits).
  3. Call the endpoints. See the reference below or download the OpenAPI spec to generate a client in your language.

Reference

7 endpoints, all read-only.

GET/api/v1/public/billing/statusbilling:read

Active plan, unlocked features, Stripe catalog (masked IDs).

curl -H "Authorization: Bearer $TRAMYA_TOKEN" \
  https://app.tramya.com/api/v1/public/billing/status
GET/api/v1/public/cloud/statuscloud:read

Cloud connection of the local companion, last backup, masked account ID.

GET/api/v1/public/workspace/statusworkspace:read

Global stats: number of projects, conversations, messages, tokens, memories, checkpoints, sources.

GET/api/v1/public/projectsprojects:read

Complete list of projects with name, description, counters. Without filesystem paths.

GET/api/v1/public/conversationsprojects:read

Metadata for recent conversations. Zero message content. Filters ?projectId= and ?limit= (1-100).

GET/api/v1/public/memoriesprojects:read

Saved memories, 200-character snippet, tags. Filters ?projectId= and ?limit=.

GET/api/v1/public/search?q=projects:read

Full-text search across memories, checkpoints, and messages. Rate-limited to 30/min per token. Query minimum 2 characters. 200-char snippet.

curl -H "Authorization: Bearer $TRAMYA_TOKEN" \
  "https://app.tramya.com/api/v1/public/search?q=stripe"

Security and limits

What you will never expose with this API.

To extract all of your data, use the local export from the Tramya app instead - the Public API v1 is not designed for that.