# Clients

Allows an application to manage its clients, including updating existing clients and creating additional clients. To authorize API calls, use an access token for the relevant application. To manage apps and their clients as a tenant admin, see [Application APIs](/openapi/user/apps.openapi.json).


## Servers

Sandbox environment
```
https://api.sbx.transmitsecurity.io/cis
```

Production environment (US)
```
https://api.transmitsecurity.io/cis
```

Production environment (EU)
```
https://api.eu.transmitsecurity.io/cis
```

Production environment (CA)
```
https://api.ca.transmitsecurity.io/cis
```

Production environment (AU)
```
https://api.au.transmitsecurity.io/cis
```

## Security

### bearer

Type: http
Scheme: bearer
Bearer Format: JWT

### UserAccessToken

A token returned upon end-user authentication, which provides access to resources and data for the user and app for which it was generated

Type: http
Scheme: bearer
Bearer Format: JWT

### AdminAccessToken

A token generated by a management application using the [token endpoint](/openapi/token.openapi/other/getaccesstoken). It provides access to all resources for the tenant and its apps

Type: oauth2

### ClientAccessToken

A token generated by an end-user application using the [token endpoint](/openapi/token.openapi/other/getaccesstoken). It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)

Type: oauth2

### OrgAdminAccessToken

A token returned upon B2B authentication for a user that has the organizationAdmin or organizationCreator role.

Type: oauth2

## Download OpenAPI description

[Clients](https://developer.transmitsecurity.com/_bundle/openapi/user/clients.openapi.yaml)

## Other

### Create client

 - [POST /v1/clients](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/createclient.md): Creates an additional client for the app. To authorize a request, use an access token for the relevant application. Required permissions: apps:create, [appId]:create, apps:edit, [appId]:edit.

### Get all clients

 - [GET /v1/clients](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/getall.md): Retrieves a list of clients for the app. To authorize a request, use an access token for the relevant application. Required permissions: apps:read, [appId]:read.

### Delete all clients

 - [DELETE /v1/clients](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/deleteclients.md): Deletes all clients associated with the app. To authorize a request, use an access token for the relevant application. Note that the application cannot be used without clients. Required permissions: apps:create, [appId]:create, apps:edit, [appId]:edit, apps:delete, [appId]:delete.

### Get client by ID

 - [GET /v1/clients/{clientId}](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/getclientbyid.md): Retrieves a client by client ID. To authorize a request, use an access token for the relevant application. Required permissions: apps:read, [appId]:read.

### Update client

 - [PUT /v1/clients/{clientId}](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/updateclient.md): Update a client by its ID. To authorize a request, use an access token for the relevant application. Note: Fields that are objects cannot be partially updated, since the new value you set will just replace the current one. Required permissions: apps:create, [appId]:create, apps:edit, [appId]:edit.

### Delete client

 - [DELETE /v1/clients/{clientId}](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/deleteclient.md): Deletes a client. To authorize a request, use an access token for the relevant application. Required permissions: apps:create, [appId]:create, apps:edit, [appId]:edit, apps:delete, [appId]:delete.

### Update client resources

 - [PUT /v1/clients/{clientId}/resources](https://developer.transmitsecurity.com/openapi/user/clients.openapi/other/updateresourcesofclient.md): Updates the list of resources that a client is allowed to explicitly request access to. To authorize a request, use an access token for the relevant application. Required permissions: apps:create, [appId]:create, apps:edit, [appId]:edit.

