Loading...
Loading...
Manages Arize users, organizations, spaces, roles, role bindings, resource restrictions, and API keys via the ax CLI. Use for enterprise admin workflows: inviting and offboarding users, onboarding new teams, creating custom roles for SAML/SSO mappings, assigning roles to users, restricting project-level access, and managing service keys for multi-tenant architectures. Covers ax users, ax organizations, ax spaces, ax roles, ax role-bindings, ax resource-restrictions, and ax api-keys.
npx skill4agent add arize-ai/arize-skills arize-adminPrivilege requirement: Most operations require org-admin or account-admin privileges. If commands return, the authenticated profile lacks sufficient permissions.403 Forbidden
Destructive-action rule: Commands that delete, remove, or irreversibly modify resources (,delete,remove-user) require explicit user confirmation before execution. When a user asks you to perform one of these operations:unrestrict
- Summarize exactly what will happen (e.g., "This will delete user jane@example.com and cascade-remove all their org/space memberships, API keys, and role bindings.")
- Ask the user to confirm (use
).AskUserQuestion- Only after the user confirms, run the command with
to skip the CLI's interactive prompt.--forceNever run adeletion without confirming with the user first.--force
axAskUserQuestionax organizations list -o jsonAskUserQuestionax users list --emailadminmemberread-onlyemail_linktemporary_passwordnoneadminmemberread-onlyannotatorax role-bindingsaxaxcommand not found401 Unauthorizedax profiles show403 Forbidden.envax profilesadminmemberannotatorax users list # all users
ax users list --email "jane" # substring filter
ax users list --status active # active only
ax users list -l 100 -o json # paginate, get global IDs
ax users get USER_ID
ax users create \
--full-name "Jane Doe" \
--email jane@example.com \
--role member \
--invite-mode email_link # or: none | temporary_password
ax users update USER_ID --full-name "Jane Smith"
ax users update USER_ID --is-developer # grant developer flag
ax users delete USER_ID --force # ⚠ confirm first — cascades: org/space memberships, API keys, role bindings
ax users resend-invitation USER_ID
ax users reset-password USER_IDadminmemberread-onlyannotatorax organizations list
ax organizations list --name "platform"
ax organizations list -l 100 -o json
ax organizations get "Platform Team"
ax organizations create --name "Platform Team" --description "Core ML platform"
ax organizations update "Platform Team" --name "ML Platform" --description "Updated"
# Add user (must exist in account first)
ax organizations add-user "Platform Team" --user-id USER_ID --role member
# Remove user (also removes from all child spaces) — ⚠ confirm first
ax organizations remove-user "Platform Team" --user-id USER_ID --forceadminmemberread-onlyannotatorax spaces list
ax spaces list --organization-id ORG_ID
ax spaces get "my-workspace"
# --organization-id required; get ORG_ID from ax organizations list -o json
ax spaces create --name "team-alpha" --organization-id ORG_ID
ax spaces update "team-alpha" --name "team-alpha-v2"
ax spaces delete "team-alpha" --force # ⚠ confirm first — irreversible; deletes all resources
# User must be an org member before being added to a space
ax spaces add-user "team-alpha" --user-id USER_ID --role member
ax spaces remove-user "team-alpha" --user-id USER_ID --force # ⚠ confirm firstax role-bindingsadminmemberread-onlyannotatorax roles list # all roles
ax roles list --is-custom -o json # custom only — get stable IDs for SAML mappings
ax roles list --is-predefined
ax roles get "Data Scientist" # inspect permissions
# --permissions is comma-separated; fully replaces on update
ax roles create \
--name "Data Scientist" \
--permissions "PROJECT_READ,DATASET_CREATE,EXPERIMENT_CREATE" \
--description "Read traces, create datasets and experiments"
ax roles update "Data Scientist" --permissions "PROJECT_READ,DATASET_CREATE,EXPERIMENT_CREATE,EVALUATOR_CREATE"
ax roles delete "Data Scientist" --force # ⚠ confirm first — predefined roles cannot be deletedax roles get <predefined-role> -o jsonMemberAdmin# Assign at space level
ax role-bindings create \
--user-id USER_GLOBAL_ID \
--role-id ROLE_GLOBAL_ID \
--resource-type SPACE \
--resource-id SPACE_GLOBAL_ID
# Assign at project level
ax role-bindings create \
--user-id USER_GLOBAL_ID \
--role-id ROLE_GLOBAL_ID \
--resource-type PROJECT \
--resource-id PROJECT_GLOBAL_ID
ax role-bindings get BINDING_ID
ax role-bindings update BINDING_ID --role-id NEW_ROLE_ID
ax role-bindings delete BINDING_ID --force # ⚠ confirm firstax resource-restrictions restrict --resource-id PROJECT_GLOBAL_ID # idempotent
ax resource-restrictions unrestrict --resource-id PROJECT_GLOBAL_ID --force # ⚠ confirm first
# Finding project IDs
ax projects list -l 100 -o json --space "my-workspace"Scope:returns only keys owned by the authenticated user. For org-wide auditing, use the Arize UI (Settings > API Keys).ax api-keys list
ax api-keys list
ax api-keys list --key-type service --status active -o json
# User key — authenticates as creator, inherits their full permissions
ax api-keys create --name "CI pipeline" --key-type user --expires-at "2027-01-01T00:00:00"
# Service key — scoped to a specific space (recommended for pipelines)
ax api-keys create \
--name "team-alpha-traces" \
--key-type service \
--space "team-alpha" \
--expires-at "2027-01-01T00:00:00"
ax api-keys delete KEY_ID --force # ⚠ confirm first
# Zero-downtime rotation — revokes old key, issues new one with same scope
ax api-keys refresh KEY_ID
ax api-keys refresh KEY_ID --expires-at "2028-01-01T00:00:00"The raw key is displayed once. Save it immediately in your secrets manager. It cannot be retrieved again.