POST /service-desk/items/{itemNumber}/staff-replies records a reply that your support tool has already delivered to the customer. DevStride stores it as a customer-visible reply on the ticket, so it shows in the ticket's conversation and in the customer's view of it, and counts it for first response and next response the moment it is saved. It sends no email.
Needs: Send Public Replies and comment access to the ticket. Attributing the reply to another member (authorUsername) also needs Manage Requesters.
| Field | Required | Meaning |
|---|---|---|
message.html | Yes | The reply exactly as delivered. @-mentions notify members as on any comment. |
externalId | No | Your id for this message; makes retries safe. |
authorUsername | No | The active member who wrote it, so one key can attribute replies to each specialist. Without it the reply is authored by the key's owner. |
curl -X POST "https://api.devstride.com/v1/organizations/$ORG_ID/service-desk/items/I123/staff-replies" \
-u "$DEVSTRIDE_API_KEY:$DEVSTRIDE_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"message": { "html": "<p>We have reset your password; please try again.</p>" },
"externalId": "msg-7731",
"authorUsername": "jane.doe"
}'
The response is the stored comment (data.id, data.visibility: "public", data.channel: "api"). Keep data.id: it is what you send delivery receipts against.
externalId returns the first reply. A key used on another ticket is refused with 400.| Status | When |
|---|---|
400 | authorUsername is not an active member, or the externalId was used on another ticket. |
401 / 403 | No comment access to the ticket (401), or missing Send Public Replies or (with authorUsername) Manage Requesters (403). |
409 | The item is not a Service Desk ticket. |