Coralogix Platform Administration API. Manages API keys, team groups, roles, SAML, scopes, IP access, team configuration, data retention, data usage, ingestion policies, dashboards, views, actions, outgoing webhooks, integrations, extensions, connectors, presets, and global routers. Use when you need to administer a Coralogix team's security, access control, cost management, UI configuration, or notification routing settings.
Covers 178 platform management endpoints across 25 service areas.
export CORALOGIX_API_KEY="your-api-key"
export CORALOGIX_REGION="eu2" # eu1 eu2 us1 us2 ap1 ap2 ap3
See coralogix-core skill for the full region/URL table.
.augment/skills/coralogix-platform/scripts/platform_api.py
Invoke pattern:
python .augment/skills/coralogix-platform/scripts/platform_api.py \
--action <ACTION> \
[--body '<JSON>'] \
[--params '<JSON>'] \
[--path-params '<JSON>'] \
[--region REGION] [--api-key KEY] \
[--dry-run]
--dry-run--dry-run| Action | Method | Path |
|---|---|---|
create-api-key | POST | /aaa/api-keys/v3 |
get-send-data-api-keys | GET | /aaa/api-keys/v3/send_data |
get-api-key | GET | /aaa/api-keys/v3/{key_id} |
update-api-key | PUT | /aaa/api-keys/v3/{key_id} |
delete-api-key | DELETE | /aaa/api-keys/v3/{key_id} |
| Action | Notes |
|---|---|
list-team-groups | Supports --params '{"team_id":{"id":123}}' |
create-team-group | Body: name, roleIds, userIds |
update-team-group | Body: groupId, name, roleUpdates, userUpdates |
get-team-group | --path-params '{"id":123}' |
get-team-group-by-name | --path-params '{"name":"admin"}' |
delete-team-group | --path-params '{"id":123}' |
get-group-users | --path-params '{"id":123}' |
add-users-to-team-group | --path-params '{"id":123}' + --body '{"userIds":[]}' |
remove-users-from-team-group | --path-params '{"id":123}' + --params '{"user_ids":[]}' |
add-users-to-team-groups | Bulk: --body '{"addUsersToGroup":[]}' |
remove-users-from-team-groups | Bulk delete via --params |
get-team-group-scope | --path-params '{"id":123}' |
set-team-group-scope | --path-params '{"id":123}' + --body '{"scopeFilters":{}}' |
list-custom-roles, create-role (PUT), get-custom-role, update-role (POST), delete-role, list-system-roles
Path param: role_id
set-saml-active, get-saml-config, set-saml-idp, get-saml-sp
get-scopes-by-ids, update-scope, create-scope, list-scopes, delete-scope
Path param: id (UUID)
get-ip-access, replace-ip-access, create-ip-access, delete-ip-access
create-team-config, get-active-team-config, get-system-defaults, get-team-config, delete-team-config, update-team-config
Path param: id
get-retentions, update-retentions, activate-retentions, get-retentions-enabled
get-data-usage, get-daily-eval-tokens, get-daily-processed-gbs, get-daily-units,
get-export-status, update-export-status, get-logs-count, get-spans-count
list-policies, create-policy, update-policy, get-policy, delete-policy,
overwrite-log-policies, overwrite-span-policies, batch-create-policies,
bulk-test-log-policies, get-policy-settings, reorder-policies,
replace-policy-settings, toggle-policy
Path param: id
# List all team groups
python platform_api.py --action list-team-groups
# Get a specific API key
python platform_api.py --action get-api-key \
--path-params '{"key_id":"my-key-id"}'
# Create an API key
python platform_api.py --action create-api-key \
--body '{"name":"ci-key","keyPermissions":{"logs":{"logs:SendData":true}}}'
# Get data usage for a date range
python platform_api.py --action get-data-usage \
--params '{"date_range":{"fromDate":"2024-01-01T00:00:00Z","toDate":"2024-01-31T00:00:00Z"}}'
# List all ingestion policies
python platform_api.py --action list-policies
# Toggle a policy on/off
python platform_api.py --action toggle-policy \
--body '{"id":"policy-uuid","enabled":false}'
# Create a scope
python platform_api.py --action create-scope \
--body '{"displayName":"prod-only","filters":[{"entityType":"logs","expression":"<v1>subsystemName==\"production\""}],"defaultExpression":"<v1>true"}'
# Dry-run: preview a POST without executing it
python platform_api.py --action create-api-key \
--body '{"name":"test"}' --dry-run
# Dry-run on a GET: runs normally (dry-run has no effect on reads)
python platform_api.py --action list-team-groups --dry-run
{"status": "success", "action": "list-policies", "path": "/dataplans/policies/v1", "data": {...}}
Errors:
{"status": "error", "error_type": "api_error", "status_code": 403, "message": "..."}
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Client/config error |
| 2 | API error (4xx/5xx) |
| 3 | Auth error (401/403) |
get-dashboard-catalog / list-dashboards, create-dashboard, replace-dashboard, get-dashboard, delete-dashboard, replace-default-dashboard, assign-dashboard-folder, pin-dashboard, unpin-dashboard
Path param: dashboard_id or slug
list-dashboard-folders, create-dashboard-folder, replace-dashboard-folder, get-dashboard-folder, delete-dashboard-folder
Path param: folder_id
list-views, create-view, replace-view, get-view, delete-view
list-view-folders, create-view-folder, replace-view-folder, get-view-folder, delete-view-folder
list-actions, create-action, replace-action, get-action, delete-action, batch-execute-actions, order-actions
Path param: id
get-s3-target, set-s3-target
list-all-outgoing-webhooks, list-outgoing-webhooks-by-type, list-outbound-webhooks-summary, list-outgoing-webhook-types, create-outgoing-webhook, update-outgoing-webhook, get-outgoing-webhook, delete-outgoing-webhook, get-outgoing-webhook-type-details, test-outgoing-webhook, test-existing-outgoing-webhook
Path params: id, type
get-integrations, save-integration, update-integration, get-integration-details, delete-integration, get-deployed-integration, get-integration-definition, get-integration-template, test-integration, list-managed-integration-keys, get-managed-integration-status, get-rum-app-versions, sync-rum-data
Path params: id, integration_id
get-all-extensions, get-extension, get-deployed-extensions, deploy-extension, update-extension, undeploy-extension, test-extension-revision, initialize-testing-revision, cleanup-testing-revision
Path param: id
list-contextual-data-integrations, save-contextual-data-integration, update-contextual-data-integration, get-contextual-data-integration-details, get-contextual-data-integration-definition, test-contextual-data-integration, delete-contextual-data-integration
Path params: id, integration_id
list-connectors, list-connector-summaries, create-connector, replace-connector, get-connector, delete-connector, batch-get-connectors, batch-get-connector-summaries, get-connector-type-summaries, get-connector-schema
Path param: id
test-connector-config, test-destination, test-existing-connector, test-existing-preset, test-preset-config, test-routing-condition, test-template-render
list-preset-summaries, get-preset, create-custom-preset, replace-custom-preset, delete-custom-preset, set-custom-preset-as-default, set-preset-as-default, batch-get-presets, get-default-preset-summary, get-system-default-preset
Path param: id
list-global-routers, create-global-router, replace-global-router, get-global-router, delete-global-router, batch-get-global-routers, validate-entity-label-matcher
Path param: id
Authorization: <key> — no Bearer prefix. Using Bearer will cause 401 errors.certifi as a fallback automatically, but if you see SSL errors, run: pip install certifi.--body. Invalid JSON will fail at the client, not the API.--max-output flag truncates the JSON response. If you get truncated data, increase the limit or omit the flag.references/PLATFORM_SCHEMAS.md — Key request/response schemas.augment/skills/coralogix-core/SKILL.md