Documentation

Aozo Helpdesk API

Tickets, customers, knowledge base and support analytics — the REST surface behind helpdesk.aozo.in.

Base URLhttps://helpdesk.aozo.in/api
AuthBearer JWT, or x-api-key + x-workspace-id
Formatapplication/json
⚠️ Different header convention from CRM/Accounting

Helpdesk does not read an aozo_-prefixed key from the Authorization header. Instead it expects two separate headers: x-api-key and x-workspace-id. A plain Bearer JWT still works for user-session requests.

Tickets

MethodPathDescription
GET/ticketsList tickets
POST/ticketsCreate a ticket (seat/ticket-limit checked)
GET/tickets/:idTicket details
PUT/tickets/:idUpdate — status, priority, agentId
DELETE/tickets/:idDelete a ticket
GET/tickets/:id/commentsList comments on a ticket
POST/tickets/:id/commentsAdd a comment
curl -X POST https://helpdesk.aozo.in/api/tickets \
  -H "x-api-key: aozo_your_key" \
  -H "x-workspace-id: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Invoice not received",
    "description": "Customer says the GST invoice email never arrived.",
    "priority": "high",
    "email": "customer@example.com",
    "channel": "email"
  }'

Customers

MethodPathDescription
GET/customersList customers
POST/customersCreate a customer
GET/customers/:idCustomer details
PUT/customers/:idUpdate a customer
DELETE/customers/:idDelete a customer
GET/customers/:id/ticketsTickets raised by this customer
GET/customers/:id/interactionsInteraction history
GET/customers/:id/activityActivity feed
GET/customers/:id/time-entriesBillable time logged against this customer
POST/customers/:id/time-entriesLog a time entry (minutes, description, ticketId)

Knowledge Base

Two surfaces: an authenticated one for managing content, and a public one that powers your help-center pages — no login required for readers.

MethodPathDescription
GET/knowledge-base/categoriesList categories (auth)
POST/knowledge-base/categoriesCreate a category (auth)
GET/knowledge-base/articlesList articles (auth)
POST/knowledge-base/articlesCreate an article (auth)
GET/public/kb/:workspaceId/categoriesPublic — list categories, no auth
GET/public/kb/:workspaceId/searchPublic — full-text article search
GET/public/kb/:workspaceId/articles/:slugPublic — read one article

Notifications

MethodPathDescription
GET/notifications/vapidPublicKeyPublic — web-push VAPID public key
GET/notificationsList notifications (auth)
POST/notifications/readMark one or all as read (auth)
POST/notifications/subscribeRegister a push subscription (auth)

Analytics

MethodPathDescription
GET/analytics/dashboardTicket counts by status/priority, 7-day created-vs-resolved trend

Billing

Subscription changes go through Razorpay and require workspace ADMIN/OWNER.

MethodPathDescription
POST/payments/create-orderCreate a Razorpay subscription — ADMIN/OWNER
POST/payments/downgradeCancel/downgrade a plan — ADMIN/OWNER