Schemas
Ticket
numberPer-workspace ticket number, the one agents see.
subjectstatusprioritychanneltypeassignee_idorganization_idThe clock on this ticket. Instants, not remaining durations: a client that has been asleep would otherwise show an hour-old countdown as current. warned_at and breached_at are stamped by the workspace itself, so they say what it has already acted on.
created_atupdated_atunreadIs there a message this agent has not seen — one they did not write themselves, newer than the last time they marked the ticket read (POST /tickets/{number}/read). Present only for an agent session: a workspace API key has no "I" to answer for, so the field is absent rather than guessed.
Message
idkindauthor_typeauthor_idbody_textbody_htmlsourcecreated_atThe files sent with this message. Empty for most of them.
Contact
idemailnamephonelocaleblockedcreated_atOrganization
idnameemail_domainsDomains that attach an incoming contact to this company automatically.
shared_ticketsnotescreated_atAgent
idemailnamerolestatusavailablecreated_atMacro
idnamecategoryavailabilityteam_idcreated_atSlaPolicy
idnamepositionPer priority: { first_reply_min, next_reply_min, resolve_min }.
business_hours_idis_defaultactiveView
idnamesharedteam_idpositioncountTickets the view currently holds — the badge, without paging through them.
TicketField
idkeyThe key under which a value appears in custom_fields.
labeltypeportal_visiblerequiredpositionKbCategory
idparent_idnameslugdescriptionpositionKbArticle
idcategory_idtitleslugbody_htmlstatusauthor_idpublished_atview_countvotes_upvotes_downcreated_atupdated_atCsat
idticket_idagent_idscorecommentcreated_atAttachment
idmessage_idfilenamecontent_typesize_bytesdownload_urlFetch with the same API key.
created_atSession
tokenexpires_atSlides forward on every authenticated call (90 days of inactivity).
session_idThis device's session, as it appears in /me.
PushDevice
idplatformdevice_nameapp_versionagent_idcontact_idcreated_atlast_seen_atWrittenMessage
idticket_numberinternalcreated_atskipped_filesPresent only when storage refused a file — it names which.
NotificationFeed
unread_countread_atEverything older than this counts as read. Null when nothing has been read.
Notification
idStable for as long as the fact behind it is.
kindNo "assigned to you": an assignment leaves no date behind, so a derived feed has nothing to sort. That one is a push notification, sent when it happens.
ticket_numberticket_subjectactor_nameatreadPortalNotificationFeed
unread_countread_atPortalNotification
idkindSomebody answered, or the request was resolved. Their own messages are not news to them.
request_numberrequest_subjectactor_nameatreadPortalSession
tokenexpires_atA customer, as they may see themselves — never the notes a workspace keeps about them.
session_idPortalContact
idemailnamelocaleStored, but the workspace's own language is what the product renders.
PortalMe
A customer, as they may see themselves — never the notes a workspace keeps about them.
PortalRequest
numbersubjectstatuscreated_atupdated_atresolved_atclosed_atmessage_countWho spoke last, which is what the row says: "Marie replied 3 hrs ago".
PortalMessage
idauthor_typeauthor_namebody_textbody_htmlcreated_at