Customer support
Connect to the initdesk API in 15 minutes
The initdesk API is live—issue a token, find your organization ID, and list tickets with curl in one sitting.
The initdesk API is available today at developers.initdesk.com, with requests sent to
https://api.initdesk.com.If you are not sure whether you need the API, webhooks, or BYOD, read API, webhooks, or BYOD first—this post assumes you want your code to call initdesk (create or read tickets, requesters, messages, or Help Center content).
Below is the smallest path to a working call: token, organization ID, one
curl, then the OpenAPI spec for everything else.What you need before you start
- An initdesk account where you are Account Owner or Admin (only those roles can issue API tokens).
- The numeric organization ID from Settings → General. API paths use this number—not the organization’s string
public_idfrom product URLs. - A place to store the token securely. initdesk stores a hash server-side; you see the raw token only once at creation.
Issue an organization token
- Open Settings → API access.
- Generate a new organization-scoped integration token.
- Copy the token immediately into your secrets manager or password vault.
Send it on every request with the custom header:
X-Initdesk-Token: YOUR_TOKEN_HERE
That token may only access resources for the organization it was issued for. Calls to another organization’s URLs return 403 Forbidden. Invalid or revoked tokens return 401 or 403 as appropriate. Revoke compromised tokens in the same settings screen.
Details: Authentication and limits.
Your first request: confirm the organization
Replace
ORG_ID and YOUR_TOKEN in the examples below.curl -sS \
-H "X-Initdesk-Token: YOUR_TOKEN" \
"https://api.initdesk.com/organizations/ORG_ID/"
A successful response confirms you are on the right tenant and shows organization configuration that can affect ticket behavior (for example whether auto-tagging is enabled). If you get 401 or 403, re-check the token and that
ORG_ID matches Settings → General.List inboxes (needed before you create tickets)
Tickets are created into a specific inbox. List them to copy an inbox
id for later POST calls:curl -sS \
-H "X-Initdesk-Token: YOUR_TOKEN" \
"https://api.initdesk.com/organizations/ORG_ID/inboxes/"
List endpoints return paginated JSON:
count, next, previous, and results (default page size 20). Follow next URLs until you have what you need.List tickets (read path)
curl -sS \
-H "X-Initdesk-Token: YOUR_TOKEN" \
"https://api.initdesk.com/organizations/ORG_ID/tickets/"
By default, spam tickets are excluded. To work with spam, pass
is_spam=true. Filter by requester with customer_id when you know the customer’s API id.For search and preset filters, use the search tickets endpoint documented in the API reference index—handy for ops dashboards without exporting your whole inbox.
Ticket id vs public_id (and where messages live)
Every ticket has two identifiers:
| Field | Use |
|---|---|
id | Primary key in API URLs (/tickets/{id}/, /tickets/{id}/messages/) |
public_id | Human-facing number in email subjects and the UI (“Ticket #1234”) |
Always use
id in API calls. Show public_id to customers when you need the familiar label.The ticket row is the container (subject, status, assignee, inbox, tags). The thread—replies, internal notes, system events—is in messages:
/organizations/{organization_id}/tickets/{ticket_id}/messages/
Retrieve a ticket for metadata; list messages when you need the full conversation. Field-level behavior is in Entities and relationships.
OpenAPI, pagination, and rate limits
- OpenAPI schema: https://api.initdesk.com/schema.yaml — generate clients or explore every path under
/organizations/{organization_id}/. - Pagination: page-number lists with
count,next,previous,results. - Rate limits: 60 requests per minute per token for most endpoints. Ticket creation is also throttled per organization on an hourly basis. On 429 Too Many Requests, back off with exponential delay and retry.
Creating tickets, replying, syncing Help Center articles, and managing customers are all documented in the developer reference—this post stops at read/list so you can verify auth before you write data.
Questions about beta endpoints or access: [email protected].
--
initdesk is an AI help desk for small teams. The API launched today alongside developers.initdesk.com. More on Product Updates and X @initdeskhq.