# Manage the staff team and console settings

> Add team members, change their roles and sign-in, and set your brand's details, feature switches, error page, emails, API keys and notices.

Source: https://docs.coritan.com/organizations/staff-console/team-and-settings/

Three pages of the staff console set up the console and what customers see of your brand. The team page, `/staff/team`, lists everyone who works on your brand with their role, their last sign-in, whether they use two-factor authentication and which storefront account they have. The settings page, `/staff/settings`, holds your brand's details, its feature switches, the Tier 1 claim limit, the error page, the look of your emails and your API keys. The notices page, `/staff/notices`, posts the announcements, maintenance windows and incidents your customers read.

## Before you begin

Any member can see the team. What else each task needs:

| Task | Lowest role | Step-up |
| --- | --- | --- |
| Add a member, sign a member out, or require two-factor authentication | Admin | No |
| Change a role, remove a member, send a password link or set a password, reset two-factor authentication, or change a storefront account | Admin | Yes |
| Open the settings page and change anything on it | Admin | No |
| Post, change and resolve notices | Tier 3 support | No |
| Delete a notice | Admin | No |

The owner counts as an admin. Nobody can change the owner's role, remove the owner or reset the owner's two-factor authentication from the console: ownership moves only when Coritan support transfers it.

A *step-up* is a fresh password or authenticator code, which lasts 10 minutes; [Sign in to the staff console](/organizations/staff-console/sign-in/#confirm-it-is-you) explains it. The same team is on the organization's **Members** tab in the Coritan dashboard, which [Manage members and roles](/organizations/members-and-roles/) covers, and [Organization roles and permissions](/organizations/roles-and-permissions/) says what each role can do.

## Add a member

1. Open `/staff/team` and start an invitation.
2. Enter their email, a name if you like, and their role: `readonly`, `support_tier1`, `support_tier2`, `support_tier3`, `billing` or `admin`. New members get `support_tier1` unless you choose another.
3. Choose how they get a password. Send the invitation email, which is the default, or set a temporary password and give it to them yourself.
4. Choose their storefront account, as [Change a member's storefront account](#change-a-member-s-storefront-account) explains. The default gives them the customer account with their email.

The invitation links to `/staff/reset-password` on your storefront domain and works for 2 hours. A temporary password needs 8 to 128 characters, with a lowercase letter, an uppercase letter, a digit and a special character. Each admin can add 20 members an hour.

> [!WARNING]
> Members sign in with their Coritan account, the same email and password they use on coritan.com. If the person already has a Coritan account, send the invitation and leave the temporary password empty: a temporary password replaces the password of their Coritan account.

## Change a member's role

On `/staff/team`, choose the member's new role and confirm it is you if the console asks. The change applies at once. It signs the member out of every console session, so their next session carries the new role. A member moved below Tier 2 also loses any access to a customer's server that a conversation lent them.

You cannot change your own role. Ask another admin.

## Change a member's storefront account

Signing in to the console also signs a member in to your storefront as a customer, so they can use your product the way customers do. Their *storefront account* is one of these:

- By default, the customer account with the member's email. We find it, or create it the first time they sign in to the console.
- An existing customer account you attach, whatever its email. Use it for someone who was your customer before they joined the team.
- None. The member uses the console only.

To change it, open the member on `/staff/team`, then attach an existing account, create one with their email, or detach the account. Confirm it is you if the console asks. Only an `active` account can be attached, and one account belongs to one member. Detaching keeps the customer account with its services and invoices. Storefront sessions the console opened on the previous account end.

## Help a member sign in

- Send a password link. We email them a link to `/staff/reset-password` that works for 2 hours, and a newer link replaces an older one.
- Set a temporary password when email cannot reach them. It signs them out of every console session.
- Reset their two-factor authentication when they lost their phone. It removes their second factor and ends their sessions. They sign in with their password and, if your brand requires two-factor authentication, set it up again straight away.

Each of these needs a step-up. A new password is also their password on coritan.com. You cannot reset your own two-factor authentication here: turn it off on the My account page, `/staff/me`, with a current code.

## Sign a member out or remove them

- Sign a member out to end every console session they have, and the storefront sessions those opened. It needs no step-up, and they can sign in again.
- Remove a member to take away their access to the console and the organization. It ends their sessions and any access to a customer's server that a conversation lent them. Their Coritan account and their storefront account stay. You cannot remove yourself.

## Require two-factor authentication

1. Set up your own two-factor authentication first, as [Sign in to the staff console](/organizations/staff-console/sign-in/#set-up-two-factor-authentication) explains. The console refuses the rule while you have none.
2. On `/staff/team`, turn on the rule that every member needs two-factor authentication.

From their next sign-in, a member without two-factor authentication must set it up before the console opens, and nobody can turn theirs off while the rule is on. The feature switches on the settings page change the same rule.

## Change the brand's details

The settings page, `/staff/settings`, changes the details your storefront, emails and invoices show. They are the same details as on the organization's **Settings** tab on coritan.com.

- Brand: the brand name, the time zone as a name such as `Europe/London`, the support and billing email addresses, the logo and favicon URLs, the primary and secondary colours as `#rrggbb`, and the terms and privacy URLs. Every URL starts with `https://`.
- Legal: the legal name, registration number, tax ID, two-letter country code and registered address.
- Invoicing: the invoice prefix (1–20 letters, digits, `-` and `_`) for new invoices, the default currency, the tax rate from 0 to 100%, the payment terms from 0 to 120 days, and an invoice footer of up to 4,000 characters. The currency must be one Coritan has enabled.

Emptying a text field clears it, except the invoice prefix, country and currency. The custom domain, outgoing mail, organization name and billing mode are on coritan.com only, as [Change organization settings](/organizations/settings/) explains. The settings page shows the custom domain and whether Coritan has verified it.

## Turn features on or off

The features tab of the settings page, `/staff/settings?tab=features`, has five switches:

| Switch | What it does |
| --- | --- |
| `coupons` | Lets customers enter coupon codes at checkout. While it is off, the checkout shows no code field and refuses every code. A billing member can also turn it on, as [Offer coupon codes](/organizations/staff-console/billing/#offer-coupon-codes) explains. |
| `require_mfa` | Requires two-factor authentication of every member, as in [Require two-factor authentication](#require-two-factor-authentication). |
| `require_customer_mfa` | Requires two-factor authentication of every customer. From their next sign-in, a customer without it must set it up, and no customer can turn theirs off. |
| `maintenance` | Shows visitors a maintenance page instead of your storefront. Members signed in to the console still see the whole site, and the API keeps answering. |
| `free_port_requests` | Makes customers on your free tier ask for an extra port through a conversation, as [Add a port for a port request](/organizations/staff-console/servers/#add-a-port-for-a-port-request) explains. Paid servers are not affected. |

## Set the Tier 1 claim limit

A Tier 1 member can hold only so many open conversations at once, which keeps the queue moving. The limit is 10 until an admin changes it, and it takes a whole number from 1 to 100. Set it on the support desk tab, `/staff/settings?tab=support-desk`. It applies from the next conversation a Tier 1 member takes, and nobody loses a conversation they already hold. Tier 2 and every role above it have no limit. [Answer customer conversations](/organizations/staff-console/support-inbox/) explains what a member sees at the limit.

## Design the error page

When your storefront, or a site on one of your customers' services, does not answer, our network shows visitors an error page with the status `502` or `504`. Until you turn yours on, visitors see Coritan's standard page. Set yours on the error page tab, `/staff/settings?tab=error-page`:

- The words: a heading of up to 80 characters and a message of up to 500.
- How much it tells a visitor: `reference` (the default) adds one line with the request ID and time for a customer to quote to support, `minimal` shows only your words and links, and `full` adds the connection diagram and the diagnostics.
- The links: a support button (an `https://` URL or a `mailto:` address) and an updates button (an `https://` URL, such as your status page), each with a label of up to 40 characters. The page shows a button only when you set its link.
- The look: a `light` or `dark` theme, your own background, card, text and accent colours over it, `sharp`, `soft` or `round` corners, the Inter font or the visitor's own, and one of four styles for the status line.

The logo and accent colour default to your brand's own. Preview the page with either status before you turn it on, since the preview works while the page is off. The `Error 502` or `Error 504` label, the Coritan footer and our response headers stay on every page, so visitors and support can tell which network answered. A site with an error page of its own keeps its page.

## Design your emails

Every email your brand sends uses one design. Set it on the emails tab, `/staff/settings?tab=emails`:

- A `light` or `dark` theme, with your own accent, background, card and text colours over it.
- `sharp`, `soft` or `round` corners, and the reader's system font, Inter, or IBM Plex Sans with Syne headings.
- The header: the logo beside the brand name, the logo alone, or the name alone.
- A one-line footer of up to 200 characters, and whether to show your legal name and registered address under it.
- Up to 3 footer links, each with a label of up to 30 characters and an `https://` or `mailto:` address.

The accent colour and logo default to your brand's own. Preview four samples before you save: a welcome email, an invoice, a notice that a service was suspended, and the email a customer gets when your team replies to a conversation. Send yourself a test to see one in a real mail client; each member can send 10 tests an hour.

## Manage API keys

The developers tab, `/staff/settings?tab=developers`, lists every API key your organization has, including those created on coritan.com, and revokes them. You can create a key here with a label, a rate limit of 60–100,000 requests an hour (4,000 by default) and an allow-list of up to 50 addresses. We show the key once.

> [!NOTE]
> A key made in the console has no scopes, so the Commerce API refuses it. Create a key that needs to work with the scopes it needs, as [Create organization API keys](/organizations/api-keys/#create-a-key-with-scopes) shows.

## Post a notice

1. Open `/staff/notices` and start a new notice.
2. Choose its kind: `info` for something to know, `maintenance` for planned work, or `incident` for something wrong now.
3. Write a title of up to 200 characters and, if you like, a body of up to 8,000.
4. Choose where it shows: over your customers' dashboard, on your public status page, or both.
5. Choose who sees it on the dashboard: everyone, paying customers or free customers.
6. Set a start and an end if the notice belongs to a window.
7. Publish it, or save it as a draft.

A *paying customer* has at least one service that is not on your free tier, and every other signed-in customer counts as free. Visitors who are not signed in see only notices for everyone. The status page is public, so the audience does not apply there. It lists `maintenance` and `incident` notices only, and keeps a resolved one for 24 hours.

A published notice shows from its start, or at once without one, until its end or until you resolve it. Each place shows up to 10 notices at a time.

## Update and resolve a notice

- Post an update to follow an incident: `investigating`, `identified`, `monitoring`, `update` or `resolved`, with up to 4,000 characters. Customers see the updates under the notice, newest first. An update on a draft publishes it, and a `resolved` update resolves the notice.
- Edit a notice to change its words, where it shows, its audience or its window.
- Resolve a notice to take it down. Reopening it puts it back up. Its updates stay on record.
- As an admin, delete a notice to remove it and its updates.

## Result

Changes take effect at once, and the audit log records each one with who made it, as [Read the organization audit log](/organizations/audit-log/) explains. A changed error page goes out to our network straight away.

## Troubleshooting

`User is already a member`
: That email is on the team already. Change their role instead.

`That email belongs to a suspended or closed platform account`
: The person's Coritan account is suspended or closed, so it cannot join a team. Invite another address, or ask them to contact Coritan support.

`Set a temporary password or send an invite email`
: The email is new to Coritan, so the member needs a way to sign in. Send the invitation or set a temporary password.

`Use transfer-ownership to assign owner`
: You chose the owner role. Only Coritan support transfers ownership.

`The owner's role moves only through transfer-ownership`
: The owner's membership does not change from the console. The same goes for `The owner cannot be removed; transfer ownership first` and `The owner's second factor is not reset from here`. [Contact support](https://www.coritan.com/dashboard/support) to transfer ownership.

`Ask another admin to change your own role`
: Admins cannot change their own role or remove themselves (`You cannot remove yourself`). Another admin has to do it.

`Turn off your own two-factor from My account`
: You tried to reset your own second factor. Turn it off on `/staff/me` with a current code instead.

`Turn on your own two-factor before requiring it of the team`
: Set up your own two-factor authentication, then turn on the rule.

`Only an active customer account can be attached`
: The account is suspended, banned or closed. Pick another account, or reactivate this one first.

`That customer account already belongs to another team member`
: One account belongs to one member. Detach it from the other member first.

`A customer account with their email already exists; attach that one instead`
: Choose to attach an existing account, and pick the one with their email.

`Invalid or expired reset token`
: The link is more than 2 hours old, or a newer link replaced it. Send the member a new password link.

`429` with `rate_limited`
: You added 20 members, or sent 10 test emails, in the last hour. Wait the number of seconds in `Retry-After`.

`Admin access required`
: The task needs an owner or admin. Notices need Tier 3 support or above, and a lower role gets `Support access required`.

`Unknown timezone`
: Use a time zone name from the IANA database, such as `Europe/London` or `America/New_York`.

`Currency CHF is not enabled on the platform`
: Choose a currency Coritan has enabled, or [contact support](https://www.coritan.com/dashboard/support) to ask for another.

`The invoice prefix is letters, digits, - and _ only`
: Remove spaces and other characters from the prefix.

`Unknown feature switch: invoices`
: Only the five switches in [Turn features on or off](#turn-features-on-or-off) exist.

`The brand's mail server did not accept the test email`
: Check how your email leaves, as [Change organization settings](/organizations/settings/#choose-how-your-email-leaves) explains, then send the test again.

`The notice must end after it starts`
: Move the end after the start, or clear one of them.

The notice does not show on the status page
: The status page lists maintenance and incident notices only. Show an `info` notice on the dashboard.

## Related

- [Manage members and roles](/organizations/members-and-roles/)
- [Organization roles and permissions](/organizations/roles-and-permissions/)
- [Change organization settings](/organizations/settings/)
- [Create organization API keys](/organizations/api-keys/)
- [Answer customer conversations](/organizations/staff-console/support-inbox/)

## With the API

These routes live under `https://api.coritan.com/api/v1/orgs/{org_slug}/staff/`, and take a console session or a member's access token as [The staff console](/organizations/staff-console/#with-the-api) explains. A step-up needs a console session. The reference lists them under [Staff team](/api/reference/organizations/org-staff-team/), [the assignee list](/api/reference/organizations/org-staff-auth/), [Settings in the staff console](/api/reference/organizations/organizations-members/staff/), [API keys](/api/reference/organizations/api-keys/) and [Staff notices](/api/reference/organizations/org-staff-notices/).

### Read the team

```bash
curl https://api.coritan.com/api/v1/orgs/acme/staff/team/detail \
  -H "Authorization: Bearer $STAFF_TOKEN"
```

The answer has `members`, each with `id`, `role`, `email`, `name`, `last_staff_login_at`, `mfa_enabled`, `can_sign_in`, `is_me` and `customer_link`, plus the `roles` you can assign, `my_role` and the `policy` with `require_mfa`. `GET /staff/team` is the short list the inbox picks an assignee from: each member's `user_id`, `member_id`, `email`, `name`, `role`, `can_sign_in` and `is_me`.

### Add and change members

```bash
curl -X POST https://api.coritan.com/api/v1/orgs/acme/staff/team \
  -H "Authorization: Bearer $STAFF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email": "alex@example.com", "name": "Alex Example", "role": "support_tier2"}'
```

The body takes `email`, `name` (up to 200 characters), `role` (`support_tier1` when you leave it out), `send_invite_email` (`true` when you leave it out), `password`, `customer_link` (`auto`, `existing`, `create` or `none`) and `customer_id` for `existing`. It answers `201` with the member, `created_user` (whether the email was new to Coritan) and `invite_sent`. `invite_sent` does not confirm delivery: if no email arrives, send a password link.

The other routes act on one member, by the `id` in `members`:

| Route | Body | What it does |
| --- | --- | --- |
| `PATCH /staff/team/{member_id}` | `role` | Changes the role and answers `id`, `user_id` and `role`. |
| `DELETE /staff/team/{member_id}` | None | Removes the member. |
| `POST /staff/team/{member_id}/revoke-sessions` | None | Signs the member out and answers how many sessions ended in `revoked`. |
| `POST /staff/team/{member_id}/reset-password` | `send_email` (`true` when you leave it out), `password` | Sends a link, sets a password, or both, and answers `link_sent`. |
| `POST /staff/team/{member_id}/reset-mfa` | None | Removes the second factor and answers `had_mfa` and `sessions_ended`. |
| `GET /staff/team/{member_id}/customer-link` | None | Answers the storefront account: `mode` (`auto`, `linked` or `none`), `customer_id` and `customer`. |
| `PUT /staff/team/{member_id}/customer-link` | `mode`, `customer_id` | `existing` attaches `customer_id`, `create` makes an account with the member's email, `auto` goes back to the default and `none` detaches. |
| `DELETE /staff/team/{member_id}/customer-link` | None | Makes the member console-only. |

`GET /staff/team/policy` answers `require_mfa`, and `PATCH` with `{"require_mfa": true}` sets the rule.

### Change the settings

```bash
curl -X PATCH https://api.coritan.com/api/v1/orgs/acme/staff/settings \
  -H "Authorization: Bearer $STAFF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"support_email": "support@example.com", "payment_terms_days": 14, "features": {"maintenance": true}}'
```

`GET /staff/settings` answers the fields in [Change the brand's details](#change-the-brand-s-details) by their names (`company_name`, `legal_name`, `registration_number`, `tax_id`, `registered_address`, `country_code`, `support_email`, `billing_email`, `terms_url`, `privacy_url`, `logo_url`, `favicon_url`, `primary_color`, `secondary_color`, `invoice_prefix`, `invoice_footer`, `default_currency`, `tax_rate`, `payment_terms_days` and `timezone`), with `custom_domain`, `custom_domain_verified` and the five `features`. `PATCH` takes any of them, and `features` as an object of switch names and `true` or `false`. It answers what `changed`, each field with `from` and `to`, and the new `settings`. A body with no fields answers `400 Nothing to change`.

`GET /staff/settings/support-desk` answers `tier1_claim_limit` with the `default_tier1_claim_limit`, `min` and `max`. `PATCH` with `{"tier1_claim_limit": 15}` changes it.

### Preview the error page and emails

`GET /staff/settings/error-page` answers the saved `config`, the brand `defaults` it falls back on, the `effective` page and the `preview_host` it names. `PATCH` takes `enabled`, `heading`, `message`, `detail`, `logo_url`, `accent_color`, `support_url`, `support_label`, `updates_url`, `updates_label`, `theme`, `background_color`, `surface_color`, `text_color`, `radius`, `font` and `status_style`. A field sent as `null` goes back to the default, and an unknown field answers `422`. To see a page before you save it:

```bash
curl -X POST https://api.coritan.com/api/v1/orgs/acme/staff/settings/error-page/preview \
  -H "Authorization: Bearer $STAFF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"error_page": {"heading": "We will be right back", "detail": "minimal", "theme": "dark"}, "status": 504}' \
  -o preview.html
```

The answer is the page as HTML. Leave out `error_page` to preview the saved one.

`GET /staff/settings/email-design` answers the saved `design`, its `defaults` and the `options` each field takes. `PATCH` takes `theme`, `accent_color`, `background_color`, `surface_color`, `text_color`, `radius`, `font`, `header`, `logo_url`, `footer_text`, `links` (a list of `label` and `url`) and `show_address`, and `null` returns a field to the default. `POST /staff/settings/email-design/preview` with `email_design` and a `sample` (`welcome`, `invoice`, `action` or `reply`) answers the email as HTML. `POST /staff/settings/email-design/test` with the same body sends it to your own address and answers `sent`, `to` and `sample`.

### Create and revoke keys

`GET /staff/settings/api-keys` lists every key with its `label`, `permissions`, `rate_limit_per_hour`, `ip_whitelist`, `is_active`, `last_used_at` and `created_at`. `POST` with `label`, `rate_limit_per_hour` and `ip_whitelist` answers `201` with the key in `raw_key`, and it takes no scopes. `DELETE /staff/settings/api-keys/{key_id}` revokes a key and answers `{"ok": true}`, or `404 API key not found`.

### Post notices and updates

```bash
curl -X POST https://api.coritan.com/api/v1/orgs/acme/staff/notices \
  -H "Authorization: Bearer $STAFF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"kind": "maintenance", "title": "Network maintenance on Sunday", "placement": "both", "status": "live", "starts_at": "2026-10-04T01:00:00Z", "ends_at": "2026-10-04T02:00:00Z"}'
```

| Field | Values | Default |
| --- | --- | --- |
| `kind` | `info`, `maintenance` or `incident` | `info` |
| `title` | 1–200 characters | Required |
| `body` | Up to 8,000 characters | None |
| `audience` | `all`, `paying` or `free` | `all` |
| `placement` | `dashboard`, `status` or `both` | `dashboard` |
| `status` | `draft`, `live` or `resolved` | `draft` |
| `starts_at`, `ends_at` | Times in UTC | None |

Send times in UTC with a `Z`: we drop any other offset without converting the time. It answers `201` with the notice.

`GET /staff/notices` lists up to 200 notices, newest first, each with its `updates` and `is_showing`, which is `true` while customers can see it. `status` narrows the list to `draft`, `live` or `resolved`. `PATCH /staff/notices/{notice_id}` takes the same fields, plus `clear_starts_at` and `clear_ends_at` to remove a start or an end. `POST /staff/notices/{notice_id}/updates` with `state` and `body` posts an update and answers `201`. `DELETE /staff/notices/{notice_id}` deletes the notice.

## API

- `GET /api/v1/orgs/{org_slug}/staff/team`: The people a ticket can be assigned to: every member of this brand (https://docs.coritan.com/api/reference/organizations/org-staff-auth/#op-get-api-v1-orgs-org-slug-staff-team)
- `POST /api/v1/orgs/{org_slug}/staff/team`: Staff invite member (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-post-api-v1-orgs-org-slug-staff-team)
- `GET /api/v1/orgs/{org_slug}/staff/team/detail`: Everyone on the brand, with role, last sign-in and whether they can sign in at all (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-get-api-v1-orgs-org-slug-staff-team-detail)
- `GET /api/v1/orgs/{org_slug}/staff/team/policy`: Staff team policy (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-get-api-v1-orgs-org-slug-staff-team-policy)
- `PATCH /api/v1/orgs/{org_slug}/staff/team/policy`: Require a second factor of everyone on the brand (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-patch-api-v1-orgs-org-slug-staff-team-policy)
- `PATCH /api/v1/orgs/{org_slug}/staff/team/{member_id}`: Staff change role (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-patch-api-v1-orgs-org-slug-staff-team-member-id)
- `DELETE /api/v1/orgs/{org_slug}/staff/team/{member_id}`: Staff remove member (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-delete-api-v1-orgs-org-slug-staff-team-member-id)
- `GET /api/v1/orgs/{org_slug}/staff/team/{member_id}/customer-link`: Which storefront customer account a teammate is, if any (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-get-api-v1-orgs-org-slug-staff-team-member-id-customer-link)
- `PUT /api/v1/orgs/{org_slug}/staff/team/{member_id}/customer-link`: Attach a teammate to an existing customer account, or make them one with their email (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-put-api-v1-orgs-org-slug-staff-team-member-id-customer-link)
- `DELETE /api/v1/orgs/{org_slug}/staff/team/{member_id}/customer-link`: Make a teammate console-only (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-delete-api-v1-orgs-org-slug-staff-team-member-id-customer-link)
- `POST /api/v1/orgs/{org_slug}/staff/team/{member_id}/reset-mfa`: For a teammate who lost their phone: remove their second factor and end their sessions (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-post-api-v1-orgs-org-slug-staff-team-member-id-reset-mfa)
- `POST /api/v1/orgs/{org_slug}/staff/team/{member_id}/reset-password`: Staff reset member password (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-post-api-v1-orgs-org-slug-staff-team-member-id-reset-password)
- `POST /api/v1/orgs/{org_slug}/staff/team/{member_id}/revoke-sessions`: Staff revoke member sessions (https://docs.coritan.com/api/reference/organizations/org-staff-team/#op-post-api-v1-orgs-org-slug-staff-team-member-id-revoke-sessions)
- `GET /api/v1/orgs/{org_slug}/staff/settings`: Staff get settings (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-get-api-v1-orgs-org-slug-staff-settings)
- `PATCH /api/v1/orgs/{org_slug}/staff/settings`: Staff patch settings (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-patch-api-v1-orgs-org-slug-staff-settings)
- `GET /api/v1/orgs/{org_slug}/staff/settings/api-keys`: Staff list API keys (https://docs.coritan.com/api/reference/organizations/api-keys/#op-get-api-v1-orgs-org-slug-staff-settings-api-keys)
- `POST /api/v1/orgs/{org_slug}/staff/settings/api-keys`: A key for the brand's own integrations (https://docs.coritan.com/api/reference/organizations/api-keys/#op-post-api-v1-orgs-org-slug-staff-settings-api-keys)
- `DELETE /api/v1/orgs/{org_slug}/staff/settings/api-keys/{key_id}`: Staff revoke API key (https://docs.coritan.com/api/reference/organizations/api-keys/#op-delete-api-v1-orgs-org-slug-staff-settings-api-keys-key-id)
- `GET /api/v1/orgs/{org_slug}/staff/settings/email-design`: Staff get email design (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-get-api-v1-orgs-org-slug-staff-settings-email-design)
- `PATCH /api/v1/orgs/{org_slug}/staff/settings/email-design`: Change how the brand's email looks (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-patch-api-v1-orgs-org-slug-staff-settings-email-design)
- `POST /api/v1/orgs/{org_slug}/staff/settings/email-design/preview`: Staff preview email design (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-post-api-v1-orgs-org-slug-staff-settings-email-design-preview)
- `POST /api/v1/orgs/{org_slug}/staff/settings/email-design/test`: Staff test email design (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-post-api-v1-orgs-org-slug-staff-settings-email-design-test)
- `GET /api/v1/orgs/{org_slug}/staff/settings/error-page`: Staff get error page (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-get-api-v1-orgs-org-slug-staff-settings-error-page)
- `PATCH /api/v1/orgs/{org_slug}/staff/settings/error-page`: Reword the page, pick its level of detail, switch it on or off (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-patch-api-v1-orgs-org-slug-staff-settings-error-page)
- `POST /api/v1/orgs/{org_slug}/staff/settings/error-page/preview`: The page as a visitor would get it, for a block that is not saved yet (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-post-api-v1-orgs-org-slug-staff-settings-error-page-preview)
- `GET /api/v1/orgs/{org_slug}/staff/settings/support-desk`: Staff get support desk (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-get-api-v1-orgs-org-slug-staff-settings-support-desk)
- `PATCH /api/v1/orgs/{org_slug}/staff/settings/support-desk`: Staff patch support desk (https://docs.coritan.com/api/reference/organizations/organizations-members/staff/#op-patch-api-v1-orgs-org-slug-staff-settings-support-desk)
- `GET /api/v1/orgs/{org_slug}/staff/notices`: Staff list notices (https://docs.coritan.com/api/reference/organizations/org-staff-notices/#op-get-api-v1-orgs-org-slug-staff-notices)
- `POST /api/v1/orgs/{org_slug}/staff/notices`: Staff create notice (https://docs.coritan.com/api/reference/organizations/org-staff-notices/#op-post-api-v1-orgs-org-slug-staff-notices)
- `PATCH /api/v1/orgs/{org_slug}/staff/notices/{notice_id}`: Staff patch notice (https://docs.coritan.com/api/reference/organizations/org-staff-notices/#op-patch-api-v1-orgs-org-slug-staff-notices-notice-id)
- `DELETE /api/v1/orgs/{org_slug}/staff/notices/{notice_id}`: Staff delete notice (https://docs.coritan.com/api/reference/organizations/org-staff-notices/#op-delete-api-v1-orgs-org-slug-staff-notices-notice-id)
- `POST /api/v1/orgs/{org_slug}/staff/notices/{notice_id}/updates`: A line on the timeline (https://docs.coritan.com/api/reference/organizations/org-staff-notices/#op-post-api-v1-orgs-org-slug-staff-notices-notice-id-updates)
