HappyFox
Create and update support tickets and contacts in HappyFox via the HappyFox REST API v1.1.
What it does
Provides eight operations against the HappyFox helpdesk:
| Operation | Description |
|---|---|
list_tickets |
Retrieve the first page of tickets (up to 10, default page size) |
get_ticket |
Fetch full details for a single ticket by ticket number |
create_ticket |
Open a new ticket for a contact (creates the contact if new) |
update_ticket |
Post a staff reply or change status/priority on an existing ticket |
list_contacts |
Retrieve the first page of contacts |
get_contact |
Fetch a single contact by numeric ID or email address |
create_contact |
Create a new contact with name, email, and optional phone |
update_contact |
Update name, email, or phone on an existing contact |
API key setup
- Log in to HappyFox as an admin.
- Go to Apps > Goodies > API.
- Click New API Key, give it a name, and save.
- Copy both the API Key and the Auth Code that appear — you need both.
Authentication
HappyFox uses HTTP Basic authentication. The API key is the username and the auth code is the password. The tool encodes them automatically; you supply them as plain strings.
Base URL
https://{subdomain}.happyfox.com/api/1.1/json/
EU-hosted accounts use .happyfox.net — supply the full host as the subdomain input and the tool normalizes it.
Inputs
| Input | Required | Description |
|---|---|---|
apiKey |
Yes | HappyFox API key |
authCode |
Yes | HappyFox auth code |
subdomain |
Yes | Your HappyFox subdomain (e.g. acme from acme.happyfox.com) |
operation |
Yes | One of the eight operations listed above |
ticketNumber |
For ticket ops | Ticket number (e.g. 42) |
subject |
create_ticket | Ticket subject line |
text |
create/update_ticket | Message body (plain text; stored as HTML by HappyFox) |
email |
create_ticket, create/update_contact | Contact email address |
name |
create_ticket, create/update_contact | Contact display name |
categoryId |
create_ticket | Category ID (integer; required by HappyFox) |
priorityId |
create/update_ticket | Priority ID (integer) |
staffId |
update_ticket | Agent/staff ID performing the update |
statusId |
update_ticket | New status ID |
contactId |
get/update_contact | Numeric contact ID or email address |
phone |
create/update_contact | Contact phone number |
Examples
Create a ticket
- name: open_ticket
tool: happyfox
input:
apiKey: "{{credential.happyfox_api_key}}"
authCode: "{{credential.happyfox_auth_code}}"
subdomain: acme
operation: create_ticket
name: Jane Smith
email: [email protected]
subject: Cannot log in to my account
text: I've been locked out since this morning. Please help.
categoryId: "3"
Get ticket details
- name: fetch_ticket
tool: happyfox
input:
apiKey: "{{credential.happyfox_api_key}}"
authCode: "{{credential.happyfox_auth_code}}"
subdomain: acme
operation: get_ticket
ticketNumber: "42"
Update a ticket (staff reply + status change)
- name: reply_ticket
tool: happyfox
input:
apiKey: "{{credential.happyfox_api_key}}"
authCode: "{{credential.happyfox_auth_code}}"
subdomain: acme
operation: update_ticket
ticketNumber: "42"
staffId: "7"
text: We've reset your password. Please try logging in again.
statusId: "2"
Create a contact
- name: add_contact
tool: happyfox
input:
apiKey: "{{credential.happyfox_api_key}}"
authCode: "{{credential.happyfox_auth_code}}"
subdomain: acme
operation: create_contact
name: Jane Smith
email: [email protected]
phone: "+15550001234"
Notes
categoryId,priorityId,staffId, andstatusIdare numeric IDs. Find them in the HappyFox admin UI or by callinglist_tickets/GET /api/1.1/json/categories/directly.- The
resultoutput contains the raw JSON response body from HappyFox. statuscontains the HTTP status code (e.g.200,201,400).- List endpoints return 10 results per page by default (HappyFox maximum is 50). Pagination is not automated; use the raw API for bulk retrieval.
- Rate limiting: HappyFox enforces per-account API rate limits. See the HappyFox knowledge base article on rate limiting for current thresholds.