> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.kodelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Service Accounts

> Learn how to create and manage service accounts for API and system integrations

The **Service Accounts** page, accessible from the left-hand sidebar, lists all existing service accounts in rows, with each row displaying key information about the respective account. Selecting a service account opens a dedicated view for it, providing access to two sections: **Details** and **Permissions**.

## Details

This section provides an overview of the service account and supports existing credential management.

Use the **Details** section to:

* View general information and details about the service account
* Generate new credentials or add your own (for example, in JSON format)
* Edit or disable existing credentials

```mermaid actions={false} theme={null}
---
config:
  theme: neutral
---
flowchart LR
 subgraph s1["Service Accounts Table"]
        A1["Service Account A"]
        A2["Service Account B"]
        A3["Service Account C"]
  end
 subgraph s2["Account Sections"]
        D1["Details"]
        D2["Permissions"]
  end
 subgraph s3["Details"]
        P1["Account Info"]
        P2["Keys"]
  end
    A2 -- access --> D1
    A2 -- </br> --- D2
    D1 -- View & Manage --> P1 & P2

    linkStyle 0 stroke:#00C853,fill:none
    linkStyle 1 stroke:none,fill:none
    linkStyle 2 stroke:#FF6D00,fill:none
    linkStyle 3 stroke:#FF6D00,fill:none
```

## Permissions

This section allows you configure granular `Read` and `Write` permissions per resource so the service account has only the access it needs for its integration.

Use the **Permissions** section to:

* View and edit `Read` or `Write` access for each permission group
* Scope access so integrations can only read or write the resources you allow

Refer to the [permissions reference](/products/launchpad/client-organizations/service-accounts/permissions-reference) for more details.

```mermaid actions={false} theme={null}
---
config:
  theme: neutral
---
flowchart LR
 subgraph s1["Service Accounts Table"]
        A1["Service Account A"]
        A2["Service Account B"]
        A3["Service Account C"]
  end
 subgraph s2["Account Sections"]
        D1["Details"]
        D2["Permissions"]
  end
 subgraph s3["Permissions"]
        P1["General"]
        P2["Actions"]
        P3["AreasPublic"]
        P4["DatasourcesPublic"]
        P5["DevicesPublic"]
        P6["MetersPublic"]
        P7["PointsPublic"]
        P8["SpacesPublic"]
        P9["TenantsPublic"]
        P10["TimeseriesPublic"]
        P11["WorkOrdersPublic"]
  end
    A2 -- </br> ------ D1
    A2 -- access ----- D2
    D2 -- edit --- P1 & P2 & P3 & P4 & P5 & P6 & P7 & P8 & P9 & P10 & P11

    linkStyle 0 stroke:none,fill:none
    linkStyle 1 stroke:#00C853,fill:none
    linkStyle 2 stroke:#FF6D00,fill:none
    linkStyle 3 stroke:#FF6D00,fill:none
    linkStyle 4 stroke:#FF6D00,fill:none
    linkStyle 5 stroke:#FF6D00,fill:none
    linkStyle 6 stroke:#FF6D00,fill:none
    linkStyle 7 stroke:#FF6D00,fill:none
    linkStyle 8 stroke:#FF6D00,fill:none
    linkStyle 9 stroke:#FF6D00,fill:none
    linkStyle 10 stroke:#FF6D00,fill:none
    linkStyle 11 stroke:#FF6D00,fill:none
```

## Create a service account

You can create a service account directly from the **Service Accounts** page using the `+Add Service` button. Follow the steps outlined below to create a new service account.

<Note>
  You can manage a service account’s **details** and **permissions** once it has been created.
</Note>

<Steps>
  <Step title="Open the Service Accounts page">
    Once inside Launchpad, navigate to the **Service Accounts** page located on the left-hand sidebar.
  </Step>

  <Step title="Click +Add Service">
    Once on **Service Accounts**, click the `+Add Service` button to create a new account.
  </Step>

  <Step title="Configure service account details">
    Complete the following fields for the new service account.

    <Expandable defaultOpen={true} title="Example Configuration">
      | Field           | Example Configuration                              |
      | --------------- | -------------------------------------------------- |
      | Name            | `BMS Integration`                                  |
      | Credential Type | `Private Key (JWT)` or `Client Secret`             |
      | Description     | `Describe the Service Account purpose`             |
      | Assign Sites(s) | `Select one or more buildings from your portfolio` |
    </Expandable>
  </Step>

  <Step title="Save">
    Once you have configured the required details, click **Save** to create the service account.
  </Step>

  <Step title="Generate credentials">
    After you create the service account, generate the credentials based on the credential type you selected.

    <Tabs>
      <Tab title="Private Key (JWT)">
        Select **Generate Private Key** on the service account detail page. Launchpad generates a key pair and downloads the private key file to your machine.

        <Warning>
          The private key file downloads only once. Store it in a secure location immediately. If you lose the key, you must generate a new one and update your integration.
        </Warning>
      </Tab>

      <Tab title="Client Secret">
        Select **Generate Client Secret** on the service account detail page. Launchpad displays the secret value on screen.

        <Warning>
          The client secret displays only once. Copy and store it in a secure location immediately. If you lose the secret, you must generate a new one and update your integration.
        </Warning>
      </Tab>
    </Tabs>
  </Step>
</Steps>
