XenoaraDocs
Dashboard

Speaker management

Our evening party is the best place to turn talks into friendships. Three days of keynotes, hands-on workshops and evening meetups.

6 min read Updated Jun 12, 2026 v3.8.8

Overview

Every session is recorded, so you can catch up on anything you missed. Our team has done this many times, so you never have to guess. We listen first, then build a plan around what you actually need. Start in minutes and get help from a real person whenever you need it.

Installation

Install the SDK with the package manager your project already uses. It needs Node 18 or newer.

terminal
$ npm install @xenoara/sdk
terminal
$ yarn add @xenoara/sdk
terminal
$ pnpm add @xenoara/sdk
Using a server without Node? The same endpoints are available over plain HTTPS; see the API reference below.

Configuration

Early bird tickets save you up to forty percent until the end of the month. Workshops are limited to thirty seats, so everyone gets hands-on time. Create a file named xenoara.config.json in the project root:

xenoara.config.json
{
  "project": "xenoara",
  "region": "eu-west",
  "categories": ["keynote", "workshop", "panel"],
  "retries": 2,
  "timeoutMs": 10000,
  "webhooks": { "enabled": true }
}
OptionTypeDefaultDescription
projectstring-Your project key from the dashboard.
regionstring"us-east"Data centre closest to your attendees.
retriesnumber3How often a failed call is retried.
timeoutMsnumber10000Time before a request is cancelled.
webhooks.enabledbooleanfalseSend events to your endpoint.

Your first request

Thousands of attendees already trust us, and we work hard to keep it that way.

  1. Create an API keyOpen the dashboard, choose Settings › API keys and copy a new secret key.
  2. Store it safelyKeep the key in an environment variable, never in your source code.
  3. Make the callRun the snippet below; it prints the first page of results.
index.js
import { Client } from "@xenoara/sdk";

const client = new Client({ apiKey: process.env.API_KEY });

// list the newest tickets in one category
const page = await client.tickets.list({ category: "keynote", limit: 20 });

for (const item of page.data) {
  console.log(item.name, item.price);
}
Heads up: test keys only return sample data. Switch to a live key before you go to production.

API reference

Every endpoint returns JSON and uses standard HTTP status codes.

GET/v1/ticketsList tickets with paging and filters.
POST/v1/ticketsCreate a new ticket.
PATCH/v1/tickets/{id}Update some fields of a ticket.
DELETE/v1/tickets/{id}Archive a ticket; it can be restored for 30 days.
response.json
{
  "data": [
    { "id": "ticket_1195", "name": "VIP pass", "price": 145 }
  ],
  "has_more": true
}

Troubleshooting

Group tickets include a private meeting room for your team. The venue is a short walk from the station and fully accessible.

More than eighty speakers share what they have learned the hard way. Clear prices, honest advice and no surprises along the way.

We measure success by how many attendees come back and tell their friends. The networking app helps you meet the right people before you arrive.

Next steps

Virtual passes let you join the main stage live from anywhere.

Was this page helpful?
All screens