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

# EnterpriseServiceUserApiKeysClient

## Constructor

```typescript
EnterpriseServiceUserApiKeysClient(options: BaseClientOptions): ServiceUserApiKeysClient
```

### Parameters

**options** `BaseClientOptions` *required*

### Returns

`ServiceUserApiKeysClient`

## Methods

### createServiceUserApiKey()

```typescript
createServiceUserApiKey(request: CreateApiKeyRequest, requestOptions?: RequestOptions): HttpResponsePromise<ApiKeyWithTokenResponse>
```

Create a new API key for a service user.

The caller must have ManageAccountServiceUsers permission.

```ts
await client.enterprise.serviceUserApiKeys.createServiceUserApiKey({
        service_user_id: "service-user-abc123def456",
        name: "name"
    })
```

#### Parameters

**request** `CreateApiKeyRequest` *required*

**requestOptions** `RequestOptions`

Request-specific configuration.

#### Returns

`HttpResponsePromise<ApiKeyWithTokenResponse>`

### listServiceUserApiKeys()

```typescript
listServiceUserApiKeys(request: ListServiceUserApiKeysServiceUserApiKeysRequest, requestOptions?: RequestOptions): HttpResponsePromise<PaginatedResponseApiKeyResponse>
```

List API keys for a service user, optionally filtered by status.

```ts
await client.enterprise.serviceUserApiKeys.listServiceUserApiKeys({
        service_user_id: "service-user-abc123def456"
    })
```

#### Parameters

**request** `ListServiceUserApiKeysServiceUserApiKeysRequest` *required*

**requestOptions** `RequestOptions`

Request-specific configuration.

#### Returns

`HttpResponsePromise<PaginatedResponseApiKeyResponse>`

### revokeServiceUserApiKey()

```typescript
revokeServiceUserApiKey(request: RevokeServiceUserApiKeyServiceUserApiKeysRequest, requestOptions?: RequestOptions): HttpResponsePromise<ApiKeyResponse>
```

Revoke an API key for a service user.

Returns 404 if the key is not found, 409 if already revoked.

```ts
await client.enterprise.serviceUserApiKeys.revokeServiceUserApiKey({
        service_user_id: "service-user-abc123def456",
        api_key_id: "api_key_id"
    })
```

#### Parameters

**request** `RevokeServiceUserApiKeyServiceUserApiKeysRequest` *required*

**requestOptions** `RequestOptions`

Request-specific configuration.

#### Returns

`HttpResponsePromise<ApiKeyResponse>`

### rotateServiceUserApiKey()

```typescript
rotateServiceUserApiKey(request: RotateApiKeyRequest, requestOptions?: RequestOptions): HttpResponsePromise<ApiKeyWithTokenResponse>
```

Rotate an API key for a service user.

Creates a new key. By default revokes the old key; set revoke\_current=false
for graceful rollover where both keys remain active temporarily.
Returns 404 if the key is not found, 400 if the key is not active.

```ts
await client.enterprise.serviceUserApiKeys.rotateServiceUserApiKey({
        service_user_id: "service-user-abc123def456",
        api_key_id: "api_key_id"
    })
```

#### Parameters

**request** `RotateApiKeyRequest` *required*

**requestOptions** `RequestOptions`

Request-specific configuration.

#### Returns

`HttpResponsePromise<ApiKeyWithTokenResponse>`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.