Developers › API reference
ITSM
Base address https://itsm.kanishu.com/api/v1 · Download the OpenAPI description (for Postman, code generators and the like).
Conventions shared by every endpoint — tokens, headers, lists, safe retries, versions, limits — are in the developer guide; error codes are on Error codes. Each endpoint below names the scope a token needs.
Jump to: Changes · Component · Knowledge · People · Tickets
Changes
GET /api/v1/changes/audit-feed
Audit Feed (changes audit feed) · scope changes:audit-read
| Parameter | In | Type | About |
|---|---|---|---|
page_size | query | integer | Answer in pages of this many records (10–2000). Without it, everything comes back at once. |
after | query | integer | The `meta.next_after` from the previous page (start with 0). |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — Records in id order. With page_size, `meta.next_after` is the `after` for the next page (null on the last).
Reply fields (26) — each record in data
Also in the answer: meta.
standard_change | object, can be null | The approved standard change it follows, if any. |
standard_change.id | integer | |
standard_change.name | string | |
standard_change.version | integer | |
standard_change.linked_by_name | string, can be null | |
standard_change.linked_at | string (date and time, ISO 8601), can be null | |
standard_change.in_scope | boolean, can be null | Whether the person linking confirmed the change fits the standard's scope. |
standard_change.approved_at | string (date and time, ISO 8601), can be null | |
standard_change.approved_before_link | boolean | true when the standard was approved before this change was linked to it. |
standard_change.self_approved | boolean | true when the standard's approver also wrote or submitted it. |
standard_change.status_now | string, can be null | |
standard_change.review_due_on | string (date), can be null | |
standard_change.failures | integer | How many changes under this standard have failed. |
id | integer | |
subject | string | |
change_type | string | standard (pre-approved), normal or emergency. |
risk | string | Assessed risk: low, medium or high. |
status | string | |
implementation_plan | string | How the change will be carried out. |
rollback_plan | string, can be null | How it will be undone if it fails. |
outcome | string, can be null | How it went once done: successful, failed or partial (null until then). |
created_by_user_id | integer | |
created_by_name | string | |
approved_by_user_id | integer, can be null | Who approved it. |
approved_at | string (date and time, ISO 8601), can be null | |
closed_at | string (date and time, ISO 8601), can be null |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=standard_change,subject.
Component
POST /api/v1/component-tickets
Store For Component (component tickets) · scope tickets:write
Request fields (JSON body)
description required | string | |
organization_id required | integer | Your organisation's id. |
priority | string: low, medium, high, urgent, can be null | |
related_component_display_name required | string (up to 255) | A readable name for it (e.g. the asset tag). |
related_component_id required | integer | That record's id in the other product. |
related_component_type required | string: asset, license, vendor | What the ticket is about in the other product (e.g. asset, license). |
reporter_email required | string (email) (up to 255) | |
reporter_name required | string (up to 255) | |
subject required | string (up to 255) |
200 — OK.
Reply fields (2)
id | integer |
url | string |
Knowledge
GET /api/v1/knowledge
List knowledge · scope knowledge:read
| Parameter | In | Type | About |
|---|---|---|---|
q | query | string | Search text. |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — Every matching record in one answer.
Reply fields (5) — each record in data
id | integer | |
title | string | |
excerpt | string | The start of the article, for lists and search results. |
category | string, can be null | |
url | string | Where the article is in Ticketing. |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=title,excerpt.
GET /api/v1/knowledge/{id}
Get one of knowledge · scope knowledge:read
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK.
Reply fields (5)
id | integer | |
title | string | |
body | string | The full article. |
category | string, can be null | |
updated_at | string (date and time, ISO 8601) |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=title,body.
People
GET /api/v1/people
List people · scope people:read
| Parameter | In | Type | About |
|---|---|---|---|
page | query | integer | Page number, from 1. |
per_page | query | integer | Items a page (default 25, at most 100). |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — A page of results.
Reply fields (24) — each record in data
Also in the answer: meta, links.
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=display_name,preferred_name.
POST /api/v1/people
Create in people · scope people:write
Request fields (JSON body)
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
display_name required | string (up to 255) | The name shown everywhere in Kanishu. |
employee_number | string (up to 50), can be null | Your own employee number for them (e.g. from payroll or HR). |
employment_status | string: pre_joining, active, on_leave, leaving, left | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
location_id | string (uuid), can be null | |
manager_person_id | string (uuid), can be null | The manager's People id. |
org_unit_id | string (uuid), can be null | The department or team id, from GET /people-organisation. |
person_type | string: employee, contractor, external, other | employee, contractor, external (auditor, consultant…) or other. |
position_id | string (uuid), can be null | |
preferred_name | string (up to 255), can be null | What they like to be called, if different. |
work_email | string (email) (up to 255), can be null | Their work email address; how they are matched to logins in the products. |
201 — Created. The record is in `data`; its address in `Location`.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
GET /api/v1/people-organisation
Organisation (people organisation) · scope people:read
| Parameter | In | Type | About |
|---|---|---|---|
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK. The record is in `data`, with its version in the `ETag` header.
Reply fields (18) — in data
departments | list | |
departments[].id | string (uuid) | |
departments[].name | string | |
departments[].type | string | What kind of unit it is (e.g. department, team, business unit). |
departments[].code | string | |
departments[].part_of_id | integer or string, can be null | The unit this one sits under, or null at the top. |
departments[].in_use | boolean | false when the unit is archived and no longer offered. |
positions | list | |
positions[].id | string (uuid) | |
positions[].name | string | |
positions[].code | string, can be null | |
positions[].in_use | boolean | false when the position is archived. |
locations | list | |
locations[].id | string (uuid) | |
locations[].name | string | |
locations[].code | string, can be null | |
locations[].city | string, can be null | |
locations[].in_use | boolean | false when the location is archived. |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=departments,positions.
POST /api/v1/people/joiners
Add a joiner (from their start date) · scope people:write
Request fields (JSON body)
access | list of string, can be null | Logins they should get, as product key => role (e.g. {"itsm": "agent"}); each one waits for an approval. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
display_name required | string (up to 255) | The name shown everywhere in Kanishu. |
employee_number | string (up to 50), can be null | Your own employee number for them (e.g. from payroll or HR). |
employment_status | string: pre_joining, active, on_leave, leaving, left | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
location_id | string (uuid), can be null | |
manager_person_id | string (uuid), can be null | The manager's People id. |
org_unit_id | string (uuid), can be null | The department or team id, from GET /people-organisation. |
person_type | string: employee, contractor, external, other | employee, contractor, external (auditor, consultant…) or other. |
position_id | string (uuid), can be null | |
preferred_name | string (up to 255), can be null | What they like to be called, if different. |
start_date required | string (date) | Their first working day; their logins are prepared for it. |
work_email | string (email) (up to 255), can be null | Their work email address; how they are matched to logins in the products. |
201 — The new person, as GET /people/{person} returns them.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
GET /api/v1/people/{person}
Get one of people · scope people:read
| Parameter | In | Type | About |
|---|---|---|---|
person required | path | integer | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK. The record is in `data`, with its version in the `ETag` header.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=display_name,preferred_name.
PATCH /api/v1/people/{person}
Change one of people · scope people:write
| Parameter | In | Type | About |
|---|---|---|---|
person required | path | integer |
Request fields (JSON body) — send only the fields you change
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
display_name | string (up to 255) | The name shown everywhere in Kanishu. |
employee_number | string (up to 50), can be null | Your own employee number for them (e.g. from payroll or HR). |
employment_status | string: pre_joining, active, on_leave, leaving, left | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
location_id | string (uuid), can be null | |
manager_person_id | string (uuid), can be null | The manager's People id. |
org_unit_id | string (uuid), can be null | The department or team id, from GET /people-organisation. |
person_type | string: employee, contractor, external, other | employee, contractor, external (auditor, consultant…) or other. |
position_id | string (uuid), can be null | |
preferred_name | string (up to 255), can be null | What they like to be called, if different. |
work_email | string (email) (up to 255), can be null | Their work email address; how they are matched to logins in the products. |
200 — OK. The record is in `data`, with its version in the `ETag` header.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
POST /api/v1/people/{person}/leave
Record a leaver (logins switched off after the last working day, or now if urgent) · scope people:write
| Parameter | In | Type | About |
|---|---|---|---|
person required | path | integer |
Request fields (JSON body)
last_working_date required | string (date) | Their last working day, once they are leaving; their logins are switched off after it. |
reason | string (up to 500), can be null | Why they are leaving (kept in People's History). |
urgent | boolean | true to switch their logins off now instead of after the last working day. |
200 — The person, as GET /people/{person} returns them.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
POST /api/v1/people/{person}/move
Move a person (department, manager, position or location) from a date · scope people:write
| Parameter | In | Type | About |
|---|---|---|---|
person required | path | integer |
Request fields (JSON body)
department_id | string (uuid), can be null | The department or team they move to, from GET /people-organisation. |
effective_date required | string (date) | The date the move takes effect. |
location_id | string (uuid), can be null | |
manager_id | string (uuid), can be null | Their new manager's People id. |
position_id | string (uuid), can be null |
200 — The person, as GET /people/{person} returns them.
Reply fields (24) — in data
id | string (uuid) | The person's id in People (a UUID). Use it with /people/{person}. |
display_name | string | The name shown everywhere in Kanishu. |
preferred_name | string, can be null | What they like to be called, if different. |
work_email | string | Their work email address; how they are matched to logins in the products. |
employee_number | string, can be null | Your own employee number for them (e.g. from payroll or HR). |
type | string | employee, contractor, external (auditor, consultant…) or other. |
status | string | pre_joining (joining soon), active, on_leave, leaving (last working day set) or left. |
joining_date | string (date), can be null | Their first working day. |
last_working_date | string (date), can be null | Their last working day, once they are leaving; their logins are switched off after it. |
access_end_date | string (date), can be null | When their access to Kanishu products ends, if earlier or later than the last working day (e.g. contractors). |
department | object, can be null | Their department or team (id and name), from GET /people-organisation. |
department.id | string (uuid) | |
department.name | string | |
position | object, can be null | Their job position (id and name). |
position.id | string (uuid) | |
position.name | string | |
location | object, can be null | Their office or site (id and name). |
location.id | string (uuid) | |
location.name | string | |
manager | object, can be null | Their manager in People (id and display_name). |
manager.id | string (uuid) | |
manager.display_name | string | |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) |
Tickets
GET /api/v1/tickets
List tickets · scope tickets:read
| Parameter | In | Type | About |
|---|---|---|---|
related_component_type | query | string | |
related_component_id | query | string | |
requester_domain | query | string | |
requester_emails | query | string | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
include | query | string | Related records in the same answer, comma-separated: `comments` — The ticket's public comments (internal notes are never included): author_name, body, created_at — as on GET /tickets/{id} (needs `comments:read`); `fulfillment_tasks` — The request's fulfilment tasks: id, name, status, requires_approval — as GET /tickets/{id}/fulfillment-tasks returns them (needs `tickets:read`); `relationships` — Linked tickets: label, ticket_id, subject, status — as GET /tickets/{id}/relationships returns them (needs `tickets:read`). |
200 — Every matching record in one answer.
Reply fields (11) — each record in data
id | integer | |
subject | string | |
status | string | open, in_progress, pending, blocked, resolved, closed, not_applicable or cancelled. |
priority | string | low, medium, high or urgent. |
category | string, can be null | The ticket's category name. |
assigned_to | string, can be null | Name of the agent working on it, or null. |
created_at | string (date and time, ISO 8601) | |
url | string | Where the ticket is in Ticketing (add it to https://itsm.kanishu.com). |
comments | list | Only with ?include=comments. The ticket's public comments (internal notes are never included): author_name, body, created_at — as on GET /tickets/{id}. |
fulfillment_tasks | list | Only with ?include=fulfillment_tasks. The request's fulfilment tasks: id, name, status, requires_approval — as GET /tickets/{id}/fulfillment-tasks returns them. |
relationships | list | Only with ?include=relationships. Linked tickets: label, ticket_id, subject, status — as GET /tickets/{id}/relationships returns them. |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=subject,status.
POST /api/v1/tickets
Create in tickets · scope tickets:write
Request fields (JSON body)
category_id | integer, can be null | A ticket category id; leave out to let your routing rules decide. |
description required | string | |
priority | string: low, medium, high, urgent, can be null | low, medium, high or urgent. |
subject required | string (up to 255) |
201 — Created.
Reply fields (2)
id | integer | |
url | string | Where the ticket is in Ticketing (add it to https://itsm.kanishu.com). |
GET /api/v1/tickets/audit-feed
Audit Feed (tickets audit feed) · scope tickets:audit-read
| Parameter | In | Type | About |
|---|---|---|---|
page_size | query | integer | Answer in pages of this many records (10–2000). Without it, everything comes back at once. |
after | query | integer | The `meta.next_after` from the previous page (start with 0). |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — Records in id order. With page_size, `meta.next_after` is the `after` for the next page (null on the last).
Reply fields (9) — each record in data
Also in the answer: meta.
id | integer | |
subject | string | |
status | string | open, in_progress, pending, blocked, resolved, closed, not_applicable or cancelled. |
priority | string | low, medium, high or urgent. |
category | string, can be null | The ticket's category name. |
resolved_at | string (date and time, ISO 8601), can be null | |
closed_at | string (date and time, ISO 8601), can be null | |
problem_id | integer, can be null | The problem record the incident is linked to, if any (audit feed). |
problem_root_cause | string, can be null | The linked problem's root cause, if recorded (audit feed). |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=subject,status.
GET /api/v1/tickets/{id}
Get one of tickets · scope tickets:read
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK.
Reply fields (12)
id | integer | |
subject | string | |
description | string | |
status | string | open, in_progress, pending, blocked, resolved, closed, not_applicable or cancelled. |
priority | string | low, medium, high or urgent. |
category | string, can be null | The ticket's category name. |
assigned_to | string, can be null | Name of the agent working on it, or null. |
requester_name | string | Who raised it. |
created_at | string (date and time, ISO 8601) | |
updated_at | string (date and time, ISO 8601) | |
resolved_at | string (date and time, ISO 8601), can be null | |
comments | list |
Need fewer? Add ?fields= with the names you want, e.g. ?fields=subject,description.
POST /api/v1/tickets/{id}/comments
Store Comment (tickets comments) · scope tickets:write
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer |
Request fields (JSON body)
author_name required | string (up to 255) | Name to show as the comment's author. |
body required | string |
200 — OK.
Reply fields (2)
id | integer |
created_at | string (date and time, ISO 8601) |
POST /api/v1/tickets/{id}/csat
Submit Csat (tickets csat) · scope tickets:write
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer |
Request fields (JSON body)
csat_comment | string (up to 2000), can be null | |
csat_rating required | integer | Satisfaction rating from 1 (poor) to 5 (excellent). |
200 — OK.
Reply fields (1)
ok | boolean |
GET /api/v1/tickets/{id}/fulfillment-tasks
Fulfillment Tasks (tickets fulfillment tasks) · scope tickets:read
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK.
POST /api/v1/tickets/{id}/fulfillment-tasks/{taskId}/complete
Complete Fulfillment Task (tickets fulfillment tasks complete) · scope tickets:write
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer | |
taskId required | path | integer |
200 — OK.
Reply fields (2)
id | integer | |
status | string | open, in_progress, pending, blocked, resolved, closed, not_applicable or cancelled. |
GET /api/v1/tickets/{id}/relationships
Relationships (tickets relationships) · scope tickets:read
| Parameter | In | Type | About |
|---|---|---|---|
id required | path | integer | |
fields | query | string | Only these fields of each record, comma-separated (e.g. `id,name`; nested: `owner.name`). `id` always comes back. |
200 — OK.