Add-on (OAuth 2.0). Creating a staff message as a specific staff member via x-impersonate-uuid, the create reports success and delivers to Team Chat, but the resulting record cannot be retrieved — including in your own API tooling.
Request:
POST /api_1.0/staffmessage.json
Headers: Authorization: Bearer <token>, x-impersonate-uuid: <sending staff uuid>
Body: { "uuid": "9129f32f-beb0-4e44-b2c9-3efddfd3c625",
"from_staff_uuid": "<sending staff>", "to_staff_uuid": "<recipient>",
"message": "…", "regarding_job_uuid": "<job>" }
Response: 200 → {"errorCode": 0, "message": "OK"}, with x-record-uuid: 9129f32f-… (the UUID I supplied). The recipient does receive it in Team Chat, correctly attributed to the impersonated sender.
But the record is not retrievable:
GET /api_1.0/staffmessage/9129f32f-beb0-4e44-b2c9-3efddfd3c625.json → 404 Record Not Found
Confirmed 404 both from my integration and from the ServiceM8 API tooling directly. It also never appears in any list query or account sync. Without impersonation (creating as the connection’s own staff), the record does persist and reads back normally.
Questions:
- Is it expected that an impersonated
staffmessagecreate returns200+ anx-record-uuidthat resolves to 404? That seems contradictory — success implies a retrievable record. - Is there a supported way to create a staff message that is both attributed to the actual staff member and persisted/queryable (so we can link it to a job / reconcile it)?
- Is
x-impersonate-uuidintended forstaffmessageat all, or only the Messaging API?