Service Desk Partner API

Run Service Desk behind your own support tools: post customers' messages in, record the replies you send, report delivery, and read the customer-visible thread back out, all with an API key.

The Service Desk Partner API is for organizations that own every customer touchpoint themselves: their own mail processor, chat widget or customer portal. Your systems write tickets and customer replies into DevStride, record the replies your own tools sent, and read the customer-facing part of each ticket back out. DevStride keeps doing what it does best inside: queues, SLA clocks, the public/internal split, automations, dashboards and time tracking.

Use it together with Webhooks: webhooks tell your systems that something happened (a ticket was created, a staff member replied, an SLA is at risk); this API is how your systems write back and read the detail.

What you can do

You want toCallPage
Open a ticket for a customer, dated when they wrotePOST /service-desk/requestsCreating requests
Add a customer's follow-up to their ticketPOST /service-desk/items/{itemNumber}/requester-repliesCustomer replies
Record a staff reply your own tool already deliveredPOST /service-desk/items/{itemNumber}/staff-repliesStaff replies
Tell staff whether your tool delivered a replyPOST /service-desk/comments/{commentId}/delivery-receiptDelivery receipts
Show the customer-visible thread and status in your portalGET /item-comments?visibility=public, GET /work-items/{itemNumber}?includeCustomerStatus=trueReading tickets and threads
Attach filesthe upload operationsAttachments and a full round trip
Send every customer message from your own tool instead of DevStridePATCH /service-desk/settings with headlessMode, then the customer.message webhookHeadless mode
Release a held request once your tool has confirmed the customer's addressPOST /service-desk/requesters/confirmConfirming requesters

Every path is under https://api.devstride.com/v1/organizations/{organizationId}. Authenticate with an API key: the key acts with its owner's permissions in that one organization, so create it for a member whose role holds the permissions each page lists. The full schemas are in the API reference under Service Desk.

What DevStride never does here

  • It never emails your customer about a message you post. A customer reply you post is the customer's own words, and a staff reply you post is one your tool already delivered. Neither is sent again.
  • It never lets a request choose its author or audience. A customer reply is always authored by the ticket's own requester and always customer-visible; a staff reply is always customer-visible and authored by a member.

To stop DevStride emailing your customers about anything at all, turn on headless mode: every message it would have sent arrives at your webhook endpoint instead.

Retries are safe: externalId

Every write takes an optional externalId, usually your own message id. Send the same value again (a retry after a timeout, a re-run of a failed job) and DevStride returns what it created the first time instead of creating it twice. Keys are scoped to your organization. A key is refused, rather than replayed, when it was already used for something else: a ticket creation, or a reply on a different ticket.

Errors

StatusMeans
400The request is malformed or refused by a rule: an empty body, a blocked requester, a sentAt in the future, a reused externalId. The message says which.
401 / 403The key is missing or invalid, or its owner lacks the permission or access the call needs. The message names the permission.
404The ticket or comment does not exist in this organization.
409The item exists but is not a Service Desk ticket, or a receipt names an internal comment.