Download OpenAPI specification:
Welcome to the Mojo Helpdesk API reference docs. Whether you're an experienced developer and Mojo Helpdesk user or just starting out, this is where you'll find the documentation you need.
This API provides access to Mojo Helpdesk’s ticket management system, enabling the retrieval, creation, updating, and management of support tickets and related resources.
A Mojo Helpdesk example API usage Python script is available here.
For API support, please contact https://help.mojohelpdesk.com
Retrieve a list of tickets from your helpdesk. This endpoint supports pagination and sorting.
sort_by | string Default: "id" Enum: "id" "title" "description" "user_id" "assigned_to_id" "status_id" "ticket_form_id" "priority_id" "ticket_queue_id" "company_id" "rating" "rated_on" "created_on" "updated_on" "status_changed_on" "solved_on" "assigned_on" "ticket_type_id" "due_on" "scheduled_on" |
sort_order | string Default: "desc" Enum: "asc" "desc" |
page | integer Default: 1 |
per_page | integer Default: 10 |
curl -G 'https://app.mojohelpdesk.com/api/v2/tickets' \ --data-urlencode 'access_key=<YOUR_API_KEY>' \ --data-urlencode 'sort_by=created_on' \ --data-urlencode 'sort_order=desc'
[- {
- "id": 123,
- "title": "Printer is jammed",
- "status_id": 1,
- "ticket_queue_id": 1,
- "ticket_type_id": 2,
- "priority_id": 3,
- "user_id": 5,
- "assigned_to_id": 10
}
]
Create a new support ticket with optional file attachments. Use multipart/form-data content type to include file attachments.
title required | string The title of the ticket |
description | string The description or body of the ticket |
ticket_queue_id required | integer ID of the ticket queue to assign the ticket to |
priority_id | integer Enum: 10 20 30 40 Priority level of the ticket |
status_id | integer Enum: 10 20 30 40 50 60 Current status of the ticket |
ticket_type_id | integer ID of the ticket type |
assigned_to_id | integer ID of the user assigned to the ticket |
ticket_form_id | integer ID of the ticket form to use (if omitted, the default form will be used) |
user_id | integer ID of the user who created the ticket |
cc | string Comma-separated list of email addresses to CC on ticket notifications |
asset_tag | string Asset tag to associate with the ticket |
asset_id | integer ID of the asset to associate with the ticket |
due_on | string <date-time> Due date for the ticket |
scheduled_on | string <date-time> Scheduled date for the ticket |
object User information for the ticket | |
custom_field_<CUSTOM_FIELD_SYSTEM_KEY> | string Custom field value where |
property name* additional property | any |
{- "title": "string",
- "description": "string",
- "ticket_queue_id": 0,
- "priority_id": 10,
- "status_id": 10,
- "ticket_type_id": 0,
- "assigned_to_id": 0,
- "ticket_form_id": 0,
- "user_id": 0,
- "cc": "string",
- "asset_tag": "string",
- "asset_id": 0,
- "due_on": "2019-08-24T14:15:22Z",
- "scheduled_on": "2019-08-24T14:15:22Z",
- "user": {
- "email": "user@example.com"
}, - "custom_field_<CUSTOM_FIELD_SYSTEM_KEY>": "string"
}
{- "id": 123,
- "title": "Printer is jammed",
- "description": "The printer in the office is stuck and won't print anything",
- "status_id": 1,
- "ticket_queue_id": 1,
- "ticket_form_id": 1,
- "ticket_type_id": 2,
- "priority_id": 3,
- "user_id": 5,
- "assigned_to_id": 10
}
curl -G 'https://app.mojohelpdesk.com/api/v2/tickets/123?access_key=<YOUR_API_KEY>'
{- "id": 123,
- "title": "Printer is jammed",
- "description": "The printer in the office is stuck and won't print anything",
- "status_id": 1,
- "ticket_queue_id": 1,
- "ticket_form_id": 1,
- "ticket_type_id": 2,
- "priority_id": 3,
- "user_id": 5,
- "assigned_to_id": 10
}
id required | integer |
title | string The title of the ticket |
description | string The description or body of the ticket |
ticket_queue_id | integer ID of the ticket queue to assign the ticket to |
priority_id | integer Enum: 10 20 30 40 Priority level of the ticket |
status_id | integer Enum: 10 20 30 40 50 60 Current status of the ticket |
ticket_type_id | integer ID of the ticket type |
assigned_to_id | integer ID of the user assigned to the ticket |
ticket_form_id | integer ID of the ticket form to use (if omitted, the default form will be used) |
user_id | integer ID of the user who created the ticket |
cc | string Comma-separated list of email addresses to CC on ticket notifications |
asset_tag | string Asset tag to associate with the ticket |
asset_id | integer ID of the asset to associate with the ticket |
due_on | string <date-time> Due date for the ticket |
scheduled_on | string <date-time> Scheduled date for the ticket |
custom_field_<CUSTOM_FIELD_SYSTEM_KEY> | string Custom field value where |
property name* additional property | any |
{- "title": "string",
- "description": "string",
- "ticket_queue_id": 0,
- "priority_id": 10,
- "status_id": 10,
- "ticket_type_id": 0,
- "assigned_to_id": 0,
- "ticket_form_id": 0,
- "user_id": 0,
- "cc": "string",
- "asset_tag": "string",
- "asset_id": 0,
- "due_on": "2019-08-24T14:15:22Z",
- "scheduled_on": "2019-08-24T14:15:22Z",
- "custom_field_<CUSTOM_FIELD_SYSTEM_KEY>": "string"
}
{- "id": 123,
- "title": "Printer is jammed",
- "description": "The printer in the office is stuck and won't print anything",
- "status_id": 1,
- "ticket_queue_id": 1,
- "ticket_form_id": 1,
- "ticket_type_id": 2,
- "priority_id": 3,
- "user_id": 5,
- "assigned_to_id": 10
}
Permanently delete a ticket from the system. This action cannot be undone. The ticket and all its associated data (comments, attachments, etc.) will be removed.
id required | integer The ID of the ticket to delete |
curl https://app.mojohelpdesk.com/api/v2/tickets/113?access_key=<YOUR_API_KEY> -X DELETE
Retrieve a list of event log entries for a specific ticket. Events include actions like ticket creation, status changes, assignments, comments, and other activities performed on the ticket.
ticket_id required | integer The ID of the ticket to get events for |
curl -G 'https://app.mojohelpdesk.com/api/v2/tickets/113/events?access_key=<YOUR_API_KEY>'
[- {
- "id": 123,
- "user_id": 10,
- "user_full_name": "John Doe",
- "unique_identifier": "event_123",
- "entity_type": 1,
- "entity_id": 456,
- "action_name": "create",
- "description": "Ticket created",
- "created_on": "2024-01-15T10:30:00Z",
}
]
Add a tag to a specific ticket. You can specify the tag either by its ID or by its label. If a tag with the specified label doesn't exist, it will be created.
id required | integer The ID of the ticket to add the tag to |
tag_id | integer ID of the existing tag to add |
tag_label | string Label of the tag to add (will create if doesn't exist) |
{- "tag_label": "Test"
}
[- {
- "id": 1,
- "label": "Bug",
- "color": "#ff0000"
}
]
Remove a tag from a specific ticket. You can specify the tag either by its ID or by its label. The tag will be removed from the ticket if it exists.
id required | integer The ID of the ticket to remove the tag from |
tag_id | integer ID of the existing tag to remove |
tag_label | string Label of the tag to remove |
{- "tag_label": "Test"
}
[- {
- "id": 1,
- "label": "Bug",
- "color": "#ff0000"
}
]
Retrieve a list of comments for a specific ticket. Comments include user-submitted responses and internal notes associated with the ticket.
ticket_id required | integer The ID of the ticket to get comments for |
page | integer Default: 1 Page number for pagination |
per_page | integer Default: 10 Number of comments per page |
curl https://app.mojohelpdesk.com/api/v2/tickets/114/comments?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "body": "This is a comment on the ticket",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
]
Add a new comment to a specific ticket. Comments can be public (visible to ticket submitter) or internal notes (visible only to agents).
ticket_id required | integer The ID of the ticket to add the comment to |
body required | string The content of the comment |
time_spent | integer Time spent on this comment in minutes |
cc | string Comma-separated list of email addresses to CC on this comment |
is_internal | boolean Default: false Whether this is an internal note (true) or public comment (false) |
{- "body": "New comment",
- "time_spent": 30,
- "cc": "user@example.com, manager@example.com",
- "is_internal": false
}
{- "id": 1,
- "body": "This is a comment on the ticket",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
Retrieve a list of staff notes for a specific ticket. Staff notes are internal comments visible only to agents and managers, not to the ticket submitter.
ticket_id required | integer The ID of the ticket to get staff notes for |
page | integer Default: 1 Page number for pagination |
per_page | integer Default: 10 Number of staff notes per page |
curl https://app.mojohelpdesk.com/api/v2/tickets/114/staff_notes?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "body": "Internal note for staff only",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
]
Add a new staff note to a specific ticket. Staff notes are internal comments visible only to agents and managers, not to the ticket submitter.
ticket_id required | integer The ID of the ticket to add the staff note to |
body required | string The content of the staff note |
time_spent | integer Time spent on this staff note in minutes |
cc | string Comma-separated list of email addresses to CC on this staff note |
{- "body": "New staff note",
- "time_spent": 30,
- "cc": "manager@example.com"
}
{- "id": 1,
- "body": "Internal note for staff only",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
Search for tickets using ElasticSearch query syntax. The search query format is the same as the one generated for the advanced search on the web interface.
Important: When using special characters in the query, use URL encoding:
%20
instead of space\&
instead of just &
\(
instead of (
\<
instead of <
Example Queries:
query=status.id:\(\<50\)
query=priority.id:\(\<=20\)%20AND%20status.id:\(\<50\)
query=queue.id:19647%20AND%20status.id:\(\<50\)
query=_exists_:due_on
Searchable Fields:
query | string ElasticSearch query in the format used by the web interface advanced search. If not provided, returns all tickets. Search Notes:
|
sf | string Enum: "created_on" "due_on" "rated_on" "scheduled_on" "solved_on" "updated_on" |
r | integer Default: 0 Enum: 0 1 Reverse sort (0 = ascending, 1 = descending) |
per_page | integer >= 10 Default: 10 Results per page (minimum 10) |
page | integer Default: 1 Page number |
curl https://app.mojohelpdesk.com/api/v2/tickets/search?query=status.id:\(\<50\)\&sf=created_on\&r=0\&access_key=<YOUR_API_KEY>
[- {
- "id": 123,
- "title": "Printer is jammed",
- "status_id": 1,
- "ticket_queue_id": 1,
- "ticket_type_id": 2,
- "priority_id": 3,
- "user_id": 5,
- "assigned_to_id": 10
}
]
Retrieve a list of event log entries for a specific ticket. Events include actions like ticket creation, status changes, assignments, comments, and other activities performed on the ticket.
ticket_id required | integer The ID of the ticket to get events for |
curl -G 'https://app.mojohelpdesk.com/api/v2/tickets/113/events?access_key=<YOUR_API_KEY>'
[- {
- "id": 123,
- "user_id": 10,
- "user_full_name": "John Doe",
- "unique_identifier": "event_123",
- "entity_type": 1,
- "entity_id": 456,
- "action_name": "create",
- "description": "Ticket created",
- "created_on": "2024-01-15T10:30:00Z",
}
]
Add a tag to a specific ticket. You can specify the tag either by its ID or by its label. If a tag with the specified label doesn't exist, it will be created.
id required | integer The ID of the ticket to add the tag to |
tag_id | integer ID of the existing tag to add |
tag_label | string Label of the tag to add (will create if doesn't exist) |
{- "tag_label": "Test"
}
[- {
- "id": 1,
- "label": "Bug",
- "color": "#ff0000"
}
]
Remove a tag from a specific ticket. You can specify the tag either by its ID or by its label. The tag will be removed from the ticket if it exists.
id required | integer The ID of the ticket to remove the tag from |
tag_id | integer ID of the existing tag to remove |
tag_label | string Label of the tag to remove |
{- "tag_label": "Test"
}
[- {
- "id": 1,
- "label": "Bug",
- "color": "#ff0000"
}
]
Retrieve a list of comments for a specific ticket. Comments include user-submitted responses and internal notes associated with the ticket.
ticket_id required | integer The ID of the ticket to get comments for |
page | integer Default: 1 Page number for pagination |
per_page | integer Default: 10 Number of comments per page |
curl https://app.mojohelpdesk.com/api/v2/tickets/114/comments?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "body": "This is a comment on the ticket",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
]
Add a new comment to a specific ticket. Comments can be public (visible to ticket submitter) or internal notes (visible only to agents).
ticket_id required | integer The ID of the ticket to add the comment to |
body required | string The content of the comment |
time_spent | integer Time spent on this comment in minutes |
cc | string Comma-separated list of email addresses to CC on this comment |
is_internal | boolean Default: false Whether this is an internal note (true) or public comment (false) |
{- "body": "New comment",
- "time_spent": 30,
- "cc": "user@example.com, manager@example.com",
- "is_internal": false
}
{- "id": 1,
- "body": "This is a comment on the ticket",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
Retrieve a list of staff notes for a specific ticket. Staff notes are internal comments visible only to agents and managers, not to the ticket submitter.
ticket_id required | integer The ID of the ticket to get staff notes for |
page | integer Default: 1 Page number for pagination |
per_page | integer Default: 10 Number of staff notes per page |
curl https://app.mojohelpdesk.com/api/v2/tickets/114/staff_notes?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "body": "Internal note for staff only",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
]
Add a new staff note to a specific ticket. Staff notes are internal comments visible only to agents and managers, not to the ticket submitter.
ticket_id required | integer The ID of the ticket to add the staff note to |
body required | string The content of the staff note |
time_spent | integer Time spent on this staff note in minutes |
cc | string Comma-separated list of email addresses to CC on this staff note |
{- "body": "New staff note",
- "time_spent": 30,
- "cc": "manager@example.com"
}
{- "id": 1,
- "body": "Internal note for staff only",
- "user_id": 10,
- "ticket_id": 123,
- "created_at": "2024-01-15T10:30:00Z"
}
Retrieve all attachments associated with a specific ticket.
ticket_id required | integer ID of the ticket |
curl https://app.mojohelpdesk.com/api/v2/tickets/211402/attachments?access_key=<YOUR_API_KEY>
[- {
- "id": 6422878,
- "filename": "document.pdf",
- "content_type": "application/pdf",
- "file_size": 1024000,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z",
- "user_id": 10,
- "ticket_id": 211402,
- "staff_only": false
}
]
Upload a file attachment to a specific ticket. Use multipart/form-data content type.
ticket_id required | integer ID of the ticket |
staff_only | boolean Default: false When true, the attachment will only be visible to staff members |
file | string <binary> The file to upload |
curl -F "file=@/home/user/my-file.txt" https://app.mojohelpdesk.com/api/v2/tickets/211402/attachments?staff_only=true&access_key=<YOUR_API_KEY> -X POST
{- "id": 6422878,
- "filename": "document.pdf",
- "content_type": "application/pdf",
- "file_size": 1024000,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z",
- "user_id": 10,
- "ticket_id": 211402,
- "staff_only": false
}
Retrieve a list of ticket queues. This endpoint supports pagination.
page | integer Default: 1 Page number |
per_page | integer Default: 30 Results per page (default 30) |
curl https://app.mojohelpdesk.com/api/v2/ticket_queues?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Technical Support",
- "email_alias": "tech-support",
- "email_forward": "tech@company.com",
- "email_ticket_form_id": 1
}
]
Create a new ticket queue.
name required | string Name of the ticket queue |
email_alias | string Email alias for the queue |
email_forward | string Email address to forward queue emails to |
property name* additional property | any |
{- "name": "My queue",
- "email_alias": "support",
- "email_forward": "support@company.com"
}
{- "id": 1,
- "name": "Technical Support",
- "email_alias": "tech-support",
- "email_forward": "tech@company.com",
- "email_ticket_form_id": 1
}
Retrieve details of a specific ticket queue.
id required | integer ID of the ticket queue |
curl https://app.mojohelpdesk.com/api/v2/ticket_queues/8?access_key=<YOUR_API_KEY>
{- "id": 1,
- "name": "Technical Support",
- "email_alias": "tech-support",
- "email_forward": "tech@company.com",
- "email_ticket_form_id": 1
}
Update an existing ticket queue.
id required | integer ID of the ticket queue |
name | string Name of the ticket queue |
email_alias | string Email alias for the queue |
email_forward | string Email address to forward queue emails to |
property name* additional property | any |
{- "name": "My precious queue",
- "email_alias": "premium-support",
- "email_forward": "premium@company.com"
}
{- "id": 1,
- "name": "Technical Support",
- "email_alias": "tech-support",
- "email_forward": "tech@company.com",
- "email_ticket_form_id": 1
}
Retrieve a list of groups (formerly called companies). This endpoint supports pagination.
page | integer Default: 1 Page number |
per_page | integer Default: 30 Results per page (default 30) |
curl https://app.mojohelpdesk.com/api/v2/groups?access_key=<YOUR_API_KEY>
[- {
- "id": 1999,
- "name": "My very own group",
- "primary_contact_id": 10,
- "billing_contact_id": 11,
- "support_level_id": 1,
- "support_status_id": 0,
- "support_start_date": "2024-01-01",
- "support_end_date": "2024-12-31",
- "address": "123 Main St",
- "address2": "Suite 100",
- "city": "New York",
- "state": "NY",
- "zip": "10001",
- "country": "USA",
- "website_url": "www.google.com",
- "notes": "Premium customer"
}
]
Create a new group (formerly called company).
name required | string Name of the group |
primary_contact_id | integer ID of the primary contact (existing helpdesk user) |
billing_contact_id | integer ID of the billing contact (existing helpdesk user) |
support_level_id | integer Support level ID |
support_status_id | integer Enum: 0 1 Support status (0 - active, 1 - delinquent) |
support_start_date | string <date> Support start date |
support_end_date | string <date> Support end date |
support_info_url | string URL for support information |
address | string Primary address |
address2 | string Secondary address |
city | string City |
state | string State/Province |
zip | string ZIP/Postal code |
country | string Country |
website_url | string Website URL |
notes | string Additional notes |
property name* additional property | any |
{- "name": "My very own group",
- "primary_contact_id": 10,
- "website_url": "www.company.com"
}
{- "id": 1999,
- "name": "My very own group",
- "primary_contact_id": 10,
- "billing_contact_id": 11,
- "support_level_id": 1,
- "support_status_id": 0,
- "support_start_date": "2024-01-01",
- "support_end_date": "2024-12-31",
- "address": "123 Main St",
- "address2": "Suite 100",
- "city": "New York",
- "state": "NY",
- "zip": "10001",
- "country": "USA",
- "website_url": "www.google.com",
- "notes": "Premium customer"
}
Update an existing group.
id required | integer ID of the group |
name | string Name of the group |
primary_contact_id | integer ID of the primary contact (existing helpdesk user) |
billing_contact_id | integer ID of the billing contact (existing helpdesk user) |
support_level_id | integer Support level ID |
support_status_id | integer Enum: 0 1 Support status (0 - active, 1 - delinquent) |
support_start_date | string <date> Support start date |
support_end_date | string <date> Support end date |
support_info_url | string URL for support information |
address | string Primary address |
address2 | string Secondary address |
city | string City |
state | string State/Province |
zip | string ZIP/Postal code |
country | string Country |
website_url | string Website URL |
notes | string Additional notes |
property name* additional property | any |
{- "name": "Updated group name",
- "website_url": "www.google.com",
- "support_status_id": 0
}
{- "id": 1999,
- "name": "My very own group",
- "primary_contact_id": 10,
- "billing_contact_id": 11,
- "support_level_id": 1,
- "support_status_id": 0,
- "support_start_date": "2024-01-01",
- "support_end_date": "2024-12-31",
- "address": "123 Main St",
- "address2": "Suite 100",
- "city": "New York",
- "state": "NY",
- "zip": "10001",
- "country": "USA",
- "website_url": "www.google.com",
- "notes": "Premium customer"
}
Retrieve a list of users. This endpoint supports pagination.
page | integer Default: 1 Page number |
per_page | integer Default: 30 Results per page (default 30) |
curl https://app.mojohelpdesk.com/api/v2/users?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
]
Create a new user.
send_welcome_email | integer Default: 0 Enum: 0 1 Whether to send a welcome email to the new user (0 = no, 1 = yes) |
email required | string <email> Email address of the user |
first_name | string First name of the user |
last_name | string Last name of the user |
work_phone | string Work phone number |
cell_phone | string Cell phone number |
home_phone | string Home phone number |
user_notes | string Additional notes about the user |
company_id | integer ID of the company/group the user belongs to |
password | string Password for the user account |
is_active | boolean Whether the user account is active |
role_id | integer Enum: 10 15 20 30 35 40 Role ID of the user |
property name* additional property | any |
{- "email": "ivaylo+test@metadot.com",
- "first_name": "Ivaylo",
- "last_name": "Georgiev",
- "company_id": "888",
- "password": "111111"
}
{- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
curl https://app.mojohelpdesk.com/api/v2/users/techs?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
]
Retrieve details of a specific user.
id required | integer ID of the user |
curl https://app.mojohelpdesk.com/api/v2/users/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
Update an existing user.
id required | integer ID of the user |
string <email> Email address of the user | |
first_name | string First name of the user |
last_name | string Last name of the user |
work_phone | string Work phone number |
cell_phone | string Cell phone number |
home_phone | string Home phone number |
user_notes | string Additional notes about the user |
company_id | integer ID of the company/group the user belongs to |
password | string Password for the user account |
is_active | boolean Whether the user account is active |
role_id | integer Enum: 10 15 20 30 35 40 Role ID of the user |
property name* additional property | any |
{- "user_notes": "Thats me again.",
- "first_name": "Updated Name",
- "role_id": 20
}
{- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
Retrieve a user by their email address.
email required | string <email> Email address of the user |
curl https://app.mojohelpdesk.com/api/v2/users/get_by_email?email=someone@company.com&access_key=<YOUR_API_KEY>
{- "id": 1,
- "email": "john.doe@company.com",
- "first_name": "John",
- "last_name": "Doe",
- "work_phone": "+1-555-123-4567",
- "cell_phone": "+1-555-987-6543",
- "home_phone": "+1-555-111-2222",
- "user_notes": "Premium customer",
- "company_id": 1,
- "role_id": 20,
- "is_active": true
}
Retrieve a list of tasks associated with a specific ticket.
ticket_id required | integer ID of the ticket |
curl https://app.mojohelpdesk.com/api/v2/tickets/88/tasks?access_key=<YOUR_API_KEY>
[- {
- "id": 777,
- "title": "Check printer status",
- "notes": "Verify if printer is online and has paper",
- "is_completed": false,
- "ticket_id": 88,
- "assigned_to_id": 10,
- "due_date": "2024-01-16T17:00:00Z",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new task for a specific ticket.
ticket_id required | integer ID of the ticket |
title required | string Title of the task |
notes | string Additional notes for the task |
is_completed | boolean Whether the task is completed |
assigned_to_id | integer ID of the user assigned to the task |
due_date | string <date-time> Due date for the task |
property name* additional property | any |
{- "title": "Test",
- "notes": "Additional task notes",
- "is_completed": false
}
{- "id": 777,
- "title": "Check printer status",
- "notes": "Verify if printer is online and has paper",
- "is_completed": false,
- "ticket_id": 88,
- "assigned_to_id": 10,
- "due_date": "2024-01-16T17:00:00Z",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing task for a specific ticket.
ticket_id required | integer ID of the ticket |
id required | integer ID of the task |
title | string Title of the task |
notes | string Additional notes for the task |
is_completed | boolean Whether the task is completed |
assigned_to_id | integer ID of the user assigned to the task |
due_date | string <date-time> Due date for the task |
property name* additional property | any |
{- "notes": "Help",
- "is_completed": true,
- "title": "Updated task title"
}
{- "id": 777,
- "title": "Check printer status",
- "notes": "Verify if printer is online and has paper",
- "is_completed": false,
- "ticket_id": 88,
- "assigned_to_id": 10,
- "due_date": "2024-01-16T17:00:00Z",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Delete a task from a specific ticket. This action cannot be undone.
ticket_id required | integer ID of the ticket |
id required | integer ID of the task |
curl https://app.mojohelpdesk.com/api/v2/tickets/88/tasks/777?access_key=<YOUR_API_KEY> -X DELETE
curl https://app.mojohelpdesk.com/api/v2/ticket_forms?access_key=<YOUR_API_KEY>
[- {
- "id": 2700,
- "name": "Default Form",
- "is_default": true,
- "is_enabled": true
}
]
Retrieve details of a specific ticket form.
id required | integer ID of the ticket form |
curl https://app.mojohelpdesk.com/api/v2/ticket_forms/2700?access_key=<YOUR_API_KEY>
{- "id": 2700,
- "name": "Default Form",
- "is_default": true,
- "is_enabled": true
}
Retrieve all group ticket access permissions for a specific user.
user_id required | integer ID of the user |
curl https://app.mojohelpdesk.com/api/v2/users/14/group_access?access_key=<YOUR_API_KEY>
[- {
- "user_id": 14,
- "group_id": 1234,
- "access": 1
}
]
Retrieve the ticket access permission for a specific user and group.
user_id required | integer ID of the user |
group_id required | integer ID of the group |
curl https://app.mojohelpdesk.com/api/v2/users/14/group_access/1234?access_key=<YOUR_API_KEY>
{- "user_id": 14,
- "group_id": 1234,
- "access": 1
}
Set the ticket access permission for a specific user and group.
user_id required | integer ID of the user |
group_id required | integer ID of the group |
access required | integer Enum: 0 1 2 Access level for the user to the group's tickets |
property name* additional property | any |
{- "access": 1
}
{- "user_id": 14,
- "group_id": 1234,
- "access": 1
}
Create a new ticket type.
name required | string Name of the ticket type |
property name* additional property | any |
{- "name": "My type"
}
{- "id": 8,
- "name": "Bug Report"
}
Retrieve details of a specific ticket type.
id required | integer ID of the ticket type |
curl https://app.mojohelpdesk.com/api/v2/ticket_types/8?access_key=<YOUR_API_KEY>
{- "id": 8,
- "name": "Bug Report"
}
Update an existing ticket type.
id required | integer ID of the ticket type |
name | string Name of the ticket type |
property name* additional property | any |
{- "name": "My precious type"
}
{- "id": 8,
- "name": "Bug Report"
}
curl https://app.mojohelpdesk.com/api/v2/assets?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "asset_tag": "PRINT-001",
- "serial_number": "SN123456789",
- "display_name": "Office Printer HP LaserJet",
- "description": "My very own asset",
- "asset_type_id": 1,
- "location_id": 1,
- "department_id": 1,
- "managed_by_id": 10,
- "used_by_id": 15,
- "asset_status_id": 1,
- "notes": "Located in main office",
- "purchased_on": "2024-01-01",
- "cost": 299.99,
- "purchase_order_number": "PO-2024-001",
- "vendor": "HP Inc.",
- "warranty_info": "3-year warranty",
- "visibility": "staff_only",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new asset.
asset_tag | string Asset tag/identifier |
serial_number | string Serial number of the asset |
legacy_reference_number | string Legacy reference number |
display_name required | string Display name of the asset |
description | string Description of the asset |
asset_type_id | integer ID of the asset type |
location_id | integer ID of the asset location |
department_id | integer ID of the department |
managed_by_id | integer ID of the user who manages the asset |
used_by_id | integer ID of the user who uses the asset |
asset_status_id | integer ID of the asset status |
notes | string Additional notes about the asset |
purchased_on | string <date> Date when the asset was purchased |
cost | number <float> Cost of the asset |
purchase_order_number | string Purchase order number |
vendor | string Vendor/supplier name |
replaced_on | string <date> Date when the asset was replaced |
warranty_info | string Warranty information |
end_of_contract_on | string <date> End date of the contract |
contract_notes | string Contract-related notes |
create_ticket_days_before | integer Days before contract end to create ticket |
birthday | string <date> Birthday/anniversary date of the asset |
visibility | string Enum: "staff_only" "all_users" "logged_in_users" Visibility level of the asset |
property name* additional property | any |
{- "display_name": "My asset",
- "description": "My very own asset",
- "asset_tag": "ASSET-001",
- "serial_number": "SN123456789",
- "cost": 299.99,
- "vendor": "HP Inc."
}
{- "id": 1,
- "asset_tag": "PRINT-001",
- "serial_number": "SN123456789",
- "display_name": "Office Printer HP LaserJet",
- "description": "My very own asset",
- "asset_type_id": 1,
- "location_id": 1,
- "department_id": 1,
- "managed_by_id": 10,
- "used_by_id": 15,
- "asset_status_id": 1,
- "notes": "Located in main office",
- "purchased_on": "2024-01-01",
- "cost": 299.99,
- "purchase_order_number": "PO-2024-001",
- "vendor": "HP Inc.",
- "warranty_info": "3-year warranty",
- "visibility": "staff_only",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Retrieve details of a specific asset.
id required | integer ID of the asset |
curl https://app.mojohelpdesk.com/api/v2/assets/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "asset_tag": "PRINT-001",
- "serial_number": "SN123456789",
- "display_name": "Office Printer HP LaserJet",
- "description": "My very own asset",
- "asset_type_id": 1,
- "location_id": 1,
- "department_id": 1,
- "managed_by_id": 10,
- "used_by_id": 15,
- "asset_status_id": 1,
- "notes": "Located in main office",
- "purchased_on": "2024-01-01",
- "cost": 299.99,
- "purchase_order_number": "PO-2024-001",
- "vendor": "HP Inc.",
- "warranty_info": "3-year warranty",
- "visibility": "staff_only",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing asset.
id required | integer ID of the asset |
asset_tag | string Asset tag/identifier |
serial_number | string Serial number of the asset |
legacy_reference_number | string Legacy reference number |
display_name | string Display name of the asset |
description | string Description of the asset |
asset_type_id | integer ID of the asset type |
location_id | integer ID of the asset location |
department_id | integer ID of the department |
managed_by_id | integer ID of the user who manages the asset |
used_by_id | integer ID of the user who uses the asset |
asset_status_id | integer ID of the asset status |
notes | string Additional notes about the asset |
purchased_on | string <date> Date when the asset was purchased |
cost | number <float> Cost of the asset |
purchase_order_number | string Purchase order number |
vendor | string Vendor/supplier name |
replaced_on | string <date> Date when the asset was replaced |
warranty_info | string Warranty information |
end_of_contract_on | string <date> End date of the contract |
contract_notes | string Contract-related notes |
create_ticket_days_before | integer Days before contract end to create ticket |
birthday | string <date> Birthday/anniversary date of the asset |
visibility | string Enum: "staff_only" "all_users" "logged_in_users" Visibility level of the asset |
property name* additional property | any |
{- "display_name": "My precious asset",
- "description": "Updated asset description",
- "cost": 399.99,
- "vendor": "Updated Vendor",
- "visibility": "all_users"
}
{- "id": 1,
- "asset_tag": "PRINT-001",
- "serial_number": "SN123456789",
- "display_name": "Office Printer HP LaserJet",
- "description": "My very own asset",
- "asset_type_id": 1,
- "location_id": 1,
- "department_id": 1,
- "managed_by_id": 10,
- "used_by_id": 15,
- "asset_status_id": 1,
- "notes": "Located in main office",
- "purchased_on": "2024-01-01",
- "cost": 299.99,
- "purchase_order_number": "PO-2024-001",
- "vendor": "HP Inc.",
- "warranty_info": "3-year warranty",
- "visibility": "staff_only",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Search assets using ElasticSearch query syntax. The search query format is similar to ticket search.
Search Notes:
created_on:[2013-11-11T21:37:02Z TO *]
(for dates after the given)created_on:[* TO 2013-11-11T21:37:02Z]
(for dates before the given)created_on:[2013-10-11T21:37:02Z TO 2013-11-11T21:37:02Z]
(for dates between the given)managed_by.email:("myemail@somedomain.com")
Searchable Fields:
asset_tag
- Asset tag/identifierdisplay_name
- Display name of the assetdescription
- Asset descriptionasset_type.id
- Asset type IDlocation.id
- Location IDdepartment.id
- Department IDmanaged_by.email
- Email of the user who manages the assetmanaged_by.id
- ID of the user who manages the assetused_by.email
- Email of the user who uses the assetused_by.id
- ID of the user who uses the assetcreated_on
- Creation dateupdated_on
- Last update datestatus
- Asset statuspurchased_on
- Purchase datevendor
- Vendor/supplier nameend_of_contract_on
- Contract end datereplaced_on
- Replacement dateserial_number
- Serial numberbirthday
- Birthday/anniversary dateaccess_key required | string API access key |
query | string ElasticSearch query syntax. Note the usage of %20 instead of space, & instead of just &, ( instead of (, < instead of <. Examples:
|
sort_field | string Default: "name" Enum: "name" "tag" "asset_type_name" "location_name" "department_name" "managed_by_name" "used_by_name" "status_name" "birthday_sort" "serial_number" "created_on" "updated_on" Sort field name (same as the web form search) |
sort_order | string Default: "desc" Enum: "asc" "desc" Sort order |
per_page | integer [ 10 .. 100 ] Default: 10 Results per page (min 10, max 100) |
page | integer Default: 1 Page number |
curl "https://app.mojohelpdesk.com/api/v2/assets/search?access_key=<YOUR_API_KEY>&query=location.id:123"
[- {
- "id": 1,
- "asset_tag": "PRINT-001",
- "serial_number": "SN123456789",
- "display_name": "Office Printer HP LaserJet",
- "description": "My very own asset",
- "asset_type_id": 1,
- "location_id": 1,
- "department_id": 1,
- "managed_by_id": 10,
- "used_by_id": 15,
- "asset_status_id": 1,
- "notes": "Located in main office",
- "purchased_on": "2024-01-01",
- "cost": 299.99,
- "purchase_order_number": "PO-2024-001",
- "vendor": "HP Inc.",
- "warranty_info": "3-year warranty",
- "visibility": "staff_only",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve a list of asset statuses. Supports paging with optional parameters per_page and page. If per_page is missing, by default it will return 30 items per page.
access_key required | string API access key |
per_page | integer Default: 30 Number of items per page |
page | integer Default: 1 Page number |
curl https://app.mojohelpdesk.com/api/v2/asset_statuses?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Active",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new asset status
access_key required | string API access key |
name required | string Name of the asset status |
property name* additional property | any |
{- "name": "My asset type"
}
{- "id": 1,
- "name": "Active",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Retrieve a specific asset status by ID
id required | integer Asset status ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_statuses/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "name": "Active",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing asset status
id required | integer Asset status ID |
access_key required | string API access key |
name | string Name of the asset status |
property name* additional property | any |
{- "name": "My precious asset type"
}
{- "id": 1,
- "name": "Active",
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Delete an asset status by ID
id required | integer Asset status ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_statuses/1?access_key=<YOUR_API_KEY> -X DELETE
{- "message": "Asset status deleted successfully"
}
Retrieve a list of locations
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/locations?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Main Office",
- "description": "My very own location",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new location
access_key required | string API access key |
name required | string Name of the location |
description | string Description of the location |
parent_id | integer ID of the parent location (for hierarchical structure) |
property name* additional property | any |
{- "name": "My location",
- "description": "My very own location",
- "parent_id": 1
}
{- "id": 1,
- "name": "Main Office",
- "description": "My very own location",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Retrieve a list of locations organized in tree structure
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/locations/tree?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Main Office",
- "description": "My very own location",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve a specific location by ID
id required | integer Location ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/locations/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "name": "Main Office",
- "description": "My very own location",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing location
id required | integer Location ID |
access_key required | string API access key |
name | string Name of the location |
description | string Description of the location |
parent_id | integer ID of the parent location (for hierarchical structure) |
property name* additional property | any |
{- "name": "My precious location",
- "description": "Updated location description",
- "parent_id": 2
}
{- "id": 1,
- "name": "Main Office",
- "description": "My very own location",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Delete a location by ID
id required | integer Location ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/locations/1?access_key=<YOUR_API_KEY> -X DELETE
{- "message": "Location deleted successfully"
}
Retrieve a list of departments
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/departments?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "IT Department",
- "description": "My very own department",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new department
access_key required | string API access key |
name required | string Name of the department |
description | string Description of the department |
parent_id | integer ID of the parent department (for hierarchical structure) |
property name* additional property | any |
{- "name": "My department",
- "description": "My very own department",
- "parent_id": 1
}
{- "id": 1,
- "name": "IT Department",
- "description": "My very own department",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Retrieve a list of departments organized in tree structure
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/departments/tree?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "IT Department",
- "description": "My very own department",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve a specific department by ID
id required | integer Department ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/departments/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "name": "IT Department",
- "description": "My very own department",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing department
id required | integer Department ID |
access_key required | string API access key |
name | string Name of the department |
description | string Description of the department |
parent_id | integer ID of the parent department (for hierarchical structure) |
property name* additional property | any |
{- "name": "My precious department",
- "description": "Updated department description",
- "parent_id": 2
}
{- "id": 1,
- "name": "IT Department",
- "description": "My very own department",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Delete a department by ID
id required | integer Department ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/departments/1?access_key=<YOUR_API_KEY> -X DELETE
{- "message": "Department deleted successfully"
}
Retrieve a list of asset types
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_types?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Computer Hardware",
- "description": "My very own asset type",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Create a new asset type
access_key required | string API access key |
name required | string Name of the asset type |
description | string Description of the asset type |
parent_id | integer ID of the parent asset type (for hierarchical structure) |
property name* additional property | any |
{- "name": "My asset type",
- "description": "My very own asset type",
- "parent_id": 1
}
{- "id": 1,
- "name": "Computer Hardware",
- "description": "My very own asset type",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Retrieve a list of asset types organized in tree structure
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_types/tree?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "name": "Computer Hardware",
- "description": "My very own asset type",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve a specific asset type by ID
id required | integer Asset type ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_types/1?access_key=<YOUR_API_KEY>
{- "id": 1,
- "name": "Computer Hardware",
- "description": "My very own asset type",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Update an existing asset type
id required | integer Asset type ID |
access_key required | string API access key |
name | string Name of the asset type |
description | string Description of the asset type |
parent_id | integer ID of the parent asset type (for hierarchical structure) |
property name* additional property | any |
{- "name": "My precious asset type",
- "description": "Updated asset type description",
- "parent_id": 2
}
{- "id": 1,
- "name": "Computer Hardware",
- "description": "My very own asset type",
- "parent_id": null,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Delete an asset type by ID
id required | integer Asset type ID |
access_key required | string API access key |
curl https://app.mojohelpdesk.com/api/v2/asset_types/1?access_key=<YOUR_API_KEY> -X DELETE
{- "message": "Asset type deleted successfully"
}
Retrieve a list of all restricted agents and their access rights to ticket queues. This endpoint shows which agents have restricted access and what queues they can access.
curl https://app.mojohelpdesk.com/api/v2/access_rights/restricted_agents?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve a list of all groups and their access rights to ticket queues. This endpoint shows which groups have access to which queues.
curl https://app.mojohelpdesk.com/api/v2/access_rights/groups?access_key=<YOUR_API_KEY>
[- {
- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve the access rights for a specific restricted agent. Shows which ticket queues the agent has access to.
user_id required | integer ID of the restricted agent |
curl https://app.mojohelpdesk.com/api/v2/users/1819458/access_rights?access_key=<YOUR_API_KEY>
{- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Set the access right for a restricted agent on a specific ticket queue. This allows or denies the agent access to tickets in that queue.
user_id required | integer ID of the restricted agent |
ticket_queue_id required | string ID of the ticket queue |
has_access required | string Enum: "true" "false" Whether the agent has access to this queue |
{- "ticket_queue_id": "94748",
- "has_access": "true"
}
{- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Set access rights for a restricted agent on multiple ticket queues at once. This allows or denies the agent access to multiple queues in a single request.
user_id required | integer ID of the restricted agent |
keys required | Array of strings Array of ticket queue IDs |
has_access required | string Enum: "true" "false" Whether the agent has access to these queues |
{- "keys": [
- "94748",
- "15"
], - "has_access": "true"
}
[- {
- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]
Retrieve the access rights for a specific group. Shows which ticket queues the group has access to.
group_id required | integer ID of the group |
curl https://app.mojohelpdesk.com/api/v2/groups/124147/access_rights?access_key=<YOUR_API_KEY>
{- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Set access rights for a group. This can be used to grant access to a single queue, multiple queues, or all queues depending on the parameters provided.
group_id required | integer ID of the group |
ticket_queue_id required | string ID of the ticket queue |
has_access required | string Enum: "true" "false" Whether the group has access to this queue |
{- "has_access_to_all_ticket_queues": "true"
}
{- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
Set access rights for a group on multiple ticket queues at once. This allows or denies the group access to multiple queues in a single request.
group_id required | integer ID of the group |
keys required | Array of strings Array of ticket queue IDs |
has_access required | string Enum: "true" "false" Whether the group has access to these queues |
{- "keys": [
- "94748",
- "15"
], - "has_access": "true"
}
[- {
- "id": 1,
- "user_id": 1819458,
- "group_id": null,
- "ticket_queue_id": 94748,
- "has_access": true,
- "created_at": "2024-01-15T10:30:00Z",
- "updated_at": "2024-01-15T10:30:00Z"
}
]