Skip to main content

Email & Communications Endpoints (cont.)

Email & Communications (continued)

IncomingEmail (continued)

POST /incomingemail

Create incoming email records.

Request Body: Array of IncomingEmail objects

Key IncomingEmail fields:

FieldTypeDescription
idintegerRecord ID
mbidintegerMailbox ID
agentidintegerAssigned agent ID
addactiontofaultidintegerTicket ID to add action to
fromstringSender email address
tostringRecipient email address
subjectstringEmail subject
htmlstringHTML email body
plainstringPlain text email body
mailidstringMail server message ID
datecreateddatetimeDate received
dateprocesseddatetimeDate processed into a ticket
processedbooleanWhether processing is complete
statusintegerProcessing status
sourceintegerInbound source type
removed_from_mailboxbooleanWhether removed from server mailbox
retry_remainingintegerRemaining processing retry attempts
outboundbooleanWhether this is an outbound email

GET /incomingemail/{id}

Get one IncomingEmail record. Requires authentication.

Path Parameters: id (integer, required)

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full details
showcurrentagentonlybooleanFilter to current agent

DELETE /incomingemail/{id}

Delete an incoming email record by ID.

Path Parameters: id (integer, required)

POST /incomingemail/AddToTicket

Request Body: Array of AddToTicket objects

FieldTypeDescription
_emailprocessedintegerIncoming email ID to mark as processed
_addactiontofaultidintegerTicket ID to attach the email action to

Outgoingemail

Outbound email log — records of emails sent from HaloPSA.

GET /Outgoingemail

List of outgoing email records. Requires authentication.

Query Parameters:

NameTypeDescription
errorsonlybooleanReturn only failed/error emails

POST /Outgoingemail

Create outgoing email log records.

Request Body: Array of Outgoingemail objects

Key Outgoingemail fields:

FieldTypeDescription
idintegerRecord ID
fromstringSender address
tostringRecipient address
ccstringCC addresses
subjectstringEmail subject
htmlstringHTML body
memostringPlain text summary
datesentdatetimeDate sent
typeintegerEmail type
idoneintegerPrimary linked record ID
idtwointegerSecondary linked record ID
errorstringError message if send failed
likely_causestringProbable cause of send failure

DELETE /Outgoingemail/{id}

Delete an outgoing email record by ID.

Path Parameters: id (integer, required)


BulkEmail

Manage bulk email send jobs.

GET /BulkEmail

List all bulk email records.

GET /BulkEmail/{id}

Get one BulkEmail record. Requires authentication.

Path Parameters: id (integer, required)

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full bulk email details

MailCampaign

Email marketing campaigns — create, manage, and track campaign sends.

GET /MailCampaign

List all mail campaigns.

POST /MailCampaign

Create or update mail campaign records.

Request Body: Array of MailCampaign objects

Key MailCampaign fields:

FieldTypeDescription
idintegerCampaign ID
namestringCampaign name
statusintegerCampaign status
status_descstringStatus description
typeintegerCampaign type
distribution_listintegerDistribution list ID
mailbox_fromintegerSending mailbox ID
mailbox_replytostringReply-to address
created_datetimedatetimeCreation date
sent_datetimedatetimeSend date
emails_sentintegerNumber of emails sent
recipients_countintegerTotal recipient count
total_opensintegerTotal email opens
unique_open_ratenumberUnique open rate
total_clicksintegerTotal link clicks
click_ratenumberClick rate
total_unsubscribesintegerTotal unsubscribes
unsubscribe_ratenumberUnsubscribe rate
disabledbooleanWhether campaign is disabled
schedule_idintegerAssociated schedule ID
nextcreationdatedatetimeNext scheduled send date
emailsarrayCampaign email templates (MailCampaignEmail)
_start_campaignbooleanTrigger: start the campaign
_cancel_campaignbooleanTrigger: cancel the campaign

GET /MailCampaign/{id}

Get one MailCampaign record by ID.

Path Parameters: id (integer, required)

DELETE /MailCampaign/{id}

Delete a mail campaign by ID.

Path Parameters: id (integer, required)


MailCampaignEmail

Individual email entries within a mail campaign.

GET /MailCampaignEmail

List all mail campaign email records.

POST /MailCampaignEmail

Create or update mail campaign email records.

Request Body: Array of MailCampaignEmail objects

GET /MailCampaignEmail/{id}

Get one MailCampaignEmail record by ID.

Path Parameters: id (integer, required)

DELETE /MailCampaignEmail/{id}

Delete a mail campaign email record by ID.

Path Parameters: id (integer, required)


MailCampaignLog

Read-only log of mail campaign activity.

GET /MailCampaignLog

List all mail campaign log entries.

GET /MailCampaignLog/{id}

Get one mail campaign log entry by ID.

Path Parameters: id (integer, required)


SalesMailbox

Sales-specific mailbox configurations for CRM email integration.

GET /SalesMailbox

List all sales mailbox records.

POST /SalesMailbox

Create or update sales mailbox records.

Request Body: Array of SalesMailbox objects

GET /SalesMailbox/{id}

Get one SalesMailbox record. Requires authentication.

Path Parameters: id (integer, required)

Query Parameters:

NameTypeDescription
_test_accessbooleanTest mailbox access/connectivity
includedetailsbooleanInclude full configuration details

DELETE /SalesMailbox/{id}

Delete a sales mailbox record by ID.

Path Parameters: id (integer, required)


SalesMailboxDetail

Detailed configuration for individual sales mailbox entries.

GET /SalesMailboxDetail

List all sales mailbox detail records.

POST /SalesMailboxDetail

Create or update sales mailbox detail records.

Request Body: Array of SalesMailboxDetail objects

Key SalesMailboxDetail fields:

FieldTypeDescription
idintegerRecord ID
smidintegerParent sales mailbox ID
namestringDetail name/label
enableautomatchingbooleanEnable automatic matching
lastsyncdatetimeLast successful sync time
sentlastsyncdatetimeLast sent sync time
lasterrorstringLast sync error message
agent_emailstringAgent email address
google_authorizedbooleanWhether Google OAuth is authorized

Mailchimp

Mailchimp integration endpoint.

GET /Mailchimp/Get

Retrieve Mailchimp integration data.


MarketingOpen

Track email open and click events for marketing campaigns.

GET /MO

List all marketing open records.

POST /MO

Create marketing open/click records.

Request Body: Array of MarketingOpen objects

GET /MO/{id}

Get one marketing open record by ID.

Path Parameters: id (integer, required)

DELETE /MO/{id}

Delete a marketing open record by ID.

Path Parameters: id (integer, required)

GET /MO/b

Marketing beacon endpoint (email open pixel tracking).

GET /MO/r

Marketing redirect endpoint (click tracking redirect).


MarketingUnsubscribe

Manage marketing email unsubscribe records.

GET /MarketingUnsubscribe

List all marketing unsubscribe records.

POST /MarketingUnsubscribe

Create marketing unsubscribe records.

Request Body: Array of MarketingUnsubscribe objects

GET /MarketingUnsubscribe/{id}

Get one marketing unsubscribe record by ID.

Path Parameters: id (integer, required)

DELETE /MarketingUnsubscribe/{id}

Delete a marketing unsubscribe record by ID.

Path Parameters: id (integer, required)


UnsubEmailServiceUsers

Manage service email unsubscription records — users who have opted out of service notification emails.

GET /UnsubServiceEmails

List all service email unsubscribe records.

POST /UnsubServiceEmails

Create service email unsubscribe records.

Request Body: Array of UnsubEmailServiceUsers objects

Key fields:

FieldTypeDescription
idintegerRecord ID
stidintegerTicket type ID
uidintegerUser ID
keystringUnsubscribe key/token

GET /UnsubServiceEmails/{id}

Get one service email unsubscribe record. Requires authentication.

Path Parameters: id (integer, required)

Query Parameters:

NameTypeDescription
includedetailsbooleanInclude full details

DELETE /UnsubServiceEmails/{id}

Delete a service email unsubscribe record by ID.

Path Parameters: id (integer, required)