Resources

Authentication

Supported POST-Requests
  • Auth-Request
  • Creates a session token
  • Needs authorization data
  • UserLogin and Password (Local login via DB oder LDAP)
  • NegotiationToken (SSO via Kerberos)
  • state and code (OIDC)
  • PreAuth-Request
  • Creates data required for following authentification
  • i.e. RedirectURL for OIDC
  • Needs type of PreAuth and type specific data

/auth post get

Client Registrations

/clientregistrations get post

/clientregistrations/{clientId} get delete

CMDB

The top-level /cmdb resource is no collection resource itself. It's purpose is to act as a container for all the CMDB resources.

Configuration Items

Special search behaviour

Since the properties of the version (i.e. the name) don't belong to the Config Item object itself, they must be referenced in the search definition using the prefix "CurrentVersion.", i.e. "CurrentVersion.Name". Attributes that are part of the sub-object "Data" of the "CurrentVersion" object have to be referenced with the prefix "CurrentVersion.Data.". Each structural level in the "Data" object has to be separated by ".", i.e. "CurrentVersion.Data.SectionNetwork.FQDN".

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
CurrentVersionAdds the current version of the Config Item to the response. See sub-resource "versions".

/cmdb/configitems get post

/cmdb/configitems/{configItemId} get patch delete

Can not resolve ../descriptions/resources/cmdb/configitems/graph.md

/cmdb/configitems/{configItemId}/graph

History of a Config Item

/cmdb/configitems/{configItemId}/history get

/cmdb/configitems/{configItemId}/history/{historyId} get

Images for a Config Item

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
ContentAdds the base64 encoded content of the image to the response.
Please note

During a POST request the given filename will be replaced with an internal ID. It just works as a validation attribute during the creation of the image item.

/cmdb/configitems/{configItemId}/images get post

/cmdb/configitems/{configItemId}/images/{imageId} get delete

Versions of a Config Item

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
DefinitionAdds the corresponding definition of the Config Item class to the response. See sub-resource "definitions".
DataAdds the version data to the response.
PreparedDataAdds the prepared data to the response. The structure of this object is based on the structure of the definition. For every value in the Data object an array item will be created. Please see the description below.

Structure of the Data attribute

The structure of the Data attribute is based on the structure and configuration of the corresponding Config Item class definition. The following rules apply:

1. The Keyin the attribute definition is the attribute name

{
"AttributeKey": ...
}

2. If CountMax in the attribute definition is 1 (or omitted) the value is assigned directly

{
"AttributeKey": "Value"
}

3. If CountMax in the attribute definition is > 1 the value is assigned as an array

{
"AttributeKey": [
"Value1",
"Value2",
"Value3"
]
}

4. If the attribute has a value AND also contains values in a sub-structure, the attribute is an object and its value will be assigned to an attribute with the same name with this object

{
"AttributeKey": {
"AttributeKey": "Value",
"SubAttributKey1": "...",
"SubAttributKey2": {
  "SubSubAttributKey1": "..."
}
}
}

Format of the PreparedData array items

{ 
"Key": "<the key from the attribute definition>",
"Label": "<the name from the attribute definition>",
"Type": "<the type from the attribute definition>",
"Value": "<the internal value of the attribute>",
"DisplayValue": "<the display value of the attribute>",
"Sub": [...]
}

The Sub attribute only exists if the attribute definition contains a sub-structure and ony if the sub-structure contains data.

The DisplayValue attribute is not available for attribute of the type Attachment

Supported attribute types

When creating a version of a Config Item only the following attribute types are supported:

Attribute typeDescriptionValue in requestExample in POST
AttachmentAn attachment object containing the attributes Filename, ContentType, Content. The content has to be base64 encoded.attachment object"MyAttachment": [ { "Filename": "test.pdf", "ContentType": "application/pdf", "Content": "..." } ]
CIClassReferenceA reference to another Config Itemnumeric ID of the referenced Config Item"ReferencedCI": 612
ContactA reference to a contactContactID"MyContact": 123
OrganisationA reference to an organisationOrganisationID"MyOrganisation": 456
DateA date value in the form "YYYY-MM-DD"string"MyDate": "2018-08-28"
DateTimeA date+time value in the form "YYYY-MM-DD HH24:MI:SS"string"MyDateTime": "2018-08-28 09:23:58"
DummyAn empty object to create sub-structuressub-structure"MyDummy": {}
GeneralCatalogA reference to a GeneralCatalog itemnumeric ID of the GeneralCatalog item"MyGeneralCatalogItem": 123
TextAreaA multi-line textstring"MyTextArea": "This\nis\njust\na\ntest."
TextA single-line textstring"MyText": "This is just a test."

/cmdb/configitems/{configItemId}/versions get post

/cmdb/configitems/{configItemId}/versions/{versionId} get

Downloading Attachments

Please note

The content is base64 encoded.

/cmdb/configitems/{configItemId}/versions/{versionId}/attachments/{attachmentId} get

Contacts

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
TicketStatsAdds some statistics to the response, about the tickets of this contact. It will contain the number of tickets that are in a state of types "new" and "open", the number of pending tickets and the number of escalated tickets.
AssignedConfigItemsAdds assigend configitems (as IDs) to the response. It can be expanded to get the relevant configitems. The Assignment is configured in sysconfig option AssignedConfigItemsMapping
UserAdds the corresponding user to the response. If no user is assigned to this contact, the attribute is empty (the relevant "link" attribute is "AssignedUserID"). A User is necessary to allow access to the system for the contact (the contact itself contains only the personal data).
DynamicFieldsIncludes the assigned Dynamic Fields and their prepared values. You can disable the preparation of specific DF types with the URI parameter NoDynamicFieldDisplayValues, which is a comma separated list of DF types.

This resource supports a special search property

SearchDescription
FulltextSearches with the given value in the following contact attributes: login, firstname, lastname, email, title, phone, fax, mobile, street, zip, city, country. Some logical operators are possible: "+" or "&" as AND, "|" as OR and "*" as any string, e.g. "john&doe" or "j*+doe|james"

/contacts get post

/contacts/{contactId} get patch delete

/contacts/{contactId}/tickets get

FAQ

The top-level /faq resource is no collection resource itself. It's purpose is to act as a container for all the FAQ related resources.

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
RatingAdds the number of votes and the average rating
DynamicFieldsIncludes the assigned Dynamic Fields and their prepared values. You can disable the preparation of specific DF types with the URI parameter NoDynamicFieldDisplayValues, which is a comma separated list of DF types.

/faq/articles get post

/faq/articles/{faqArticleId} get patch delete

Downloading Attachments

Please note

The content is base64 encoded and have to be included as "Content".

/faq/articles/{faqArticleId}/attachments get post

/faq/articles/{faqArticleId}/attachments/{faqAttachmentId} get delete

History of a FAQ article

/faq/articles/{faqArticleId}/history get

/faq/articles/{faqArticleId}/history/{faqAttachmentId} get

Votes of a FAQ article

/faq/articles/{faqArticleId}/votes get post

/faq/articles/{faqArticleId}/votes/{faqVoteId} get delete

Keywords used

This resource returns a list of all existing keywords in the FAQ.

/faq/articles/keywords get

i18n

The top-level /i18n resource is no collection resource itself. It's purpose is to act as a container for all the i18n related resources.

/i18n/translations get

/links get post

/links/types get

/links/{linkId} get delete

Organisations

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
TicketStatsAdds some statistics to the response, about the tickets of this organisation. It will contain the number of tickets that are in a state of types "new" and "open", the number of pending tickets and the number of escalated tickets.
AssignedConfigItemsAdds assigend configitems (as IDs) to the response. It can be expanded to get the relevant configitems. The Assignment is configured in sysconfig option AssignedConfigItemsMapping
UserIf the corresponding contacts are included, this adds the corresponding users on their contacts. If the contacts are not included, this has no effect.
DynamicFieldsIncludes the assigned Dynamic Fields and their prepared values. You can disable the preparation of specific DF types with the URI parameter NoDynamicFieldDisplayValues, which is a comma separated list of DF types.

/organisations get post

/organisations/{organisationId} get patch delete

/organisations/{organisationId}/contacts get

/organisations/{organisationId}/tickets get

Reporting

The top-level /reporting resource is no collection resource itself. It's purpose is to act as a container for all the Reporting resources.

Report Data Sources

A report definition is based on a specific data source for the data contained in the report. Each of the available data sources has specific options and is described by this resource.

/reporting/datasources get

Output Formats

A report result can be generated in different output formats. Each of the available output formats has specific options and is described by this resource.

/reporting/outputformats get

Report Definitions

Creating a report definition

Each report definition contains a config property. This constists of upto three separate configurations for

  • the report type
  • the parameters used in the report type configuration (this is optional, if no parameters are used)
  • the output formats

Here is an example of such a config with parameters for report type GenericSQL:

{
"Config": {
"DataSource": {
  "SQL": {
      "any": "SELECT count(*) as Total FROM ticket WHERE type_id IN [${Parameters.TypeIDList}]"
  }
},
"Parameters": [
  {
      "Name": "TypeIDList",
      "Label": "Type Selection",
      "Datatype": "NUMERIC",
      "Description": "Please select the ticket types.",
      "Required": 1,
      "Multiple": 1,
      "References": "TicketType.ID",
      "Default": [0]
  }
],
"OutputFormats": {
  "CSV": {
      "Columns": ["Total"]
  }
}
}
}

The contents of the DataSource section can be taken from the description of the data source (see resource "datasources").

The OutputFormats section has to contain all relevant options to configure the output formats that should be available for a report based on this definition. The possible configuration options can be found in the description of each output format (see resource "outputformats").

Defining parameters

The goal of this parameter definition is to tell an API client what exactly to provide when creating a report. Additionally it helps GUI based API clients to determine what kind of GUI element is needed and in which order the parameters should be displayed (array index).

Each parameter used in the DataSource config, which should be given in the report creation, has to be defined in Parameters at least by a Name and a DataType. The following table describes all possible config options for a parameter.

OptionRequiredDescription
NameXThe name of the parameter which will be used in the DataSource configuration.
DataTypeXThe type of the data of this parameter. The following types are supported: STRING, NUMERIC, DATE, TIME, DATETIME
LabelThe label to be displayed in a GUI environment. If the label is not defined, then the name should be used as the label.
DescriptionA describing text to explain the parameter.
ReferencesA hint for a report creator (human or algorithm) what this parameter is all about, to make sure the correct thing is provided. Example: TicketType.ID
MultipleSet this to 1 if this parameter is an array of values.
RequiredSet this to 1 if this parameter is required to be given in a report creation.
ReadOnlySet this to 1 if this parameter is only a read only information when creating a report.
DefaultThe default value of the parameter, in case it's optional.
PossibleValuesThe range of possible values to select from.

Using parameters

How a parameter is used and defined, you can find in the example above. Simply write the name of the parameter in ${Parameters.<Name>}.

Supported Includes

This resource supports the following includes.

IncludeDescription
ReportsAdds the list of reports for this report definition to the response. See resource "reports".

/reporting/reportdefinitions get post

/reporting/reportdefinitions/{reportDefinitionId} get patch delete

Reports

Creating a report

Each report contains a Config property. All required parameters defined in the report definition have to be present here with a value as well as all output formats the report should be created for.

Here is an example of such a parameters property:

{
"Config": {
"Parameters": {
  "NameFilter": "inv"
},
"OutputFormats": ["CSV"]
}
}

The OutputFormats property can only contain output formats defined in the report definition.

This resource supports a special search property

SearchDescription
DefinitionIDRestricts the database query to the given DefinitionID. Only the operator "EQ" is supported.

/reporting/reports get post

/reporting/reports/{reportId} get

Results for a report

A report result contains the content of the report generated by a specific output format, i.e. CSV or PDF etc.

Supported Includes

This resource supports the following includes.

IncludeDescription
ContentAdds the base64 encoded content of the report result.

/reporting/reports/{reportId}/results get

/reporting/reports/{reportId}/results/{reportResultId} delete

Current Session

/session get delete

/session/user get patch

This resource returns the most relevant ticket counters.

/session/user/counters get

This resource returns the ticket list for the given counter, i.e. Owned, OwnedAndLocked, ... The requested counter must be given as the URL parameter Counter.

Example

/session/user/tickets?Counter=OwnedAndLocked

/session/user/tickets get

/session/user/preferences get post

/session/user/preferences/{preferenceId} get patch delete

Mark object as seen (e.g. a ticket and its articles)

/session/markobjectasseen post

ObjectSearch

Supported Attributes

Returns all supported attributes of the selected object type.

/objectsearch/{objecttype} get

Tickets

Supported Includes

In addition to its sub-resources and generic includes this resource supports the following additional includes.

IncludeDescription
AccountedTimeAdds the sum of all time units for the ticket (its articles)
DynamicFieldsIncludes the assigned Dynamic Fields and their prepared values. You can disable the preparation of specific DF types with the URI parameter NoDynamicFieldDisplayValues, which is a comma separated list of DF types.
LinkCountIncludes the number of linked objects of this ticket
StatePreviousIncludes the previous state and its ID
UnseenIncludes the property Unseen
WatcherIDIncludes the ID of the watcher if the current user is watching the ticket

/tickets get post

/tickets/{ticketId} get patch delete

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
AttachmentsAdds an ID list of the attachments on an article - if expanded the list will be objects with the meta-data (without content)
PlainAdds the plain source string of a message of an email article (channel)

/tickets/{ticketId}/articles get post

/tickets/{ticketId}/articles/{articleId} get patch delete

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
ContentAdds the base64 encoded file contents of the attachments.

/tickets/{ticketId}/articles/{articleId}/attachments get post

/tickets/{ticketId}/articles/{articleId}/attachments/{attachmentId} get

Returns an attachment object whose content is a base64 encoded zip of all attachments (without the article body html attachment) of the ticket article.

/tickets/{ticketId}/articles/{articleId}/attachments/zip get

This resource returns a list of all flags of an ticket article.

/tickets/{ticketId}/articles/{articleId}/flags get post

/tickets/{ticketId}/articles/{articleId}/flags/{flagName} get patch

This resource returns the history of a ticket.

/tickets/{ticketId}/history get

/tickets/{ticketId}/history/{historyId} get

VirtualFS

/virtualfs/{token} get

Watchers

/watchers get post

/watchers/{watcherId} delete

[System] Automation

This /system/automation resource is no collection resource itself. It's purpose is to act as a container for all the Automation resources.

Jobs

This resource allows read, create, update and delete operation for jobs.

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
ExecPlansAdds the assigned execution plans to the response.
MacrosAdds the assigend macros to the response.

/system/automation/jobs get post

/system/automation/jobs/types get

/system/automation/jobs/{jobId} get patch delete

ExecPlanIDs of a Job

With this resource you can get the assigned execustion plans to the given job as id list, create new assignments and delete existing ones.

/system/automation/jobs/{jobId}/execplanids get post

/system/automation/jobs/{jobId}/execplanids/{execPlanId} delete

MacroIDs of a Job

With this resource you can get the assigned macros to the given job as id list, create new assignments and delete existing ones.

/system/automation/jobs/{jobId}/macroids get post

/system/automation/jobs/{jobId}/macroids/{macroId} delete

/system/automation/jobs/{jobId}/runs get

/system/automation/jobs/{jobId}/runs/{runId} get

/system/automation/jobs/{jobId}/runs/{runId}/logs get

Execution Plans

This resource allows read, create, update and delete operation for execution plans.

/system/automation/execplans get post

/system/automation/execplans/types get

/system/automation/execplans/{execPlanId} get patch delete

Macros

This resource allows read, create, update and delete operation for macros.

/system/automation/macros get post

/system/automation/macros/types get

/system/automation/macros/types/{macroType} get

/system/automation/macros/types/{macroType}/actiontypes get

/system/automation/macros/types/{macroType}/actiontypes/{macroActionType} get

/system/automation/macros/{macroId} get patch delete

MacroActions

This resource allows read, create, update and delete operation for macro actions of a specific macro.

/system/automation/macros/{macroId}/actions get post

/system/automation/macros/{macroId}/actions/{macroActionId} get patch delete

[System] CMDB

Classes of Configuration Items

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
ConfigItemStatsAdds some statistics to the response, about the Config Items of this class. It will contain the number of Config Items in pre-productive and productive deployment states
CurrentDefinitionAdds the current definition of the Config Item class to the response. See sub-resource "definitions".

/system/cmdb/classes get post

/system/cmdb/classes/{classId} get patch delete

Definitions of Classes

/system/cmdb/classes/{classId}/definitions get post

/system/cmdb/classes/{classId}/definitions/{definitionId} get delete

[System] Certificate

Can not resolve ../../descriptions/resources/system/certificate.md

/system/certificates get post

/system/certificates/{certificateId} get delete

[System] Communication - Channels

/system/communication/channels get

/system/communication/channels/{channelId} get

[System] Communication - Mail Accounts

/system/communication/mailaccounts get post

/system/communication/mailaccounts/types get

/system/communication/mailaccounts/{mailAccountId} get patch delete

[System] Communication - Mail Filters

/system/communication/mailfilters get post

/system/communication/mailfilters/{mailFilterId} get patch delete

[System] Communication - Notifications

/system/communication/notifications get post

/system/communication/notifications/{notificationId} get patch delete

[System] Communication - Sender Types

/system/communication/sendertypes get

/system/communication/sendertypes/{senderTypeId} get

[System] Communication - System Addresses

/system/communication/systemaddresses get post

/system/communication/systemaddresses/{systemAddressId} get patch delete

[System] Config

/system/config get

/system/config/optiontypes get

/system/config/{option} get patch

/system/config/definitions get post

/system/config/definitions/{option} get patch delete

[System] Console Command

This resource allows the execution of KIX console commands.

/system/console get post

/system/console/{consoleCommand} get

[System] Dynamic Fields

Dynamic Fields

Allows to create, get, update and delete dynamic fields. On Update the full config has to be given if changed, else the missing attributes are lost and only not internal fields are updatable.

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
ConfigAdds the config of the dynamic field depending on its field type.

/system/dynamicfields get post

Can not resolve ../../descriptions/resources/system/dynamicfields/objecttypes.md

/system/dynamicfields/objecttypes get

Can not resolve ../../descriptions/resources/system/dynamicfields/types.md

/system/dynamicfields/types get

/system/dynamicfields/{dynamicFieldId} get patch delete

[System] FAQ

Can not resolve ../descriptions/resources/system/faq.md

Can not resolve ../descriptions/resources/system/faq/categories.md

/system/faq/categories get post

/system/faq/categories/{faqCategoryId} get patch delete

[System] i18n

The top-level /i18n system resource is no collection resource itself. It's purpose is to act as a container for all the i18n related resources.

Translations

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
AvailableLanguagesAdds a list of languages that exist for the given pattern. This doesn't include any translation values.

/system/i18n/translations get post

/system/i18n/translations/{translationId} get patch delete

/system/i18n/translations/{translationId}/languages get post

/system/i18n/translations/{translationId}/languages/{language} get patch delete

[System] ImportExport

This /system/importexport resource is no collection resource itself. It's purpose is to act as a container for all the ImportExport resources.

Templates

This resource allows read operation for import export templates.

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
ObjectDataSome additional data of the template.

/system/importexport/templates get

/system/importexport/templates/{templateId} get

Template Runs

This resource allows read and post operation for import export template runs (imports and exports).

/system/importexport/templates/{templateId}/runs get post

[System] General Catalog

General Catalog Items

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
PreferencesAdds a list of existing preferences of this item.

/system/generalcatalog get post

/system/generalcatalog/{generalCatalogItemId} get patch delete

/system/generalcatalog/classes get

/system/generalcatalog/classes/{className} patch

[System] HTMLToPDF Convert

Convert

This ressources don't support default includes, expands, limits. Only specific queries will be allowed.

Supported Queries
QueryDescriptionRequired
TemplateIDIs required to get the template to be used. (Alternatively TemplateName can be used)x
TemplateNameIs required to get the template to be used. (Alternatively TemplateID can be used)x
IdentifierTypeIs required to set the identification type. IDKey or NumberKey can be set.x
IdentifierIDorNumberIs required to set the identifier. This depends on what is set in IdentifierType. IDKey is the ID of the ticket and if NumberKey it would be the ticket number.x
ExpandsThis Expand means the data expansion of the object which is applied to the template. (as array or comma separated string)-
FiltersOptional filters can be used to restrict certain extensions (format as JSON).-
AllowsDefines a whitelist that only shows the attributes that are named in it. If no allow is specified, everything appears.The Allows overwrites the Allow of the specified table in the template.(format as JSON)-
IgnoresDefines a blacklist that removes the attributes that made it through the whitelist. If no ignore is set, the final result is the result of the allow application. If both are emptied, all information from the objects is displayed. Ignores overwrites the Ignore of the specified table in the template.(format as JSON)-
Filenameuser-specific filename of the PDF. It is possible to use placeholders, including special ones.-
Special Placeholders
PlaceholderDescription
<Current_Time>Returns the current date
<Current_User>Returns the full name of the trigger of the print job.
<Count>Returns the current count. (Basically used for article numbering)
<TIME_YYMMDD_hhmm>Returns the current time in the format YYYYMMDD_hhmm
<TIME_YYMMDD>Returns the current time in the format YYYYMMDD
<TIME_YYMMDDhhmm>Returns the current time in the format YYYYMMDDhhmm
Filters
Syntax

Filters can only be applied where in the template Data is contained in the block and exists as an object. (e.g. ticket, article) Only attributes that the object can supply can be filtered.

{
"<Data-Object>": {
"AND": [
{
"Field": "<Attribute>",
"Type": "<EQ|CONTAINS>",
"Value": "<ARRAY|STRING>"
}
]
}
}
Example

A ticket should only take into account the articles that are visible to the customer.

{
"Article": {
"AND": [
{
"Field": "CustomerVisible",
"Type": "EQ",
"Value": "1"
}
]
}
}
Allows/Ignores
Syntax

In order to address the respective table, its Reference ID is required first. This can be found in the template structure. If the ID is known, a JSON can be created that contains the attributes to be restricted. There are two options for the restriction:

  • By using the shortcut KEY, the entire attribute will be ignored or displayed without further checking.
  • By using a regular expression, the values of an attribute can be checked. If the respective value applies, the attribute is ignored or displayed. The regular expression is freely selectable. However, it must not contain KEY because KEY is the keyword for the entire attribute.
{
"Reference-ID": {
"Attribute": "KEY",
"Attribute": "regex"
}
}
Example
{
"ArticleMeta": {
"Channel": "KEY",
"From": "cape-it.de$"
}
}

/system/htmltopdf/convert get

[System] Logs

This resource allows readable access to the logs files in the KIX backend log directory.

Tailing and Filtering

With Tail you can specify the number of lines you want to fetch from the end of the file. Additionally you can filter for log categories by giving a comma separated list as Categories. Combining both options, you can do something like "give me the last 10 errors or debug messages". The tailed and/or filtered content will only be returned, if you include Content.

Supported Includes
IncludeDescription
ContentAdds the content of the log file (base64 encoded).

/system/logs get

/system/logs/{logFileId} get

[System] OAuth2 - Authorization Code & State

/system/oauth2/authcode post

[System] OAuth2 - Profiles

/system/oauth2/profiles get post

/system/oauth2/profiles/{profileId} get patch delete

/system/oauth2/profiles/{profileId}/authurl get

[System] Object Icons

Please note

The content is base64 encoded.

/system/objecticons get post

/system/objecticons/{objectIconId} get patch delete

[System] Plugins

Can not resolve ../../descriptions/resources/system/plugins.md

/system/plugins get

/system/plugins/{product} get patch

[System] Roles & Permissions

/system/roles get post

/system/roles/permissiontypes get

/system/roles/{roleId} get patch delete

/system/roles/{roleId}/userids get post

/system/roles/{roleId}/userids/{userId} delete

For each existing role permissions can be created. A permission item has a TypeID which references a permission type defined in the resource /roles/permissiontypes. Additionally the target for the permission has to be defined. Each permission type has its own target schema. The following table lists the possible targets for each default permission type.

IDPermission TypePermission TargetExample
1Resourcecollection resource URI/tickets
2Objectitem resource URI{<ObjectType>.<Property> <Operator> <Value>}/tickets/*{Ticket.QueueID EQ 123}
```/tickets/*{Ticket.QueueID EQ 123
3Propertyitem resource URI{<ObjectType>.[<PropertyList>]}/tickets/*{Ticket.[Title,QueueID,!TicketNumber]}

The permission value itself is a bitmask with the following values:

ValuePermission
0x0000NONE
0x0001CREATE
0x0002READ
0x0004UPDATE
0x0008DELETE
0xf000DENY

/system/roles/{roleId}/permissions get post

/system/roles/{roleId}/permissions/{permissionId} get patch delete

[System] Sessions

/system/sessions get

/system/sessions/{token} get delete

[System] Text Modules

/system/textmodules get post

/system/textmodules/categories get

/system/textmodules/{textModuleId} get patch delete

[System] Ticket Locks

/system/ticket/locks get

/system/ticket/locks/{lockId} get

[System] Ticket Priorities

/system/ticket/priorities get post

/system/ticket/priorities/{priorityId} get patch delete

[System] Ticket Queues

Supported Includes

In addition to its sub-resources (as far as they exist), this resource supports the following includes.

IncludeDescription
SubQueuesAdds the die tree of sub-queues to the response.
TicketStatsAdds some statistics to the response, about the tickets in this queue. It will contain the total number of tickets and the number of locked tickets, based on the given URL parameter TicketStats.StateType or TicketStats.StateID. Both can contain multiple values separated by a comma. The two virtual StateTypes Open and Viewable represent only the viewable state types (see SysConfig option Ticket::ViewableStateType).
TicketsAdds the list of tickets to the response.
Supported Generic Properties

The queues resource supports the generic property Permissions in POST and PATCH requests. This property is an array of base permission objects.

*Base Permission Object (Example) *

{

"Type":       "Base",
"RoleID":     123,
"Permission": "READ+WRITE"
}

/system/ticket/queues get post

/system/ticket/queues/followuptypes get

/system/ticket/queues/{queueId} get patch delete

[System] Ticket States

/system/ticket/states get post

/system/ticket/states/types get

/system/ticket/states/types/{stateTypeId} get

/system/ticket/states/{stateId} get patch delete

[System] Ticket Types

/system/ticket/types get post

/system/ticket/types/{typeId} get patch delete

[System] Users

Special search behaviour

Since the preferences of the user don't belong to the Config Item object itself, they must be referenced in the search definition using the prefix "Preferences.", i.e. "Preferences.MyQueues".

Supported Includes

In addition to its sub-resources this resource supports the following includes.

IncludeDescription
ContactAdds the corresponding contact to this user. Returns empty if no contact exists. The contact contains the personal data for this user (names, address, ...). The relevant "link" attribute is "AssignedUserID" in the contact object.

/system/users get post

/system/users/{userId} get patch

/system/users/{userId}/preferences get post

/system/users/{userId}/preferences/{preferenceId} get patch delete

/system/users/{userId}/roleids get post

/system/users/{userId}/roleids/{roleId} delete

[System] Valid

/system/valid get

/system/valid/{validId} get