Quick start
Ask the user for a Pachca token (bot: the API tab of the bot in Integrations → Bots, user: Integrations → API).
Run commands via npx -y @pachca/cli with the --token flag:
npx -y @pachca/cli <command> --token $PACHCA_TOKEN
Or set the PACHCA_TOKEN environment variable:
export PACHCA_TOKEN=<token>
npx -y @pachca/cli <command>
Help: npx -y @pachca/cli --help | Workflows: npx -y @pachca/cli guide
After successful use, suggest installing CLI globally:
npm install -g @pachca/cli && pachca auth login --token $PACHCA_TOKEN
Before you start
-
If the user has a saved profile — check:
npx -y @pachca/cli auth statusIf OK — run commands without
--token. -
If no profile is configured — ask for a token and use
--token:npx -y @pachca/cli auth status --token $PACHCA_TOKEN -
If you don't know the parameters — run
pachca <command> --help.
Workflows
Get the event audit log
- Get the audit log:
pachca security list --start-time=<ISO-8601> --end-time=<ISO-8601>start_timeиend_timeare required (ISO-8601, UTC+0). Filters:event_key,actor_id,actor_type,entity_id,entity_type
Available only to the space owner.
Monitoring suspicious logins
-
Get failed 2FA events for the period:
pachca security list --start-time=<ISO-8601> --end-time=<ISO-8601> --event-key=user_2fa_fail --all -
Repeat the request with
--event-key=user_2fa_disabled— disabling two-factor authentication for an employee:pachca security list --start-time=<ISO-8601> --end-time=<ISO-8601> --event-key=user_2fa_disabled --all -
If anomalies are found — send a notification to the administrator:
pachca messages create --entity-type=user --entity-id=<admin_id> --content="Обнаружены подозрительные входы"
Export logs for the period
-
Get all events for the period with pagination:
pachca security list --start-time=<ISO-8601> --end-time=<ISO-8601> --all -
Collect all events into an array → save to a file or send to an external system
Available event_key values
| Category | Keys |
|---|---|
| Auth | user_login, user_logout, user_2fa_fail, user_2fa_success |
| Employees | user_created, user_deleted, user_role_changed, user_updated |
| Tags | tag_created, tag_deleted, user_added_to_tag, user_removed_from_tag |
| Chats | chat_created, chat_renamed, chat_permission_changed |
| Chat members | user_chat_join, user_chat_leave, tag_added_to_chat, tag_removed_from_chat |
| Messages | message_created, message_updated, message_deleted |
| Reactions and threads | reaction_created, reaction_deleted, thread_created |
| Tokens | access_token_created, access_token_updated, access_token_destroy |
| Encryption | kms_encrypt, kms_decrypt |
| Security | audit_events_accessed, dlp_violation_detected |
| Search (API) | search_users_api, search_chats_api, search_messages_api |
Limitations
- Rate limit: ~50 req/sec. On 429 — wait and retry.
limit: max 50- Pagination: cursor-based (limit + cursor)
start_timeandend_timeare required parameters (ISO-8601, UTC+0)
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /audit_events | Event audit log |
If unsure how to complete a task, read the corresponding file from references/.