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

# Advanced Features

> Idempotency, retries, and advanced SDK usage

## Idempotency

Prevent duplicate events with idempotency keys:

```typescript theme={null}
const result = await client.events.create(
  {
    channelName: 'payments',
    title: 'Payment Received',
    metadata: { paymentId: 'pay_123' }
  },
  { idempotencyKey: 'payment-pay_123-webhook' }
);

console.log('Was replayed:', result.wasReplayed);
```

## Rate Limit Tracking

```typescript theme={null}
const result = await client.events.create({...});

console.log(result.rateLimit);
// Access last known rate limit
console.log(client.rateLimit);
```

See [TypeScript SDK](/sdk/typescript) for complete documentation.
