# `addMessage`

Creates a new message with an initial signature.

## Usage


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

    const safeAddress = '0x...'
    
    const config: AddMessageOptions = {
      message: '0x...',
      signature: '0x...',
      safeAppId: 1 // Optional
    }

    await apiKit.addMessage(safeAddress, 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>


## Parameters

### `safeAddress`

- **Type:** `string`

The Safe address.

```typescript focus=2
await apiKit.addMessage(
  '0x...',
  {
    message: '0x...',
    signature: '0x...'
  }
)
```

### `config.message`

- **Type:** `string | EIP712TypedData`

The raw message.

```typescript focus=4
await apiKit.addMessage(
  '0x...',
  {
    message: '0x...',
    signature: '0x...'
  }
)
```

### `config.signature`

- **Type:** `string`

The message signature.

```typescript focus=5
await apiKit.addMessage(
  '0x...',
  {
    message: '0x...',
    signature: '0x...'
  }
)
```

### `config.safeAppId` (Optional)

- **Type:** `number`

The Safe App ID.

```typescript focus=6
await apiKit.addMessage(
  '0x...',
  {
    message: '0x...',
    signature: '0x...',
    safeAppId: 1
  }
)
```
