Entri records a detailed activity log for every significant action taken in the platform — whether by a user in the web app, an API client, or the CLI. The activity endpoints give you programmatic access to this audit trail for compliance, debugging, and transparency.
Every activity entry captures:
- The action type (for example
key.created, translation.approved, project.updated)
- The user who performed the action and their display name
- The project and organization context
- The target resource and any relevant metadata
- A precise timestamp
Activity logs are append-only and cannot be modified or deleted through the API.
Endpoints
GET /api/projects/:projectId/activity List activity for a project
GET /api/organizations/:orgId/activity List activity for the organization
Get Project Activity
Returns the activity feed for a specific project, ordered newest first:
curl "https://api.nt3.io/api/projects/proj_6abc123def456/activity?page=1&limit=25" \
-H "Cookie: session=..."
Query parameters:
| Parameter | Type | Description |
|---|
page | number | Page number (default: 1). |
limit | number | Records per page (default: 50). |
action | string | Filter to a specific action type. |
userId | string | Filter to a specific user. |
Response:
{
"data": [
{
"_id": "act_abc123",
"action": "translation.approved",
"userId": "user_xyz",
"userName": "Alice Martin",
"projectId": "proj_6abc123def456",
"organizationId": "org_789xyz",
"targetId": "key_abc123",
"targetType": "translation",
"metadata": {
"keyId": "key_abc123",
"language": "fr"
},
"created": "2025-03-02T14:30:00.000Z"
}
],
"meta": {
"page": 1,
"limit": 25,
"total": 847,
"totalPages": 34
}
}
The timestamp field is created, not createdAt.
Get Organization Activity
Returns the combined activity feed across all projects in the organization:
curl "https://api.nt3.io/api/organizations/org_789xyz/activity?page=1&limit=50" \
-H "Cookie: session=..."
You can filter to a specific user with userId, or filter to a specific action type with action.
Filter by Action Type
Use the action query parameter to filter the log to a specific event type:
curl "https://api.nt3.io/api/projects/proj_6abc123def456/activity?action=import.completed&limit=10" \
-H "Cookie: session=..."
Valid action filter values:
| Action | Description |
|---|
key.created | A translation key was created |
key.updated | A key was updated |
key.deleted | A key was deleted |
key.imported | Keys were imported from a file |
key.archived | A key was archived |
key.unarchived | A key was unarchived |
translation.created | A new translation was created |
translation.updated | A translation value was updated |
translation.reviewed | A translation was marked as reviewed |
translation.approved | A translation was approved |
translation.reverted | A translation was reverted |
translation.ai_generated | AI generated a translation |
translation.batch_completed | A batch AI translation job finished |
project.created | A project was created |
project.updated | A project was updated |
project.archived | A project was archived |
member.invited | A team member was invited |
member.removed | A team member was removed |
comment.created | A comment was added to a key |
glossary.term_added | A glossary term was added |
glossary.term_updated | A glossary term was updated |
glossary.term_deleted | A glossary term was deleted |
api_token.created | An API token was created |
api_token.revoked | An API token was revoked |
import.completed | A file import completed |
export.completed | A file export completed |
Key Notes
- Activity log entries are paginated. See Pagination for details.
- Entries are immutable. The activity log is an append-only audit trail.
- The
metadata field contains action-specific detail. Its schema varies by action type.
- Activity data is typically available within a few seconds of the action occurring.