# `addSafeDelegate`

Adds a new delegate for a given Safe address.

## Usage


<Tabs items={['example.ts', 'setup.ts']}>
  <Tabs.Tab>
    ```typescript
    import { AddSafeDelegateProps } from '@safe-global/api-kit'
    import { apiKit } from './setup.ts'

    const config: AddSafeDelegateProps = {
      safeAddress: '0x...', // Optional
      delegateAddress: '0x...',
      delegatorAddress: '0x...',
      label: 'abc',
      signer
    }

    const config = await apiKit.addSafeDelegate(config)
    ```
  </Tabs.Tab>
  <Tabs.Tab>
    ```typescript
    import SafeApiKit from '@safe-global/api-kit'

    // How to get an Api key => http://docs.safe.global/core-api/how-to-use-api-keys
    export const apiKit = new SafeApiKit({
      chainId: 1n, // Mainnet
      apiKey: 'YOUR_API_KEY'
    })
    ```
  </Tabs.Tab>
</Tabs>


## Returns

`Promise<SafeDelegateResponse>`

The configuration of the new Safe delegate.

## Parameters

### `config.safeAddress` (Optional)

- **Type:** `string`

The Safe address.

```typescript focus=2
const config = await apiKit.addSafeDelegate({
  safeAddress: '0x...',
  delegateAddress: '0x...',
  delegatorAddress: '0x...',
  label: 'abc',
  signer
})
```

### `config.delegateAddress`

- **Type:** `string`

The delegate address that will be added.

```typescript focus=2
const config = await apiKit.addSafeDelegate({
  delegateAddress: '0x...',
  delegatorAddress: '0x...',
  label: 'abc',
  signer
})
```

### `config.delegatorAddress`

- **Type:** `string`

The delegator address.

```typescript focus=3
const config = await apiKit.addSafeDelegate({
  delegateAddress: '0x...',
  delegatorAddress: '0x...',
  label: 'abc',
  signer
})
```

### `config.label`

- **Type:** `string`

The custom label.

```typescript focus=4
const config = await apiKit.addSafeDelegate({
  delegateAddress: '0x...',
  delegatorAddress: '0x...',
  label: 'abc',
  signer
})
```

### `config.signer`

- **Type:** `Signer`

The signer.

```typescript focus=5
const config = await apiKit.addSafeDelegate({
  delegateAddress: '0x...',
  delegatorAddress: '0x...',
  label: 'abc',
  signer
})
```
