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

# interfaces

## Constructor

```typescript
interfaces(http: HttpClient, config: ModusConfig, workflowId: string | number): WorkflowInterfacesResource
```

### Parameters

<ResponseField name={"http"} type={"HttpClient"} required />

<ResponseField name={"config"} type={"ModusConfig"} required />

<ResponseField name={"workflowId"} type={"string | number"} required />

### Returns

`WorkflowInterfacesResource`

## Methods

### create()

```typescript
create(options: object): Promise<object>
```

Add an interface to this workflow.

#### Parameters

<ResponseField name={"options"} type={"object"} required>
  Interface configuration to attach.
</ResponseField>

#### Returns

`Promise<object>`

The created interface.

### delete()

```typescript
delete(interfaceId: string): Promise<void>
```

Delete an interface from this workflow.

#### Parameters

<ResponseField name={"interfaceId"} type={"string"} required>
  Interface id.
</ResponseField>

#### Returns

`Promise<void>`

### deleteAll()

```typescript
deleteAll(): Promise<void>
```

Delete every interface from this workflow.

#### Returns

`Promise<void>`

### list()

```typescript
list(): Promise<object[]>
```

List interfaces attached to this workflow.

#### Returns

`Promise<object[]>`

### update()

```typescript
update(interfaceId: string, options: object, updateMask?: string): Promise<object>
```

Update an interface attached to this workflow.

#### Parameters

<ResponseField name={"interfaceId"} type={"string"} required>
  Interface id.
</ResponseField>

<ResponseField name={"options"} type={"object"} required>
  Updated interface values.
</ResponseField>

<ResponseField name={"updateMask"} type={"string"}>
  Optional comma-separated field names to update.
</ResponseField>

#### Returns

`Promise<object>`

The updated interface.
