> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.indusuite.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# API management

## Prerequisites

- InduSuite account with **main administrator** access (API management is admin-only)
- API key from the Settings > Company settings > API management page
- A REST-capable client (curl, Postman, Python requests, etc.)

## How to Run

1. Navigate to **Settings > Company settings** in InduSuite.

   ![API menu location](https://storage.crisp.chat/users/helpdesk/website/-/1/c/b/d/1cbda94eeb4b4100/api-menu-location_1dzglqt.png)

2. If you lack admin rights, you'll be notified and cannot proceed.

   ![Admin only](https://storage.crisp.chat/users/helpdesk/website/-/1/c/b/d/1cbda94eeb4b4100/api-admin-only_f36ak8.png)

3. In the API management view, copy your API key. **Do NOT share it with unauthorized parties.**

   ![API overview](https://storage.crisp.chat/users/helpdesk/website/-/1/c/b/d/1cbda94eeb4b4100/api-overview_dcax.png)

4. Use the key as a Bearer token or header parameter in your API calls.

## API Endpoints

Three endpoints are currently available:

| Endpoint | URL | Purpose |
|----------|-----|---------|
| Devices | `https://api.indusuite.com/api/devices/` | Welding equipment |
| Personnel | `https://api.indusuite.com/api/personnel/` | Personnel members |
| Weld Sessions | `https://api.indusuite.com/weldsessions/` | Weld session data |

Each endpoint has detailed documentation with required parameters.

![API endpoints](https://storage.crisp.chat/users/helpdesk/website/-/1/c/b/d/1cbda94eeb4b4100/api-endpoints_3estox.png)

## Examples

For hands-on examples with screenshots, see related skills:

- **api-get-devices-guide** — Get all connected devices
- **api-get-personnel-guide** — Get personnel member ID and JSON payload

### JSON Payload Example

When updating personnel via API, you need the **complete** JSON payload:

```json
{
  "id": "03783141-ed39-4949-9e78-0a2a4e9b6320",
  "displayName": "Sample Welder",
  "sites": ["Welding Department"],
  "email": null,
  "firstName": "Sample",
  "secondName": "Welder",
  "operatorId": "DD8175",
  "operatorUsername": "",
  "nfcId": "",
  "language": "en-GB",
  "unitOfMeasurement": "metric",
  "stamp": "SW706",
  "isActive": true,
  "activeUntil": null,
  "roles": ["Fitter"],
  "isDeleted": false
}
```

To add a Welder role, change the `roles` array to `["Fitter", "Welder"]` and send the complete payload via the update API call.
