# TypeScript SDK (/docs/sdk)



Use the `eventlayer` package from your server. It provides typed resource methods,
result handling, pagination and webhook verification.

## Install and initialise [#install-and-initialise]

```bash title="Terminal · project directory"
npm install eventlayer
```

Set `EVENTLAYER_KEY` in your server environment, then initialise a client:

```ts title="eventlayer.ts · server only"
import { Eventlayer } from "eventlayer";

const eventlayer = new Eventlayer();
```

For a complete runnable example, [issue your first ticket](/docs/quickstart).

## Handle typed results [#handle-typed-results]

HTTP responses return `{ data, error, response }`. Check `error` before reading
`data`. Network failures where no HTTP response is received still throw.

```ts title="get-ticket.ts · server only"
const { data: ticket, error } = await eventlayer.tickets.get({
  ticketId: "tkt_your_ticket_id",
});

if (error) {
  console.error(error.code, error.requestId);
} else {
  console.log(ticket.status);
}
```

## Client options [#client-options]

The defaults are enough to get started. For timeouts and retry settings, see
[retries and recovery](/docs/retries).

## Find the right method [#find-the-right-method]

| Resource  | Example method                                          |
| --------- | ------------------------------------------------------- |
| Events    | `eventlayer.events.create()`                            |
| Attendees | `eventlayer.attendees.create()`                         |
| Tickets   | `eventlayer.tickets.create()`                           |
| Check-in  | `eventlayer.tickets.checkIn()`                          |
| Wallet    | `eventlayer.tickets.generateAppleWalletPassSignedUrl()` |

Required arguments are shown in the guides and [API reference](/docs/api-reference).
Manage webhook endpoints and delivery history in the dashboard.

## Keep going [#keep-going]

Use [pagination](/docs/pagination) to iterate through collections and
[webhook verification](/docs/guides/webhooks) to validate signed events.
The [package documentation](https://www.npmjs.com/package/eventlayer) has the
SDK’s full configuration and resource details.
