openapi: 3.0.1
info:
  title: Incident Management API
  description: |
    Incident Management API. See older version [here](/documentation/index-apidoc.html#api-Incident)
  contact:
    name: TOPdesk
    url: http://www.topdesk.com
    email: info@topdesk.com
  version: 3.8.5
servers:
  - url: /tas/api
paths:
  /incidents:
    get:
      tags:
        - incident
      summary: Returns a list of incidents.
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person   |  Accessible; Person visibility settings apply |
      parameters:
        - name: pageStart
          in: query
          description: |
            The offset to start at. The default is 0.
          schema:
            type: integer
        - name: pageSize
          in: query
          description: |
            How many incidents should be returned max. Default is 10.
          schema:
            maximum: 10000
            minimum: 1
            type: integer
        - name: sort
          in: query
          description: |
            The sort order of the returned incidents. Incidents can be ordered by most of the fields. But for best performance one should order by one of the following fields: callDate, creationDate,
            modificationDate, targetDate, closedDate or id. It's faster to order by 1 field only. To specify if the order should be ascending or descending,
            append ":asc" or ":desc" to the field name. Multiple columns can be specified by comma-joining the
            orderings. Example: sort=tragetDate:asc,creationDate:desc.
            Fields not allowed for sorting are: externalLinks, escalationStatus, action, attachments, partialIncidents, partialIncidents.link
          schema:
            type: string
        - name: query
          in: query
          description: |
            A FIQL string to select which incidents should be returned. (See [Tutorial](https://developers.topdesk.com/tutorial.html#query))
          schema:
            type: string
        - name: fields
          in: query
          description: |
            A comma-separated list of which fields should be returned. By default all fields will be returned. (slow)
          schema:
            type: string
        - name: dateFormat
          in: query
          description: |
            Format of date fields in json. When set to iso8601 dates will be sent in the form of '2020-10-01T14:10:00Z'.
            Otherwise old date format will be used: '2020-10-01T14:10:00.000+0000'
          schema:
            type: string
            enum:
              - iso8601
        - name: all
          in: query
          description: |
            when present or when present and set to true will make all incident to be returned. Including partials and archived.
            This overrides the default behaviour when only _firstLine_ and _secondLine_ incidents are returned by default. This can
            be used in combinations with _query_ parameter to narrow down the requited statuses.
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Incident'
        204:
          description: |
            _Success_, no (matching) incidents found
          content: {}
        206:
          description: |
            _Success_, but there are more incidents
          headers:
            x-next-page-url:
              description: A link that returns the next list of incidents
              schema:
                type: string
                format: url
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>incident or attachment doesn't exist</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    post:
      tags:
        - incident
      summary: Create an Incident
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With create permission on 1st/2nd line incident, partials require 2nd line create permission  |
        | Person   |  Can only create first line incidents for himself. Only the following fields can be set depending on the setting for the new call form: <ul><li>request</li><li>briefDescription</li><li>callType</li><li>category</li><li>subcategory</li><li>object</li><li>request</li><li>location</li><li>operatorGroup</li></ul> |
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/IncidentCreateBody'
        required: false
      responses:
        201:
          description: |
            _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
            <li>The incident id is invalid</li>
            <li>The request contains a field that does not exist</li>
            <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            <li>The request contains a value for a string field which is too long. For example, brief description can only be 80 characters long</li>
            <li>The request contains an operator which does not belong to the given operator group</li>
            <li>The request contains a subcategory which does not belong to the given category</li>
            <li>The request contains a supplier which is not applicable for the status of the incident</li>
            <li>The request contains an invalid major call</li>
            <li>The person tries to give feedback on an open incident</li>
            <li>The request is for the creation of a partial incident and one of the fields marked as 'Cannot be provided for partials' is included in the request.</li>
            <li>The request is for the creation of a partial incident and no main incident id is provided.</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The request contains a field that the person is not allowed to set</li>
            <li>The operator does not have the rights to execute this operation</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: incident
    x-reporting:
      name: Incident
      pluralName: Incidents
      singleEntityUrl: /incidents/id/{id}
      defaultQueryParameters: dateFormat=iso8601&all=true
    x-api:
      recommendedPageSize: 5000
      defaultSortField: id
  /incidents/id/{id}:
    get:
      tags:
        - incident
      summary: Returns an incident.
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person     |  Accessible; Person visibility settings apply |
      parameters:
        - name: id
          in: path
          description: The uuid of the incident
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
            Fields exclusively for SLM-license:
            * Responded
            * Response date
            * sla (as object) containing:
              * Response target date
              * (SLA) Target date
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    put:
      tags:
        - incident
      summary: Updates an Incident
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person   |  Accessible; Person visibility settings apply. Depending on settings, the following fields can be updated: <ul><li>action</li><li>closed</li><li>feedbackRating</li><li>feedbackMessage</li></ul>|
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/IncidentUpdateBody'
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: _Bad Request_ <ul> <li>The incident id is invalid</li> <li>The
            request contains a field that does not exist</li> <li>The request contains
            a value for a field where the format is wrong. For example, "true" mistyped,
            or the UUID in the wrong format</li> <li>The request contains a value
            for a string field which is too long. For example, brief description can
            only be 80 characters long</li> <li>The request contains an operator which
            does not belong to the given operator group</li> <li>The request contains
            a subcategory which does not belong to the given category</li> <li>The
            request contains a supplier which is not applicable for the status of
            the incident</li> <li>The request contains an invalid major call</li>
            <li>The person tries to give feedback on an open incident</li> </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The request contains a field that the person is not allowed to be set</li>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            <li>The person tries to give feedback to an incident that isn't his own</li>
            <li>The person tries to give feedback while this is disabled</li>
            <li>The person tries to give feedback not in the range 1 to 5</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: incident
    patch:
      tags:
        - incident
      summary: Updates an Incident
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person   |  Accessible; Person visibility settings apply. Depending on settings, the following fields can be updated: <ul><li>action</li><li>closed</li><li>feedbackRating</li><li>feedbackMessage</li></ul>|
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/IncidentUpdateBody'
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
            <li>The incident id is invalid</li>
            <li>The request contains a field that does not exist</li>
            <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            <li>The request contains a value for a string field which is too long. For example, brief description can only be 80 characters long</li>
            <li>The request contains an operator which does not belong to the given operator group</li>
            <li>The request contains a subcategory which does not belong to the given category</li>
            <li>The request contains a supplier which is not applicable for the status of the incident</li>
            <li>The request contains an invalid major call</li>
            <li>The person tries to give feedback on an open incident</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The request contains a field that the person is not allowed to be set</li>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            <li>The person tries to give feedback to an incident that isn't his own</li>
            <li>The person tries to give feedback while this is disabled</li>
            <li>The person tries to give feedback not in the range 1 to 5</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: incident
  /incidents/number/{number}:
    get:
      tags:
        - incident
      summary: Returns an incident.
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person     |  Accessible; Person visibility settings apply |
      parameters:
        - name: number
          in: path
          description: The number of the incident
          required: true
          schema:
            type: string
      responses:
        200:
          description: |
            _Success_
            Fields exclusively for SLM-license:
            * Responded
            * Response date
            * sla (as object) containing:
              * Response target date
              * (SLA) Target date
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    put:
      tags:
        - incident
      summary: Updates an Incident
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person   |  Accessible; Person visibility settings apply. Depending on settings, the following fields can be updated: <ul><li>action</li><li>closed</li><li>feedbackRating</li><li>feedbackMessage</li></ul>|
      parameters:
        - name: number
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/IncidentUpdateBody'
        required: false
      responses:
        201:
          description: _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: _Bad Request_ <ul> <li>The incident id is invalid</li> <li>The
            request contains a field that does not exist</li> <li>The request contains
            a value for a field where the format is wrong. For example, "true" mistyped,
            or the UUID in the wrong format</li> <li>The request contains a value
            for a string field which is too long. For example, brief description can
            only be 80 characters long</li> <li>The request contains an operator which
            does not belong to the given operator group</li> <li>The request contains
            a subcategory which does not belong to the given category</li> <li>The
            request contains a supplier which is not applicable for the status of
            the incident</li> <li>The request contains an invalid major call</li>
            <li>The person tries to give feedback on an open incident</li> </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The request contains a field that the person is not allowed to be set</li>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            <li>The person tries to give feedback to an incident that isn't his own</li>
            <li>The person tries to give feedback while this is disabled</li>
            <li>The person tries to give feedback not in the range 1 to 5</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: incident
    patch:
      tags:
        - incident
      summary: Updates an Incident
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply  |
        | Person   |  Accessible; Person visibility settings apply. Depending on settings, the following fields can be updated: <ul><li>action</li><li>closed</li><li>feedbackRating</li><li>feedbackMessage</li></ul>|
      parameters:
        - name: number
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/IncidentUpdateBody'
        required: false
      responses:
        201:
          description: |
            _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: _Bad Request_ <ul> <li>The incident id is invalid</li> <li>The
            request contains a field that does not exist</li> <li>The request contains
            a value for a field where the format is wrong. For example, "true" mistyped,
            or the UUID in the wrong format</li> <li>The request contains a value
            for a string field which is too long. For example, brief description can
            only be 80 characters long</li> <li>The request contains an operator which
            does not belong to the given operator group</li> <li>The request contains
            a subcategory which does not belong to the given category</li> <li>The
            request contains a supplier which is not applicable for the status of
            the incident</li> <li>The request contains an invalid major call</li>
            <li>The person tries to give feedback on an open incident</li> </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The request contains a field that the person is not allowed to be set</li>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            <li>The person tries to give feedback to an incident that isn't his own</li>
            <li>The person tries to give feedback while this is disabled</li>
            <li>The person tries to give feedback not in the range 1 to 5</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: incident
  /incidents/call_types:
    get:
      tags:
        - general
      summary: Get list of call types
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   | With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |    Unrestricted access |
      responses:
        200:
          description: |
            _Success_
            The list of call types
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/durations:
    get:
      tags:
        - general
      summary: Get list of durations
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   | With 1st/2nd line incident permission; Category/Branch/Operator filters apply  |
        | Person   |   No access |
      responses:
        200:
          description: |
            _Success_
            The list of durations
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Duration'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentDuration
      pluralName: IncidentDurations
  /incidents/entry_types:
    get:
      tags:
        - general
      summary: Get list of entry types
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   | With 1st/2nd line incident permission; Category/Branch/Operator filters apply  |
        | Person   |   No access |
      responses:
        200:
          description: |
            _Success_
            The list of entry types
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/impacts:
    get:
      tags:
        - general
      summary: Get list of impacts
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |  no access|
      responses:
        200:
          description: |
            _Success_
            The list of impacts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/priorities:
    get:
      tags:
        - general
      summary: Get list of priorities
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   | With 1st/2nd line incident permission; Category/Branch/Operator filters apply  |
        | Person   |   No access |
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Priority'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentPriority
      pluralName: IncidentPriorities
  /incidents/statuses:
    get:
      tags:
        - general
      summary: Get list of processing statuses
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   | With 1st/2nd line incident permission; Category/Branch/Operator filters apply  |
        | Person   |   No access |
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProcessingStatus'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentProcessingStatus
      pluralName: IncidentProcessingStatuses
  /incidents/categories:
    get:
      tags:
        - general
      summary: Get list of categories
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |  no access|
      responses:
        200:
          description: |
            _Success_
            The list of categories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IncidentCategory'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentCategory
      pluralName: IncidentCategories
  /incidents/subcategories:
    get:
      tags:
        - general
      summary: Get list of subcategories
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |  no access|
      responses:
        200:
          description: |
            _Success_
            list of subcategories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IncidentSubcategory'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentSubcategory
      pluralName: IncidentSubcategories
  /incidents/closure_codes:
    get:
      tags:
        - general
      summary: Get list of closure codes
      description: |
        | Permission | Remarks    |
        | ---------- | ---------- |
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person     |  no access |
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/urgencies:
    get:
      tags:
        - general
      summary: Get list of urgencies
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |  no access|
      responses:
        200:
          description: |
            _Success_
            List of urgencies
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/free_fields/{tab}/searchlists/{searchlist}:
    get:
      tags:
        - incident
      summary: Get list of optional drop-down values
      description: |
        | Permission | Remarks |
        | ------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply |
        | Person   |  no access|
      parameters:
        - name: tab
          in: path
          description: The tab number
          required: true
          schema:
            type: number
            enum:
              - 1
              - 2
        - name: searchlist
          in: path
          description: The list of optional drop-down values
          required: true
          schema:
            type: number
            enum:
              - 1
              - 2
              - 3
              - 4
              - 5
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/timespent:
    get:
      tags:
        - time registration
      summary: Register time spent on an incident by id
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply, Feature must be enabled  |
        | Person     |  No access |
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TimeSpent'
        204:
          description: |
            _Success_, no entities found
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    post:
      tags:
        - time registration
      summary: Register time spent on an incident by id
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply, Feature must be enabled  |
        | Person     |  No access |
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/CreateTimeSpent'
        required: true
      responses:
        201:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/TimeSpent'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: entry
  /incidents/number/{number}/timespent:
    get:
      tags:
        - time registration
      summary: Retrieve time spent on an incident by number
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply, Feature must be enabled  |
        | Person     |  No access |
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TimeSpent'
        204:
          description: |
            _Success_, no entities found
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    post:
      tags:
        - time registration
      summary: Register time spent on an incident by number
      description: |
        | Permission | Remarks |
        | ---------- | --------|
        | Operator   |  With 1st/2nd line incident permission; Category/Branch/Operator filters apply, Feature must be enabled  |
        | Person     |  No access |
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/CreateTimeSpent'
        required: true
      responses:
        201:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/TimeSpent'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: entry
  /incidents/timeregistrations:
    get:
      tags:
        - time registration
      summary: Get list of time registrations. By default only time registartions
        entries for 1st and 2nd line incidents are returned
      parameters:
        - name: pageStart
          in: query
          description: |
            The offset to start at. The default is 0.
          schema:
            type: integer
        - name: pageSize
          in: query
          description: |
            How many entries should be returned max. Default is 100.
          schema:
            maximum: 10000
            minimum: 0
            type: integer
        - name: sort
          in: query
          description: |
            The sort order of the returned entries. To specify if the order should be ascending or descending
            append ":asc" or ":desc" to the field name. Multiple columns can be specified by comma-joining the
            orderings. Example: sort=timeSpent:asc,creationDate:desc. By default entries are sorted by modificationDate:desc, creationDate:desc
          schema:
            type: string
        - name: query
          in: query
          description: |
            A FIQL string to select which incidents should be returned.
          schema:
            type: string
        - name: fields
          in: query
          description: |
            A comma-separated list of which fields should be returned. By default only id will be returned. The name of fields corresponds to the names
            returned in response.
          schema:
            type: string
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TimeRegistration'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    x-reporting:
      name: IncidentTimeRegistration
      pluralName: IncidentTimeRegistrations
      singleEntityUrl: /incidents/timeregistrations/{id}
  /incidents/timeregistrations/{id}:
    get:
      tags:
        - time registration
      summary: Returns an timeregistration by id.
      parameters:
        - name: id
          in: path
          description: The uuid of the time registartion
          required: true
          schema:
            type: string
      responses:
        200:
          description: |
            _Success_
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeRegistration'
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access incident</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>Incident not found</li>
            </ul>
          content: {}
  /incidents/id/{id}/progresstrail:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident progress trail by incident id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: id
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: start
          in: query
          description: The offset at which to start listing the progress trail entries
            at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: The amount of progress trail entries to be returned per request
          schema:
            maximum: 100
            minimum: 1
            type: number
            default: 10.0
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
            * Up to ```page_size``` entities have been found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProgressTrail'
        204:
          description: |
            _Success_, no entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{number}/progresstrail:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident progress trail by incident id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: number
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: The offset at which to start listing the progress trail entries
            at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: The amount of progress trail entries to be returned per request
          schema:
            maximum: 100
            minimum: 0
            type: number
            default: 0.0
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
            * Up to ```page_size``` entities have been found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProgressTrail'
        204:
          description: |
            _Success_, no entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/progresstrail/count:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident progress trail entry count by incident id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: object
                properties:
                  count:
                    type: number
                    format: int32
                    example: 3.0
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{number}/progresstrail/count:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident progress trail entry count by incident number
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: object
                properties:
                  count:
                    type: number
                    format: int32
                    example: 3.0
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{number}/actions:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident actions by incident number
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: number
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: The offset at which to start listing the progress trail entries
            at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: The amount of progress trail entries to be returned per request
          schema:
            maximum: 100
            minimum: 0
            type: number
            default: 0.0
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Action'
        204:
          description: |
            _Success_
            * no entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Action'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/actions:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident actions by incident id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: id
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: start
          in: query
          description: The offset at which to start listing the progress trail entries
            at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: The amount of progress trail entries to be returned per request
          schema:
            maximum: 100
            minimum: 0
            type: number
            default: 0.0
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            Success
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Action'
        204:
          description: |
            _Success_
            * No entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Action'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{incidentid}/actions/{actionid}:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident actions by incident id and action id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: incidentid
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: actionid
          in: path
          description: action id
          required: true
          schema:
            type: string
            format: uuid
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Action'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    delete:
      tags:
        - progress trail / actions / requests
      summary: Delete action by incident id and action id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| To delete your own memo texts, you need permission to delete your own memo fields under General permissions. To delete any memo text, you need permission to delete all memo fields under General permissions; Category/Branch/Operator filters apply |
        | Person | No access |
      parameters:
        - name: incidentid
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: actionid
          in: path
          description: action id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        204:
          description: |
            _Success_
            * entity was deleted
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{incidentnumber}/actions/{actionid}:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident actions by incident number and action id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: incidentnumber
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: actionid
          in: path
          description: action id
          required: true
          schema:
            type: string
            format: uuid
        - name: inlineimages
          in: query
          description: Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: Whether links to attachments and bigger versions of inline images
            should be returned in a format that can be used by a browser (with cookie
            authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Action'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    delete:
      tags:
        - progress trail / actions / requests
      summary: Delete action by incident number and action id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| To delete your own memo texts, you need permission to delete your own memo fields under General permissions. To delete any memo text, you need permission to delete all memo fields under General permissions; Category/Branch/Operator filters apply |
        | Person | No access |
      parameters:
        - name: incidentnumber
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: actionid
          in: path
          description: action id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        204:
          description: |
            _Success_
            * entity was deleted
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{number}/requests:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident requests by incident number
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: number
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: |
            The offset at which to start listing at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: |
            The amount of entities to be returned per request
          schema:
            maximum: 10
            minimum: 0
            type: number
            format: int32
            default: 10.0
        - name: inlineimages
          in: query
          description: |
            Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: Up to _page_size_ entities have been found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Request'
        204:
          description: |
            _Success_
            * No entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/requests:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident requests by incident id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: id
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: start
          in: query
          description: |
            The offset at which to start listing at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: |
            The amount of entities to be returned per request
          schema:
            maximum: 10
            minimum: 0
            type: number
            format: int32
            default: 10.0
        - name: inlineimages
          in: query
          description: |
            Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: Up to _page_size_ entities have been found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Request'
        204:
          description: |
            _Success_
            * No entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{incidentid}/requests/{requestid}:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident request by incident id and request id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: incidentid
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: requestid
          in: path
          description: request id
          required: true
          schema:
            type: string
            format: uuid
        - name: inlineimages
          in: query
          description: |
            Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
            * Up to ```page_size``` entities have been found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Request'
        204:
          description: |
            _Success_
            * No entities found
          content: {}
        206:
          description: |
            _Success_
            * More than ```page_size``` entities have been found, but only so many are returned
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    delete:
      tags:
        - progress trail / actions / requests
      summary: Delete request by incident id and request id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| To delete your own memo texts, you need permission to delete your own memo fields under General permissions. To delete any memo text, you need permission to delete all memo fields under General permissions; Category/Branch/Operator filters apply |
        | Person | No access |
      parameters:
        - name: incidentid
          in: path
          description: incident id
          required: true
          schema:
            type: string
        - name: requestid
          in: path
          description: request id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        204:
          description: |
            _Success_
            * entity was deleted
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{incidentnumber}/requests/{requestid}:
    get:
      tags:
        - progress trail / actions / requests
      summary: Get incident request by incident number and request id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
        | Person | Accessible; Person visibility settings apply |
      parameters:
        - name: incidentnumber
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: requestid
          in: path
          description: request id
          required: true
          schema:
            type: string
            format: uuid
        - name: inlineimages
          in: query
          description: |
            Whether inline images should be returned
          schema:
            type: boolean
            default: false
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Request'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    delete:
      tags:
        - progress trail / actions / requests
      summary: Delete request by incident number and request id
      description: |
        | Permission | Remark |
        | ----- | --------- |
        | Operator| To delete your own memo texts, you need permission to delete your own memo fields under General permissions. To delete any memo text, you need permission to delete all memo fields under General permissions; Category/Branch/Operator filters apply |
        | Person | No access |
      parameters:
        - name: incidentnumber
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: requestid
          in: path
          description: request id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        204:
          description: |
            _Success_
            * entity was deleted
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/escalate:
    put:
      tags:
        - escalation / deescalation
      summary: Escalate an incident by id
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for escalating incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**:
        _PATCH_ operation can be used as well.
        Duration and operator of linked SLA are not considered when escalating the incident.
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The escalation reason id. Mandatory when reason is
                    mandatory and no default reason is set. When id is set the name
                    will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The escalation reason name. Mandatory when reason is
                    mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            * The request contains a field that does not exist
            * The request contains a value for a field where the format is wrong. For example, the UUID is in the wrong format
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            * The operator/person does not have the rights to execute this operation
            * The incident is archived
          content: {}
        404:
          description: |
            _Not Found_
            * The incident number or id are valid, but incident does not exist
            * The request contains a field with an id value which is not existing in the database
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: escalation
  /incidents/number/{number}/escalate:
    put:
      tags:
        - escalation / deescalation
      summary: Escalate an incident by number
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for escalating incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**: _PATCH_ operation can be used as well
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The escalation reason id. Mandatory when reason is
                    mandatory and no default reason is set. When id is set the name
                    will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The escalation reason name. Mandatory when reason is
                    mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            * The request contains a field that does not exist
            * The request contains a value for a field where the format is wrong. For example, the UUID is in the wrong format
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            * The operator/person does not have the rights to execute this operation
            * The incident is archived
          content: {}
        404:
          description: |
            _Not Found_
            * The incident number or id are valid, but incident does not exist
            * The request contains a field with an id value which is not existing in the database
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: escalation
  /incidents/id/{id}/deescalate:
    put:
      tags:
        - escalation / deescalation
      summary: Deescalate an incident by id
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for deescalating incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**: _PATCH_ operation can be used as well
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The deescalation reason id. Mandatory when reason is
                    mandatory and no default reason is set. When id is set the name
                    will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The deescalation reason name. Mandatory when reason
                    is mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            * The request contains a field that does not exist
            * The request contains a value for a field where the format is wrong. For example, the UUID is in the wrong format
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            * The operator/person does not have the rights to execute this operation
            * The incident is archived
          content: {}
        404:
          description: |
            _Not Found_
            * The incident number or id are valid, but incident does not exist
            * The request contains a field with an id value which is not existing in the database
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: deescalation
  /incidents/number/{number}/deescalate:
    put:
      tags:
        - escalation / deescalation
      summary: Deescalate an incident by number
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for deescalating incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**: _PATCH_ operation can be used as well
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The deescalation reason id. Mandatory when reason is
                    mandatory and no default reason is set. When id is set the name
                    will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The deescalation reason name. Mandatory when reason
                    is mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            * The request contains a field that does not exist
            * The request contains a value for a field where the format is wrong. For example, the UUID is in the wrong format
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            * The operator/person does not have the rights to execute this operation
            * The incident is archived
          content: {}
        404:
          description: |
            _Not Found_
            * The incident number or id are valid, but incident does not exist
            * The request contains a field with an id value which is not existing in the database
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: deescalation
  /incidents/deescalation-reasons:
    get:
      tags:
        - escalation / deescalation
      summary: Get list of reasons for deescalation
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st and 2nd line incident write permission; Feature must be enabled |
        | Person | No access |
      responses:
        200:
          description: |
            _Success_
            * The list of deescalation reasons
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/escalation-reasons:
    get:
      tags:
        - escalation / deescalation
      summary: Get list of reasons for escalation
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st and 2nd line incident write permission; Feature must be enabled |
        | Person | No access |
      responses:
        200:
          description: |
            _Success_
            The List of escalation reasons
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The searchlist was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{id}/archive:
    put:
      tags:
        - archive / unarchive
      summary: Archive an incident by id
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for archiving incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**:
        * _PATCH_ operation can be used as well
        * If the incident has partial incidents they will also archived.
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The archiving reason id. Mandatory when no default
                    reason is set. When id is set the name will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The escalation reason name. Mandatory when reason is
                    mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: body
  /incidents/number/{number}/archive:
    put:
      tags:
        - archive / unarchive
      summary: Archive an incident by number
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for archiving incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**:
        * _PATCH_ operation can be used as well
        * If the incident has partial incidents they will also archived.
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: The archiving reason id. Mandatory when no default
                    reason is set. When id is set the name will be ignored.
                  format: uuid
                name:
                  type: string
                  description: The escalation reason name. Mandatory when reason is
                    mandatory and no default reason is set.
        required: false
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
      x-codegen-request-body-name: escalation
  /incidents/id/{id}/unarchive:
    put:
      tags:
        - archive / unarchive
      summary: Unarchive an incident by id
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for unarchiving incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**:
        * _PATCH_ operation can be used as well
      parameters:
        - name: id
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: unarchive_partials
          in: query
          description: Whether partial calls should also be unarchived.
          schema:
            type: boolean
            default: true
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{number}/unarchive:
    put:
      tags:
        - archive / unarchive
      summary: Unarchive an incident by number
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With 1st line incident write permission and write permission for unarchiving incidents; Category/Branch/Operator filters apply |
        | Person | No access |
        **NOTE**:
        * _PATCH_ operation can be used as well
      parameters:
        - name: number
          in: path
          description: The incident number
          required: true
          schema:
            type: string
            format: uuid
        - name: unarchive_partials
          in: query
          description: Whether partial calls should also be unarchived.
          schema:
            type: boolean
            default: true
      responses:
        200:
          description: |
            _Success_
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Incident'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The request contains a field that does not exist</li>
              <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator/person does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The request contains a field with an id value which is not existing in the database</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/slas:
    get:
      tags:
        - general
      summary: Get list of SLA services
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With read permission on 1st/2nd line incident |
        | Person | No access |
      parameters:
        - name: page_size
          in: query
          description: The amount of SLA services to be returned per request. There
            is no way to request later 'pages', provide more specific filter parameters
            instead.
          schema:
            maximum: 100
            minimum: 1
            type: number
            format: int32
            default: 10.0
        - name: incident
          in: query
          description: An incident number or identifier. If specified, all other filter
            parameters are ignored, and exactly those SLA services that could apply
            to the incident will be returned. This filter accounts for the strict/loose
            validity setting, and contract start and end date.
          schema:
            type: string
        - name: contract
          in: query
          description: Return only SLA services for the specified contract id. If specified,
            the other filter parameters that determine the contract (including 'person')
            are ignored.
          schema:
            type: string
            format: uuid
        - name: person
          in: query
          description: Shortcut for filtering contract. The values from the person card
            are used for the contract filtering options. If specified, the other filter
            parameters that determine the contract (except contractDate) are ignored.
          schema:
            type: string
            format: uuid
        - name: service
          in: query
          description: A service name or id. If specified, the other filter parameters
            that determine the service are ignored.
          schema:
            type: string
        - name: branch
          in: query
          description: Return only SLA services where the contract applies to the specified
            branch. The Contract for head branch valid for subsidiary branches' setting
            is applied.
          schema:
            type: string
            format: uuid
        - name: budgetHolder
          in: query
          description: Name or id of a budget holder. Return only SLA services where
            the contract applies to the specified budget holder.
          schema:
            type: string
        - name: department
          in: query
          description: Name or id of a department. Return only SLA services where the
            contract applies to the specified department.
          schema:
            type: string
        - name: branchExtraA
          in: query
          description: Name or id of a branchExtraA. Return only SLA services where
            the contract applies to the specified branchExtraA.
          schema:
            type: string
        - name: branchExtraB
          in: query
          description: Name or id of a branchExtraB. Return only SLA services where
            the contract applies to the specified branchExtraB.
          schema:
            type: string
        - name: contractDate
          in: query
          description: Date on which the contract needs to be valid. If not specified,
            defaults to now. The date must be specified in UTC, according to ISO 8601.
          schema:
            type: string
            format: date-time
        - name: callType
          in: query
          description: Name or id of a call type. Return only SLA services where the
            service is available for to the specified call type.
          schema:
            type: string
        - name: category
          in: query
          description: Name (default language only) or id of a category for incidents.
            Return only SLA services where the service is available for to the specified
            category.
          schema:
            type: string
        - name: subcategory
          in: query
          description: Name (default language only) or id of a subcategory for incidents.
            Return only SLA services where the service is available for to the specified
            subcategory.
          schema:
            type: string
            format: uuid
        - name: asset
          in: query
          description: Name, object id or asset id. Return only SLA services where the
            service is linked to the specified asset.
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Sucess_
            * Up to ```page_size``` entities have been found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlaService'
        204:
          description: |
            _Sucess_
            * No entities found
          content: {}
        206:
          description: |
            _Sucess_
            * More than ```page_size``` entities have been found, but only so many are returned
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlaService'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/slas/services:
    get:
      tags:
        - general
      summary: Get list of services
      description: |
        | Permission | Remark |
        |---------|-----------|
        | Operator | With read permission on 1st/2nd line incident |
        | Person | No access |
      responses:
        200:
          description: |
            _Sucess_
            * The list of services
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Searchlist'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{incidentId}/attachments/{attachmentId}:
    delete:
      tags:
        - attachments
      summary: Delete a file from an incident identified by id
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentId
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: attachmentId
          in: path
          description: The attachment id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
            <li>The incident id is invalid</li>
            <li>The attachment id is invalid</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The attachment id is valid, but attachment does not exist</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/number/{incidentNumber}/attachments/{attachmentId}:
    delete:
      tags:
        - attachments
      summary: Delete a file from an incident identified by number
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentNumber
          in: path
          description: The incident number
          required: true
          schema:
            type: string
        - name: attachmentId
          in: path
          description: The attachment id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
            <li>The incident number is invalid</li>
            <li>The attachment id is invalid</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>The operator does not have the rights to execute this operation</li>
            <li>The incident is archived</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The incident number or id are valid, but incident does not exist</li>
            <li>The attachment id are valid, but incident does not exist</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{incidentId}/attachments/{attachmentId}/download:
    get:
      tags:
        - attachments
      summary: Download an attachment
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentId
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: attachmentId
          in: path
          description: The attachment id
          required: true
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: |
            _Success_
            * The requested attachment. The mime-type is given (e.g. image/png, application/x-excel) when it can be determined via file-type, it is set to application/octet-stream otherwise.
          content: {}
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
  /incidents/id/{incidentId}/attachments:
    get:
      tags:
        - attachments
      summary: Get incident attachments by incident id
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentId
          in: path
          description: The incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: start
          in: query
          description: |
            The offset at which to start listing at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: |
            The amount of entities to be returned per request
          schema:
            maximum: 10
            minimum: 0
            type: number
            format: int32
            default: 10.0
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
            * Up to ```page_size``` entities
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attachment'
        204:
          description: |
            _Sucess_
            * No entities found
          content: {}
        206:
          description: |
            _Sucess_
            * more than ```page_size``` entities
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attachment'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission on entity</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>The entity was not found</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    post:
      tags:
        - attachments
      summary: Upload a file to an incident identified by id
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentId
          in: path
          description: incident id
          required: true
          schema:
            type: string
            format: uuid
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  description: The file to upload
                  format: binary
                invisibleForCaller:
                  type: boolean
                  description: Whether the uploaded file is invisible for the caller
                    of the incident
                description:
                  type: string
                  description: The description of the uploaded file
      responses:
        200:
          description: |
            _Success_
            * The uploaded attachment.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Attachment'
        400:
          description: |
            _Bad Request_
            * The parameters of the request were malformed
          content: {}
        401:
          description: |
            _Unauthorized_
            * No authentication token provided
          content: {}
        403:
          description: |
            _Forbidden_
            * no permission to upload file
          content: {}
        404:
          description: |
            _Not Found_
            * the incident does not exist
          content: {}
  /incidents/number/{incidentNumber}/attachments:
    get:
      tags:
        - attachments
      summary: Get incident attachments by incident number
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With read permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentNumber
          in: path
          description: The incident number
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: |
            The offset at which to start listing at
          schema:
            type: number
            format: int32
            default: 0.0
        - name: page_size
          in: query
          description: |
            The amount of entities to be returned per request
          schema:
            maximum: 10
            minimum: 0
            type: number
            format: int32
            default: 10.0
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      responses:
        200:
          description: |
            _Success_
            * Up to ```page_size``` entities
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attachment'
        204:
          description: |
            _Success_
            * No entities found
          content: {}
        206:
          description: |
            _Success_
            * more than ```page_size``` entities
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Attachment'
        400:
          description: |
            _Bad Request_
            <ul>
              <li>The parameters of the request were malformed</li>
            </ul>
          content: {}
        401:
          description: |
            _Unauthorized_
            <ul>
            <li>No authentication token provided</li>
            </ul>
          content: {}
        403:
          description: |
            _Forbidden_
            <ul>
            <li>No permission to access the data</li>
            </ul>
          content: {}
        404:
          description: |
            _Not Found_
            <ul>
            <li>incident or attachment doesn't exist</li>
            </ul>
          content: {}
        500:
          description: |
            _Internal Server Error_
            <ul>
            <li>Error occurred on the server</li>
            </ul>
          content: {}
    post:
      tags:
        - attachments
      summary: Upload a file to an incident identified by number
      description: |
        | Permission | Remark |
         |---------|-----------|
         | Operator | With edit permission on 1st/2nd line incident; Category/Branch/Operator filters apply |
         | Person | Accessible; Person visibility settings apply. |
      parameters:
        - name: incidentNumber
          in: path
          description: incident number
          required: true
          schema:
            type: string
        - name: non_api_attachment_urls
          in: query
          description: |
            Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  type: string
                  description: The file to upload
                  format: binary
                invisibleForCaller:
                  type: boolean
                  description: Whether the uploaded file is invisible for the caller
                    of the incident
                description:
                  type: string
                  description: The description of the uploaded file
      responses:
        200:
          description: |
            _Success_
            * The uploaded attachment.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Attachment'
        400:
          description: |
            _Bad Request_
            * The parameters of the request were malformed
          content: {}
        401:
          description: |
            _Unauthorized_
            * No authentication token provided
          content: {}
        403:
          description: |
            _Forbidden_
            * no permission to upload file
          content: {}
        404:
          description: |
            _Not Found_
            * the incident does not exist
          content: {}
components:
  schemas:
    Incident:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: f197bb75-8822-45e9-82ce-02983504020b
        status:
          type: string
          enum:
            - firstLine
            - secondLine
            - partial
            - firstLineArchived
            - secondLineArchived
            - partialArchived
        number:
          type: string
          example: I 2011 007
        request:
          type: string
          description: The request text that caused the incident without any formatting.
          x-reporting-ignore: true
        requests:
          type: string
          description: The list endpoint where the separate request entries can be
            retrieved with html formatting.
          format: url
          x-reporting-ignore: true
        action:
          type: string
          description: The list endpoint where the separate action entries can be
            retrieved with html formatting.
          format: url
          x-reporting-ignore: true
        attachments:
          type: string
          description: The list endpoint where the attachments can be retrieved.
          format: url
          x-reporting-ignore: true
        caller:
          $ref: '#/components/schemas/Caller'
        callerBranch:
          type: object
          description: The branch of the caller.
          allOf:
            - $ref: '#/components/schemas/Branch'
          x-reporting-ignore: true
        callerLocation:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
        branchExtraFieldA:
          type: object
          description: The extraA field of the callerBranch
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        branchExtraFieldB:
          type: object
          description: The extraB field of the callerBranch
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        briefDescription:
          type: string
          x-reporting-ignore: true
        externalNumber:
          maxLength: 60
          type: string
          description: |
            External number.
            Can only be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
        category:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: IncidentCategory
                referencePath: category
                reversePath: incidents
            name:
              type: string
        subcategory:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: IncidentSubcategory
                referencePath: subcategory
                reversePath: incidents
            name:
              type: string
        callType:
          $ref: '#/components/schemas/Searchlist'
        entryType:
          $ref: '#/components/schemas/Searchlist'
        object:
          $ref: '#/components/schemas/Object'
        asset:
          type: object
          properties:
            id:
              type: string
              format: uuid
        branch:
          $ref: '#/components/schemas/Branch'
        location:
          type: object
          properties:
            id:
              type: string
              format: uuid
            branch:
              $ref: '#/components/schemas/Branch'
            name:
              type: string
            room:
              type: string
              x-reporting-ignore: true
        impact:
          $ref: '#/components/schemas/Searchlist'
        urgency:
          $ref: '#/components/schemas/Searchlist'
        priority:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: IncidentPriority
                referencePath: priority
                reversePath: incidents
            name:
              type: string
        duration:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: IncidentDuration
                referencePath: duration
                reversePath: incidents
            name:
              type: string
        actualDuration:
          type: number
          description: Actual duration in minutes
        targetDate:
          type: string
          format: date-time
        sla:
          type: object
          properties:
            id:
              type: string
              format: uuid
            responseTargetDate:
              type: string
              format: date-time
            targetDate:
              type: string
              format: date-time
        responseDate:
          type: string
          format: date-time
        onHold:
          type: boolean
        onHoldDate:
          type: string
          format: date-time
        onHoldDuration:
          type: number
        feedbackMessage:
          type: string
          x-reporting-ignore: true
        feedbackRating:
          type: number
        operator:
          $ref: '#/components/schemas/Operator'
        operatorGroup:
          $ref: '#/components/schemas/Searchlist'
        supplier:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            forFirstLine:
              type: boolean
              x-reporting-ignore: true
            forSecondLine:
              type: boolean
              x-reporting-ignore: true
        processingStatus:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: IncidentProcessingStatus
                referencePath: processingStatus
                reversePath: incidents
            name:
              type: string
        completed:
          type: boolean
        completedDate:
          type: string
          format: date-time
        closed:
          type: boolean
        closedDate:
          type: string
          format: date-time
        closureCode:
          $ref: '#/components/schemas/Searchlist'
        timeSpent:
          type: number
          description: "The total time registered on this incident. Including when\
            \ the incident was 1st line, 2nd line and, if this\nincident is a second\
            \ line incident, all time registered on partials belonging to it.  \n\
            For partial incident this field will be 0 as their time is added to the\
            \ timeSpent of their parent incident.  \nThe time is returned as minutes.\n"
        timeSpentFirstLine:
          type: number
          description: "Time registered on this incident while it was a 1st line incident.\
            \  \nThe time is returned as minutes.\n"
        timeSpentSecondLine:
          type: number
          description: "Time registered on this incident while it was a 2nd line incident.\
            \  \nThe time is returned as minutes.\n"
        timeSpentPartial:
          type: number
          description: "Time registered on this incident while it was a partial incident.\
            \  \nThe time is returned as minutes.\n"
        timeSpentLinkedPartials:
          type: number
          description: "Time registered on partials belonging to this incident.  \n\
            The time is returned as minutes.\n"
        timeSpentSecondLineAndPartials:
          type: number
          description: |
            WARNING: This name is very misleading as the field will not contain the time registered on partials.
            DEPRECATED: Use _timeSpentSecondLine_ instead.
        itemCosts:
          type: number
        objectCosts:
          type: number
        costs:
          type: number
        escalationStatus:
          type: string
          enum:
            - Escalated
            - Deescalated
        escalationReason:
          $ref: '#/components/schemas/Searchlist'
        escalationOperator:
          $ref: '#/components/schemas/Searchlist'
        callDate:
          type: string
          format: date-time
        creator:
          $ref: '#/components/schemas/Searchlist'
        creationDate:
          type: string
          format: date-time
        modifier:
          $ref: '#/components/schemas/Searchlist'
        modificationDate:
          type: string
          format: date-time
        archivingReason:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        majorCall:
          type: boolean
        majorCallObject:
          type: object
          properties:
            name:
              type: string
            id:
              type: string
              format: uuid
            status:
              type: number
              x-reporting-ignore: true
            majorIncident:
              type: boolean
              x-reporting-ignore: true
        publishToSsd:
          type: boolean
        monitored:
          type: boolean
        responded:
          type: boolean
        expectedTimeSpent:
          type: number
        mainIncident:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: Incident
                referencePath: mainIncident
                reversePath: partials
            number:
              type: string
        partialIncidents:
          type: array
          items:
            type: object
            properties:
              link:
                type: string
        optionalFields1:
          $ref: '#/components/schemas/OptionalFields'
        optionalFields2:
          $ref: '#/components/schemas/OptionalFields'
        externalLinks:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              type:
                type: string
              date:
                type: string
                format: date-time
    Caller:
      type: object
      properties:
        id:
          type: string
          format: uuid
        dynamicName:
          type: string
        email:
          type: string
        mobileNumber:
          type: string
        phoneNumber:
          type: string
        branch:
          $ref: '#/components/schemas/Branch'
        department:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
        budgetHolder:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
    Branch:
      type: object
      properties:
        clientReferenceNumber:
          type: string
          x-reporting-ignore: true
        timeZone:
          type: string
          x-reporting-ignore: true
        extraA:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        extraB:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        id:
          type: string
          format: uuid
        name:
          type: string
    Searchlist:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
    Object:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        type:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        make:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        model:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        branch:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        location:
          type: object
          allOf:
            - $ref: '#/components/schemas/Searchlist'
          x-reporting-ignore: true
        specification:
          type: string
          x-reporting-ignore: true
        serialNumber:
          type: string
          x-reporting-ignore: true
    Operator:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - operator
            - operatorGroup
            - operatorArchived
            - operatorGroupArchived
        name:
          type: string
    OptionalFields:
      type: object
      properties:
        boolean1:
          type: boolean
          description: One of five possible boolean fields
          example: true
        boolean2:
          type: boolean
          description: One of five possible boolean fields
          example: true
        boolean3:
          type: boolean
          description: One of five possible boolean fields
          example: true
        boolean4:
          type: boolean
          description: One of five possible boolean fields
          example: true
        boolean5:
          type: boolean
          description: One of five possible boolean fields
          example: true
        number1:
          type: number
          description: One of five possible number fields
          example: 54.0
        number2:
          type: number
          description: One of five possible number fields
          example: 54.0
        number3:
          type: number
          description: One of five possible number fields
          example: 54.0
        number4:
          type: number
          description: One of five possible number fields
          example: 54.0
        number5:
          type: number
          description: One of five possible number fields
          example: 54.0
        text1:
          type: string
          description: One of five possible text fields
          example: this is some text
        text2:
          type: string
          description: One of five possible text fields
          example: this is some text
        text3:
          type: string
          description: One of five possible text fields
          example: this is some text
        text4:
          type: string
          description: One of five possible text fields
          example: this is some text
        text5:
          type: string
          description: One of five possible text fields
          example: this is some text
        memo1:
          type: string
          description: One of five possible memo fields
          example: "26-02-2016 08:44 [GMT +1:00] Meadows, D. Sr.: \nMemo1"
        memo2:
          type: string
          description: One of five possible memo fields
          example: "26-02-2016 08:44 [GMT +1:00] Meadows, D. Sr.: \nMemo2"
        memo3:
          type: string
          description: One of five possible memo fields
          example: "26-02-2016 08:44 [GMT +1:00] Meadows, D. Sr.: \nMemo3"
        memo4:
          type: string
          description: One of five possible memo fields
          example: "26-02-2016 08:44 [GMT +1:00] Meadows, D. Sr.: \nMemo4"
        memo5:
          type: string
          description: One of five possible memo fields
          example: "26-02-2016 08:44 [GMT +1:00] Meadows, D. Sr.: \nMemo5"
        date1:
          type: string
          description: One of five possible date fields
          format: date-time
        date2:
          type: string
          description: One of five possible date fields
          format: date-time
        date3:
          type: string
          description: One of five possible date fields
          format: date-time
        date4:
          type: string
          description: One of five possible date fields
          format: date-time
        date5:
          type: string
          description: One of five possible date fields
          format: date-time
        searchlist1:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: One of five possible searchlist fields. Currently the name
            of the dropdown item will not be displayed.
        searchlist2:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: One of five possible searchlist fields. Currently the name
            of the dropdown item will not be displayed.
        searchlist3:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: One of five possible searchlist fields. Currently the name
            of the dropdown item will not be displayed.
        searchlist4:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: One of five possible searchlist fields. Currently the name
            of the dropdown item will not be displayed.
        searchlist5:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: One of five possible searchlist fields. Currently the name
            of the dropdown item will not be displayed.
      description: The enabled optional fields.
    Duration:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        basicPeriods:
          type: number
        timeSpanType:
          type: string
        inFirstLine:
          type: boolean
        inSecondLine:
          type: boolean
    Priority:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        firstLineDuration:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        secondLineDuration:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
    ProcessingStatus:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        onHold:
          type: string
        processingState:
          type: string
        response:
          type: string
        default:
          type: boolean
    IncidentCategory:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
    IncidentSubcategory:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        category:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
    TimeRegistration:
      type: object
      properties:
        id:
          type: string
          format: uuid
        timeSpent:
          type: integer
          description: Time spent in seconds.
          format: int64
        notes:
          type: string
        status:
          $ref: '#/components/schemas/IncidentStatus'
        entryDate:
          type: string
          format: date-time
        creationDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        operatorGroup:
          $ref: '#/components/schemas/Searchlist'
        reason:
          $ref: '#/components/schemas/Searchlist'
        parent:
          type: object
          properties:
            id:
              type: string
              format: uuid
              x-reporting:
                reference: Incident
                referencePath: incident
                reversePath: timeRegistrations
            status:
              $ref: '#/components/schemas/IncidentStatus'
        creator:
          $ref: '#/components/schemas/Searchlist'
        modifier:
          $ref: '#/components/schemas/Searchlist'
    IncidentCreateBody:
      type: object
      properties:
        caller:
          $ref: '#/components/schemas/CallerCreate'
        callerLookup:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Lookup value for filling in a registered caller's contact details.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            The caller is filled in automatically for persons.
            Examples:
            ```
            "callerLookup" : { "id" : "<UUID>" }
            ```
            or
            ```
            "callerLookup" : { "email" : "email@domain.com" }
            ```
            It is an error to provide more than one lookup value or to provide an empty callerLookup object.
        status:
          type: string
          description: |
            Status of the incident. Can only be set by operators.
          default: firstLine
          enum:
            - firstLine
            - secondLine
            - partial
        briefDescription:
          maxLength: 80
          type: string
          description: |
            Brief description.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
        request:
          type: string
          description: |
            Initial request.
            The following html tags can be used to format the text:
            <ul>
            <li>&lt;i&gt;</li>
            <li>&lt;em&gt;</li>
            <li>&lt;b&gt;</li>
            <li>&lt;strong&gt;</li>
            <li>&lt;u&gt;</li>
            <li>&lt;img&gt; BASE64-encoding has to be used. Only pictures up to the size of 450x450 pixels are supported. Allowed picture-formats: gif, png, bmp, pcx, iff, ras, pnm, psd, jpg. Example: &lt;img src="data:image/png;base64,iVBORw0KGgoAAA..."&gt;</li>
            <li>&lt;br&gt;</li>
            <li>&lt;h5&gt;</li>
            <li>&lt;h6&gt;</li>
            </ul>
            Can be set by operators and persons.
        action:
          type: string
          description: |
            Initial action.
            The following html tags can be used to format the text:
            <ul>
            <li>&lt;i&gt;</li>
            <li>&lt;em&gt;</li>
            <li>&lt;b&gt;</li>
            <li>&lt;strong&gt;</li>
            <li>&lt;u&gt;</li>
            <li>&lt;img&gt; BASE64-encoding has to be used. Only pictures up to the size of 450x450 pixels are supported. Allowed picture-formats: gif, png, bmp, pcx, iff, ras, pnm, psd, jpg. Example: &lt;img src="data:image/png;base64,iVBORw0KGgoAAA..."&gt;</li>
            <li>&lt;br&gt;</li>
            <li>&lt;h5&gt;</li>
            <li>&lt;h6&gt;</li>
            </ul>
            Can be set by operators and persons.
        actionInvisibleForCaller:
          type: boolean
          description: |
            Whether the initial action is invisible for persons.
            Can only be set by operators.
          default: false
        entryType:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Entry type by id or name.
            Can only be set by operators.
            Example:
            ```
            "entryType" : { "id" : "<UUID>" }
            ```
            or
            ```
            "entryType" : { "name" : "Name of Searchlist" }
            ```
        callType:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Call type by id or name.
            Can be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            Example:
            ```
            "callType" : { "id" : "<UUID>" }
            ```
            or
            ```
            "callType" : { "name" : "Name of Searchlist" }
            ```
        category:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Category by id or name.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            It is an error to provide both an id and a name.
            Example:
            ```
            "category" : { "id" : "<UUID>" }
            ```
            or
            ```
            "category" : { "name" : "Name of Searchlist" }
            ```
        subcategory:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Subcategory by id or name.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            It is an error to provide both an id and a name. If a subcategory is provided without a category, the corresponding category will be filled in automatically, unless there are multiple matching categories, in which case the request will fail.
            Examples:
            ```
            "subcategory" : { "id" : "<UUID>" }
            ```
            or
            ```
            "subcategory" : { "name" : "Printer" }
            ```
        externalNumber:
          maxLength: 60
          type: string
          description: |
            External number.
            Can only be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
        object:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Object by id or by name.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Examples:
            ```
            "object" : { "id" : "<UUID>" }
            ```
            or
            ```
            "object" : { "name" : "OBJ001" }
            ```
            If both object and location are given, object is set and location is ignored.
        location:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Location by id.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Example:
            ```
            "location" : { "id" : "<UUID>" }
            ```
        branch:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Branch (for Location) by id.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Example:
            ```
            "branch" : { "id" : "<UUID>" }
            ```
        mainIncident:
          type: object
          properties:
            id:
              type: string
              description: Either id or name can be used to specify incident
              format: uuid
            number:
              type: string
              description: Either name or id can be used to specify incident
          description: |
            Main incident id or number, required for creating a partial incident.
            This must be an open, unarchived second line incident and visible to the operator.
            It is an error to provide a main incident for non-partial incidents.
            Can only be set by operators.
            example:
            ```
            "mainIncident" : { "id" : "<UUID>" }
            ```
            or
            ```
            "mainIncident" : { "number" : "I 1909 123" }
            ```
        impact:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Impact by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Example:
            ```
            "impact" : { "id" : "<UUID>" }
            ```
            or
            ```
            "impact" : { "name" : "Name of Searchlist" }
            ```
        urgency:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Urgency by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Example:
            ```
            "urgency" : { "id" : "<UUID>" }
            ```
            or
            ```
            "urgency" : { "name" : "Name of Searchlist" }
            ```
        priority:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Priority by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Will be automatically filled in if you provide impact and/or urgency leading to a unique priority according to your priority matrix, and the same request doesn't provide a priority. For incidents with a linked SLA, if the priority provided cannot be found in the Service Level Priority List, the duration field of the incident will be emptied.
            Example:
            ```
            "priority" : { "id" : "<UUID>" }
            ```
            or
            ```
            "priority" : { "name" : "Name of Searchlist" }
            ```
        duration:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Duration by id or name.
            Can only be set by operators.
            Example:
            ```
            "duration" : { "id" : "<UUID>" }
            ```
            or
            ```
            "duration" : { "name" : "Name of Searchlist" }
            ```
        targetDate:
          type: string
          description: |
            Target date.
            Can only be set by operators.
            Example:
            ```
            "targetDate" : "2015-11-15T14:00:00.000+0200"
            ```
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2015-10-28T10:30:00.000 is equivalent to 2015-10-28T10:30:00.000+0000
          format: date-time
        sla:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            SLA by id.
            Can only be set by operators.
            Example:
            ```
            "sla" : { "id" : "<UUID>" }
            ```
        onHold:
          type: boolean
          description: |
            On hold. On hold date will be filled accordingly.
            Can only be set by operators.
            Example:
            ```
            "onHold" : "true"
            ```
        operator:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator by id.
            Can only be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Example:
            ```
            "operator": { "id": "<UUID>" }
            ```
        operatorGroup:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator group by id.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            Example:
            ```
            "operatorGroup" : { "id" : "<UUID>" }
            ```
        supplier:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Supplier by id.
            Can only be set by operators.
            Example:
            ```
            "supplier" : { "id" : "<UUID>" }
            ```
        processingStatus:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Processing status by id or name.
            Can only be set by operators.
            Example:
            ```
            "processingStatus" : { "id" : "<UUID>" }
            ```
            or
            ```
            "processingStatus" : { "name" : "Name of Searchlist" }
            ```
        responded:
          type: boolean
          description: |
            Whether the incident is responded.
            SLM-licence is needed.
            Can only be set by operators. When the setting "Status determines responded" is on, this will be filled automatically (manual setting is prohibited).
        responseDate:
          type: string
          description: |
            Response date.
            SLM-licence is needed.
            Can only be set by operators.
            Will automatically be set to current date if left out and "responded : true" is set.
            Example:
            ```
            "responseDate" : "2015-11-15T14:00:00.000+0200"
            ```
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2015-10-28T10:30:00.000 is equivalent to 2015-10-28T10:30:00.000+0000
          format: date-time
        completed:
          type: boolean
          description: |
            Whether the incident is completed.
            Can only be set by operators.
        completedDate:
          type: string
          description: |
            Completed date.
            Can only be set by operators.
            Example: "completedDate" : "2018-11-15T14:00:00.000+0200"
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2018-10-28T10:30:00.000 is equivalent to 2018-10-28T10:30:00.000+0000
          format: date-time
        closed:
          type: boolean
          description: |
            Whether the incident is closed.
            Can only be set by operators.
            For partials, will be ignored. The value of completed will be used instead.
        closedDate:
          type: string
          description: |
            Closed date.
            Can only be set by operators.
            For partials, will be ignored. The value of completedDate will be used instead.
            Example: "closedDate" : "2018-11-15T14:00:00.000+0200"
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2018-10-28T10:30:00.000 is equivalent to 2018-10-28T10:30:00.000+0000
          format: date-time
        closureCode:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Closure code by id or name.
            Can only be set by operators.
            Example:
            ```
            "closureCode" : { "id" : "<UUID>" }
            ```
            or
            ```
            "closureCode" : { "name" : "Name of Searchlist" }
            ```
        costs:
          type: number
          description: |
            Costs.
            Can only be set by operators.
            Example: "costs" : "0.15"
          format: float
          example: 0.15
        feedbackRating:
          type: number
          description: |
            Rate incident, only available for closed incidents.
            Can only be set by operators or the caller of the incident.
            Example:
            ```
            "feedbackRating" : "5"
            ```
          format: int32
          example: 2.0
        feedbackMessage:
          type: string
          description: |
            Leave feedback message on incident, only available for closed incidents and when feedbackRating is given.
            Can only be set by operators or the caller of the incident.
            Example:
            ```
            "feedbackMessage" : "Nice!"
            ```
        majorCall:
          type: boolean
          description: |
            Whether the incident is a major call.
            Can only be set by operators.
        majorCallObject:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Major call by id or number.
            Can only be set by operators.
            Example:
            ```
            "majorCallObject" : { "id" : "<UUID>" }
            ```
            or
            ```
            "majorCallObject" : { "name" : "I 1909 123" }
            ```
        publishToSsd:
          type: boolean
          description: |
            Whether the incident should be published in the Self Service Desk; only major incidents can be published.
            Can only be set by operators.
        optionalFields1:
          $ref: '#/components/schemas/OptionalFields'
        optionalFields2:
          $ref: '#/components/schemas/OptionalFields'
        externalLink:
          $ref: '#/components/schemas/ExternalLink'
    DropdownCreate:
      type: object
      properties:
        id:
          type: string
          description: Id of item. Either id or name can be used to specify item.
          format: uuid
        name:
          type: string
          description: Name of item. Either name or id can be used to specify item.
    IncidentUpdateBody:
      type: object
      properties:
        caller:
          $ref: '#/components/schemas/CallerCreate'
        callerLookup:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Lookup value for filling in a registered caller's contact details.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            The caller is filled in automatically for persons.
            Examples:
            ```
            "callerLookup" : { "id" : "<UUID>" }
            ```
            or
            ```
            "callerLookup" : { "email" : "email@domain.com" }
            ```
            It is an error to provide more than one lookup value or to provide an empty callerLookup object.
        briefDescription:
          maxLength: 80
          type: string
          description: |
            Brief description.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
        request:
          type: string
          description: |
            Initial request.
            The following html tags can be used to format the text:
            <ul>
            <li>&lt;i&gt;</li>
            <li>&lt;em&gt;</li>
            <li>&lt;b&gt;</li>
            <li>&lt;strong&gt;</li>
            <li>&lt;u&gt;</li>
            <li>&lt;img&gt; BASE64-encoding has to be used. Only pictures up to the size of 450x450 pixels are supported. Allowed picture-formats: gif, png, bmp, pcx, iff, ras, pnm, psd, jpg. Example: &lt;img src="data:image/png;base64,iVBORw0KGgoAAA..."&gt;</li>
            <li>&lt;br&gt;</li>
            <li>&lt;h5&gt;</li>
            <li>&lt;h6&gt;</li>
            </ul>
            Can be set by operators and persons.
        action:
          type: string
          description: |
            Initial action.
            The following html tags can be used to format the text:
            <ul>
            <li>&lt;i&gt;</li>
            <li>&lt;em&gt;</li>
            <li>&lt;b&gt;</li>
            <li>&lt;strong&gt;</li>
            <li>&lt;u&gt;</li>
            <li>&lt;img&gt; BASE64-encoding has to be used. Only pictures up to the size of 450x450 pixels are supported. Allowed picture-formats: gif, png, bmp, pcx, iff, ras, pnm, psd, jpg. Example: &lt;img src="data:image/png;base64,iVBORw0KGgoAAA..."&gt;</li>
            <li>&lt;br&gt;</li>
            <li>&lt;h5&gt;</li>
            <li>&lt;h6&gt;</li>
            </ul>
            Can be set by operators and persons.
        actionInvisibleForCaller:
          type: boolean
          description: |
            Whether the initial action is invisible for persons.
            Can only be set by operators.
          default: false
        entryType:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Entry type by id or name.
            Can only be set by operators.
            Example:
            ```
            "entryType" : { "id" : "<UUID>" }
            ```
            or
            ```
            "entryType" : { "name" : "Name of Searchlist" }
            ```
        callType:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Call type by id or name.
            Can be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            Example:
            ```
            "callType" : { "id" : "<UUID>" }
            ```
            or
            ```
            "callType" : { "name" : "Name of Searchlist" }
            ```
        callDate:
          type: string
          description: |
            The date when this call was registed. Usually that's the same as when the incident was created, but it can be
            useful to change it e.g. when registering a call that came in yesterday.
            Example:
            ```
            "callDate" : "2015-11-15T14:00:00.000+0200"
            ```
          format: date-time
        category:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Call type by id or name.
            Can be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            Example:
            ```
            "callType" : { "id" : "<UUID>" }
            ```
            or
            ```
            "callType" : { "name" : "Name of Searchlist" }
            ```
        subcategory:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Subcategory by id or name.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            It is an error to provide both an id and a name. If a subcategory is provided without a category, the corresponding category will be filled in automatically, unless there are multiple matching categories, in which case the request will fail.
            Examples:
            ```
            "subcategory" : { "id" : "<UUID>" }
            ```
            or
            ```
            "subcategory" : { "name" : "Printer" }
            ```
        externalNumber:
          maxLength: 60
          type: string
          description: |
            External number.
            Can only be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
        object:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Object by id or by name.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Examples:
            ```
            "object" : { "id" : "<UUID>" }
            ```
            or
            ```
            "object" : { "name" : "OBJ001" }
            ```
            If both object and location are given, object is set and location is ignored.
        location:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Location by id.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Example:
            ```
            "location" : { "id" : "<UUID>" }
            ```
        branch:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Branch (for Location) by id.
            Can only be set by operators.
            For partial incidents, this field is determined by the main incident and will give an error if provided in the request.
            Example:
            ```
            "branch" : { "id" : "<UUID>" }
            ```
        impact:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Impact by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Example:
            ```
            "impact" : { "id" : "<UUID>" }
            ```
            or
            ```
            "impact" : { "name" : "Name of Searchlist" }
            ```
        urgency:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Urgency by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Example:
            ```
            "urgency" : { "id" : "<UUID>" }
            ```
            or
            ```
            "urgency" : { "name" : "Name of Searchlist" }
            ```
        priority:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Priority by id or name.
            Can only be set by operators.
            Cannot be provided for partials as its automatically copied from the main incident.
            Will be automatically filled in if you provide impact and/or urgency leading to a unique priority according to your priority matrix, and the same request doesn't provide a priority. For incidents with a linked SLA, if the priority provided cannot be found in the Service Level Priority List, the duration field of the incident will be emptied.
            Example:
            ```
            "priority" : { "id" : "<UUID>" }
            ```
            or
            ```
            "priority" : { "name" : "Name of Searchlist" }
            ```
        duration:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Duration by id or name.
            Can only be set by operators.
            Example:
            ```
            "duration" : { "id" : "<UUID>" }
            ```
            or
            ```
            "duration" : { "name" : "Name of Searchlist" }
            ```
        targetDate:
          type: string
          description: |
            Target date.
            Can only be set by operators.
            Example:
            ```
            "targetDate" : "2015-11-15T14:00:00.000+0200"
            ```
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2015-10-28T10:30:00.000 is equivalent to 2015-10-28T10:30:00.000+0000
          format: date-time
        sla:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            SLA by id.
            Can only be set by operators.
            Example:
            ```
            "sla" : { "id" : "<UUID>" }
            ```
        onHold:
          type: boolean
          description: |
            On hold. On hold date will be filled accordingly.
            Can only be set by operators.
            Example:
            ```
            "onHold" : "true"
            ```
        operator:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator by id.
            Can only be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Example:
            ```
            "operator": { "id": "<UUID>" }
            ```
        operatorGroup:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator group by id.
            Can be set by operators.
            For partials, if not provided, will be automatically copied from the main incident.
            Can be set by persons only when the appropriate setting for the new call form is checked.
            Example:
            ```
            "operatorGroup" : { "id" : "<UUID>" }
            ```
        supplier:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Supplier by id.
            Can only be set by operators.
            Example:
            ```
            "supplier" : { "id" : "<UUID>" }
            ```
        processingStatus:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Processing status by id or name.
            Can only be set by operators.
            Example:
            ```
            "processingStatus" : { "id" : "<UUID>" }
            ```
            or
            ```
            "processingStatus" : { "name" : "Name of Searchlist" }
            ```
        responded:
          type: boolean
          description: |
            Whether the incident is responded.
            SLM-licence is needed.
            Can only be set by operators. When the setting "Status determines responded" is on, this will be filled automatically (manual setting is prohibited).
        responseDate:
          type: string
          description: |
            Response date.
            SLM-licence is needed.
            Can only be set by operators.
            Will automatically be set to current date if left out and "responded : true" is set.
            Example:
            ```
            "responseDate" : "2015-11-15T14:00:00.000+0200"
            ```
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2015-10-28T10:30:00.000 is equivalent to 2015-10-28T10:30:00.000+0000
          format: date-time
        completed:
          type: boolean
          description: |
            Whether the incident is completed.
            Can only be set by operators.
        completedDate:
          type: string
          description: |
            Completed date.
            Can only be set by operators.
            Example: "completedDate" : "2018-11-15T14:00:00.000+0200"
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2018-10-28T10:30:00.000 is equivalent to 2018-10-28T10:30:00.000+0000
          format: date-time
        closed:
          type: boolean
          description: |
            Whether the incident is closed.
            Can only be set by operators.
            For partials, will be ignored. The value of completed will be used instead.
        closedDate:
          type: string
          description: |
            Closed date.
            Can only be set by operators.
            For partials, will be ignored. The value of completedDate will be used instead.
            Example: "closedDate" : "2018-11-15T14:00:00.000+0200"
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed. E.g. 2018-10-28T10:30:00.000 is equivalent to 2018-10-28T10:30:00.000+0000
          format: date-time
        closureCode:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Closure code by id or name.
            Can only be set by operators.
            Example:
            ```
            "closureCode" : { "id" : "<UUID>" }
            ```
            or
            ```
            "closureCode" : { "name" : "Name of Searchlist" }
            ```
        costs:
          type: number
          description: |
            Costs.
            Can only be set by operators.
            Example: "costs" : "0.15"
          format: float
          example: 0.15
        feedbackRating:
          type: number
          description: |
            Rate incident, only available for closed incidents.
            Can only be set by operators or the caller of the incident.
            Example:
            ```
            "feedbackRating" : "5"
            ```
          format: int32
          example: 2.0
        feedbackMessage:
          type: string
          description: |
            Leave feedback message on incident, only available for closed incidents and when feedbackRating is given.
            Can only be set by operators or the caller of the incident.
            Example:
            ```
            "feedbackMessage" : "Nice!"
            ```
        majorCall:
          type: boolean
          description: |
            Whether the incident is a major call.
            Can only be set by operators.
        majorCallObject:
          type: object
          properties:
            id:
              type: string
              description: Id of the item. Either id or name can be used to specify
                item.
              format: uuid
            name:
              type: string
              description: Name of the item. Either name or id can be used to specify
                item.
          description: |
            Major call by id or number.
            Can only be set by operators.
            Example:
            ```
            "majorCallObject" : { "id" : "<UUID>" }
            ```
            or
            ```
            "majorCallObject" : { "name" : "I 1909 123" }
            ```
        publishToSsd:
          type: boolean
          description: |
            Whether the incident should be published in the Self Service Desk; only major incidents can be published.
            Can only be set by operators.
        optionalFields1:
          $ref: '#/components/schemas/OptionalFields'
        optionalFields2:
          $ref: '#/components/schemas/OptionalFields'
        externalLink:
          $ref: '#/components/schemas/ExternalLink'
    ExternalLink:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          description: |
            Integer (supplied as string) to identify the external system by.
            Can only be set by operators. Needs to be supplied together with a valid id in order to create a link.
            Example: "externalLink" : { "id" : "identifier-of-external-system", "type" : "11" }
        date:
          type: string
          description: |
            Date of the last synchronization.
            Can only be set by operators.
            Example: "externalLink" : { "id" : "identifier-of-external-system", "type" : "11" , "date" : "2018-09-17T17:36:00" }
          format: datae-time
    CallerCreate:
      type: object
      properties:
        branch:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            The caller branch by id.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "branch" : { "id" : "<UUID>" }}
            ```
        dynamicName:
          maxLength: 109
          type: string
          description: |
            Dynamic Name of the caller.
            Can only be set by operators.
            Can only be changed for unregistered callers.
            Example:
            ```
            "caller" : { "dynamicName" : "Ginneken, Erik van" }
            ```
        phoneNumber:
          maxLength: 25
          type: string
          description: |
            Phone number of the caller.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "phoneNumber" : "123 456" }
            ```
        mobileNumber:
          maxLength: 25
          type: string
          description: |
            Mobile phone number of the caller.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "mobileNumber" : "123 456" }
            ```
        email:
          maxLength: 100
          type: string
          description: |
            Email of the caller.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "email" : "erikg@topdesk.com" }
            ```
        department:
          type: object
          properties:
            id:
              type: string
              description: Either id or name can be used to specify department.
              format: uuid
            name:
              type: string
              description: Either name or id can be used to specify department.
          description: |
            Department of the caller by id or name.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "department" : { "id" : "<UUID>" }}
            ```
            or
            ```
            "department" : { "name" : "Name of Searchlist" }
            ```
        location:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Location of the caller by id.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "location" : { "id" : "<UUID>" }
            ```
        budgetHolder:
          type: object
          properties:
            id:
              type: string
              description: Either id or name can be used to specify budgetHolder.
              format: uuid
            name:
              type: string
              description: Either name or id can be used to specify budgetHolder.
          description: |
            Budget holder of the caller by id or name.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "budgetHolder" : { "id" : "<UUID>" }
            ```
            or
            ```
            "budgetHolder" : { "name" : "Name of Searchlist" }
            ```
        personExtraFieldA:
          type: object
          properties:
            id:
              type: string
              description: Either id or name can be used to specify personExtraFieldA.
              format: uuid
            name:
              type: string
              description: Either name or id can be used to specify personExtraFieldA.
          description: |
            Person extra field a of the caller by id or name.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "personExtraFieldA" : { "id" : "<UUID>" }
            ```
            or
            ```
            "personExtraFieldA" : { "name" : "Name of Searchlist" }
            ```
        personExtraFieldB:
          type: object
          properties:
            id:
              type: string
              description: Either id or name can be used to specify personExtraFieldB.
              format: uuid
            name:
              type: string
              description: Either name or id can be used to specify personExtraFieldB.
          description: |
            Person extra field b of the caller by id or name.
            Can only be set by operators.
            Example:
            ```
            "caller" : { "personExtraFieldB" : { "id" : "<UUID>" }
            ```
            or
            ```
            "personExtraFieldB" : { "name" : "Name of Searchlist" }
            ```
      description: |
        ```
        Using the caller parameter to fill in a registered caller is deprecated, use the callerLookup parameter instead.
        ```
        The caller contact details for this incident.
        Can only be set by operators.
        Cannot be provided for partials as its automatically copied from the main incident.
        Is filled in automatically for persons and when the callerLookup parameter is provided.
        To fill in an unregistered caller, fill in the caller's name:
        ```
        "caller" : { "dynamicName" : "Firstname Lastname" }
        ```
        It is an error to provide both a name and a registered caller.
    ProgressTrail:
      type: object
      properties:
        id:
          type: string
          format: uuid
        memoText:
          type: string
          description: |
            _NOTE_: only for text
        flag:
          type: number
          description: |
            _NOTE_: only for text
        invisibleForCaller:
          type: boolean
          description: |
            _NOTE_: only for text
        entryDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        person:
          $ref: '#/components/schemas/Searchlist'
        fileName:
          type: string
          description: |
            _NOTE_: only for attachment
        downloadUrl:
          type: string
          description: |
            _NOTE_: only for attachment
        size:
          type: number
          description: |
            _NOTE_: only for attachment
          format: int32
        user:
          $ref: '#/components/schemas/Searchlist'
        title:
          type: string
          description: |
            _NOTE_: only for Email
        sender:
          type: string
          description: |
            _NOTE_: only for Email
        plainText:
          type: string
          description: |
            _NOTE_: only for text
        creationDate:
          type: string
          format: date-time
          description: |
            _NOTE_: only for text
    Attachment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        invisibleForCaller:
          type: boolean
          description: |
            _NOTE_: only available for operators
        entryDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        person:
          $ref: '#/components/schemas/Searchlist'
        fileName:
          type: string
        downloadUrl:
          type: string
          description: |
            _NOTE_: only for attachment
        size:
          type: number
          format: int32
        description:
          type: string
          example: Photo of screen
    Request:
      type: object
      properties:
        id:
          type: string
          format: uuid
        memoText:
          type: string
          description: |
            _NOTE_: only for text
        plainText:
          type: string
          description: |
            _NOTE_: only for text
        flag:
          type: number
          description: |
            _NOTE_: only for text
        entryDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        person:
          $ref: '#/components/schemas/Searchlist'
        creationDate:
          type: string
          format: date-time
          description: |
            _NOTE_: only for text
    Action:
      type: object
      properties:
        id:
          type: string
          format: uuid
        memoText:
          type: string
          description: |
            _NOTE_: only for text
        plainText:
          type: string
          description: |
            _NOTE_: only for text
        flag:
          type: number
          description: |
            _NOTE_: only for text
        invisibleForCaller:
          type: boolean
          description: |
            _NOTE_: only for text
        entryDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        person:
          $ref: '#/components/schemas/Searchlist'
        creationDate:
          type: string
          format: date-time
          description: |
            _NOTE_: only for text
    TimeSpent:
      type: object
      properties:
        id:
          type: string
          format: uuid
        timeSpent:
          type: integer
          description: Time spent in minutes
          format: int64
        notes:
          type: string
        status:
          type: number
          format: int32
        entryDate:
          type: string
          format: date-time
        creationDate:
          type: string
          format: date-time
        operator:
          $ref: '#/components/schemas/Searchlist'
        operatorGroup:
          $ref: '#/components/schemas/Searchlist'
        reason:
          $ref: '#/components/schemas/Searchlist'
    CreateTimeSpent:
      required:
        - timeSpent
      type: object
      properties:
        timeSpent:
          type: integer
          description: |
            Time spent in minutes. Can be negative as long as the total registered time on the incident does not go
            below 0. Can not be 0.
            Example: `"timeSpent": 30`
          format: int64
        notes:
          maxLength: 250
          type: string
          description: |
            Notes for the entry of registered time spent
            Example: `"notes": "Took a bit longer to find a patch than expected."`
        entryDate:
          type: string
          description: |
            Date for when the time spent should be registered. If not set, will be set to the current time.
            Example: `"entryDate": : "2015-11-15T14:00:00.000+0200"`
            The given time offset will be used. Without a given offset Zulu/UTC time will be assumed.
            E.g. 2015-10-28T10:30:00.000 is equivalent to 2015-10-28T10:30:00.000+0000
          format: date-time
        operator:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator by id. If operator group and operator id is not set, currently logged in operator will be used.
            Example: `"operator" : { "id" : "<UUID>" }`
        operatorGroup:
          type: object
          properties:
            id:
              type: string
              format: uuid
          description: |
            Operator group by id. Must match with the specified operator. If no operator specified, operator group will
            also be set as the operator.
            Example: `"operatorGroup" : { "id" : "<UUID>" }`
        reason:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
          description: |
            The reason for the time spent by name or id. If id is set the name will be ignored.
            Example: `"reason" : { "id" : "<UUID>" }` or `"reason" : { "name" : "Normal tariff" }`
    SlaService:
      type: object
      properties:
        id:
          type: string
          description: The id of the SLA service. This is the value you need to link
            a SLA to an incident while creating or updating it.
          format: uuid
        contractId:
          type: string
          format: uuid
        contractName:
          type: string
        contractSequenceNumber:
          type: string
        serviceId:
          type: string
          format: uuid
        serviceName:
          type: string
        serviceLevelId:
          type: string
          format: uuid
        serviceLevelName:
          type: string
    IncidentStatus:
      type: object
      enum:
        - firstLine
        - secondLine
        - partial
        - firstLineArchived
        - secondLineArchived
        - partialArchived
        - null
  responses:
    BadRequest:
      description: |
        _Bad Request_
        <ul>
        <li>The incident id is invalid</li>
        <li>The request contains a field that does not exist</li>
        <li>The request contains a value for a field where the format is wrong. For example, "true" mistyped, or the UUID in the wrong format</li>
        <li>The request contains a value for a string field which is too long. For example, brief description can only be 80 characters long</li>
        <li>The request contains an operator which does not belong to the given operator group</li>
        <li>The request contains a subcategory which does not belong to the given category</li>
        <li>The request contains a supplier which is not applicable for the status of the incident</li>
        <li>The request contains an invalid major call</li>
        <li>The person tries to give feedback on an open incident</li>
        <li>The request is for the creation of a partial incident and one of the fields marked as 'Cannot be provided for partials' is included in the request.</li>
        <li>The request is for the creation of a partial incident and no main incident id is provided.</li>
        </ul>
      content: {}
    Forbidden:
      description: |
        _Forbidden_
        <ul>
        <li>The request contains a field that the person is not allowed to set</li>
        <li>The operator does not have the rights to execute this operation</li>
        </ul>
      content: {}
    InternalServerError:
      description: |
        _Internal Server Error_
        <ul>
        <li>Error occurred on the server</li>
        </ul>
      content: {}
    NoAuthentication:
      description: |
        _Unauthorized_
        <ul>
        <li>No authentication token provided</li>
        </ul>
      content: {}
    NotFound:
      description: |
        _Not Found_
        <ul>
        <li>The incident number or id are valid, but incident does not exist</li>
        <li>The request contains a field with an id value which is not existing in the database</li>
        </ul>
      content: {}
  parameters:
    start:
      name: start
      in: query
      description: |
        The offset at which to start listing at
      schema:
        type: number
        format: int32
        default: 0.0
    page_size:
      name: page_size
      in: query
      description: |
        The amount of entities to be returned per request
      schema:
        maximum: 10
        minimum: 0
        type: number
        format: int32
        default: 10.0
    inlineimages:
      name: inlineimages
      in: query
      description: |
        Whether inline images should be returned
      schema:
        type: boolean
        default: false
    non_api_attachment_urls:
      name: non_api_attachment_urls
      in: query
      description: |
        Whether links to bigger versions of inline images should be returned in a format that can be used by a browser (with cookie authentication) instead of by an API user
      schema:
        type: boolean
        default: false
