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

# Configuration

> Required configuration options for Signal JS

# Configuration

Signal JS requires `apiKey` and `projectId` to send data. All other options have sensible defaults.

## Required Options

```typescript theme={null}
import { createSignal } from '@signal-js/browser';

const signal = createSignal({
  /** API key for authentication */
  apiKey: 'your-api-key',
  
  /** Project identifier */
  projectId: 'your-project-id',

  /**
   * Optional: API endpoint for sending events.
   * @default https://api.trysignal.ai/
   */
  // endpoint: 'https://api.trysignal.ai/',
});

await signal.start();
```

## Optional: Server-Side Correlation

If you're tracking events on the server, enable tracing headers to link client and server events:

```typescript theme={null}
const signal = createSignal({
  apiKey: 'your-api-key',
  projectId: 'your-project-id',
  
  // Enable tracing headers for server correlation
  addTracingHeaders: true, // or ['api.example.com'] for specific hostnames
});
```

## Learn More

For advanced configuration options, see:

* [Privacy & Masking](/essentials/privacy-masking) - Configure data masking and privacy controls
* [Network Capture](/essentials/network-capture) - Configure network request capture
* [Console Capture](/essentials/console-capture) - Configure console log capture
* [Event Tracking](/essentials/event-tracking) - Configure event and page tracking
