---
title: Glpi
slug: connectors/glpi
docTags: 
createdAt: 2026-06-09T16:29:42.677Z
---

GLPI is an open-source IT asset and service management software that helps organizations manage their IT infrastructure efficiently.

GLPI is an open-source IT asset management and service desk solution that helps organizations efficiently manage their IT infrastructure. The GLPI Turbine Connector enables seamless integration with Swimlane Turbine, allowing users to automate IT asset management tasks such as adding, updating, deleting, and searching for items, as well as uploading documents. This integration enhances operational efficiency by streamlining IT service management processes and reducing manual effort, enabling security teams to focus on more strategic tasks.

This connector integrates GLPI Project with Turbine.

## Prerequisites

Before you can use the GLPI connector for Turbine, you'll need access to the GLPI API. This requires the following:

- API key authentication using the following parameters:
  - URL: The endpoint for accessing the GLPI API.
  - User Token: A token representing the user identity for API access.
  - APP Token: An application-specific token for authenticating API requests.
- HTTP Basic authentication using the following parameters:
  - URL: The endpoint for accessing the GLPI API.
  - Username: The username for logging into the GLPI system.
  - Password: The password associated with the GLPI username.
  - App Token: An application-specific token for authenticating API requests.

## Capabilities

The GLPI connector provides the following capabilities:

- Add Item
- Delete Item
- Search Items
- Update Item
- Upload Document

## Notes

API Reference: [https://github.com/glpi-project/glpi](https://github.com/glpi-project/glpi)

## Additional Documentation

- [Glpi Connector Documentation](https://docs.swimlane.com/connectors/glpi)
- [Glpi API Documentation](https://api.glpi-project.org/)

# Configurations

## API Key Authentication

Authenticates using an API Key

### Configuration Parameters

| **Parameter** | **Description**                    | **Type** | **Required** |
| ------------- | ---------------------------------- | -------- | ------------ |
| url           | A URL to the target host.          | string   | Required     |
| x-apikey      | User Token                         | string   | Required     |
| app-token     | APP Token                          | string   | Required     |
| verify\_ssl   | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy   | A proxy to route requests through. | string   | Optional     |

## HTTP Basic Authentication

Authenticates using username and password.

### Configuration Parameters

| **Parameter** | **Description**                    | **Type** | **Required** |
| ------------- | ---------------------------------- | -------- | ------------ |
| url           | A URL to the target host.          | string   | Required     |
| username      | Username                           | string   | Required     |
| password      | Password                           | string   | Required     |
| app-token     | App Token                          | string   | Required     |
| verify\_ssl   | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy   | A proxy to route requests through. | string   | Optional     |

# Actions

## Add Item

Add one or more objects into GLPI using specified item type and input data.

### Endpoint

- **URL:** `apirest.php/{{itemtype}}`
- **Method:** `POST`

### Input

| **Argument Name**          | **Type** | **Required** | **Description**                    |
| -------------------------- | -------- | ------------ | ---------------------------------- |
| `path_parameters.itemtype` | string   | Required     | Parameters for the Add Item action |
| `input`                    | array    | Optional     | Input data for the action          |
| `input.name`               | string   | Optional     | Input data for the action          |
| `input.serial`             | string   | Optional     | Input data for the action          |

### Input Example

`{"json_body":{"input":[{"name":"My first computer","serial":"12345"},{"name":"My 2nd computer","serial":"67890"},{"name":"My 3rd computer","serial":"qsd12sd"}]},"path_parameters":{"itemtype":"Computer"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"id":8,"message":""},{"id":false,"message":"You don't have permission to perform this action."},{"id":9,"message":""}]}`

## Delete Item

Delete an existing object in GLPI using specified item type and input data.

### Endpoint

- **URL:** `apirest.php/{{itemtype}}/{{id}}`
- **Method:** `DELETE`

### Input

| **Argument Name**          | **Type** | **Required** | **Description**                       |
| -------------------------- | -------- | ------------ | ------------------------------------- |
| `path_parameters.itemtype` | string   | Required     | Parameters for the Delete Item action |
| `input`                    | array    | Optional     | Input data for the action             |
| `input.id`                 | number   | Required     | Input data for the action             |
| `force_purge`              | boolean  | Optional     | Parameter for Delete Item             |
| `history`                  | boolean  | Optional     | Parameter for Delete Item             |

### Input Example

`{"json_body":{"input":[{"id":16},{"id":17}],"force_purge":false,"history":false},"path_parameters":{"itemtype":"Computer"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"16":true,"message":""},{"17":false,"message":"Item not found"}]}`

## Search Items

Expose the GLPI search engine to retrieve a list of elements based on specified item type and criteria.

### Endpoint

- **URL:** `apirest.php/search/{{itemtype}}`
- **Method:** `GET`

### Input

| **Argument Name**                | **Type** | **Required** | **Description**                        |
| -------------------------------- | -------- | ------------ | -------------------------------------- |
| `path_parameters.itemtype`       | string   | Required     | Parameters for the Search Items action |
| `parameters.criteria`            | array    | Required     | Parameters for the Search Items action |
| `parameters.criteria.field`      | number   | Optional     | Parameters for the Search Items action |
| `parameters.criteria.searchtype` | string   | Optional     | Parameters for the Search Items action |
| `parameters.criteria.value`      | string   | Optional     | Parameters for the Search Items action |
| `parameters.criteria.link`       | string   | Optional     | Parameters for the Search Items action |
| `parameters.criteria.meta`       | boolean  | Optional     | Parameters for the Search Items action |
| `parameters.criteria.itemtype`   | string   | Optional     | Parameters for the Search Items action |
| `parameters.sort`                | string   | Optional     | Parameters for the Search Items action |
| `parameters.range`               | string   | Optional     | Parameters for the Search Items action |
| `parameters.order`               | string   | Optional     | Parameters for the Search Items action |
| `parameters.forcedisplay`        | array    | Optional     | Parameters for the Search Items action |
| `parameters.rawdata`             | boolean  | Optional     | Parameters for the Search Items action |
| `parameters.withindexes`         | boolean  | Optional     | Parameters for the Search Items action |
| `parameters.uid_cols`            | boolean  | Optional     | Parameters for the Search Items action |
| `parameters.giveItems`           | boolean  | Optional     | Parameters for the Search Items action |

### Input Example

`{"parameters":{"criteria":[{"field":1,"searchtype":"contains","value":"","link":"AND","meta":true,"itemtype":"User"},{"field":1,"searchtype":"contains","value":"","link":"AND","meta":true,"itemtype":"User"}],"sort":"1","range":"0-49","order":"ASC","forcedisplay":[""],"rawdata":false,"withindexes":false,"uid_cols":false,"giveItems":false},"path_parameters":{"itemtype":"Monitor"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `totalcount`  | number   | Count value                      |
| `count`       | number   | Count value                      |
| `data`        | object   | Response data                    |
| `data.7`      | object   | Response data                    |
| `data.7.1`    | string   | Response data                    |
| `data.7.23`   | string   | Response data                    |
| `data.7.80`   | string   | Response data                    |
| `data.11`     | object   | Response data                    |
| `data.11.1`   | string   | Response data                    |
| `data.11.23`  | string   | Response data                    |
| `data.11.80`  | string   | Response data                    |

### Output Example

`{"status_code":200,"response_headers":{"Accept-Range":"990","Content-Range":"0-2/2"},"reason":"OK","json_body":{"totalcount":2,"count":2,"data":{"7":{},"11":{}}}}`

## Update Item

Update one or more existing objects in GLPI using item type, ID, and input data.

### Endpoint

- **URL:** `apirest.php/{{itemtype}}/{{id}}`
- **Method:** `PUT`

### Input

| **Argument Name**          | **Type** | **Required** | **Description**                       |
| -------------------------- | -------- | ------------ | ------------------------------------- |
| `path_parameters.itemtype` | string   | Required     | Parameters for the Update Item action |
| `path_parameters.id`       | string   | Required     | Parameters for the Update Item action |
| `input`                    | array    | Optional     | Input data for the action             |
| `input.id`                 | number   | Optional     | Input data for the action             |
| `input.otherserial`        | string   | Optional     | Input data for the action             |

### Input Example

`{"json_body":{"input":[{"id":16,"otherserial":"abcde"},{"id":17,"otherserial":"fghij"}]},"path_parameters":{"itemtype":"Computer","id":"10"}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"8":true,"message":""},{"2":false,"message":"Item not found"}]}`

## Upload Document

Upload a file to GLPI using form data and JSON body inputs.

### Endpoint

- **URL:** `apirest.php/Document`
- **Method:** `POST`

### Input

| **Argument Name**          | **Type** | **Required** | **Description**                      |
| -------------------------- | -------- | ------------ | ------------------------------------ |
| `form_data`                | object   | Required     | Response data                        |
| `form_data.file`           | object   | Required     | Binary file that you want to submit. |
| `form_data.file.file`      | string   | Required     | Response data                        |
| `form_data.file.file_name` | string   | Required     | Response data                        |
| `data_body`                | object   | Optional     | Response data                        |
| `data_body.uploadManifest` | string   | Required     | Response data                        |

### Input Example

`{"form_data":{"file":{"file":"string","file_name":"Example Name"}},"data_body":{"uploadManifest":{"input":{"name":""}}}}`

### Output

| **Parameter**   | **Type** | **Description**                  |
| --------------- | -------- | -------------------------------- |
| `status_code`   | number   | HTTP status code of the response |
| `reason`        | string   | Response reason phrase           |
| `id`            | number   | Unique identifier                |
| `message`       | string   | Response message                 |
| `upload_result` | object   | Result of the operation          |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"id":1,"message":"Document move succeeded.","upload_result":{}}}`

# Response Headers

| **Header**    | **Description**                     | **Example** |
| ------------- | ----------------------------------- | ----------- |
| Accept-Range  | HTTP response header: Accept-Range  | 990         |
| Content-Range | HTTP response header: Content-Range | 0-2/2       |
