Organization roles and permissions
What each organization role can see and change in the dashboard, the staff console and the Organization API.
Every member of an organization has one role. The roles form a ladder: each role can do everything the roles below it can, and more. The owner is the Coritan account that created the organization, or the member it was handed to; Manage members and roles explains how to give a member a role.
Roles
Section titled RolesFrom the highest to the lowest:
| Role | Value | What it is for |
|---|---|---|
| Owner | owner |
Everything, including deleting the organization and handing it to another member. There is one owner at a time, and an owner who hands the organization on stays on the team as an admin. |
| Admin | admin |
Everything except handing the organization to another member and deleting it. |
| Billing | billing |
Invoices, payouts, statements and customer credit, and all of Tier 3 support. |
| Tier 3 support | support_tier3 |
Every ticket, customer changes, support sessions and server work. |
| Tier 2 support | support_tier2 |
Reads any ticket, watches server consoles and logs, and works on servers customers lend from a ticket. |
| Tier 1 support | support_tier1 |
The ticket queue and their own tickets, log requests and forum report triage. |
| Read only | readonly |
Can look, cannot change. |
A member added without a role gets support_tier1. The older role name support is read as support_tier3. Billing sits above the support tiers on the ladder, but live conversations and the Discord staff links are for the owner, admins and the support tiers only.
The organization's tabs and the member API
Section titled The organization's tabs and the member APIThese are the tabs on coritan.com and the API paths behind them. "Any member" includes readonly.
| Area | Who can see it | Who can change it |
|---|---|---|
| Organization details and settings | Any member | Admin |
| Members | Any member | Admin |
| Customers and custom fields | Any member | Admin |
| Customer credit | Any member sees a customer's balance; Tier 3 support sees its history | Billing |
| Products and pricing | Any member | Admin |
| Customer services | Any member | From Tier 3 support; ordering, suspending, unsuspending and cancelling at once take an admin (who can do what) |
| Service tags | Any member | Tier 3 support |
| Sent email | Tier 3 support | Nobody |
| Invoices, statements, payouts, disputes and revenue figures | Billing | Billing |
| PayNow status, subscriptions, gift cards and affiliates | Billing | Billing; connecting the store takes an admin |
| Usage and cost, the billing basis's preview and the monthly usage budget | Billing | Billing; switching the billing basis takes the owner |
| Cloud Compute | Any member | Admin |
| An instance's console, with keyboard control | Owner and admins | Owner and admins. The audit log records each session. |
| DNS | Any member | Admin |
| Mail Services | Any member | Admin |
| Commerce | By section, from any member to Billing | By section, from Tier 2 support to Admin |
| Apps, the organization's deployments, also under App Deployment in the sidebar | Any member | Admin |
| A deployment's billing and what it costs | Billing | Billing |
| A game server's or a database's console, files, SFTP and the rest of its server's tabs | Owner and admins | Owner and admins |
| Discord and the game proxy | Admin | Admin |
| Webhooks, API keys and OAuth clients | Admin | Admin |
| Audit log | Admin | Nobody |
| Visitor figures on the overview | Any member | Nobody |
| Handing the organization to another member | Owner | Owner, signed in to coritan.com |
| Deleting the organization | Owner | Owner, signed in to coritan.com |
A page your role cannot open is not in the organization's menu, and its address takes you to the overview. A call below the role it needs answers 403 with Admin access required, Billing access required, Support access required or Tier 2 support access required. A Coritan account that is not a member gets 403 Not a member of this organization.
Confirm it is you
Section titled Confirm it is youOn coritan.com, the actions that move money, end something or hand the organization over ask you to confirm it is you before they go through. They include handing the organization to another member and deleting it; changing a member's role, removing a member, signing them out everywhere and emailing them a password link; marking an invoice paid; adding credit to a customer's wallet; and, in Commerce, refunding or cancelling a store order, settling a return (its refund, an exchange's new items or a claim's replacement), and sending or scheduling an email campaign. An API key is never asked: what its scopes allow is what holds it.
The dialog Confirm it is you asks for your password or, when two-factor sign-in is on for your account, a code from your authenticator or one of your recovery codes, since the password alone is not enough then. Select Confirm and the action goes through. The dashboard does not ask again for 10 minutes in that organization, unless you reload the page. The audit log records every try, right or wrong, and after ten tries in five minutes you have to wait before trying again.
Through the API, send your password, or while two-factor sign-in is on a code (the current one from your authenticator, or one of your recovery codes, which is then used up):
curl -X POST https://api.coritan.com/api/v1/orgs/acme/step-up \
-H "Authorization: Bearer $CORITAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"code": "123456"}'
The answer has token, expires_at and max_age_seconds. Send the token as the X-Org-Step-Up header on that organization's requests until it expires. Without it, a route that asks first answers 403 with reauth_required.
| Answer | Why |
|---|---|
400 with code_required |
Two-factor sign-in is on for the account, so a password alone is refused: send a code from the authenticator or a recovery code. |
400 with step_up_failed |
The password or the code is wrong. |
422 |
The body has neither a password nor a code, or both. |
429 |
More than ten tries in five minutes. |
400 with use_staff_reauth |
The access token is a staff console session's. The staff console confirms with its own step-up. |
The staff console
Section titled The staff consoleThe staff console uses the same roles. The lowest role that can use each area:
| Area | Lowest role |
|---|---|
| Search, orders and the operations summary | Read only |
| The support inbox and your own activity | Tier 1 support |
| The Live page | Tier 1 support |
| Reading alerts and the bell | Read only |
| Seeing alert rules | Tier 1 support |
| Your own settings on My account: password, push notifications, saved views | Read only; sharing a saved view needs Tier 3 support |
| Moderating the community | Tier 1 support; some tasks need Tier 3 |
| Moderating the community chat | Tier 1 support; bans, blocks and pausing need Tier 3, the settings an admin |
| Watching server consoles and logs | Tier 2 support |
| Customers, servers, customer services and notices | Tier 3 support |
| Coupons | Tier 3 support to see them, billing to change them |
| Refund requests | Tier 3 support to see them, billing to decide them |
| Invoices | Tier 3 support to see them, billing to change them |
| Transactions, disputes, dunning, Analytics and reports | Billing |
| Adding, changing and testing alert rules, and the email digest | Billing |
| The whole activity log and its CSV export | Admin |
| The team and the console's settings | Admin, for changes |
Within an area, some actions need a higher role than reading it does. The actions that move money, end things or open a customer's account also need a recent step-up: you confirm your password or a code from your authenticator, and the confirmation lasts 10 minutes. They include adding credit, refunding or charging an invoice, marking it paid, cancelling an unpaid one, deciding a refund request, closing a customer's account, acting as a customer, terminating a service, restoring or deleting a backup or snapshot, and changing a teammate's role or customer account, removing them or ending their sessions. Sign in to the staff console explains the check.
API keys
Section titled API keysAn organization API key has no role. It carries scopes instead, and it works on the Commerce API only.
Related
Section titled RelatedAPI operations on this page
| Method | Path | What it does |
|---|---|---|
POST | /api/v1/orgs/{org_slug}/step-up | Step up |