Platform

What can each role do in Cognocient?

Owner, Admin, Developer, Finance and Viewer: the full permission matrix, how access is enforced on every API call, and what a proxy API key can and cannot do.

Every teammate has one of five roles. The role decides what they can change. Everyone on the account sees the same attribution data, and what differs is who can alter budgets, keys, routing, credentials, people and billing.

The matrix

✓ allowed, blank not allowed.

CapabilityOwnerAdminDeveloperFinanceViewer
View dashboards, calls, reports, provider list
See the team
Export data (calls CSV, chargeback, FOCUS, reports)
Create and edit budgets
Chargeback mappings, shadow spend, feature classification
Routing rules, Auto Router, guardrails, failover, velocity
Emergency Freeze (engage, release, settings)
View, create and revoke proxy keys
Import data and ingest
Record outcomes
Dismiss anomalies, acknowledge alerts
Add or remove provider credentials
Slack and other integrations
Apply recommendations, account profile
Invite people, change roles, remove people
Configure SSO
View and export the audit log
Billing and plan changes

Only the Owner manages admins

Granting the Admin role, demoting an Admin, or removing an Admin is reserved for the Owner, so an admin cannot promote themselves or another account.

How it is enforced

Access is checked on the server before the request reaches its handler, from one policy table that maps every management endpoint to a permission. That has three consequences:

  • The UI is not the security boundary. Calling the API directly gets the same answer as the dashboard would.
  • New endpoints are safe by default. Anything unclassified is admin-only for writes. The build fails if a state-changing endpoint is left to that default, so each one is decided deliberately.
  • Every denial is recorded in the audit log.

A denied request returns 403:

{
  "error": {
    "code": "forbidden",
    "message": "Your role (viewer) does not have permission to do this.",
    "type": "api_error",
    "required_permission": "manage_providers",
    "your_role": "viewer"
  }
}

If your organization requires single sign-on and a member signs in another way, the response is 403 with "code": "sso_required".

Proxy API keys

A proxy key (sk-cog-...) calling the management API is treated as a low-privilege service principal. It can read analytics and use automation endpoints (ingest, outcomes, freeze, estimates), but it cannot manage the team, billing, SSO, provider credentials, other proxy keys, or the audit log. Proxy keys are embedded in application code and are the secret most likely to leak, so a leaked key cannot be used to take over the account.

Your app's calls are not affected

Roles govern the management API and dashboard. Calls your application makes to /v1/... with a proxy key are unchanged.

Frequently asked questions

On this page