---
title: How do I manage my API keys?
description: Create, copy, and revoke Clean Smarts API keys in Company Settings. Expert-plan admins set up a service account per integration; the secret is shown once.
---

[Skip to content](https://support.cleansmarts.com/how-do-i-manage-my-api-keys#main-content)

[![](https://support.cleansmarts.com/hs-fs/hubfs/cleansmarts_logo_white_med.png?width=320&height=110&name=cleansmarts_logo_white_med.png)](https://www.cleansmarts.com/)

Open main navigation

Close main navigation

- [Contact us](mailto:support@cleansmarts.com)

[Contact us](mailto:support@cleansmarts.com)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Clean Smarts Knowledge Base](https://support.cleansmarts.com/?hsLang=en-us)
2. [Web Portal](https://support.cleansmarts.com/web-portal?hsLang=en-us)
3. [Integrations](https://support.cleansmarts.com/web-portal?hsLang=en-us#integrations)

# How do I manage my API keys?

## Expert-plan administrators create and revoke API keys in Company Settings → Security. Each integration gets its own service account, and the key secret is shown only once.

How Do I Create and Manage API Keys?

API keys let your own tools read and update Clean Smarts data over the public API. You create them in **Company Settings → Security**, under **API Keys**. Each integration gets its own **service account**, and that account holds the key.

**Applies to:** Account administrators with the **Manage Account** module, on the **Expert** plan, when self-serve API keys are enabled for the company. API keys are managed in the web portal only.

API access is governed by the [Clean Smarts SaaS Services Agreement](https://www.cleansmarts.com/services-agreement) and the [Privacy Policy](https://www.cleansmarts.com/privacy). Endpoint details are in the [developer documentation](https://developer.cleansmarts.com/).

---

### Before You Start

- Sign in to the Clean Smarts **web portal**.
- Your role needs **Manage Account**. The default **Admin** role includes it.
- The company must be on the **Expert** plan. On another plan, Security shows: "An Expert plan is required to create and manage API keys." Use **Upgrade to Expert** on that message to change plans.
- On Expert, self-serve keys must be turned on for your company. If Security says "Self-serve API keys are not enabled for your organization," email [**support@cleansmarts.com**](mailto:support@cleansmarts.com) with the subject **Clean Smarts API Keys Inquiry**.

A service account is not a person. It does not appear in **Manage Users**, it cannot sign in to the web portal or the mobile app, and it does not use a billed seat. Records it creates show the service account's name.

---

### Open API Keys

1. Click your **profile** in the bottom-left corner and choose **Company Settings**.
2. Open **Security**.

The page description is "Manage single sign-on and API integrations for your company." When keys are available, the **API Keys** card says "Create service accounts and API keys for third-party integrations."

You can also press **Ctrl+K** (or **Cmd+K** on a Mac) and search for **Security**.

---

### Create a Service Account

Creating the account does not create a key. You add the key in the next section.

1. On **API Keys**, click **Create service account**.
2. Enter a **Name** that identifies the integration, such as "Scheduling sync" or "Building client issues."
3. Choose a **Kind**: 
     - **Service account** for your company's own integration.
     - **Customer service account** when the integration should act as a building client. Issues it creates follow client notification rules. Limit **Locations** to that client's sites.
4. Under **Modules**, turn on only what that integration needs. You can grant modules you yourself can use. **Select all** and **Clear** apply to that list.
5. Under **Locations**, choose one: 
     - **All Locations** includes current sites and sites you add later.
     - **Selected Locations** limits access to the sites you choose, including their sub-locations.
6. Click **Create**.

Kind is chosen when you create the account. To switch kind later, create a new account and move the integration to a new key.

To change the name, modules, or locations afterward, open the **actions** menu (the three dots) on that row and choose **Edit**, then **Save**. The existing key keeps working. The next API call uses the updated modules and locations.

---

### Create a Key

1. On the service account row, click **Create key**. That link appears next to **No keys**. You can also open the **actions** menu and choose **Create key**.
2. In **Mint key**, enter a **Key name**.
3. Set **Expiration (optional)** if the key should stop on a date. Leave it blank to keep the key until you revoke it. The table shows **Never** when there is no expiration.
4. Click **Mint key**.
5. Copy the **API key secret** and store it in your integration's secret store. The dialog says "Copy this secret now. You will not be able to view it again."
6. Click **Close**.

After that, the row shows the key name, a masked value, **Active** or **Expired**, and the created, last used, and expires dates. Clean Smarts cannot email the secret back to you. If it is lost, create a new key and revoke the old one.

Send the secret on each request in the `X-Api-Key` header over HTTPS. The [developer documentation](https://developer.cleansmarts.com/) lists the endpoints and the request format.

Give each integration its own service account. A second key on the same account is for rotation: create the new key, point the integration at it, confirm it works, then revoke the old key.

---

### Revoke a Key or Delete an Account

**Revoke one key.** On the key, click **Revoke key** and confirm. Callers using that secret stop working immediately. Other keys on the same account keep working.

**Delete the account.** Open the **actions** menu and choose **Delete**. Confirming deletes the account and revokes every key on it.

---

### A Key Clean Smarts Sent You Earlier

Companies that received a key from support see an extra row, **Legacy company API key**, with status **Legacy**. That key keeps working until you revoke it. It has access as your company's primary admin, so replace it with a service account scoped to the modules and locations that integration needs, then click **Revoke key** on the legacy row.

Revoking the legacy key stops every integration still using it.

---

### Tips and Troubleshooting

**I see "An Expert plan is required to create and manage API keys."** The company is not on the Expert plan. Click **Upgrade to Expert** on that message, or open **Plan & Billing** in Company Settings.

**I am on Expert and still cannot create a key.** Security is showing "Self-serve API keys are not enabled for your organization." Email [**support@cleansmarts.com**](mailto:support@cleansmarts.com) and ask to enable self-serve API keys for the company.

**I don't see Company Settings or Security.** Your role is missing **Manage Account**. Ask an admin to grant that module or assign the **Admin** role. See [What does each of the user modules do?](https://support.cleansmarts.com/what-does-each-of-the-user-modules-do?hsLang=en-us).

**The API returns an error after I copied the key.** Confirm the request uses HTTPS, sends `X-Api-Key`, and calls an endpoint from the [developer documentation](https://developer.cleansmarts.com/). The service account also needs the module for that action and access to the location in the request. An expired key shows **Expired** on the row; create a new one.

**I closed the dialog before copying the secret.** Create another key and revoke the one you did not save.

**Key inventory is temporarily unavailable.** You can still edit service accounts, and a legacy key keeps working. Try **Create key** again later. Use **Retry** if the card says it could not load integrations.

**I need a test company.** Email [**support@cleansmarts.com**](mailto:support@cleansmarts.com). Support can provision an isolated test company with its own keys. Do not use a development host as a customer sandbox.

**A secret may have leaked.** Email [**support@cleansmarts.com**](mailto:support@cleansmarts.com), mark it urgent, and revoke that key in **API Keys**. Create a replacement on the same service account after the old one is revoked.

**I want to connect Claude or ChatGPT.** Those connectors sign in with your Clean Smarts user. They do not use the API keys on this page.

- [Getting started](https://support.cleansmarts.com/getting-started?hsLang=en-us)
- [Mobile App](https://support.cleansmarts.com/mobile-app?hsLang=en-us#main-content)

    - [Getting Started](https://support.cleansmarts.com/mobile-app?hsLang=en-us#getting-started)
    - [Timekeeping](https://support.cleansmarts.com/mobile-app?hsLang=en-us#timekeeping)
    - [Geofences](https://support.cleansmarts.com/mobile-app?hsLang=en-us#geofences)
    - [Shifts, Jobs & Work Orders](https://support.cleansmarts.com/mobile-app?hsLang=en-us#shifts-jobs-work-orders)
    - [Checklists, Tasks, and Scan Points](https://support.cleansmarts.com/mobile-app?hsLang=en-us#checklists-tasks-and-scan-points)
    - [Issues and Service Requests](https://support.cleansmarts.com/mobile-app?hsLang=en-us#issues-and-service-requests)
    - [Inspections](https://support.cleansmarts.com/mobile-app?hsLang=en-us#inspections)
    - [Supplies](https://support.cleansmarts.com/mobile-app?hsLang=en-us#supplies)
    - [Messaging and Notifications](https://support.cleansmarts.com/mobile-app?hsLang=en-us#messaging-and-notifications)
    - [Manager Features](https://support.cleansmarts.com/mobile-app?hsLang=en-us#manager-features)
    - [Offline, Sync & Troubleshooting](https://support.cleansmarts.com/mobile-app?hsLang=en-us#offline-sync-troubleshooting)
    - [Profile and Help](https://support.cleansmarts.com/mobile-app?hsLang=en-us#profile-and-help)
    - [Training](https://support.cleansmarts.com/mobile-app?hsLang=en-us#training)
- [Web Portal](https://support.cleansmarts.com/web-portal?hsLang=en-us#main-content)

    - [Checklists, Tasks, and Scan Points](https://support.cleansmarts.com/web-portal?hsLang=en-us#checklists-tasks-and-scan-points)
    - [Users](https://support.cleansmarts.com/web-portal?hsLang=en-us#users)
    - [Custom Fields](https://support.cleansmarts.com/web-portal?hsLang=en-us#custom-fields)
    - [Geofences](https://support.cleansmarts.com/web-portal?hsLang=en-us#geofences)
    - [Inspections](https://support.cleansmarts.com/web-portal?hsLang=en-us#inspections)
    - [Issues and Service Requests](https://support.cleansmarts.com/web-portal?hsLang=en-us#issues-and-service-requests)
    - [Locations and Sub-locations](https://support.cleansmarts.com/web-portal?hsLang=en-us#locations-and-sub-locations)
    - [Messaging](https://support.cleansmarts.com/web-portal?hsLang=en-us#messaging)
    - [Pay Rates and Job Costing](https://support.cleansmarts.com/web-portal?hsLang=en-us#pay-rates-and-job-costing)
    - [Shifts and Scheduling](https://support.cleansmarts.com/web-portal?hsLang=en-us#shifts-and-scheduling)
    - [Supplies](https://support.cleansmarts.com/web-portal?hsLang=en-us#supplies)
    - [Time and Attendance](https://support.cleansmarts.com/web-portal?hsLang=en-us#time-and-attendance)
    - [Translation](https://support.cleansmarts.com/web-portal?hsLang=en-us#translation)
    - [Work Orders](https://support.cleansmarts.com/web-portal?hsLang=en-us#work-orders)
    - [Assets and Equipment](https://support.cleansmarts.com/web-portal?hsLang=en-us#assets-and-equipment)
    - [Billing and Subscriptions](https://support.cleansmarts.com/web-portal?hsLang=en-us#billing-and-subscriptions)
    - [Integrations](https://support.cleansmarts.com/web-portal?hsLang=en-us#integrations)
    - [Payroll](https://support.cleansmarts.com/web-portal?hsLang=en-us#payroll)
- [Customer Portal](https://support.cleansmarts.com/customer-portal?hsLang=en-us#main-content)

    - [Getting Started](https://support.cleansmarts.com/customer-portal?hsLang=en-us#getting-started)
    - [Completed Work](https://support.cleansmarts.com/customer-portal?hsLang=en-us#completed-work)
    - [Quality](https://support.cleansmarts.com/customer-portal?hsLang=en-us#quality)
    - [Service Requests](https://support.cleansmarts.com/customer-portal?hsLang=en-us#service-requests)
    - [Messages](https://support.cleansmarts.com/customer-portal?hsLang=en-us#messages)
    - [Supplies](https://support.cleansmarts.com/customer-portal?hsLang=en-us#supplies)
    - [Notifications](https://support.cleansmarts.com/customer-portal?hsLang=en-us#notifications)

[![](https://support.cleansmarts.com/hs-fs/hubfs/cleansmarts_logo_white_med.png?width=320&height=110&name=cleansmarts_logo_white_med.png)](https://www.cleansmarts.com/)

<https://www.linkedin.com/company/25431328/admin/feed/posts/?feedType=following> <https://www.instagram.com/cleansmarts/> <https://www.facebook.com/CleanSmarts> <https://www.youtube.com/playlist?list=PLfEnuG6Zr4hr12qZosZi5vZ3yA_0YEjce>

Copyright © 2026, Clean Smarts