Get started

Quickstart

.md

Create your first ticket and send your first email in under a minute.

1. Create an API key

Go to Settings > Developers and create a new API key. Copy the value once -- it is shown only at creation time. Pick at least the write permission to be able to create tickets and send emails.

2. Create a ticket

terminal
Bash
01curl https://api.tickos.dev/v1/tickets \
02 -H 'Authorization: Bearer sk_your_api_key' \
03 -H 'Content-Type: application/json' \
04 -d '{
05 "subject": "Cannot access my account",
06 "message": "Hi, I am unable to log in since yesterday.",
07 "customer_email": "jane@example.com",
08 "customer_name": "Jane Doe",
09 "priority": "normal"
10 }'
UTF-8 · LF · Bashtickos.dev

subject, message and customer_email (or customer_id) are required. If the customer does not exist yet, it is created automatically from customer_email and customer_name. Without inbox_id, the ticket goes to the oldest active inbox of the workspace. The response (201) contains the ticket, its first message and any attachments:

response.json
JSON
01{
02 "ticket": { "id": "tkv_...", "client_id": "SUP-000123", "subject": "Cannot access my account", "status": "open", "priority": "normal", ... },
03 "message": { "id": "msg_...", "body_text": "Hi, I am unable to log in since yesterday.", ... },
04 "attachments": []
05}
UTF-8 · LF · JSONtickos.dev

3. Send a transactional email

terminal
Bash
01curl https://api.tickos.dev/v1/emails \
02 -H 'Authorization: Bearer sk_your_api_key' \
03 -H 'Content-Type: application/json' \
04 -d '{
05 "from": "support@yourdomain.com",
06 "to": ["jane@example.com"],
07 "subject": "Welcome to Acme",
08 "html": "<p>Hello Jane, welcome aboard!</p>"
09 }'
UTF-8 · LF · Bashtickos.dev

The email is queued and the API answers 202 Accepted with its id. Use GET /v1/emails/{id} to follow its delivery status.

response.json
JSON
01{
02 "id": "email_...",
03 "status": "queued",
04 "queued_at": "2026-10-13T15:04:05.000Z"
05}
UTF-8 · LF · JSONtickos.dev
The from address must belong to a domain connected and verified for outbound email in your workspace. Set one up in Settings > Domains before your first send; otherwise the API answers 400.