Email & Communications Endpoints (cont.)
Email & Communications (continued)
IncomingEmail (continued)
POST /incomingemail
Create incoming email records.
Request Body: Array of IncomingEmail objects
Key IncomingEmail fields:
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
mbid | integer | Mailbox ID |
agentid | integer | Assigned agent ID |
addactiontofaultid | integer | Ticket ID to add action to |
from | string | Sender email address |
to | string | Recipient email address |
subject | string | Email subject |
html | string | HTML email body |
plain | string | Plain text email body |
mailid | string | Mail server message ID |
datecreated | datetime | Date received |
dateprocessed | datetime | Date processed into a ticket |
processed | boolean | Whether processing is complete |
status | integer | Processing status |
source | integer | Inbound source type |
removed_from_mailbox | boolean | Whether removed from server mailbox |
retry_remaining | integer | Remaining processing retry attempts |
outbound | boolean | Whether this is an outbound email |
GET /incomingemail/{id}
Get one IncomingEmail record. Requires authentication.
Path Parameters: id (integer, required)
Query Parameters:
| Name | Type | Description |
|---|---|---|
includedetails | boolean | Include full details |
showcurrentagentonly | boolean | Filter to current agent |
DELETE /incomingemail/{id}
Delete an incoming email record by ID.
Path Parameters: id (integer, required)
POST /incomingemail/AddToTicket
Manually link an incoming email to an existing ticket.
Request Body: Array of AddToTicket objects
| Field | Type | Description |
|---|---|---|
_emailprocessed | integer | Incoming email ID to mark as processed |
_addactiontofaultid | integer | Ticket 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:
| Name | Type | Description |
|---|---|---|
errorsonly | boolean | Return only failed/error emails |
POST /Outgoingemail
Create outgoing email log records.
Request Body: Array of Outgoingemail objects
Key Outgoingemail fields:
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
from | string | Sender address |
to | string | Recipient address |
cc | string | CC addresses |
subject | string | Email subject |
html | string | HTML body |
memo | string | Plain text summary |
datesent | datetime | Date sent |
type | integer | Email type |
idone | integer | Primary linked record ID |
idtwo | integer | Secondary linked record ID |
error | string | Error message if send failed |
likely_cause | string | Probable 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:
| Name | Type | Description |
|---|---|---|
includedetails | boolean | Include 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:
| Field | Type | Description |
|---|---|---|
id | integer | Campaign ID |
name | string | Campaign name |
status | integer | Campaign status |
status_desc | string | Status description |
type | integer | Campaign type |
distribution_list | integer | Distribution list ID |
mailbox_from | integer | Sending mailbox ID |
mailbox_replyto | string | Reply-to address |
created_datetime | datetime | Creation date |
sent_datetime | datetime | Send date |
emails_sent | integer | Number of emails sent |
recipients_count | integer | Total recipient count |
total_opens | integer | Total email opens |
unique_open_rate | number | Unique open rate |
total_clicks | integer | Total link clicks |
click_rate | number | Click rate |
total_unsubscribes | integer | Total unsubscribes |
unsubscribe_rate | number | Unsubscribe rate |
disabled | boolean | Whether campaign is disabled |
schedule_id | integer | Associated schedule ID |
nextcreationdate | datetime | Next scheduled send date |
emails | array | Campaign email templates (MailCampaignEmail) |
_start_campaign | boolean | Trigger: start the campaign |
_cancel_campaign | boolean | Trigger: 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:
| Name | Type | Description |
|---|---|---|
_test_access | boolean | Test mailbox access/connectivity |
includedetails | boolean | Include 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:
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
smid | integer | Parent sales mailbox ID |
name | string | Detail name/label |
enableautomatching | boolean | Enable automatic matching |
lastsync | datetime | Last successful sync time |
sentlastsync | datetime | Last sent sync time |
lasterror | string | Last sync error message |
agent_email | string | Agent email address |
google_authorized | boolean | Whether 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:
| Field | Type | Description |
|---|---|---|
id | integer | Record ID |
stid | integer | Ticket type ID |
uid | integer | User ID |
key | string | Unsubscribe key/token |
GET /UnsubServiceEmails/{id}
Get one service email unsubscribe record. Requires authentication.
Path Parameters: id (integer, required)
Query Parameters:
| Name | Type | Description |
|---|---|---|
includedetails | boolean | Include full details |
DELETE /UnsubServiceEmails/{id}
Delete a service email unsubscribe record by ID.
Path Parameters: id (integer, required)