06Developers

Support infrastructure behind one clean API

Everything in TickOS is available through a documented REST API. Create tickets from your app, send transactional email, sync contacts and react to events with signed webhooks.

create-ticket.shBash
1curl -X POST https://api.tickos.dev/v1/tickets \
2 -H "Authorization: Bearer $TICKOS_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "subject": "Checkout fails on Safari",
6 "email": "liam@northwind.io",
7 "priority": "normal"
8 }'
201 Created84 ms · application/json
{
"id": "tck-8f3a2c91",
"number": "SUP-000142",
"status": "open",
"priority": "normal",
"created_at": "2026-09-25T09:41:07Z"
}
TICKOS · DEVELOPERSAT A GLANCE
  • API resources20+
  • spec at /v1/openapi.jsonOpenAPI
  • SHA-256 signed webhooksHMAC
  • requests per minute on Enterprise6,000
INCLUDED IN YOUR WORKSPACESee pricing

01 — REST API

Everything in the dashboard, available through the API

Tickets, messages, customers, emails, campaigns, contact groups, automations, changelog, tags, inboxes and surveys. Authenticate with an API key and get predictable JSON back.

  • Bearer API keys, full or read-only
  • Keys revocable, with last-used time
  • OpenAPI 3 spec
  • cURL, JavaScript and Python examples
  • Consistent errors and pagination
  • Per-plan rate limits
api.tickos.dev/v1 — Reference
  • GET/tickets42 ms200
  • POST/tickets/{id}/messages
  • POST/emails
  • PATCH/customers/{id}
  • GET/campaigns
  • POST/contact-groups/{id}/members
  • POST/automations/trigger
  • GET/changelog
  • DELETE/tags/{id}
Authorization: Bearer sk_…openapi.json

02 — Webhooks

React to every ticket in real time

Subscribe an endpoint per inbox and receive events as they happen. Every delivery is signed with your secret so you can verify it came from TickOS.

  • ticket.created, updated, closed, deleted
  • message.created
  • inbox.updated and inbox.deleted
  • X-Tickos-Signature with HMAC-SHA256
  • Timestamped to block replays
  • Per-inbox configuration
Webhooks · deliveries
    X-Tickos-Signature: t=1758793267,v1=5f2b…
    verify-webhook.js
    1const [t, v1] = signature.split(",")
    2const expected = crypto
    3 .createHmac("sha256", process.env.TICKOS_WEBHOOK_SECRET)
    4 .update(`${t.slice(2)}.${body}`)
    5 .digest("hex")
    6
    7// reject deliveries older than 5 minutes
    8if (expected !== v1.slice(3)) throw new Error("Invalid signature")
    signature valid

    03 — Email infrastructure

    Transactional email by API or SMTP

    Send from your verified domain with POST /v1/emails or point any SMTP client at smtp.tickos.dev. Schedule sends, attach files and track opens and clicks.

    • POST /v1/emails with scheduling
    • SMTP relay on port 587
    • Attachments and HTML or text
    • Open and click tracking
    • Automatic bounce suppression
    • SPF, DKIM and DMARC setup guided
    send-email.js
    1await fetch("https://api.tickos.dev/v1/emails", {
    2 method: "POST",
    3 headers: { Authorization: `Bearer ${TICKOS_KEY}` },
    4 body: JSON.stringify({
    5 from: "Acme <hello@acme.com>",
    6 to: ["liam@northwind.io"],
    7 subject: "Your invoice is ready",
    8 html: "<p>Hi Liam…</p>",
    9 send_at: "2026-09-26T09:00:00Z",
    10 track_opens: true,
    11 track_clicks: true,
    12 }),
    13})

    SMTP relay · Nodemailer

    host
    smtp.tickos.dev
    port
    587
    user
    apikey
    pass
    sk_live_••••••••••

    Add X-Track-Opens to enable tracking.

    email.sent
    email.delivered
    email.opened
    email.clicked

    04 — Developer tooling

    Debug in the dashboard, not in production

    Try any endpoint in the Playground, inspect every request in Logs and follow events from the API, dashboard and system in one timeline.

    • Playground for live requests
    • Request logs from 5 minutes to 90 days
    • Filter by 2xx and 4xx
    • Event stream by source
    • SMTP logs and stats
    • In-app API reference
    app.tickos.dev — Logs
    5m1h24h7d30d90d2xx4xx
      Build with TickOS

      What teams build on the API

      A few of the patterns we see most.

      In-app support

      Create tickets straight from your product's help widget.

      Transactional email

      Receipts, magic links and alerts from your domain.

      Event pipelines

      Stream ticket events to your data warehouse or CRM.

      Automation triggers

      Enroll users into workflows from your backend.

      What's new panels

      Render your changelog inside your app.

      Legacy apps

      Anything that speaks SMTP can send through TickOS.

      Reference

      API surface

      Base URL https://api.tickos.dev/v1 — the full reference lives in the docs.

      Read the API reference

      $ curl https://api.tickos.dev/v1/openapi.json | jq '.paths | keys'

      # support

      • /v1/tickets
      • /v1/messages
      • /v1/customers
      • /v1/tags
      • /v1/inboxes
      • /v1/surveys

      # email

      • /v1/emails
      • /v1/campaigns
      • /v1/contact-groups
      • /v1/connections

      # workflows

      • /v1/automations
      • /v1/automations/trigger
      • /v1/changelog

      # workspace

      • /v1/users
      • /v1/members
      • /v1/invitations
      • /v1/accounts
      • /v1/keys
      FAQ

      Developers, answered.

      Something else on your mind? Talk to us.

      • Create an API key in the dashboard and send it as Authorization: Bearer <key>. Keys can have full or read-only access.

      NEW TICKET — from your team

      Get an API key in under a minute

      Create a workspace, generate a key and send your first request from the Playground.

      PLAN

      Free

      TICKETS

      Unlimited

      TEAMMATES

      Unlimited

      status: open