> For the complete documentation index, see [llms.txt](https://docs.getconduit.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getconduit.app/for-developers/manage-your-ai-copilot-users.md).

# Manage your AI Copilot users

The Conduit Link API is designed for creating and managing sub-clients. With this API, you can create sub-clients, generate links to connect data with sub-clients, and extract downloaded data from Conduit.

#### Link APP

Conduit users can create multiple Link APPs. Each sub-client (Company) is associated with a specific Link APP, and the uniqueness of sub-clients does not overlap between different Link APPs. To obtain a token, please visit <https://app.getconduit.app/auth/link\\_app\\_token/>. For creating additional Link APPs, please contact <sales@getconduit.app>.

#### Company

Within the Conduit Link API, a sub-client is referred to as a Company.

**Creating a Company**

To create a Company, perform an HTTP POST request:

```html
curl -X POST https://api.getconduit.app/link/company/ \\
     -H "Authorization: Bearer {Link_APP_Token}" \\
     -H "Content-Type: application/json" \\
     -d '{ \\
           "id": "1", \\
           "name": "My Client 1", \\
           "page_enabled": false \\
         }'
```

**Query Parameters:**

* `id`: The unique identifier for the client, which can contain 1 to 1024 characters of A-Z and 0-9 without case sensitivity. This could be, for example, the client's ID in your system or a composite ID.
* `name`: (Optional) The name of the client, up to 1024 characters.
* `page_enabled`: (Optional) A flag indicating whether to enable the Company Page, which allows the user to choose connection sources independently. It is set to `True` by default.

**Response**

```html
{
  "id": "1",
  "name": "My Client 1",
  "created_at": "2023-03-15T12:34:56Z",
  "link_page": {
    "url": null,
    "enabled": false
  },
  "api_token": {
    "token": "token_string",
    "expires_at": 1678898400
  }
}
```

**Description of Response Fields:**

* `id`: The ID of the created Company.
* `name`: The name of the created Company.
* `created_at`: The date and time when the Company was created in ISO 8601 format.
* `link_page`: An object containing information about the connection page.
  * `url`: The URL of the connection page, unique to each Company. Returns `null` if `page_enabled` is disabled.
  * `enabled`: The availability status of the connection page.
* `api_token`: An object containing the API token for accessing Company functions.
  * `token`: The API token.
  * `expires_at`: The expiration timestamp of the token in UTC format.

**Note:** The token expires after 10 minutes.

**Retrieving Company Information**

To obtain information about a Company, execute an HTTP GET request:

```html
curl -X GET https://api.getconduit.app/link/company/{cid}/ \\
     -H "Authorization: Bearer {Link_APP_Token}"
```

**Request Parameters:**

* `{cid}`: The identifier of the Company to be obtained.

**Response:**

The response to the request for Company information has the same format as the response to the Company creation request.

```json
{
  "id": "1",
  "name": "My Client 1",
  "created_at": "2023-03-15T12:34:56Z",
  "link_page": {
    "url": null,
    "enabled": false
  },
  "api_token": {
    "token": "token_string",
    "expires_at": 1678898400
  }
}
```

**Description of Response Fields:**

The description of response fields for the request for Company information is identical to the description of fields in the response to the Company creation request.

* `id`: The ID of the created Company.
* `name`: The name of the created Company.
* `created_at`: The date and time when the Company was created in ISO 8601 format.
* `link_page`: An object containing information about the connection page.
  * `url`: The URL of the connection page, unique to each Company. Returns `null` if `page_enabled` is disabled.
  * `enabled`: The availability status of the connection page.
* `api_token`: An object containing the API token for accessing Company functions.
  * `token`: The API token.
  * `expires_at`: The expiration timestamp of the token in UTC format.

**Note:** The token expires after 10 minutes.

**Editing Company**

To edit an existing Company, you need to send an HTTP POST request.

```html
curl -X POST https://api.getconduit.app/link/company/{cid}/ \\
     -H "Authorization: Bearer {Link_APP_Token}" \\
     -H "Content-Type: application/json" \\
     -d '{ \\
           "name": "My Client 1", \\
           "page_enabled": false \\
         }'
```

**Request Parameters:**

* `{cid}`: The identifier of the Company to be edited.
* `name`: The new name for the Company. Accepts up to 1024 characters.
* `page_enabled`: A flag indicating whether to enable or disable the Company page. Defaults to `True`.

**Response:**

Upon successful editing of the Company, the response will include the updated information about the Company.

```json
{
  "id": "1",
  "name": "My Client 1",
  "created_at": "2023-03-15T12:34:56Z",
  "link_page": {
    "url": null,
    "enabled": false
  },
  "api_token": {
    "token": "updated_token_string",
    "expires_at": 1678898400
  }
}
```

**Response Field Descriptions:**

* `id`: The unique identifier of the Company, which remains unchanged after editing.
* `name`: The new name of the Company after editing.
* `created_at`: The date and time when the Company was created, which remains unchanged after editing.
* `link_page`: An object containing information about the connection page after editing.
  * `url`: The URL of the connection page, unique to each Company. It may be `null` if `page_enabled` is disabled.
  * `enabled`: The status of the connection page's availability after editing.
* `api_token`: An object containing the updated API token for accessing Company functionalities.
  * `token`: The updated API token.
  * `expires_at`: The expiration timestamp of the token in UTC format.

**Note:** The token expires after 10 minutes.
