Ticket configuration
Before tickets can be raised, each company needs its workflow configuration: categories, priorities with service levels, and statuses. POST /tickets/defaults creates the standard set in one call.
The Ticket Category Model
A category tickets are classified under, as a tree.
Scheme
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the category belongs to. Cannot be changed
- Name
parentId- Type
- integer
- Description
- The parent category of the same company, or 0 for a root
- Name
name- Type
- string required
- Description
- Category name
- Name
teamId- Type
- integer
- Description
- The team that handles tickets of this category, or 0. New tickets of the category start with it
- Name
priorityId- Type
- integer
- Description
- The priority new tickets of this category start with, or 0
- Name
disabled- Type
- boolean
- Description
- Whether the category is switched off
- Name
attributes- Type
- object
- Description
- Custom category attributes
The Ticket Priority Model
A ticket priority and its service levels. Targets are business minutes counted on the calendar; 0 means no target.
Scheme
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the priority belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- Priority name
- Name
level- Type
- integer required
- Description
- Orders priorities; 1 is the most urgent
- Name
firstResponseMinutes- Type
- integer
- Description
- Minutes to the first response
- Name
resolutionMinutes- Type
- integer
- Description
- Minutes to the resolution
- Name
calendarId- Type
- integer
- Description
- The calendar whose events are the business hours, or 0 to count every minute
- Name
disabled- Type
- boolean
- Description
- Whether the priority is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _escalateTeamId_ and _escalatePriorityId_ say where a ticket of this priority goes the first time it breaches a service level
The Ticket Status Model
A status in a company ticket workflow.
Scheme
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the status belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- The company own word for the status
- Name
kind- Type
- string required
- Description
- What the system understands by the status
- Name
sortOrder- Type
- integer
- Description
- Position in the workflow
- Name
disabled- Type
- boolean
- Description
- Whether the status is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _next_ is the list of status ids a ticket can move to from this one: absent means any, an empty list means final
Fetch a list of TicketCategories
Ticket categories of the companies the user can see, sorted by name.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Query Parameters
- Name
companyId- Type
- integer
- Description
- Only records of this company
- Name
keyword- Type
- string
- Description
- Search keyword filter (name)
- Name
limit- Type
- integer
- Description
- Limit the number of returned results
- Name
offset- Type
- integer
- Description
- Offset for pagination
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketCategory
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location 'https://gw.onemap8.com/api/ticketcategories?companyId=<integer>&keyword=<string>&limit=<integer>&offset=<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
[
{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}
]
Create a Ticket category
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the category belongs to. Cannot be changed
- Name
parentId- Type
- integer
- Description
- The parent category of the same company, or 0 for a root
- Name
name- Type
- string required
- Description
- Category name
- Name
teamId- Type
- integer
- Description
- The team that handles tickets of this category, or 0. New tickets of the category start with it
- Name
priorityId- Type
- integer
- Description
- The priority new tickets of this category start with, or 0
- Name
disabled- Type
- boolean
- Description
- Whether the category is switched off
- Name
attributes- Type
- object
- Description
- Custom category attributes
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketCategory
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request POST 'https://gw.onemap8.com/api/ticketcategories' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}
Fetch a Ticket category
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketCategory
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location 'https://gw.onemap8.com/api/ticketcategories/<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}
Update a Ticket category
The id in the body must be the id in the path. A category cannot be its own ancestor.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the category belongs to. Cannot be changed
- Name
parentId- Type
- integer
- Description
- The parent category of the same company, or 0 for a root
- Name
name- Type
- string required
- Description
- Category name
- Name
teamId- Type
- integer
- Description
- The team that handles tickets of this category, or 0. New tickets of the category start with it
- Name
priorityId- Type
- integer
- Description
- The priority new tickets of this category start with, or 0
- Name
disabled- Type
- boolean
- Description
- Whether the category is switched off
- Name
attributes- Type
- object
- Description
- Custom category attributes
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketCategory
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request PUT 'https://gw.onemap8.com/api/ticketcategories/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"parentId": 0,
"name": "<string>",
"teamId": 0,
"priorityId": 0,
"disabled": true,
"attributes": {}
}
Delete a Ticket category
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Responses
- Name
204- Type
- success
- Description
- No content
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location --request DELETE 'https://gw.onemap8.com/api/ticketcategories/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
No content
Fetch a list of TicketPriorities
Ticket priorities and their service levels, most urgent (lowest level) first.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Query Parameters
- Name
companyId- Type
- integer
- Description
- Only records of this company
- Name
keyword- Type
- string
- Description
- Search keyword filter (name)
- Name
limit- Type
- integer
- Description
- Limit the number of returned results
- Name
offset- Type
- integer
- Description
- Offset for pagination
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketPriority
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location 'https://gw.onemap8.com/api/ticketpriorities?companyId=<integer>&keyword=<string>&limit=<integer>&offset=<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
[
{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}
]
Create a Ticket priority
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the priority belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- Priority name
- Name
level- Type
- integer required
- Description
- Orders priorities; 1 is the most urgent
- Name
firstResponseMinutes- Type
- integer
- Description
- Minutes to the first response
- Name
resolutionMinutes- Type
- integer
- Description
- Minutes to the resolution
- Name
calendarId- Type
- integer
- Description
- The calendar whose events are the business hours, or 0 to count every minute
- Name
disabled- Type
- boolean
- Description
- Whether the priority is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _escalateTeamId_ and _escalatePriorityId_ say where a ticket of this priority goes the first time it breaches a service level
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketPriority
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request POST 'https://gw.onemap8.com/api/ticketpriorities' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}
Fetch a Ticket priority
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketPriority
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location 'https://gw.onemap8.com/api/ticketpriorities/<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}
Update a Ticket priority
The id in the body must be the id in the path. The first response cannot be due after the resolution.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the priority belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- Priority name
- Name
level- Type
- integer required
- Description
- Orders priorities; 1 is the most urgent
- Name
firstResponseMinutes- Type
- integer
- Description
- Minutes to the first response
- Name
resolutionMinutes- Type
- integer
- Description
- Minutes to the resolution
- Name
calendarId- Type
- integer
- Description
- The calendar whose events are the business hours, or 0 to count every minute
- Name
disabled- Type
- boolean
- Description
- Whether the priority is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _escalateTeamId_ and _escalatePriorityId_ say where a ticket of this priority goes the first time it breaches a service level
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketPriority
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request PUT 'https://gw.onemap8.com/api/ticketpriorities/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"level": 0,
"firstResponseMinutes": 0,
"resolutionMinutes": 0,
"calendarId": 0,
"disabled": true,
"attributes": {}
}
Delete a Ticket priority
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Responses
- Name
204- Type
- success
- Description
- No content
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location --request DELETE 'https://gw.onemap8.com/api/ticketpriorities/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
No content
Fetch a list of TicketStatuses
The statuses of a company ticket workflow, in the order of sortOrder.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Query Parameters
- Name
companyId- Type
- integer
- Description
- Only records of this company
- Name
keyword- Type
- string
- Description
- Search keyword filter (name)
- Name
limit- Type
- integer
- Description
- Limit the number of returned results
- Name
offset- Type
- integer
- Description
- Offset for pagination
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketStatus
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location 'https://gw.onemap8.com/api/ticketstatuses?companyId=<integer>&keyword=<string>&limit=<integer>&offset=<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
[
{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}
]
Create a Ticket status
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the status belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- The company own word for the status
- Name
kind- Type
- string required
- Description
- What the system understands by the status
- Name
sortOrder- Type
- integer
- Description
- Position in the workflow
- Name
disabled- Type
- boolean
- Description
- Whether the status is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _next_ is the list of status ids a ticket can move to from this one: absent means any, an empty list means final
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketStatus
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request POST 'https://gw.onemap8.com/api/ticketstatuses' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}
Fetch a Ticket status
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketStatus
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location 'https://gw.onemap8.com/api/ticketstatuses/<integer>' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}
Update a Ticket status
The id in the body must be the id in the path. A status that tickets use cannot be deleted.
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Request body schema
- Name
application/json- Type
- schema
- Description
Body schema
- Name
id- Type
- integer
- Description
- Unique identifier
- Name
companyId- Type
- integer required
- Description
- The company the status belongs to. Cannot be changed
- Name
name- Type
- string required
- Description
- The company own word for the status
- Name
kind- Type
- string required
- Description
- What the system understands by the status
- Name
sortOrder- Type
- integer
- Description
- Position in the workflow
- Name
disabled- Type
- boolean
- Description
- Whether the status is switched off
- Name
attributes- Type
- object
- Description
- Custom attributes. _next_ is the list of status ids a ticket can move to from this one: absent means any, an empty list means final
Response schema
- Name
application/json- Type
- schema
- Description
Responses
- Name
200- Type
- success
- Description
- TicketStatus
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
Request
curl --location --request PUT 'https://gw.onemap8.com/api/ticketstatuses/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}' \
--data '{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}'
Response
{
"id": 0,
"companyId": 0,
"name": "<string>",
"kind": "new",
"sortOrder": 0,
"disabled": true,
"attributes": {}
}
Delete a Ticket status
Authorizations
BasicAuth or ApiKey
- Name
BasicAuth- Type
- scheme
- Description
- HTTP Authorization Scheme: basic
- Name
ApiKey- Type
- scheme
- Description
- HTTP Authorization Scheme: bearer
Path parameters
- Name
id- Type
- integer required
- Description
Responses
- Name
204- Type
- success
- Description
- No content
- Name
400- Type
- error
- Description
- Bad request. Invalid input, or the user has no access to the company (the server answers 400 with a text message)
- Name
401- Type
- error
- Description
- Unauthorized
- Name
404- Type
- error
- Description
- Not found
Request
curl --location --request DELETE 'https://gw.onemap8.com/api/ticketstatuses/<integer>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {your_access_token}'
Response
No content