skip to main content
[ /DOCS · API ]WAVE 15 R2-C

API Reference

Use the Beamdesk public API and TypeScript SDK to create tickets, sync contacts, ingest knowledge, query audit logs, and test webhooks.

Install

npm install @beamdesk/sdk

API requests authenticate with X-API-Key. Generate a scoped key in Beamdesk settings and keep it server-side unless your integration runs in a trusted environment.

Quick start

import { Beamdesk } from '@beamdesk/sdk';

const beam = new Beamdesk({
  apiKey: process.env.BEAMDESK_API_KEY!,
  baseUrl: 'https://beamdesk.preview.softblaze.net',
});

const ticket = await beam.tickets.create({
  customer_email: 'user@example.com',
  subject: 'Need help',
  body: 'My issue...',
});

const list = await beam.tickets.list({ status: 'pending', limit: 50 });
await beam.tickets.reply(ticket.ticket_id, { body: 'Hi, we are looking into this.' });

const contact = await beam.contacts.upsert({
  email: 'user@example.com',
  name: 'Alice',
});

const article = await beam.knowledge.ingest({
  title: 'How to reset a password',
  content: 'Open Settings, then Security, then choose Reset password.',
  status: 'published',
});

Method reference

Tickets

  • beam.tickets.create(input)
  • beam.tickets.list(params)
  • beam.tickets.get(id)
  • beam.tickets.reply(id, input)
  • beam.tickets.snooze(id, input)
  • beam.tickets.close(id, input)

Contacts

  • beam.contacts.list(params)
  • beam.contacts.upsert(input)

Knowledge

  • beam.knowledge.articles(params)
  • beam.knowledge.ingest(input)

Audit

  • beam.audit.list(params)

Webhooks

  • beam.webhooks.test(id, input)

The generated OpenAPI files are available as JSON and YAML.

OpenAPI explorer