swagger: "2.0"
info:
  title: Teamwork Desk
  version: "2.0"
consumes:
  - application/json
produces:
  - application/json
tags:
  - name: AgentInvites
  - name: Announcement
  - name: Anomalies
  - name: AppFeatures
  - name: AppFeaturesInstallations
  - name: Apps
  - name: BackgroundJobs
  - name: BusinessHours
  - name: BusinessHoursHolidays
  - name: BusinessHoursSchedules
  - name: CannedResponses
  - name: Companies
  - name: ContactForms
  - name: ConversationMessages
  - name: Conversations
  - name: CustomFieldOptions
  - name: CustomFields
  - name: CustomerPortals
  - name: Customers
  - name: Dependencies
  - name: Devices
  - name: Domains
  - name: Exports
  - name: FailedTriggers
  - name: Feedbacks
  - name: Fields
  - name: File
  - name: Files
  - name: HIPAASettingsAPIBody
  - name: HIPAAViolationsAPIBody
  - name: HIPAAWhitelist
  - name: HIPAAWhitelists
  - name: HappinessRatingOptions
  - name: HappinessRatings
  - name: HelpdocArticles
  - name: HelpdocArticlesKeywords
  - name: HelpdocTemplates
  - name: HelpdocsCategories
  - name: HelpdocsSearches
  - name: HelpdocsSites
  - name: InboxAIFeatures
  - name: InboxTimeTrackings
  - name: Inboxes
  - name: Installations
  - name: Messages
  - name: Notifications
  - name: Onboardings
  - name: PermissionUsers
  - name: Permissions
  - name: PinnedNotes
  - name: Reactions
  - name: ReportExports
  - name: RestrictedDomains
  - name: SSOs
  - name: ScheduledEmails
  - name: SearchFilters
  - name: Sentiments
  - name: SharedTickets
  - name: Slas
  - name: SmartInboxes
  - name: SpamLists
  - name: SpamReasons
  - name: SuggestedResponses
  - name: Tags
  - name: TeammateTypes
  - name: Teammates
  - name: ThreadReactions
  - name: ThreadSummaries
  - name: Ticket
  - name: TicketActivities
  - name: TicketPriorities
  - name: TicketReminders
  - name: TicketSources
  - name: TicketStatuses
  - name: TicketSummaries
  - name: TicketTemplates
  - name: TicketTypes
  - name: TicketUserDecks
  - name: Tickets
  - name: TicketsReads
  - name: TimeLogSettings
  - name: Timelog
  - name: Timelogs
  - name: Timezones
  - name: TrainingWheels
  - name: TrainingWheelsEnrollments
  - name: Trends
  - name: TriggerNotifications
  - name: TriggerTaskTemplates
  - name: Triggers
  - name: UserPreferences
  - name: Users
  - name: WebhookEndpoints
  - name: Webhooks
  - name: pagination
paths:
  /v2/agentinvites.json:
    get:
      operationId: GET_v2_agentinvites.json
      tags:
        - AgentInvites
      summary: Get a paginated list of agentinvites.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AgentInvitesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_agentinvites.json
      tags:
        - AgentInvites
      summary: Create a new agentinvite.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.AgentInvite
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.AgentInvite'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.AgentInviteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/announcement.json:
    get:
      operationId: GET_v2_announcement.json
      tags:
        - Announcement
      summary: Get the latest announcement given compatible permissions.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AnnouncementAPIBody'
        204:
          description: 204 No Content (no data)
  /v2/anomalies.json:
    get:
      operationId: GET_v2_anomalies.json
      tags:
        - Anomalies
      summary: Get a paginated list of anomalies.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customer\n- deletedAt\n- deletedBy\n- id\n- inbox\n- name\n- state\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  customer\n-  deletedAt\n-  deletedBy\n-  id\n-  inbox\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AnomaliesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/anomalies/{id}.json:
    get:
      operationId: GET_v2_anomalies_{id}.json
      tags:
        - Anomalies
      summary: Get a single anomaly by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AnomalyAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/anomalies/{id}/clear.json:
    post:
      operationId: POST_v2_anomalies_{id}_clear.json
      tags:
        - Anomalies
      summary: Mark an anomaly as cleared.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Anomaly
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Anomaly'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AnomalyAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/anomalies/clear.json:
    patch:
      operationId: PATCH_v2_anomalies_clear.json
      tags:
        - Anomalies
      summary: Mark multiple anomalies as cleared.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customer\n- deletedAt\n- deletedBy\n- id\n- inbox\n- name\n- state\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Anomaly
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Anomaly'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/appfeatures.json:
    get:
      operationId: GET_v2_appfeatures.json
      tags:
        - AppFeatures
      summary: Get a paginated list of appfeatures.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- id\n- name\n\nThe following values are allowed in the orderBy query parameter:\n-  id\n-  name\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppFeaturesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/appfeatures/{id}.json:
    get:
      operationId: GET_v2_appfeatures_{id}.json
      tags:
        - AppFeatures
      summary: Get a single appfeature by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppFeatureAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/appfeaturesinstallations.json:
    get:
      operationId: GET_v2_appfeaturesinstallations.json
      tags:
        - AppFeaturesInstallations
      summary: Get a paginated list of appfeaturesinstallations.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- appfeatureId\n- comment\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- updatedAt\n- updatedBy\n- value\n\nThe following values are allowed in the orderBy query parameter:\n-  appfeatureId\n-  comment\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  updatedAt\n-  updatedBy\n-  value\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppFeaturesInstallationsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/appfeaturesinstallations/{id}.json:
    get:
      operationId: GET_v2_appfeaturesinstallations_{id}.json
      tags:
        - AppFeaturesInstallations
      summary: Get a single appfeaturesinstallation by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppFeaturesInstallationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/apps.json:
    get:
      operationId: GET_v2_apps.json
      tags:
        - Apps
      summary: Get a paginated list of apps.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- appsettings\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/apps/:appId/settings/:id.json:
    put:
      operationId: PUT_v2_apps_:appId_settings_:id.json
      tags:
        - Apps
      summary: Update an app setting
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppSetting'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/apps/:id/install.json:
    post:
      operationId: POST_v2_apps_:id_install.json
      tags:
        - Apps
      summary: Install an app
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/apps/:id/uninstall.json:
    post:
      operationId: POST_v2_apps_:id_uninstall.json
      tags:
        - Apps
      summary: Uninstall an app
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/apps/{id}.json:
    get:
      operationId: GET_v2_apps_{id}.json
      tags:
        - Apps
      summary: Get a single app by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- appsettings\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.AppAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/backgroundjobs/{jobId}.json:
    get:
      operationId: GET_v2_backgroundjobs_{jobId}.json
      tags:
        - BackgroundJobs
      summary: Get a background job by jobId.
      produces:
        - application/json
      parameters:
        - name: jobId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BackgroundJobAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/backgroundjobs/{type}/{action}/{id}.json:
    delete:
      operationId: DELETE_v2_backgroundjobs_{type}_{action}_{id}.json
      tags:
        - BackgroundJobs
      summary: Delete a backgroundjob.
      produces:
        - application/json
      parameters:
        - name: type
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
        - name: action
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshours.json:
    get:
      operationId: GET_v2_businesshours.json
      tags:
        - BusinessHours
      summary: Get a paginated list of businesshours.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- isDefault\n- name\n- state\n- timezoneId\n- timezone_name\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  isDefault\n-  name\n-  state\n-  timezoneId\n-  timezone_name\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshoursholidays\n- businesshoursschedules\n- triggers\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_businesshours.json
      tags:
        - BusinessHours
      summary: Create a new businesshour.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHourAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHourAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.BusinessHourAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshours/{id}.json:
    get:
      operationId: GET_v2_businesshours_{id}.json
      tags:
        - BusinessHours
      summary: Get a single businesshour by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshoursholidays\n- businesshoursschedules\n- triggers\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHourAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_businesshours_{id}.json
      tags:
        - BusinessHours
      summary: Update a businesshour.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHourAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHourAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHourAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_businesshours_{id}.json
      tags:
        - BusinessHours
      summary: Delete a businesshour.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshoursholidays.json:
    get:
      operationId: GET_v2_businesshoursholidays.json
      tags:
        - BusinessHoursHolidays
      summary: Get a paginated list of businesshoursholidays.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- businesshours_id\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- endDate\n- id\n- name\n- startDate\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  businesshours_id\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  endDate\n-  id\n-  name\n-  startDate\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursHolidaysAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_businesshoursholidays.json
      tags:
        - BusinessHoursHolidays
      summary: Create a new businesshoursholiday.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHoursHoliday
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHoursHoliday'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.BusinessHoursHolidayAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshoursholidays/{id}.json:
    get:
      operationId: GET_v2_businesshoursholidays_{id}.json
      tags:
        - BusinessHoursHolidays
      summary: Get a single businesshoursholiday by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursHolidayAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_businesshoursholidays_{id}.json
      tags:
        - BusinessHoursHolidays
      summary: Update a businesshoursholiday.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHoursHoliday
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHoursHoliday'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursHolidayAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_businesshoursholidays_{id}.json
      tags:
        - BusinessHoursHolidays
      summary: Delete a businesshoursholiday.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshoursschedules.json:
    get:
      operationId: GET_v2_businesshoursschedules.json
      tags:
        - BusinessHoursSchedules
      summary: Get a paginated list of businesshoursschedules.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- businesshours_id\n- createdAt\n- createdBy\n- day\n- deletedAt\n- deletedBy\n- endHour\n- id\n- startHour\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  businesshours_id\n-  createdAt\n-  createdBy\n-  day\n-  deletedAt\n-  deletedBy\n-  endHour\n-  id\n-  startHour\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursSchedulesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_businesshoursschedules.json
      tags:
        - BusinessHoursSchedules
      summary: Create a new businesshoursschedule.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHoursSchedule
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHoursSchedule'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.BusinessHoursScheduleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/businesshoursschedules/{id}.json:
    get:
      operationId: GET_v2_businesshoursschedules_{id}.json
      tags:
        - BusinessHoursSchedules
      summary: Get a single businesshoursschedule by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursScheduleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_businesshoursschedules_{id}.json
      tags:
        - BusinessHoursSchedules
      summary: Update a businesshoursschedule.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BusinessHoursSchedule
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BusinessHoursSchedule'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BusinessHoursScheduleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_businesshoursschedules_{id}.json
      tags:
        - BusinessHoursSchedules
      summary: Delete a businesshoursschedule.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/cannedresponses.json:
    get:
      operationId: GET_v2_cannedresponses.json
      tags:
        - CannedResponses
      summary: Get a paginated list of cannedresponses.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inbox\n- name\n- reply\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  inbox\n-  name\n-  reply\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- files\n- inboxes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CannedResponsesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_cannedresponses.json
      tags:
        - CannedResponses
      summary: Create a new cannedresponse.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CannedResponseAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CannedResponseAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CannedResponseAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/cannedresponses/{id}.json:
    get:
      operationId: GET_v2_cannedresponses_{id}.json
      tags:
        - CannedResponses
      summary: Get a single cannedresponse by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- files\n- inboxes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CannedResponseAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_cannedresponses_{id}.json
      tags:
        - CannedResponses
      summary: Update a cannedresponse.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CannedResponseAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CannedResponseAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CannedResponseAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_cannedresponses_{id}.json
      tags:
        - CannedResponses
      summary: Delete a cannedresponse.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/codetemplates/{id}.json:
    patch:
      operationId: PATCH_v2_codetemplates_{id}.json
      tags:
        - Sentiments
      summary: Update a codetemplate.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Sentiment
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Sentiment'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SentimentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies.json:
    get:
      operationId: GET_v2_companies.json
      tags:
        - Companies
      summary: Get a paginated list of companies.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- avatarPath\n- createdAt\n- createdBy\n- customersCount\n- deletedAt\n- deletedBy\n- details\n- email\n- id\n- industry\n- kind\n- name\n- permission\n- state\n- updatedAt\n- updatedBy\n- website\n\nThe following values are allowed in the orderBy query parameter:\n-  address\n-  address.country\n-  avatarPath\n-  createdAt\n-  createdBy\n-  customersCount\n-  customersCount\n-  deletedAt\n-  deletedBy\n-  details\n-  domains.id\n-  domains.name\n-  email\n-  email\n-  id\n-  inboxes.id\n-  industry\n-  kind\n-  name\n-  name\n-  permission\n-  phones\n-  state\n-  updatedAt\n-  updatedBy\n-  website\n-  website\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- addresses\n- customers\n- domains\n- phones\n- sociallinks\n- timelogsettings\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CompaniesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_companies.json
      tags:
        - Companies
      summary: Create a new company.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Company
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Company'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CompanyAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/{id}.json:
    get:
      operationId: GET_v2_companies_{id}.json
      tags:
        - Companies
      summary: Get a single company by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- addresses\n- customers\n- domains\n- phones\n- sociallinks\n- timelogsettings\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CompanyAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
    patch:
      operationId: PATCH_v2_companies_{id}.json
      tags:
        - Companies
      summary: Update a company.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.  Customers can be added to a company via the 'includes:
        customers' field.  Customers can be removed by specifying 'delete: true' on
        the `customers: []` relationship.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CompanyAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CompanyAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CompanyAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_companies_{id}.json
      tags:
        - Companies
      summary: Delete a company.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/{id}/pmsync.json:
    post:
      operationId: POST_v2_companies_{id}_pmsync.json
      tags:
        - Companies
      summary: Sync a company between Teamwork Projects and Desk
      description: |-
        Synchronises a company between Teamwork Projects and Desk. If the company
        does not exist in Projects, it will be created. The company's customers will
        also be synchronised.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/delete.json:
    delete:
      operationId: DELETE_v2_companies_delete.json
      tags:
        - Companies
      summary: Delete multiple companies.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- avatarPath\n- createdAt\n- createdBy\n- customersCount\n- deletedAt\n- deletedBy\n- details\n- email\n- id\n- industry\n- kind\n- name\n- permission\n- state\n- updatedAt\n- updatedBy\n- website"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/import.csv:
    post:
      operationId: POST_v2_companies_import.csv
      tags:
        - Companies
      summary: Imports companies to an installation.
      description: |-
        Generates a job which will execute
        the import process in the background.
      produces:
        - application/json
      responses:
        201:
          description: 201 Created (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/migrate.json:
    post:
      operationId: POST_v2_companies_migrate.json
      tags:
        - Companies
      summary: Migrates organizations of an installation to companies.
      description: |-
        All organization fields on the customers of an installation will be migrated
        to become companies.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/companies/update.json:
    patch:
      operationId: PATCH_v2_companies_update.json
      tags:
        - Companies
      summary: Update multiple companies.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- avatarPath\n- createdAt\n- createdBy\n- customersCount\n- deletedAt\n- deletedBy\n- details\n- email\n- id\n- industry\n- kind\n- name\n- permission\n- state\n- updatedAt\n- updatedBy\n- website"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Company
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Company'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/contactforms.json:
    get:
      operationId: GET_v2_contactforms.json
      tags:
        - ContactForms
      summary: Get a paginated list of contactforms.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- accentColor\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inboxFieldName\n- isLiveChatEnabled\n- liveChatWelcomeMessage\n- name\n- position\n- state\n- theme\n- token\n- triggerColor\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  accentColor\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  inboxFieldName\n-  isLiveChatEnabled\n-  liveChatWelcomeMessage\n-  name\n-  position\n-  state\n-  theme\n-  token\n-  triggerColor\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdocs\n- inboxes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ContactFormsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_contactforms.json
      tags:
        - ContactForms
      summary: Create a new contactform.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ContactForm
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ContactForm'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ContactFormAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/contactforms/{id}.json:
    get:
      operationId: GET_v2_contactforms_{id}.json
      tags:
        - ContactForms
      summary: Get a single contactform by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdocs\n- inboxes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ContactFormAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_contactforms_{id}.json
      tags:
        - ContactForms
      summary: Update a contactform.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ContactForm
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ContactForm'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ContactFormAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_contactforms_{id}.json
      tags:
        - ContactForms
      summary: Delete a contactform.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/contactforms/delete.json:
    delete:
      operationId: DELETE_v2_contactforms_delete.json
      tags:
        - ContactForms
      summary: Delete multiple contactforms.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- accentColor\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inboxFieldName\n- isLiveChatEnabled\n- liveChatWelcomeMessage\n- name\n- position\n- state\n- theme\n- token\n- triggerColor\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/contactforms/update.json:
    patch:
      operationId: PATCH_v2_contactforms_update.json
      tags:
        - ContactForms
      summary: Update multiple contactforms.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- accentColor\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inboxFieldName\n- isLiveChatEnabled\n- liveChatWelcomeMessage\n- name\n- position\n- state\n- theme\n- token\n- triggerColor\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ContactForm
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ContactForm'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages.json:
    get:
      operationId: GET_v2_conversationmessages.json
      tags:
        - ConversationMessages
      summary: Get a paginated list of conversationmessages.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- state\n- updatedAt\n- updatedBy\n- userId\n\nThe following values are allowed in the orderBy query parameter:\n-  contactId\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  message\n-  state\n-  updatedAt\n-  updatedBy\n-  userId\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- customers\n- files\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationMessagesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages/{id}.json:
    patch:
      operationId: PATCH_v2_conversationmessages_{id}.json
      tags:
        - ConversationMessages
      summary: Update a conversationmessage.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ConversationMessage
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ConversationMessage'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationMessageAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_conversationmessages_{id}.json
      tags:
        - ConversationMessages
      summary: Delete a conversationmessage.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages/delete.json:
    delete:
      operationId: DELETE_v2_conversationmessages_delete.json
      tags:
        - ConversationMessages
      summary: Delete multiple conversationmessages.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- state\n- updatedAt\n- updatedBy\n- userId"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages/history/{token}.json:
    get:
      operationId: GET_v2_conversationmessages_history_{token}.json
      tags:
        - ConversationMessages
      summary: Get a paginated list of conversationmessages.  This is a public endpoint,
      description: "authenticated via socket token.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- state\n- updatedAt\n- updatedBy\n- userId\n\nThe following values are allowed in the orderBy query parameter:\n-  contactId\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  message\n-  state\n-  updatedAt\n-  updatedBy\n-  userId\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- customers\n- files\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: token
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationMessagesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages/update.json:
    patch:
      operationId: PATCH_v2_conversationmessages_update.json
      tags:
        - ConversationMessages
      summary: Update multiple conversationmessages.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- state\n- updatedAt\n- updatedBy\n- userId"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ConversationMessage
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ConversationMessage'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversationmessages/webhooks.json:
    post:
      operationId: POST_v2_conversationmessages_webhooks.json
      tags:
        - ConversationMessages
      summary: This endpoint is used by pusher to send bulk events to desk via webhooks.
      description: This is not a public endpoint.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ConversationMessage
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ConversationMessage'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ConversationMessageAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations.json:
    get:
      operationId: GET_v2_conversations.json
      tags:
        - Conversations
      summary: Get a paginated list of conversations.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- deletedAt\n- id\n- state\n- ticket_id\n- token\n- updatedAt\n\nThe following values are allowed in the orderBy query parameter:\n-  contactId\n-  createdAt\n-  deletedAt\n-  id\n-  state\n-  ticket_id\n-  token\n-  updatedAt\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- conversationmessages\n- customers\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_conversations.json
      tags:
        - Conversations
      summary: Create a new conversation via the pusher API.  This authorizes the current
      description: |-
        3rd party user to join a room.  Because we only allow joinging rooms on
        authentication we can return a token that will be used as the room name and
        will allow a lookup in the conversations table to find history.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Conversation
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Conversation'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/{id}.json:
    get:
      operationId: GET_v2_conversations_{id}.json
      tags:
        - Conversations
      summary: Get a single conversation by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- conversationmessages\n- customers\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_conversations_{id}.json
      tags:
        - Conversations
      summary: Update a conversation.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Conversation
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Conversation'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_conversations_{id}.json
      tags:
        - Conversations
      summary: Delete a conversation.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/{id}/convert.json:
    post:
      operationId: POST_v2_conversations_{id}_convert.json
      tags:
        - Conversations
      summary: Converts a conversation to a ticket
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
        - name: create.Message
          in: body
          required: true
          schema:
            $ref: '#/definitions/create.Message'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.Conversation'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/{id}/restore.json:
    patch:
      operationId: PATCH_v2_conversations_{id}_restore.json
      tags:
        - Conversations
      summary: Restore a deleted conversation by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/authorize.json:
    post:
      operationId: POST_v2_conversations_authorize.json
      tags:
        - Conversations
      summary: Get authorized on every requested conversation if it is active
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: v2.ConversationsAuthorizeReq
          in: body
          required: true
          schema:
            $ref: '#/definitions/v2.ConversationsAuthorizeReq'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.ConversationsAuthorizeRes'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/delete.json:
    delete:
      operationId: DELETE_v2_conversations_delete.json
      tags:
        - Conversations
      summary: Delete multiple conversations.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- deletedAt\n- id\n- state\n- ticket_id\n- token\n- updatedAt"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/reconnect.json:
    post:
      operationId: POST_v2_conversations_reconnect.json
      tags:
        - Conversations
      summary: Rejoin a conversation.  This often happens when the customer refreshes the
      description: page and needs to start back up
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Conversation
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Conversation'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/token.json:
    post:
      operationId: POST_v2_conversations_token.json
      tags:
        - Conversations
      summary: Generates a new token for a conversation
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Conversation
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Conversation'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/token/{token}.json:
    get:
      operationId: GET_v2_conversations_token_{token}.json
      tags:
        - Conversations
      summary: Get a single conversation by token.  This is a public endpoint that requires
      description: "a match on the installation and token\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- conversationmessages\n- customers\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: token
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ConversationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/conversations/update.json:
    patch:
      operationId: PATCH_v2_conversations_update.json
      tags:
        - Conversations
      summary: Update multiple conversations.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contactId\n- createdAt\n- deletedAt\n- id\n- state\n- ticket_id\n- token\n- updatedAt"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Conversation
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Conversation'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customerportals.json:
    get:
      operationId: GET_v2_customerportals.json
      tags:
        - CustomerPortals
      summary: Get all customerportals.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- bodyColor\n- bodyLinks\n- bodyText\n- button\n- buttonText\n- canCloseTicket\n- canEditTags\n- canSeeAgent\n- canSeeLastRead\n- canSeeTags\n- canSetPriority\n- canSetType\n- createdAt\n- createdBy\n- customDomain\n- customerWelcomeEmail\n- customerWelcomeSubject\n- deletedAt\n- deletedBy\n- enabled\n- header\n- headerLinks\n- icon\n- id\n- inboxFieldName\n- language\n- requireTicketAuth\n- search\n- searchText\n- sendCustomerWelcome\n- state\n- styleHelpDocsId\n- stylesheetURL\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  bodyColor\n-  bodyLinks\n-  bodyText\n-  button\n-  buttonText\n-  canCloseTicket\n-  canEditTags\n-  canSeeAgent\n-  canSeeLastRead\n-  canSeeTags\n-  canSetPriority\n-  canSetType\n-  createdAt\n-  createdBy\n-  customDomain\n-  customerWelcomeEmail\n-  customerWelcomeSubject\n-  deletedAt\n-  deletedBy\n-  enabled\n-  header\n-  headerLinks\n-  icon\n-  id\n-  inboxFieldName\n-  language\n-  requireTicketAuth\n-  search\n-  searchText\n-  sendCustomerWelcome\n-  state\n-  styleHelpDocsId\n-  stylesheetURL\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdocs\n- inboxes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerPortalsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_customerportals.json
      tags:
        - CustomerPortals
      summary: Create a new customerportal.  If the installation already has a portal
      description: |-
        created then this will exit with a bad request error.  Future versions will
        allow for multiple portals to be created for customer-specific branding.
      produces:
        - application/json
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CustomerPortalAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customerportals/{id}.json:
    get:
      operationId: GET_v2_customerportals_{id}.json
      tags:
        - CustomerPortals
      summary: Get a single customerportal by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdocs\n- inboxes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerPortalAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_customerportals_{id}.json
      tags:
        - CustomerPortals
      summary: Patch a customerportal by id.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerPortalAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_customerportals_{id}.json
      tags:
        - CustomerPortals
      summary: Delete a customerportal.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers.json:
    get:
      operationId: GET_v2_customers.json
      tags:
        - Customers
      summary: Get a paginated list of customers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addMethod\n- address\n- avatarURL\n- createdAt\n- createdBy\n- deletedAt\n- externalId\n- facebookURL\n- firstName\n- id\n- jobTitle\n- lastName\n- linkedinURL\n- mobile\n- organization\n- password\n- permission\n- phone\n- standing\n- state\n- trusted\n- twitterHandle\n- updatedAt\n- updatedBy\n- verifiedEmail\n- welcomeEmailSent\n\nThe following values are allowed in the orderBy query parameter:\n-  addMethod\n-  address\n-  avatarURL\n-  companies.name\n-  contacts.value\n-  createdAt\n-  createdBy\n-  deletedAt\n-  email\n-  externalId\n-  facebookURL\n-  firstName\n-  id\n-  jobTitle\n-  lastName\n-  linkedinURL\n-  mobile\n-  organization\n-  password\n-  permission\n-  phone\n-  standing\n-  state\n-  trusted\n-  twitterHandle\n-  updatedAt\n-  updatedBy\n-  verifiedEmail\n-  welcomeEmailSent\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- companies\n- contacts\n- customerwelcomeemails\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_customers.json
      tags:
        - Customers
      summary: Create a new customer.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomerAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers/{id}.json:
    get:
      operationId: GET_v2_customers_{id}.json
      tags:
        - Customers
      summary: Get a single customer by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- companies\n- contacts\n- customerwelcomeemails\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
    patch:
      operationId: PATCH_v2_customers_{id}.json
      tags:
        - Customers
      summary: Update a customer.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.  Customers can be added to a customer via the 'includes:
        customers' field.  Customers can be removed by speecifying 'delete: true' on
        the `customers: []` relationship.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomerAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_customers_{id}.json
      tags:
        - Customers
      summary: Delete a customer.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers/{id}/resendWelcome.json:
    post:
      operationId: POST_v2_customers_{id}_resendWelcome.json
      tags:
        - Customers
      summary: Resend the welcome email to customers.  This email is sent to customers on
      description: |-
        creation as long as the customer portal is enabled and the welcome email
        feature is turned on.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers/{id}/restore.json:
    patch:
      operationId: PATCH_v2_customers_{id}_restore.json
      tags:
        - Customers
      summary: Restore a deleted customer by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers/delete.json:
    delete:
      operationId: DELETE_v2_customers_delete.json
      tags:
        - Customers
      summary: Delete multiple customers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addMethod\n- address\n- avatarURL\n- createdAt\n- createdBy\n- deletedAt\n- externalId\n- facebookURL\n- firstName\n- id\n- jobTitle\n- lastName\n- linkedinURL\n- mobile\n- organization\n- password\n- permission\n- phone\n- standing\n- state\n- trusted\n- twitterHandle\n- updatedAt\n- updatedBy\n- verifiedEmail\n- welcomeEmailSent"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customers/update.json:
    patch:
      operationId: PATCH_v2_customers_update.json
      tags:
        - Customers
      summary: Update multiple customers.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addMethod\n- address\n- avatarURL\n- createdAt\n- createdBy\n- deletedAt\n- externalId\n- facebookURL\n- firstName\n- id\n- jobTitle\n- lastName\n- linkedinURL\n- mobile\n- organization\n- password\n- permission\n- phone\n- standing\n- state\n- trusted\n- twitterHandle\n- updatedAt\n- updatedBy\n- verifiedEmail\n- welcomeEmailSent"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Customer
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Customer'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfieldoptions.json:
    get:
      operationId: GET_v2_customfieldoptions.json
      tags:
        - CustomFieldOptions
      summary: Get a paginated list of customfieldoptions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customfield\n- deletedAt\n- deletedBy\n- displayOrder\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  customfield\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  id\n-  name\n-  state\n-  updatedAt\n-  updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldOptionsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_customfieldoptions.json
      tags:
        - CustomFieldOptions
      summary: Create a new customfieldsoption.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomFieldOption
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomFieldOption'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CustomFieldOptionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfieldoptions/{id}.json:
    get:
      operationId: GET_v2_customfieldoptions_{id}.json
      tags:
        - CustomFieldOptions
      summary: Get a single customfieldsoption by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldOptionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_customfieldoptions_{id}.json
      tags:
        - CustomFieldOptions
      summary: Update a customfieldsoption.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomFieldOption
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomFieldOption'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldOptionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_customfieldoptions_{id}.json
      tags:
        - CustomFieldOptions
      summary: Delete a customfieldsoption.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfieldoptions/delete.json:
    delete:
      operationId: DELETE_v2_customfieldoptions_delete.json
      tags:
        - CustomFieldOptions
      summary: Delete multiple customfieldoptions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customfield\n- deletedAt\n- deletedBy\n- displayOrder\n- id\n- name\n- state\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfieldoptions/update.json:
    patch:
      operationId: PATCH_v2_customfieldoptions_update.json
      tags:
        - CustomFieldOptions
      summary: Update multiple customfieldoptions.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customfield\n- deletedAt\n- deletedBy\n- displayOrder\n- id\n- name\n- state\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomFieldOption
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomFieldOption'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfields.json:
    get:
      operationId: GET_v2_customfields.json
      tags:
        - CustomFields
      summary: Get a paginated list of customfields.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- agentLabel\n- agentRequired\n- createdAt\n- createdBy\n- customerLabel\n- customerRequired\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- enabled\n- id\n- kind\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  addToNewInboxes\n-  agentLabel\n-  agentRequired\n-  createdAt\n-  createdBy\n-  customerLabel\n-  customerRequired\n-  deletedAt\n-  deletedBy\n-  description\n-  displayOrder\n-  enabled\n-  id\n-  inboxes.id\n-  kind\n-  state\n-  tickets.id\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customfieldapps\n- customfieldoptions\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_customfields.json
      tags:
        - CustomFields
      summary: Create a new customfield.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomFieldAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomFieldAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.CustomFieldAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/customfields/{id}.json:
    get:
      operationId: GET_v2_customfields_{id}.json
      tags:
        - CustomFields
      summary: Get a single customfield by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customfieldapps\n- customfieldoptions\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_customfields_{id}.json
      tags:
        - CustomFields
      summary: Update a customfield.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.CustomFieldAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.CustomFieldAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomFieldAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_customfields_{id}.json
      tags:
        - CustomFields
      summary: Delete a customfield.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/dependencies.json:
    get:
      operationId: GET_v2_dependencies.json
      tags:
        - Dependencies
      summary: 'Response 200: models.DependencyResponse'
      produces:
        - application/json
      responses:
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/dependencies/scheduledreplies.json:
    get:
      operationId: GET_v2_dependencies_scheduledreplies.json
      tags:
        - Dependencies
      summary: 'Response 200: models.ScheduledEmailsAPIBody'
      produces:
        - application/json
      responses:
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/dependencies/smartlabels.json:
    get:
      operationId: GET_v2_dependencies_smartlabels.json
      tags:
        - Dependencies
      summary: 'Response 200: models.SmartInboxesAPIBody'
      produces:
        - application/json
      responses:
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/dependencies/tickettemplates.json:
    get:
      operationId: GET_v2_dependencies_tickettemplates.json
      tags:
        - Dependencies
      summary: 'Response 200: models.TicketTemplatesAPIBody'
      produces:
        - application/json
      responses:
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/dependencies/triggers.json:
    get:
      operationId: GET_v2_dependencies_triggers.json
      tags:
        - Dependencies
      summary: 'Response 200: models.TriggersAPIBody'
      produces:
        - application/json
      responses:
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/devices.json:
    get:
      operationId: GET_v2_devices.json
      tags:
        - Devices
      summary: Get a paginated list of devices.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- app\n- createdAt\n- createdBy\n- id\n- lastRegisteredAt\n- platform\n- state\n- token\n- updatedAt\n- updatedBy\n- version\n\nThe following values are allowed in the orderBy query parameter:\n-  app\n-  createdAt\n-  createdBy\n-  id\n-  lastRegisteredAt\n-  platform\n-  platform\n-  registered\n-  state\n-  token\n-  updatedAt\n-  updatedBy\n-  version\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.DevicesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/devices/{id}.json:
    get:
      operationId: GET_v2_devices_{id}.json
      tags:
        - Devices
      summary: Get a single device by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.DeviceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/domains.json:
    get:
      operationId: GET_v2_domains.json
      tags:
        - Domains
      summary: Get a paginated list of domains.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- company\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- project\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  company\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  name\n-  name\n-  project\n-  state\n-  updatedAt\n-  updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.DomainsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/domains/{id}.json:
    get:
      operationId: GET_v2_domains_{id}.json
      tags:
        - Domains
      summary: Get a single device by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.DomainAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/exports.json:
    get:
      operationId: GET_v2_exports.json
      tags:
        - Exports
      summary: Get a paginated list of exports.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ExportsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_exports.json
      tags:
        - Exports
      summary: Create a new export.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: v2.CreateExportRequest
          in: body
          required: true
          schema:
            $ref: '#/definitions/v2.CreateExportRequest'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ExportAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/exports/{id}.json:
    get:
      operationId: GET_v2_exports_{id}.json
      tags:
        - Exports
      summary: Get a single export by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ExportAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/exports/download/{id}.zip:
    get:
      operationId: GET_v2_exports_download_{id}.zip
      tags:
        - Exports
      summary: Download the completed export. (redirects to S3)
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        301:
          description: 301 Moved Permanently (no data)
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/failedtriggers.json:
    get:
      operationId: GET_v2_failedtriggers.json
      tags:
        - FailedTriggers
      summary: Get a paginated list of failedtriggers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- isRead\n- message\n- state\n- ticket\n- trigger\n- triggersAction\n- updatedAt\n- updatedBy\n- users\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  isRead\n-  message\n-  state\n-  ticket\n-  trigger\n-  triggersAction\n-  updatedAt\n-  updatedBy\n-  users\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FailedTriggersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/failedtriggers/{id}.json:
    get:
      operationId: GET_v2_failedtriggers_{id}.json
      tags:
        - FailedTriggers
      summary: Get a single failedtrigger by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FailedTriggerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_failedtriggers_{id}.json
      tags:
        - FailedTriggers
      summary: Update a failedtrigger.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.FailedTrigger
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.FailedTrigger'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FailedTriggerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_failedtriggers_{id}.json
      tags:
        - FailedTriggers
      summary: Delete a failedtrigger.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/failedtriggers/delete.json:
    delete:
      operationId: DELETE_v2_failedtriggers_delete.json
      tags:
        - FailedTriggers
      summary: Delete multiple failedtriggers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- isRead\n- message\n- state\n- ticket\n- trigger\n- triggersAction\n- updatedAt\n- updatedBy\n- users"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/failedtriggers/update.json:
    patch:
      operationId: PATCH_v2_failedtriggers_update.json
      tags:
        - FailedTriggers
      summary: Update multiple failedtriggers.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- isRead\n- message\n- state\n- ticket\n- trigger\n- triggersAction\n- updatedAt\n- updatedBy\n- users"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.FailedTrigger
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.FailedTrigger'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/feedbacks.json:
    get:
      operationId: GET_v2_feedbacks.json
      tags:
        - Feedbacks
      summary: Get a paginated list of feedbacks.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- feature\n- id\n- metadata\n- objectId\n- positive\n- state\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  feature\n-  id\n-  metadata\n-  objectId\n-  positive\n-  state\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FeedbacksAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_feedbacks.json
      tags:
        - Feedbacks
      summary: Create a new feedback.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Feedback
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Feedback'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.FeedbackAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/feedbacks/{id}.json:
    get:
      operationId: GET_v2_feedbacks_{id}.json
      tags:
        - Feedbacks
      summary: Get a single feedback by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FeedbackAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_feedbacks_{id}.json
      tags:
        - Feedbacks
      summary: Update a feedback.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Feedback
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Feedback'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FeedbackAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_feedbacks_{id}.json
      tags:
        - Feedbacks
      summary: Delete a feedback.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/feedbacks/delete.json:
    delete:
      operationId: DELETE_v2_feedbacks_delete.json
      tags:
        - Feedbacks
      summary: Delete multiple feedbacks.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- feature\n- id\n- metadata\n- objectId\n- positive\n- state\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/feedbacks/update.json:
    patch:
      operationId: PATCH_v2_feedbacks_update.json
      tags:
        - Feedbacks
      summary: Update multiple feedbacks.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- feature\n- id\n- metadata\n- objectId\n- positive\n- state\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Feedback
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Feedback'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/fields.json:
    get:
      operationId: GET_v2_fields.json
      tags:
        - Fields
      summary: List filter fields for user.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FilterFieldsAPIBody'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    put:
      operationId: PUT_v2_fields.json
      tags:
        - Fields
      summary: Update filter fields for user.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.FilterField
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.FilterField'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.FilterFieldsAPIBody'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/files/{id}.json:
    patch:
      operationId: PATCH_v2_files_{id}.json
      tags:
        - File
      summary: Confirm that the file has been uploaded
      description: See /v2/files/ref.json
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.FileAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_files_{id}.json
      tags:
        - Files
      summary: Delete a file.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/files/ref.json:
    post:
      operationId: POST_v2_files_ref.json
      tags:
        - File
      description: |-
        # Uploading files to Desk is a 3-step process

        First, you need to create an authorization using /v2/files/ref.json
        It expects a full disclosure of what's intended to be uploaded

        Request:

        ```

        	{
        	    "type": "attachment",
        	    "filename": "the_file_name.jpeg",
        	    "mimeType": "image/jpeg",
        	    "disposition": "attachment"
        	}

        ```

        We will return an URL and a list of parameters that need to be sent along with
        the file

        Response:

        ```

        	{
        	   "url": "http://url/",
        	   "params": {
        	       "Content-Type": "image/jpeg",
        	       "bucket": "A_NAME",
        	       "key": "A_VALUE_FOR_LATER",
        	       "policy": "A_LONG_STRING",
        	       "success_action_status": "201",
        	       "x-amz-algorithm": "AWS4-HMAC-SHA256",
        	       "x-amz-credential": "A_VALUE",
        	       "x-amz-date": "ANOTHER_VALUE",
        	       "x-amz-signature": "ANOTHER_LONG_STRING"
        	   },
        	   "file": {
        	       "id": FILE_ID,
        	       "mimeType": "image/jpeg",
        	       "fileName": "the_file_name.jpeg",
        	       "size": 0,
        	       "disposition": "attachment",
        	       "type": "attachment",
        	       "createdAt": "2019-03-14T11:53:38.103518Z",
        	       "updatedAt": "2019-03-14T11:53:38.103518Z",
        	       "createdBy": {
        	           "id": 1,
        	           "type": "users"
        	       },
        	       "updatedBy": {
        	           "id": 1,
        	           "type": "users"
        	       },
        	       "state": "temp"
        	   }
        	}

        ```

        # Any tampering will cause the upload request to fail

        # Uploading the file with curl

        ```

        	curl -X POST \
        	  http://url/ \
        	  -H ': ' \
        	  -H 'cache-control: no-cache' \
        	  -F Content-Type=image/jpeg \
        	  -F key=A_VALUE_FOR_LATER \
        	  -F policy=A_LONG_STRING \
        	  -F success_action_status=201 \
        	  -F x-amz-algorithm=AWS4-HMAC-SHA256 \
        	  -F x-amz-credential=A_VALUE \
        	  -F x-amz-date=ANOTHER_VALUE \
        	  -F x-amz-signature=ANOTHER_LONG_STRING \
        	  -F file=@YOUR_FILE_PATH \
        	  -F bucket=A_NAME

        ```

        Response:

        ```
        <?xml version="1.0" encoding="UTF-8"?>
        <PostResponse>

        	<Bucket>A_NAME</Bucket>
        	<Key>A_VALUE_FOR_LATER</Key>
        	<ETag>SOME_STRING</ETag>
        	<Location>/A_NAME/A_VALUE_FOR_LATER</Location>

        </PostResponse>
        ```

        # Finally, you need to tell desk that the file has been uploaded

        PATCH /v2/files/{FILE_ID}.json

        ```
        Response:

        	{
        	    "file": {
        	        "id": FILE_ID,
        	        "mimeType": "image/jpeg",
        	        "fileName": "the_file_name.jpeg",
        	        "size": 14358,
        	        "disposition": "attachment",
        	        "type": "attachment",
        	        "URL": "",
        	        "createdAt": "2019-03-12T13:40:25.135843Z",
        	        "updatedAt": "2019-03-12T13:40:25.135843Z",
        	        "createdBy": {
        	            "id": 1,
        	            "type": "users"
        	        },
        	        "updatedBy": {
        	            "id": 1,
        	            "type": "users"
        	        },
        	        "state": "active"
        	    }
        	}

        ```
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.FileAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.FileAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/v2.fileRefResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/happiness/{ticketId}/{token}/inbox.json:
    get:
      operationId: GET_v2_happiness_{ticketId}_{token}_inbox.json
      tags:
        - HappinessRatings
      summary: Get inbox settings specific to the ticket being rated.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- happinessratingoptions\n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: token
          in: path
          type: integer
          required: true
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/happinessratingoptions.json:
    get:
      operationId: GET_v2_happinessratingoptions.json
      tags:
        - HappinessRatingOptions
      summary: Get a paginated list of happinessratingoptions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- annotation\n- color\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- score\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  annotation\n-  color\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  name\n-  score\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HappinessRatingOptionsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/happinessratingoptions/{id}.json:
    get:
      operationId: GET_v2_happinessratingoptions_{id}.json
      tags:
        - HappinessRatingOptions
      summary: Get a single happinessratingoption by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HappinessRatingOptionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/happinessratings.json:
    get:
      operationId: GET_v2_happinessratings.json
      tags:
        - HappinessRatings
      summary: Get a paginated list of happinessratings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- comment\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- deletedReason\n- happinessratingoption\n- id\n- state\n- ticket\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  comment\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  deletedReason\n-  happinessratingoption\n-  id\n-  state\n-  ticket\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- happinessratingoptions\n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HappinessRatingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/happinessratings/{id}.json:
    get:
      operationId: GET_v2_happinessratings_{id}.json
      tags:
        - HappinessRatings
      summary: Get a single happinessrating by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- happinessratingoptions\n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HappinessRatingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_happinessratings_{id}.json
      tags:
        - HappinessRatings
      summary: Delete a happinessrating.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocarticles/delete.json:
    delete:
      operationId: DELETE_v2_helpdocarticles_delete.json
      tags:
        - HelpdocArticles
      summary: Delete multiple helpdocarticles.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contents\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- disqusEnabled\n- editMethod\n- id\n- isPrivate\n- oldURL\n- popularity\n- siteId\n- slug\n- state\n- status\n- title\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocarticles/update.json:
    patch:
      operationId: PATCH_v2_helpdocarticles_update.json
      tags:
        - HelpdocArticles
      summary: Update multiple helpdocarticles.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contents\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- disqusEnabled\n- editMethod\n- id\n- isPrivate\n- oldURL\n- popularity\n- siteId\n- slug\n- state\n- status\n- title\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocArticle
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocArticle'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocarticleskeywords.json:
    get:
      operationId: GET_v2_helpdocarticleskeywords.json
      tags:
        - HelpdocArticlesKeywords
      summary: Get a paginated list of helpdocarticleskeywords.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- articleId\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- keyword\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  articleId\n-  articles.id\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  keyword\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeywordsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_helpdocarticleskeywords.json
      tags:
        - HelpdocArticlesKeywords
      summary: Create a new helpdocarticleskeyword.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocArticlesKeyword
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeyword'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeywordAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocarticleskeywords/{id}.json:
    get:
      operationId: GET_v2_helpdocarticleskeywords_{id}.json
      tags:
        - HelpdocArticlesKeywords
      summary: Get a single helpdocarticleskeyword by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeywordAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_helpdocarticleskeywords_{id}.json
      tags:
        - HelpdocArticlesKeywords
      summary: Update a helpdocarticleskeyword.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocArticlesKeyword
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeyword'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticlesKeywordAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_helpdocarticleskeywords_{id}.json
      tags:
        - HelpdocArticlesKeywords
      summary: Delete a helpdocarticleskeyword.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocscategories.json:
    get:
      operationId: GET_v2_helpdocscategories.json
      tags:
        - HelpdocsCategories
      summary: Get a paginated list of helpdocscategories.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- displayOnDocHomepage\n- displayOrder\n- helpDocsSites_id\n- id\n- name\n- oldURL\n- parent_id\n- slug\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  displayOnDocHomepage\n-  displayOrder\n-  helpDocsSites_id\n-  id\n-  name\n-  oldURL\n-  parent_id\n-  sites.id\n-  slug\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsCategoriesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_helpdocscategories.json
      tags:
        - HelpdocsCategories
      summary: Create a new helpdocscategory.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsCategoryAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsCategoryAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.HelpdocsCategoryAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocscategories/{id}.json:
    get:
      operationId: GET_v2_helpdocscategories_{id}.json
      tags:
        - HelpdocsCategories
      summary: Get a single helpdocscategory by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsCategoryAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_helpdocscategories_{id}.json
      tags:
        - HelpdocsCategories
      summary: Update a helpdocscategory.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsCategoryAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsCategoryAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsCategoryAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_helpdocscategories_{id}.json
      tags:
        - HelpdocsCategories
      summary: Delete a helpdocscategory.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssearches.json:
    get:
      operationId: GET_v2_helpdocssearches.json
      tags:
        - HelpdocsSearches
      summary: Get a paginated list of helpdocssearches.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- helpdocSiteId\n- id\n- query\n- results\n- sessionId\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  helpdocSiteId\n-  id\n-  query\n-  results\n-  sessionId\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSearchesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_helpdocssearches.json
      tags:
        - HelpdocsSearches
      summary: Create a new helpdocssearch.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSearch
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSearch'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.HelpdocsSearchAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssearches/{id}.json:
    get:
      operationId: GET_v2_helpdocssearches_{id}.json
      tags:
        - HelpdocsSearches
      summary: Get a single helpdocssearch by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSearchAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_helpdocssearches_{id}.json
      tags:
        - HelpdocsSearches
      summary: Update a helpdocssearch.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSearch
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSearch'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSearchAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_helpdocssearches_{id}.json
      tags:
        - HelpdocsSearches
      summary: Delete a helpdocssearch.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssearches/delete.json:
    delete:
      operationId: DELETE_v2_helpdocssearches_delete.json
      tags:
        - HelpdocsSearches
      summary: Delete multiple helpdocssearches.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- helpdocSiteId\n- id\n- query\n- results\n- sessionId"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssearches/update.json:
    patch:
      operationId: PATCH_v2_helpdocssearches_update.json
      tags:
        - HelpdocsSearches
      summary: Update multiple helpdocssearches.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- helpdocSiteId\n- id\n- query\n- results\n- sessionId"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSearch
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSearch'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites.json:
    get:
      operationId: GET_v2_helpdocssites.json
      tags:
        - HelpdocsSites
      summary: Get a paginated list of helpdocssites.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- articleTemplate\n- authenticationType\n- authenticationTypeId\n- categoryTemplate\n- contactFormEnabled\n- createdAt\n- createdBy\n- customDomain\n- customStyleSheet\n- description\n- disqusShortname\n- editMethod\n- favicon\n- footerTemplate\n- headTemplate\n- headerBGColor\n- homePageLinkEnabled\n- homePageLinkText\n- homePageURL\n- homeTemplate\n- htmlHeadCode\n- id\n- languageCode\n- linkColor\n- logoImage\n- metaSiteDescription\n- name\n- navActiveColor\n- navTextColor\n- pageBGColor\n- password\n- publicSiteEnabled\n- searchTemplate\n- sendEmailsToInboxId\n- showDateLastModified\n- showOnHomePage\n- showSocialIcons\n- state\n- subdomain\n- textColor\n- touchIcon\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  articleTemplate\n-  authenticationType\n-  authenticationTypeId\n-  categoryTemplate\n-  contactFormEnabled\n-  createdAt\n-  createdBy\n-  customDomain\n-  customStyleSheet\n-  description\n-  disqusShortname\n-  editMethod\n-  favicon\n-  footerTemplate\n-  headTemplate\n-  headerBGColor\n-  homePageLinkEnabled\n-  homePageLinkText\n-  homePageURL\n-  homeTemplate\n-  htmlHeadCode\n-  id\n-  languageCode\n-  linkColor\n-  logoImage\n-  metaSiteDescription\n-  name\n-  name\n-  navActiveColor\n-  navTextColor\n-  pageBGColor\n-  password\n-  publicSiteEnabled\n-  searchTemplate\n-  sendEmailsToInboxId\n-  showDateLastModified\n-  showOnHomePage\n-  showSocialIcons\n-  state\n-  subdomain\n-  subdomain\n-  textColor\n-  touchIcon\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdoctemplates\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSitesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_helpdocssites.json
      tags:
        - HelpdocsSites
      summary: Create a new helpdocssite.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSiteAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/{id}.json:
    get:
      operationId: GET_v2_helpdocssites_{id}.json
      tags:
        - HelpdocsSites
      summary: Get a single helpdocssite by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- helpdoctemplates\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_helpdocssites_{id}.json
      tags:
        - HelpdocsSites
      summary: Update a helpdocssite.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSiteAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_helpdocssites_{id}.json
      tags:
        - HelpdocsSites
      summary: Delete a helpdocssite.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/{id}/duplicate.json:
    post:
      operationId: POST_v2_helpdocssites_{id}_duplicate.json
      tags:
        - HelpdocsSites
      summary: Duplicate an existing helpdocssite by id.
      description: '# Duplicate an existing helpdocssite'
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSiteDuplicateReq
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSiteDuplicateReq'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocsSiteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/{siteId}/helpdocarticles.json:
    post:
      operationId: POST_v2_helpdocssites_{siteId}_helpdocarticles.json
      tags:
        - HelpdocArticles
      summary: Create a new helpdocarticle.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocArticleAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocArticleAPIBody'
        - name: siteId
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.HelpdocArticleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/{siteId}/helpdocarticles/{id}.json:
    get:
      operationId: GET_v2_helpdocssites_{siteId}_helpdocarticles_{id}.json
      tags:
        - HelpdocArticles
      summary: Get a single helpdocarticle by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- sites\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: siteId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_helpdocssites_{siteId}_helpdocarticles_{id}.json
      tags:
        - HelpdocArticles
      summary: Update a helpdocarticle.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocArticleAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocArticleAPIBody'
        - name: siteId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticleAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_helpdocssites_{siteId}_helpdocarticles_{id}.json
      tags:
        - HelpdocArticles
      summary: Delete a helpdocarticle.
      produces:
        - application/json
      parameters:
        - name: siteId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/delete.json:
    delete:
      operationId: DELETE_v2_helpdocssites_delete.json
      tags:
        - HelpdocsSites
      summary: Delete multiple helpdocssites.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- articleTemplate\n- authenticationType\n- authenticationTypeId\n- categoryTemplate\n- contactFormEnabled\n- createdAt\n- createdBy\n- customDomain\n- customStyleSheet\n- description\n- disqusShortname\n- editMethod\n- favicon\n- footerTemplate\n- headTemplate\n- headerBGColor\n- homePageLinkEnabled\n- homePageLinkText\n- homePageURL\n- homeTemplate\n- htmlHeadCode\n- id\n- languageCode\n- linkColor\n- logoImage\n- metaSiteDescription\n- name\n- navActiveColor\n- navTextColor\n- pageBGColor\n- password\n- publicSiteEnabled\n- searchTemplate\n- sendEmailsToInboxId\n- showDateLastModified\n- showOnHomePage\n- showSocialIcons\n- state\n- subdomain\n- textColor\n- touchIcon\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/helpdocarticles.json:
    get:
      operationId: GET_v2_helpdocssites_helpdocarticles.json
      tags:
        - HelpdocArticles
      summary: Get a paginated list of helpdocarticles.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- contents\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- disqusEnabled\n- editMethod\n- id\n- isPrivate\n- oldURL\n- popularity\n- siteId\n- slug\n- state\n- status\n- title\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  contents\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  displayOrder\n-  disqusEnabled\n-  editMethod\n-  id\n-  id\n-  isPrivate\n-  oldURL\n-  popularity\n-  siteId\n-  slug\n-  state\n-  status\n-  status\n-  title\n-  title\n-  updatedAt\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- sites\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocArticlesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdocssites/update.json:
    patch:
      operationId: PATCH_v2_helpdocssites_update.json
      tags:
        - HelpdocsSites
      summary: Update multiple helpdocssites.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- articleTemplate\n- authenticationType\n- authenticationTypeId\n- categoryTemplate\n- contactFormEnabled\n- createdAt\n- createdBy\n- customDomain\n- customStyleSheet\n- description\n- disqusShortname\n- editMethod\n- favicon\n- footerTemplate\n- headTemplate\n- headerBGColor\n- homePageLinkEnabled\n- homePageLinkText\n- homePageURL\n- homeTemplate\n- htmlHeadCode\n- id\n- languageCode\n- linkColor\n- logoImage\n- metaSiteDescription\n- name\n- navActiveColor\n- navTextColor\n- pageBGColor\n- password\n- publicSiteEnabled\n- searchTemplate\n- sendEmailsToInboxId\n- showDateLastModified\n- showOnHomePage\n- showSocialIcons\n- state\n- subdomain\n- textColor\n- touchIcon\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HelpdocsSite
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HelpdocsSite'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdoctemplates.json:
    get:
      operationId: GET_v2_helpdoctemplates.json
      tags:
        - HelpdocTemplates
      summary: Get a paginated list of helpdoctemplates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- code\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- previewUrl\n- state\n- thumbnail\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  code\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  name\n-  previewUrl\n-  state\n-  thumbnail\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocTemplatesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/helpdoctemplates/{id}.json:
    get:
      operationId: GET_v2_helpdoctemplates_{id}.json
      tags:
        - HelpdocTemplates
      summary: Get a single helpdoctemplate by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HelpdocTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxaifeatures.json:
    get:
      operationId: GET_v2_inboxaifeatures.json
      summary: Get all available Inbox AI Features
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxAIFeaturesResponseAPIBody'
  /v2/inboxaifeatures/settings.json:
    patch:
      operationId: PATCH_v2_inboxaifeatures_settings.json
      tags:
        - InboxAIFeatures
      summary: Create or update inboxaifeatures.
      description: |-
        Creates or updates (upserts) inboxaifeatures for one or more inboxes.
        Returns the updated inboxaifeatures for the affected inboxes.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InboxAIFeaturesRequestAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InboxAIFeaturesRequestAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxAIFeatures'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes.json:
    get:
      operationId: GET_v2_inboxes.json
      tags:
        - Inboxes
      summary: Get a paginated list of inboxes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoReplyEnabled\n- autoReplyFromUserId\n- autoReplyMessage\n- autoReplySubject\n- clientOnly\n- createdAt\n- createdBy\n- defaultTeamAgent\n- deletedAt\n- deletedBy\n- displayOrder\n- email\n- emailForwardingState\n- happinessRatingEnabled\n- happinessRatingMessage\n- iconImage\n- id\n- includeTicketHistoryOnForward\n- isAdmin\n- languageCode\n- localPart\n- name\n- notificationsOnly\n- onClosedLock\n- onClosedWait\n- publicIconImage\n- sendEmailsFrom\n- showTrends\n- signature\n- smtpPassword\n- smtpPort\n- smtpProvider\n- smtpSecurity\n- smtpServer\n- smtpUsername\n- spamThreshold\n- starred\n- state\n- syncAccountId\n- syncDays\n- syncSubscriptionId\n- synced\n- ticketstatus\n- timeloggingEnabled\n- timeloggingProjectId\n- type\n- updatedAt\n- updatedBy\n- useTeamworkMailServer\n- user\n- usingOfficeHours\n\nThe following values are allowed in the orderBy query parameter:\n-  autoReplyEnabled\n-  autoReplyFromUserId\n-  autoReplyMessage\n-  autoReplySubject\n-  clientOnly\n-  createdAt\n-  createdBy\n-  defaultTeamAgent\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  email\n-  emailForwardingState\n-  happinessRatingEnabled\n-  happinessRatingMessage\n-  iconImage\n-  id\n-  includeTicketHistoryOnForward\n-  isAdmin\n-  languageCode\n-  localPart\n-  name\n-  notificationsOnly\n-  onClosedLock\n-  onClosedWait\n-  publicIconImage\n-  sendEmailsFrom\n-  showTrends\n-  signature\n-  smtpPassword\n-  smtpPort\n-  smtpProvider\n-  smtpSecurity\n-  smtpServer\n-  smtpUsername\n-  spamThreshold\n-  starred\n-  state\n-  syncAccountId\n-  syncDays\n-  syncSubscriptionId\n-  synced\n-  ticketstatus\n-  timeloggingEnabled\n-  timeloggingProjectId\n-  type\n-  updatedAt\n-  updatedBy\n-  useTeamworkMailServer\n-  user\n-  usingOfficeHours\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxaliases\n- inboxcnames\n- inboxemailrefs\n- inboxprojects\n- inboxtimetrackings\n- oauth2tokens\n- restricteddomains\n- ticketstatuses\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_inboxes.json
      tags:
        - Inboxes
      summary: Create a new inbox.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Inbox
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Inbox'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.InboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/{id}.json:
    get:
      operationId: GET_v2_inboxes_{id}.json
      tags:
        - Inboxes
      summary: Get a single inbox by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxaliases\n- inboxcnames\n- inboxemailrefs\n- inboxprojects\n- inboxtimetrackings\n- oauth2tokens\n- restricteddomains\n- ticketstatuses\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_inboxes_{id}.json
      tags:
        - Inboxes
      summary: Update a inbox.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InboxAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InboxAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_inboxes_{id}.json
      tags:
        - Inboxes
      summary: Delete an inbox.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/{id}/aifeatures.json:
    delete:
      operationId: DELETE_v2_inboxes_{id}_aifeatures.json
      tags:
        - InboxAIFeatures
      summary: Delete all inboxaifeatures for an inbox.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/{id}/gmail/login.json:
    get:
      operationId: GET_v2_inboxes_{id}_gmail_login.json
      tags:
        - Inboxes
      summary: Login to Gmail for an inbox. This will create the payload for the Gmail login endpoint
      description: and redirect the user to it with the payload encoded in the URL.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        302:
          description: 302 Found (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/{id}/o365_login.json:
    get:
      operationId: GET_v2_inboxes_{id}_o365_login.json
      tags:
        - Inboxes
      summary: Login to O365 for an inbox. This will create the payload for the O365 login endpoint
      description: and redirect the user to it with the payload encoded in the URL.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        302:
          description: 302 Found (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/{id}/status.json:
    get:
      operationId: GET_v2_inboxes_{id}_status.json
      tags:
        - Inboxes
      summary: Returns the sync status of the inbox.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/yoxel.Account'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/counts.json:
    get:
      operationId: GET_v2_inboxes_counts.json
      tags:
        - Inboxes
      summary: Get a paginated list of inboxes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoReplyEnabled\n- autoReplyFromUserId\n- autoReplyMessage\n- autoReplySubject\n- clientOnly\n- createdAt\n- createdBy\n- defaultTeamAgent\n- deletedAt\n- deletedBy\n- displayOrder\n- email\n- emailForwardingState\n- happinessRatingEnabled\n- happinessRatingMessage\n- iconImage\n- id\n- includeTicketHistoryOnForward\n- isAdmin\n- languageCode\n- localPart\n- name\n- notificationsOnly\n- onClosedLock\n- onClosedWait\n- publicIconImage\n- sendEmailsFrom\n- showTrends\n- signature\n- smtpPassword\n- smtpPort\n- smtpProvider\n- smtpSecurity\n- smtpServer\n- smtpUsername\n- spamThreshold\n- starred\n- state\n- syncAccountId\n- syncDays\n- syncSubscriptionId\n- synced\n- ticketstatus\n- timeloggingEnabled\n- timeloggingProjectId\n- type\n- updatedAt\n- updatedBy\n- useTeamworkMailServer\n- user\n- usingOfficeHours\n\nThe following values are allowed in the orderBy query parameter:\n-  autoReplyEnabled\n-  autoReplyFromUserId\n-  autoReplyMessage\n-  autoReplySubject\n-  clientOnly\n-  createdAt\n-  createdBy\n-  defaultTeamAgent\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  email\n-  emailForwardingState\n-  happinessRatingEnabled\n-  happinessRatingMessage\n-  iconImage\n-  id\n-  includeTicketHistoryOnForward\n-  isAdmin\n-  languageCode\n-  localPart\n-  name\n-  notificationsOnly\n-  onClosedLock\n-  onClosedWait\n-  publicIconImage\n-  sendEmailsFrom\n-  showTrends\n-  signature\n-  smtpPassword\n-  smtpPort\n-  smtpProvider\n-  smtpSecurity\n-  smtpServer\n-  smtpUsername\n-  spamThreshold\n-  starred\n-  state\n-  syncAccountId\n-  syncDays\n-  syncSubscriptionId\n-  synced\n-  ticketstatus\n-  timeloggingEnabled\n-  timeloggingProjectId\n-  type\n-  updatedAt\n-  updatedBy\n-  useTeamworkMailServer\n-  user\n-  usingOfficeHours\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxaliases\n- inboxcnames\n- inboxemailrefs\n- inboxprojects\n- inboxtimetrackings\n- oauth2tokens\n- restricteddomains\n- ticketstatuses\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketCounts'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/delete.json:
    delete:
      operationId: DELETE_v2_inboxes_delete.json
      tags:
        - Inboxes
      summary: Delete multiple inboxes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoReplyEnabled\n- autoReplyFromUserId\n- autoReplyMessage\n- autoReplySubject\n- clientOnly\n- createdAt\n- createdBy\n- defaultTeamAgent\n- deletedAt\n- deletedBy\n- displayOrder\n- email\n- emailForwardingState\n- happinessRatingEnabled\n- happinessRatingMessage\n- iconImage\n- id\n- includeTicketHistoryOnForward\n- isAdmin\n- languageCode\n- localPart\n- name\n- notificationsOnly\n- onClosedLock\n- onClosedWait\n- publicIconImage\n- sendEmailsFrom\n- showTrends\n- signature\n- smtpPassword\n- smtpPort\n- smtpProvider\n- smtpSecurity\n- smtpServer\n- smtpUsername\n- spamThreshold\n- starred\n- state\n- syncAccountId\n- syncDays\n- syncSubscriptionId\n- synced\n- ticketstatus\n- timeloggingEnabled\n- timeloggingProjectId\n- type\n- updatedAt\n- updatedBy\n- useTeamworkMailServer\n- user\n- usingOfficeHours"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxes/update.json:
    patch:
      operationId: PATCH_v2_inboxes_update.json
      tags:
        - Inboxes
      summary: Update multiple inboxes.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoReplyEnabled\n- autoReplyFromUserId\n- autoReplyMessage\n- autoReplySubject\n- clientOnly\n- createdAt\n- createdBy\n- defaultTeamAgent\n- deletedAt\n- deletedBy\n- displayOrder\n- email\n- emailForwardingState\n- happinessRatingEnabled\n- happinessRatingMessage\n- iconImage\n- id\n- includeTicketHistoryOnForward\n- isAdmin\n- languageCode\n- localPart\n- name\n- notificationsOnly\n- onClosedLock\n- onClosedWait\n- publicIconImage\n- sendEmailsFrom\n- showTrends\n- signature\n- smtpPassword\n- smtpPort\n- smtpProvider\n- smtpSecurity\n- smtpServer\n- smtpUsername\n- spamThreshold\n- starred\n- state\n- syncAccountId\n- syncDays\n- syncSubscriptionId\n- synced\n- ticketstatus\n- timeloggingEnabled\n- timeloggingProjectId\n- type\n- updatedAt\n- updatedBy\n- useTeamworkMailServer\n- user\n- usingOfficeHours"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Inbox
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Inbox'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxtimetrackings.json:
    get:
      operationId: GET_v2_inboxtimetrackings.json
      tags:
        - InboxTimeTrackings
      summary: Get a paginated list of inboxtimetrackings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAgentEditTrackedTime\n- allowAgentSeeTrackedTime\n- automaticTimeTracking\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- inbox\n- project\n- state\n- task\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  allowAgentEditTrackedTime\n-  allowAgentSeeTrackedTime\n-  automaticTimeTracking\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  inbox\n-  project\n-  state\n-  task\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxTimeTrackingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_inboxtimetrackings.json
      tags:
        - InboxTimeTrackings
      summary: Create a new inboxtimetracking.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InboxTimeTracking
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InboxTimeTracking'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.InboxTimeTrackingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxtimetrackings/{id}.json:
    get:
      operationId: GET_v2_inboxtimetrackings_{id}.json
      tags:
        - InboxTimeTrackings
      summary: Get a single inboxtimetracking by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxTimeTrackingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_inboxtimetrackings_{id}.json
      tags:
        - InboxTimeTrackings
      summary: Update a inboxtimetracking.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InboxTimeTracking
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InboxTimeTracking'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InboxTimeTrackingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_inboxtimetrackings_{id}.json
      tags:
        - InboxTimeTrackings
      summary: Delete a inboxtimetracking.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxtimetrackings/delete.json:
    delete:
      operationId: DELETE_v2_inboxtimetrackings_delete.json
      tags:
        - InboxTimeTrackings
      summary: Delete multiple inboxtimetrackings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAgentEditTrackedTime\n- allowAgentSeeTrackedTime\n- automaticTimeTracking\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- inbox\n- project\n- state\n- task\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/inboxtimetrackings/update.json:
    patch:
      operationId: PATCH_v2_inboxtimetrackings_update.json
      tags:
        - InboxTimeTrackings
      summary: Update multiple inboxtimetrackings.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAgentEditTrackedTime\n- allowAgentSeeTrackedTime\n- automaticTimeTracking\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- inbox\n- project\n- state\n- task\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InboxTimeTracking
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InboxTimeTracking'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations.json:
    get:
      operationId: GET_v2_installations.json
      tags:
        - Installations
      summary: Get the installation of the requesting user.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InstallationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_installations.json
      tags:
        - Installations
      summary: Update a installation.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.

        In particular, to change the owner of the app (installation), use body:
        { "installation": { "appOwner": { "id": <user_id> } } }
        Only the current owner can choose a new one.
        Only a user with admin role can be chosen to be the new owner.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.InstallationAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.InstallationAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.InstallationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations/:installationId/tickets/{id}/recover.json:
    post:
      operationId: POST_v2_installations_:installationId_tickets_{id}_recover.json
      tags:
        - Tickets
      summary: Recovers a ticket from ElasticSearch
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations/domains.json:
    get:
      operationId: GET_v2_installations_domains.json
      tags:
        - Domains
      summary: Get the list of supported teamwork domains for the current host.
      description: Examples include teamwork.com for US hosting and eu.teamwork.com for EU hosting.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.domainsResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations/pmsync.json:
    post:
      operationId: POST_v2_installations_pmsync.json
      tags:
        - Installations
      summary: Trigger a background Sync between Projects and Desk.
      description: |-
        Trigger a sync operation between Teamwork Projects and Desk for the installation.

        You do not need to pass any properties in the body of this request.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations/quota.json:
    get:
      operationId: GET_v2_installations_quota.json
      tags:
        - Installations
      summary: Get the LLM quota status for the installation.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.LLMQuotaResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/installations/requesttrial.json:
    post:
      operationId: POST_v2_installations_requesttrial.json
      tags:
        - Installations
      summary: Request a trial for the installation.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.FeatureRequest
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.FeatureRequest'
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/me.json:
    get:
      operationId: GET_v2_me.json
      tags:
        - Users
      summary: Get the currently logged in user.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- permissionusers\n- trainingwheelsenrollments\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/notifications.json:
    get:
      operationId: GET_v2_notifications.json
      tags:
        - Notifications
      summary: Get a paginated list of notifications.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- conversation\n- conversationCustomerContact\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- deliveryFailureReason\n- deliveryStatus\n- event\n- eventState\n- failures\n- id\n- kind\n- kinds\n- notificationsla\n- openFailureReason\n- openStatus\n- pinned\n- read\n- state\n- thread\n- threadCustomerCreator\n- threadUserCreator\n- ticket\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  conversation\n-  conversationCustomerContact\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  deliveryFailureReason\n-  deliveryStatus\n-  event\n-  eventState\n-  eventType\n-  failures\n-  id\n-  isRead\n-  kind\n-  kind\n-  kinds\n-  notificationsla\n-  openFailureReason\n-  openStatus\n-  pinned\n-  read\n-  replyToken\n-  state\n-  thread\n-  threadCustomerCreator\n-  threadUserCreator\n-  threads.id\n-  ticket\n-  tickets.id\n-  tickets.state\n-  updatedAt\n-  updatedBy\n-  user\n-  users.id\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- customers\n- notificationsslas\n- ticketreviews\n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.NotificationsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/notifications/{id}.json:
    get:
      operationId: GET_v2_notifications_{id}.json
      tags:
        - Notifications
      summary: Get a single notification by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- customers\n- notificationsslas\n- ticketreviews\n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.NotificationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    put:
      operationId: PUT_v2_notifications_{id}.json
      tags:
        - Notifications
      summary: Update a Notification. If the notification is being marked as read then all
      description: other notifications belonging to this ticket will also be marked as read.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Notification
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Notification'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.NotificationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/notifications/{id}/resend.json:
    post:
      operationId: POST_v2_notifications_{id}_resend.json
      tags:
        - Notifications
      summary: Resend a notification.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/notifications/read.json:
    post:
      operationId: POST_v2_notifications_read.json
      tags:
        - Notifications
      summary: Marks all notifications as read
      produces:
        - application/json
      responses:
        200:
          description: 200 OK (no data)
  /v2/notifications/types.json:
    get:
      operationId: GET_v2_notifications_types.json
      tags:
        - Notifications
      summary: Returns a list of all NotificationTypes.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.typesResponse'
  /v2/notifications/unreadcount.json:
    get:
      operationId: GET_v2_notifications_unreadcount.json
      tags:
        - Notifications
      summary: Returns a number of unread notifications.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.unreadCountResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings.json:
    get:
      operationId: GET_v2_onboardings.json
      tags:
        - Onboardings
      summary: Get a paginated list of onboardings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.OnboardingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_onboardings.json
      tags:
        - Onboardings
      summary: Create a new onboarding.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Onboarding
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Onboarding'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.OnboardingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings/{id}.json:
    get:
      operationId: GET_v2_onboardings_{id}.json
      tags:
        - Onboardings
      summary: Get a single onboarding by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.OnboardingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_onboardings_{id}.json
      tags:
        - Onboardings
      summary: Update a onboarding.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Onboarding
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Onboarding'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.OnboardingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_onboardings_{id}.json
      tags:
        - Onboardings
      summary: Delete a onboarding.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings/{id}/complete.json:
    put:
      operationId: PUT_v2_onboardings_{id}_complete.json
      tags:
        - Onboardings
      summary: Mark a single onboarding item as complete for the current user.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.OnboardingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings/complete-all.json:
    put:
      operationId: PUT_v2_onboardings_complete-all.json
      tags:
        - Onboardings
      summary: Mark all onboarding items as complete for the current user.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.OnboardingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings/delete.json:
    delete:
      operationId: DELETE_v2_onboardings_delete.json
      tags:
        - Onboardings
      summary: Delete multiple onboardings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- state\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/onboardings/update.json:
    patch:
      operationId: PATCH_v2_onboardings_update.json
      tags:
        - Onboardings
      summary: Update multiple onboardings.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- state\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Onboarding
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Onboarding'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissions.json:
    get:
      operationId: GET_v2_permissions.json
      tags:
        - Permissions
      summary: Get a paginated list of permissions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PermissionsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissions/{id}.json:
    get:
      operationId: GET_v2_permissions_{id}.json
      tags:
        - Permissions
      summary: Get a single permission by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PermissionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissionusers.json:
    get:
      operationId: GET_v2_permissionusers.json
      tags:
        - PermissionUsers
      summary: Get a paginated list of permissionusers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- permission\n- permissions_id\n- user\n- users_id\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  id\n-  permission\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- permissions\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PermissionUsersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_permissionusers.json
      tags:
        - PermissionUsers
      summary: Create a new permissionuser.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.PermissionUser
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.PermissionUser'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.PermissionUserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissionusers/{id}.json:
    get:
      operationId: GET_v2_permissionusers_{id}.json
      tags:
        - PermissionUsers
      summary: Get a single permissionuser by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- permissions\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PermissionUserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_permissionusers_{id}.json
      tags:
        - PermissionUsers
      summary: Update a permissionuser.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.PermissionUser
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.PermissionUser'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PermissionUserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_permissionusers_{id}.json
      tags:
        - PermissionUsers
      summary: Delete a permissionuser.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissionusers/delete.json:
    delete:
      operationId: DELETE_v2_permissionusers_delete.json
      tags:
        - PermissionUsers
      summary: Delete multiple permissionusers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- permission\n- permissions_id\n- user\n- users_id"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/permissionusers/update.json:
    patch:
      operationId: PATCH_v2_permissionusers_update.json
      tags:
        - PermissionUsers
      summary: Update multiple permissionusers.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- permission\n- permissions_id\n- user\n- users_id"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.PermissionUser
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.PermissionUser'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/pinnednotes.json:
    get:
      operationId: GET_v2_pinnednotes.json
      tags:
        - PinnedNotes
      summary: Get a paginated list of pinnednotes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- messages\n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PinnedNotesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/pinnednotes/{id}.json:
    get:
      operationId: GET_v2_pinnednotes_{id}.json
      tags:
        - PinnedNotes
      summary: Get a single pinnednote by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- messages\n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PinnedNoteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_pinnednotes_{id}.json
      tags:
        - PinnedNotes
      summary: Update a pinnednote.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.PinnedNote
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.PinnedNote'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.PinnedNoteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reactions.json:
    get:
      operationId: GET_v2_reactions.json
      tags:
        - Reactions
      summary: Get a paginated list of reactions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- id\n- shortCode\n- unicode\n\nThe following values are allowed in the orderBy query parameter:\n-  id\n-  shortCode\n-  unicode"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReactionsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reactions/{id}.json:
    get:
      operationId: GET_v2_reactions_{id}.json
      tags:
        - Reactions
      summary: Get a single reaction by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReactionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reportexports.json:
    get:
      operationId: GET_v2_reportexports.json
      tags:
        - ReportExports
      summary: Get a paginated list of reportexports.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- key\n- state\n- type\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  key\n-  state\n-  type\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReportExportsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reportexports/{id}.json:
    get:
      operationId: GET_v2_reportexports_{id}.json
      tags:
        - ReportExports
      summary: Get a single reportexport by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReportExportAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_reportexports_{id}.json
      tags:
        - ReportExports
      summary: Delete a reportexport.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reportexports/{id}/download.json:
    get:
      operationId: GET_v2_reportexports_{id}_download.json
      tags:
        - ReportExports
      summary: Download the generated report export
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReportExportAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/reportexports/delete.json:
    delete:
      operationId: DELETE_v2_reportexports_delete.json
      tags:
        - ReportExports
      summary: Delete multiple reportexports.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- key\n- state\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/restricteddomains.json:
    get:
      operationId: GET_v2_restricteddomains.json
      tags:
        - RestrictedDomains
      summary: Get a paginated list of restricteddomains.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- domain\n- id\n- inbox\n- inboxes.id\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  domain\n-  id\n-  inbox\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.RestrictedDomainsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_restricteddomains.json
      tags:
        - RestrictedDomains
      summary: Create a new restricteddomain.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.RestrictedDomain
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.RestrictedDomain'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.RestrictedDomainAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/restricteddomains/{id}.json:
    get:
      operationId: GET_v2_restricteddomains_{id}.json
      tags:
        - RestrictedDomains
      summary: Get a single restricteddomain by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.RestrictedDomainAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_restricteddomains_{id}.json
      tags:
        - RestrictedDomains
      summary: Update a restricteddomain.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.RestrictedDomain
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.RestrictedDomain'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.RestrictedDomainAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_restricteddomains_{id}.json
      tags:
        - RestrictedDomains
      summary: Delete a restricteddomain.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/restricteddomains/delete.json:
    delete:
      operationId: DELETE_v2_restricteddomains_delete.json
      tags:
        - RestrictedDomains
      summary: Delete multiple restricteddomains.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- domain\n- id\n- inbox\n- inboxes.id\n- state\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/restricteddomains/update.json:
    patch:
      operationId: PATCH_v2_restricteddomains_update.json
      tags:
        - RestrictedDomains
      summary: Update multiple restricteddomains.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- domain\n- id\n- inbox\n- inboxes.id\n- state\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.RestrictedDomain
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.RestrictedDomain'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/scheduledemails.json:
    get:
      operationId: GET_v2_scheduledemails.json
      tags:
        - ScheduledEmails
      summary: Get a paginated list of scheduledemails.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- note\n- sendAt\n- state\n- status\n- ticket\n- timezone\n- title\n- updatedAt\n- updatedBy\n- zone\n\n\tThe following values are allowed in the orderBy query parameter:\n-  body\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  message\n-  note\n-  sendAt\n-  state\n-  status\n-  ticket\n-  timezone\n-  title\n-  updatedAt\n-  updatedBy\n-  zone\n\n\t\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- files\n- scheduledemailsrefs\n- timezones\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ScheduledEmailsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_scheduledemails.json
      tags:
        - ScheduledEmails
      summary: Create a new scheduledemail.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ScheduledEmailAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/scheduledemails/{id}.json:
    get:
      operationId: GET_v2_scheduledemails_{id}.json
      tags:
        - ScheduledEmails
      summary: Get a single scheduledemail by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- files\n- scheduledemailsrefs\n- timezones\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_scheduledemails_{id}.json
      tags:
        - ScheduledEmails
      summary: Update a scheduledemail.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ScheduledEmailAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_scheduledemails_{id}.json
      tags:
        - ScheduledEmails
      summary: Delete a scheduledemail.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/scheduledemails/delete.json:
    delete:
      operationId: DELETE_v2_scheduledemails_delete.json
      tags:
        - ScheduledEmails
      summary: Delete multiple scheduledemails.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- note\n- sendAt\n- state\n- status\n- ticket\n- timezone\n- title\n- updatedAt\n- updatedBy\n- zone"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/scheduledemails/update.json:
    patch:
      operationId: PATCH_v2_scheduledemails_update.json
      tags:
        - ScheduledEmails
      summary: Update multiple scheduledemails.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- message\n- note\n- sendAt\n- state\n- status\n- ticket\n- timezone\n- title\n- updatedAt\n- updatedBy\n- zone"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ScheduledEmailAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ScheduledEmailAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/search/customers.json:
    get:
      operationId: GET_v2_search_customers.json
      tags:
        - Customers
      summary: Search for customers
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- companies\n- contacts\n- customerwelcomeemails\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: updatedBefore
          in: query
          type: string
          format: date-time
        - name: updatedAfter
          in: query
          type: string
          format: date-time
        - name: searchAfter
          in: query
          type: string
        - name: search
          in: query
          type: string
        - name: orderMode
          in: query
          type: string
        - name: orderBy
          in: query
          type: string
        - name: domain
          in: query
          type: string
        - name: createdBefore
          in: query
          type: string
          format: date-time
        - name: createdAfter
          in: query
          type: string
          format: date-time
        - name: addMethod
          in: query
          type: string
        - name: searchAfterID
          in: query
          type: integer
        - name: pageSize
          in: query
          type: integer
        - name: page
          in: query
          type: integer
        - name: excludeDomainMatchedCustomers
          in: query
          type: boolean
        - name: tagIds[]
          in: query
          type: array
          items:
            type: integer
        - name: standing
          in: query
          description: |-
            Standing is a value that indicate the customer reputation. valid values are: `new`, `good`, or `bad`
            For search purposes, `neworgood` matches either `good` or `new`
          type: array
          items:
            type: string
        - name: excludeCompanies[]
          in: query
          type: array
          items:
            type: integer
        - name: companies[]
          in: query
          type: array
          items:
            type: integer
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.CustomersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/search/filters/{collection}.json:
    get:
      operationId: GET_v2_search_filters_{collection}.json
      tags:
        - SearchFilters
      summary: Get a paginated list of search filters.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- collection\n- conditions\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- isShared\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  collection\n-  collection\n-  conditions\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  isShared\n-  name\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SearchFiltersAPIBody'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_search_filters_{collection}.json
      tags:
        - SearchFilters
      summary: Create a new search filter.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SearchFilter
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SearchFilter'
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SearchFilter'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/search/filters/{collection}/{id}.json:
    get:
      operationId: GET_v2_search_filters_{collection}_{id}.json
      tags:
        - SearchFilters
      summary: Get a single search filter by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SearchFilterAPIBody'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_search_filters_{collection}_{id}.json
      tags:
        - SearchFilters
      summary: Update a search filter.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SearchFilter
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SearchFilter'
        - name: id
          in: path
          type: integer
          required: true
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SearchFilterAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_search_filters_{collection}_{id}.json
      tags:
        - SearchFilters
      summary: Delete a search filter.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/search/filters/{collection}/share.json:
    post:
      operationId: POST_v2_search_filters_{collection}_share.json
      tags:
        - SearchFilters
      summary: Share a searchfilter with one or more users
      produces:
        - application/json
      parameters:
        - name: collection
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SearchFilterShareResponse'
        304:
          description: 304 Not Modified (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/search/tickets.json:
    get:
      operationId: GET_v2_search_tickets.json
      tags:
        - Tickets
      summary: Search for tickets
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- agentsnotified\n- businesshours\n- companies\n- companycustomers\n- contacts\n- customers\n- customerticketsreads\n- customfieldoptions\n- customfields\n- files\n- happinessratingoptions\n- happinessratings\n- inboxes\n- jobstatuses\n- likes\n- messages\n- notifications\n- pinnednotes\n- reactions\n- reviewcomments\n- scheduledemails\n- sentiments\n- slas\n- slathreads\n- slatickets\n- tags\n- tasktickets\n- threademailrefs\n- threadreactions\n- threadsummaries\n- ticketactivities\n- ticketpriorities\n- ticketreviews\n- tickets\n- ticketsources\n- ticketstatuses\n- ticketsummaries\n- tickettypes\n- timelogs\n- trends\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: updatedAtTo
          in: query
          description: UpdatedAtTo is the end date to match ticket's updatedAt value
          type: string
          format: date-time
        - name: updatedAtFrom
          in: query
          description: UpdatedAtFrom is the starting date to match ticket's updatedAt value
          type: string
          format: date-time
        - name: timeRange
          in: query
          type: string
        - name: search
          in: query
          description: |-
            Search is a search string to filter by (searches subject, body, customer
            name, and email)
          type: string
        - name: orderMode
          in: query
          description: Order in either ascending or descending
          type: string
          enum:
            - asc
            - desc
          default: asc
        - name: orderBy
          in: query
          description: |-
            A comma separated list of field names to order by. A list of orderable fields
            is included in the endpoint description
          type: string
        - name: lastUpdated
          in: query
          type: string
        - name: ticket
          in: query
          description: |-
            TicketID allows you to specify a specific ticket ID to get
            it will only return one ticket or none
          type: integer
        - name: task
          in: query
          description: TaskID is a task ID to filter by
          type: integer
        - name: project
          in: query
          description: |-
            ProjectID is a project ID to filter by. This can be linked to a task or
            the inboxes_projects table.
          type: integer
        - name: onlyWithAttachment
          in: query
          description: OnlyWithAttachment filters tickets to only those with attachments
          type: boolean
        - name: onlyUntagged
          in: query
          type: boolean
        - name: omitMerged
          in: query
          description: OmitMerged filters out merged tickets
          type: boolean
        - name: includeArchivedAgents
          in: query
          type: boolean
        - name: excludeWorkEmails
          in: query
          type: boolean
        - name: exact
          in: query
          type: boolean
        - name: types
          in: query
          description: Types to filter by. If empty, all types are included.
          type: array
          items:
            type: integer
        - name: twCompanyIds
          in: query
          description: TWCompanyIDs is a list of Teamwork company IDs to filter by
          type: array
          items:
            type: integer
        - name: teams
          in: query
          description: Teams is a list of team IDs to filter by
          type: array
          items:
            type: integer
        - name: taskStatuses
          in: query
          description: TaskStatuses is a list of task statuses to filter by
          type: array
          items:
            type: string
            enum:
              - active
              - complete
        - name: tags
          in: query
          description: Tags to filter by. If empty, all tags are included.
          type: array
          items:
            type: integer
        - name: subjectKeywords
          in: query
          type: array
          items:
            type: string
        - name: statuses
          in: query
          description: Statuses to filter by. If empty, all statuses are included.
          type: array
          items:
            type: integer
        - name: sources
          in: query
          description: Sources to filter by. If empty, all sources are included.
          type: array
          items:
            type: integer
        - name: priorities
          in: query
          description: Priorities to filter by. If empty, all priorities are included.
          type: array
          items:
            type: integer
        - name: inboxes
          in: query
          description: Inboxes to filter by. If empty, all inboxes are included.
          type: array
          items:
            type: integer
        - name: helpdocSites
          in: query
          description: HelpdocSites is a list of helpdoc site IDs to filter by
          type: array
          items:
            type: integer
        - name: excludeTags
          in: query
          description: ExcludeTags to filter out tags. If empty, no tags are excluded.
          type: array
          items:
            type: integer
        - name: excludeInboxes
          in: query
          description: ExcludeInboxes to filter out inboxes. If empty, no inboxes are excluded.
          type: array
          items:
            type: integer
        - name: customfields
          in: query
          type: array
          items:
            type: string
        - name: customers
          in: query
          description: Customers is a list of customer IDs to filter by
          type: array
          items:
            type: integer
        - name: companies
          in: query
          description: Companies to filter by. If empty, all companies are included.
          type: array
          items:
            type: integer
        - name: agents
          in: query
          description: Agents to filter by. If empty, all agents are included.
          type: array
          items:
            type: integer
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/sentiments.json:
    get:
      operationId: GET_v2_sentiments.json
      tags:
        - Sentiments
      summary: Get a paginated list of sentiments.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- override\n- sentiment\n- sentiment_score\n- state\n- thread\n- ticket\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  override\n-  sentiment\n-  sentiment_score\n-  state\n-  thread\n-  ticket\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SentimentsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/sentiments/{id}.json:
    get:
      operationId: GET_v2_sentiments_{id}.json
      tags:
        - Sentiments
      summary: Get a single sentiment by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SentimentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/settings/hipaa.json:
    get:
      operationId: GET_v2_settings_hipaa.json
      tags:
        - HIPAASettingsAPIBody
      summary: Get your installation's HIPAA settings
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAASettingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_settings_hipaa.json
      tags:
        - HIPAASettingsAPIBody
      summary: Update the HIPAAA settings of an installation.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HIPAASettingsAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HIPAASettingsAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAASettingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/settings/hipaaipwhitelists.json:
    get:
      operationId: GET_v2_settings_hipaaipwhitelists.json
      tags:
        - HIPAAWhitelists
      summary: Get your installation's HIPAA whitelists.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_settings_hipaaipwhitelists.json
      tags:
        - HIPAAWhitelist
      summary: Create the HIPAAA whitelist of an installation.
      description: Create a resource. Any omitted propertie will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HIPAAWhitelistAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/settings/hipaaipwhitelists/{id}.json:
    get:
      operationId: GET_v2_settings_hipaaipwhitelists_{id}.json
      tags:
        - HIPAAWhitelist
      summary: Get a single whitelist from your installation's HIPAA whitelists.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_settings_hipaaipwhitelists_{id}.json
      tags:
        - HIPAAWhitelist
      summary: Update the HIPAAA whitelist of an installation.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.HIPAAWhitelistAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAAWhitelistAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_settings_hipaaipwhitelists_{id}.json
      tags:
        - HIPAAWhitelist
      summary: Delete the HIPAAA whitelist of an installation.
      description: Delete all the given resource.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/settings/hipaaipwhitelistviolations.json:
    get:
      operationId: GET_v2_settings_hipaaipwhitelistviolations.json
      tags:
        - HIPAAViolationsAPIBody
      summary: Get your installation's HIPAA settings
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.HIPAAViolationsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/sharedtickets.json:
    get:
      operationId: GET_v2_sharedtickets.json
      tags:
        - SharedTickets
      summary: Get a paginated list of tickets shared with the current user.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- ticket\n- tickets.id\n- updatedAt\n- updatedBy\n- user\n- users.id\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  ticket\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SharedTicketsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_sharedtickets.json
      tags:
        - SharedTickets
      summary: Share a ticket with a user.  The current user must have access to the ticket
      description: in order to share it.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SharedTicket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SharedTicket'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.SharedTicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_sharedtickets.json
      tags:
        - SharedTickets
      summary: Remove a users access to a ticket.  Requires both the ticket and user to be
      description: provided.
      produces:
        - application/json
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/sharedtickets/delete.json:
    delete:
      operationId: DELETE_v2_sharedtickets_delete.json
      tags:
        - SharedTickets
      summary: Delete multiple sharedtickets.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- ticket\n- tickets.id\n- updatedAt\n- updatedBy\n- user\n- users.id"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas.json:
    get:
      operationId: GET_v2_slas.json
      tags:
        - Slas
      summary: Get a paginated list of slas.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- businesshours\n- businesshours.id\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- enabled\n- id\n- name\n- onCloseWithoutReply\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  businesshours\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  displayOrder\n-  enabled\n-  id\n-  name\n-  onCloseWithoutReply\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshours\n- slacompanies\n- slacustomers\n- slainboxes\n- slanotifications\n- slatags\n- slaticketpriorities\n- slatickettypes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SLAsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_slas.json
      tags:
        - Slas
      summary: Create a new sla.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SLA
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SLA'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.SLAAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/{id}.json:
    get:
      operationId: GET_v2_slas_{id}.json
      tags:
        - Slas
      summary: Get a single sla by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshours\n- slacompanies\n- slacustomers\n- slainboxes\n- slanotifications\n- slatags\n- slaticketpriorities\n- slatickettypes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SLAAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_slas_{id}.json
      tags:
        - Slas
      summary: Update a sla.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SLA
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SLA'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SLAAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_slas_{id}.json
      tags:
        - Slas
      summary: Delete a sla.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/calculatebreach/{ticketId}.json:
    get:
      operationId: GET_v2_slas_calculatebreach_{ticketId}.json
      tags:
        - Slas
      summary: Calculate the SLA breach for a ticket.
      description: "This endpoint is used to calculate the SLA breach for a ticket based on the\nSLA settings.\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshours\n- slacompanies\n- slacustomers\n- slainboxes\n- slanotifications\n- slatags\n- slaticketpriorities\n- slatickettypes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SLABreachAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/checkapplies/{ticketId}.json:
    get:
      operationId: GET_v2_slas_checkapplies_{ticketId}.json
      tags:
        - Slas
      summary: Check whether any SLAs apply to a ticket.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- businesshours\n- slacompanies\n- slacustomers\n- slainboxes\n- slanotifications\n- slatags\n- slaticketpriorities\n- slatickettypes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SLABreachAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/delete.json:
    delete:
      operationId: DELETE_v2_slas_delete.json
      tags:
        - Slas
      summary: Delete multiple slas.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- businesshours\n- businesshours.id\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- enabled\n- id\n- name\n- onCloseWithoutReply\n- state\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/reorder.json:
    patch:
      operationId: PATCH_v2_slas_reorder.json
      tags:
        - Slas
      summary: Update the displayOrder of slas.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SLAsAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SLAsAPIBody'
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/slas/update.json:
    patch:
      operationId: PATCH_v2_slas_update.json
      tags:
        - Slas
      summary: Update multiple slas.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- businesshours\n- businesshours.id\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- displayOrder\n- enabled\n- id\n- name\n- onCloseWithoutReply\n- state\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SLA
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SLA'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/smartinboxes.json:
    get:
      operationId: GET_v2_smartinboxes.json
      tags:
        - SmartInboxes
      summary: Get a paginated list of smartinboxes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- groupBy\n- id\n- isShared\n- name\n- state\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  groupBy\n-  id\n-  isShared\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- conditions\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SmartInboxesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_smartinboxes.json
      tags:
        - SmartInboxes
      summary: Create a new smartinbox.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SmartInbox
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SmartInbox'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.SmartInboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/smartinboxes/{id}.json:
    get:
      operationId: GET_v2_smartinboxes_{id}.json
      tags:
        - SmartInboxes
      summary: Get a single smartinbox by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- conditions\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SmartInboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_smartinboxes_{id}.json
      tags:
        - SmartInboxes
      summary: Update a smartinbox.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SmartInbox
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SmartInbox'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SmartInboxAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_smartinboxes_{id}.json
      tags:
        - SmartInboxes
      summary: Delete a smartinbox.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/smartinboxes/delete.json:
    delete:
      operationId: DELETE_v2_smartinboxes_delete.json
      tags:
        - SmartInboxes
      summary: Delete multiple smartinboxes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- groupBy\n- id\n- isShared\n- name\n- state\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/smartinboxes/update.json:
    patch:
      operationId: PATCH_v2_smartinboxes_update.json
      tags:
        - SmartInboxes
      summary: Update multiple smartinboxes.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- groupBy\n- id\n- isShared\n- name\n- state\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SmartInbox
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SmartInbox'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/spamlists.json:
    get:
      operationId: GET_v2_spamlists.json
      tags:
        - SpamLists
      summary: Get a paginated list of spamlists.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- term\n- type\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  term\n-  type\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SpamListsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_spamlists.json
      tags:
        - SpamLists
      summary: Create a new spamlist.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SpamListAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SpamListAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.SpamListAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/spamlists/{id}.json:
    get:
      operationId: GET_v2_spamlists_{id}.json
      tags:
        - SpamLists
      summary: Get a single spamlist by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SpamListAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_spamlists_{id}.json
      tags:
        - SpamLists
      summary: Update a spamlist.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SpamListAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SpamListAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SpamListAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_spamlists_{id}.json
      tags:
        - SpamLists
      summary: Delete a spamlist.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/spamreasons.json:
    get:
      operationId: GET_v2_spamreasons.json
      tags:
        - SpamReasons
      summary: Get a paginated list of spamreasons.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- metric_score\n- name\n- notification\n- score\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  metric_score\n-  name\n-  notification\n-  score\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SpamReasonsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/spamreasons/{id}.json:
    get:
      operationId: GET_v2_spamreasons_{id}.json
      tags:
        - SpamReasons
      summary: Get a single spamreason by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SpamReasonAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ssos.json:
    get:
      operationId: GET_v2_ssos.json
      tags:
        - SSOs
      summary: Get a paginated list of ssos.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customSAMLIdP\n- customSAMLMetadata\n- customSAMLServer\n- customerPortalsId\n- deletedAt\n- deletedBy\n- enabled\n- helpdocsSitesId\n- id\n- provisioningIsEnabled\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  customSAMLIdP\n-  customSAMLMetadata\n-  customSAMLServer\n-  customerPortalsId\n-  deletedAt\n-  deletedBy\n-  enabled\n-  helpdocsSitesId\n-  id\n-  provisioningIsEnabled\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SSOsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ssos.json
      tags:
        - SSOs
      summary: Create a new sso.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SSO
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SSO'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.SSOAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ssos/{id}.json:
    get:
      operationId: GET_v2_ssos_{id}.json
      tags:
        - SSOs
      summary: Get a single sso by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SSOAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ssos_{id}.json
      tags:
        - SSOs
      summary: Update a sso.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SSO
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SSO'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SSOAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ssos_{id}.json
      tags:
        - SSOs
      summary: Delete a sso.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ssos/delete.json:
    delete:
      operationId: DELETE_v2_ssos_delete.json
      tags:
        - SSOs
      summary: Delete multiple ssos.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customSAMLIdP\n- customSAMLMetadata\n- customSAMLServer\n- customerPortalsId\n- deletedAt\n- deletedBy\n- enabled\n- helpdocsSitesId\n- id\n- provisioningIsEnabled\n- state\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ssos/update.json:
    patch:
      operationId: PATCH_v2_ssos_update.json
      tags:
        - SSOs
      summary: Update multiple ssos.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- customSAMLIdP\n- customSAMLMetadata\n- customSAMLServer\n- customerPortalsId\n- deletedAt\n- deletedBy\n- enabled\n- helpdocsSitesId\n- id\n- provisioningIsEnabled\n- state\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.SSO
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.SSO'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/suggestedresponses.json:
    get:
      operationId: GET_v2_suggestedresponses.json
      tags:
        - SuggestedResponses
      summary: Get a paginated list of suggested responses.
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SuggestedResponsesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/suggestedresponses/{id}.json:
    get:
      operationId: GET_v2_suggestedresponses_{id}.json
      tags:
        - SuggestedResponses
      summary: Get a single suggested response by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.SuggestedResponseAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tags.json:
    get:
      operationId: GET_v2_tags.json
      tags:
        - Tags
      summary: Get a paginated list of tags.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAutoTagging\n- color\n- createdAt\n- createdBy\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  allowAutoTagging\n-  color\n-  createdAt\n-  createdBy\n-  id\n-  name\n-  state\n-  ticketCount\n-  ticketCount\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TagsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tags.json
      tags:
        - Tags
      summary: Create a new tag.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TagAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TagAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TagAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tags/{id}.json:
    get:
      operationId: GET_v2_tags_{id}.json
      tags:
        - Tags
      summary: Get a single tag by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TagAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_tags_{id}.json
      tags:
        - Tags
      summary: Update a tag.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TagAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TagAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TagAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_tags_{id}.json
      tags:
        - Tags
      summary: Delete a tag.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tags/delete.json:
    delete:
      operationId: DELETE_v2_tags_delete.json
      tags:
        - Tags
      summary: Delete multiple tags.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAutoTagging\n- color\n- createdAt\n- createdBy\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tags/merge.json:
    put:
      operationId: PUT_v2_tags_merge.json
      tags:
        - Tags
      summary: Merge multiple tags into one.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TagMergeAPIArgs
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TagMergeAPIArgs'
      responses:
        200:
          description: 200 OK (no data)
  /v2/tags/update.json:
    patch:
      operationId: PATCH_v2_tags_update.json
      tags:
        - Tags
      summary: Update multiple tags.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allowAutoTagging\n- color\n- createdAt\n- createdBy\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Tag
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Tag'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammates.json:
    get:
      operationId: GET_v2_teammates.json
      tags:
        - Teammates
      summary: Get a paginated list of teammates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- owner\n- state\n- teammateType\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  owner\n-  state\n-  teammateType\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- teammatetypes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TeammatesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_teammates.json
      tags:
        - Teammates
      summary: Create a new teammate.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Teammate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Teammate'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TeammateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammates/{id}.json:
    get:
      operationId: GET_v2_teammates_{id}.json
      tags:
        - Teammates
      summary: Get a single teammate by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- teammatetypes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TeammateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_teammates_{id}.json
      tags:
        - Teammates
      summary: Update a teammate.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Teammate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Teammate'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TeammateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_teammates_{id}.json
      tags:
        - Teammates
      summary: Delete a teammate.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammates/delete.json:
    delete:
      operationId: DELETE_v2_teammates_delete.json
      tags:
        - Teammates
      summary: Delete multiple teammates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- owner\n- state\n- teammateType\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammates/update.json:
    patch:
      operationId: PATCH_v2_teammates_update.json
      tags:
        - Teammates
      summary: Update multiple teammates.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- owner\n- state\n- teammateType\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Teammate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Teammate'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammatetypes.json:
    get:
      operationId: GET_v2_teammatetypes.json
      tags:
        - TeammateTypes
      summary: Get a paginated list of teammatetypes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TeammateTypesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/teammatetypes/{id}.json:
    get:
      operationId: GET_v2_teammatetypes_{id}.json
      tags:
        - TeammateTypes
      summary: Get a single teammatetype by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TeammateTypeAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threadreactions.json:
    get:
      operationId: GET_v2_threadreactions.json
      tags:
        - ThreadReactions
      summary: Get a paginated list of threadreactions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- message\n- reaction\n- ticket\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  id\n-  message\n-  reaction\n-  ticket\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- messages\n- reactions\n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadReactionsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threadreactions/{id}.json:
    delete:
      operationId: DELETE_v2_threadreactions_{id}.json
      tags:
        - ThreadReactions
      summary: Delete a threadreaction.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threadreactions/delete.json:
    delete:
      operationId: DELETE_v2_threadreactions_delete.json
      tags:
        - ThreadReactions
      summary: Delete multiple threadreactions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- message\n- reaction\n- ticket\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threads/{id}/pinnednotes.json:
    post:
      operationId: POST_v2_threads_{id}_pinnednotes.json
      tags:
        - PinnedNotes
      summary: Create a new pinnednote.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.PinnedNote
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.PinnedNote'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.PinnedNoteAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_threads_{id}_pinnednotes.json
      tags:
        - PinnedNotes
      summary: Delete a pinned note.  The id is the id of the note.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threadsummaries.json:
    get:
      operationId: GET_v2_threadsummaries.json
      tags:
        - ThreadSummaries
      summary: Get a paginated list of threadsummaries.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- summary\n- thread\n- threads.id\n- ticket\n- tickets.id\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  summary\n-  thread\n-  ticket\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadSummariesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/threadsummaries/{id}.json:
    get:
      operationId: GET_v2_threadsummaries_{id}.json
      tags:
        - ThreadSummaries
      summary: Get a single threadsummary by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadSummaryAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketpriorities.json:
    get:
      operationId: GET_v2_ticketpriorities.json
      tags:
        - TicketPriorities
      summary: Get a paginated list of ticketpriorities.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- color\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- displayOrder\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  color\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  id\n-  name\n-  state\n-  ticketCount\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketPrioritiesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketpriorities.json
      tags:
        - TicketPriorities
      summary: Create a new ticketpriority.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketPriorityAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketPriorityAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketPriorityAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketpriorities/{id}.json:
    get:
      operationId: GET_v2_ticketpriorities_{id}.json
      tags:
        - TicketPriorities
      summary: Get a single ticketpriority by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketPriorityAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ticketpriorities_{id}.json
      tags:
        - TicketPriorities
      summary: Update a ticket ticketpriority.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketPriorityAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketPriorityAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketPriorityAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ticketpriorities_{id}.json
      tags:
        - TicketPriorities
      summary: Delete a ticketpriority.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketpriorities/reorder.json:
    patch:
      operationId: PATCH_v2_ticketpriorities_reorder.json
      tags:
        - TicketPriorities
      summary: Update the displayOrder of ticketpriorities.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketPrioritiesAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketPrioritiesAPIBody'
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketreminders.json:
    get:
      operationId: GET_v2_ticketreminders.json
      tags:
        - TicketReminders
      summary: Get a paginated list of ticketreminders.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  task\n-  ticket\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketRemindersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketreminders.json
      tags:
        - TicketReminders
      summary: Create a new ticketreminder.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketReminder
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketReminder'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketReminderAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketreminders/{id}.json:
    get:
      operationId: GET_v2_ticketreminders_{id}.json
      tags:
        - TicketReminders
      summary: Get a single ticketreminder by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketReminderAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ticketreminders_{id}.json
      tags:
        - TicketReminders
      summary: Update a ticketreminder.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketReminder
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketReminder'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketReminderAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ticketreminders_{id}.json
      tags:
        - TicketReminders
      summary: Delete a ticketreminder.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketreminders/delete.json:
    delete:
      operationId: DELETE_v2_ticketreminders_delete.json
      tags:
        - TicketReminders
      summary: Delete multiple ticketreminders.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketreminders/update.json:
    patch:
      operationId: PATCH_v2_ticketreminders_update.json
      tags:
        - TicketReminders
      summary: Update multiple ticketreminders.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketReminder
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketReminder'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets.json:
    get:
      operationId: GET_v2_tickets.json
      tags:
        - Tickets
      summary: Get a paginated list of tickets based on current user permissions.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  agent\n-  businesshours\n-  businesshours.id\n-  businesshours.name\n-  companies.id\n-  companies.name\n-  company\n-  contact\n-  createdAt\n-  customer\n-  customers.id\n-  customers.name\n-  deletedAt\n-  deletedBy\n-  happinessSurveySentAt\n-  id\n-  inbox\n-  inboxes.id\n-  messages.customers.id\n-  messages.id\n-  messages.messageId\n-  originalRecipient\n-  previewText\n-  priorities.id\n-  priority\n-  priority\n-  projects.id\n-  resolutionTimeMins\n-  responseTimeMins\n-  reviewStatus\n-  sla\n-  slaBreachedAt\n-  slas.breachedAt\n-  slas.id\n-  source\n-  spam_rules\n-  spam_score\n-  state\n-  status\n-  statuses.id\n-  subject\n-  tags.id\n-  tasks.id\n-  tickets_users_deck.createdAt\n-  type\n-  updatedAt\n-  updatedBy\n-  users.id\n-  users.name\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- agentsnotified\n- businesshours\n- companies\n- companycustomers\n- contacts\n- customers\n- customerticketsreads\n- customfieldoptions\n- customfields\n- files\n- happinessratingoptions\n- happinessratings\n- inboxes\n- jobstatuses\n- likes\n- messages\n- notifications\n- pinnednotes\n- reactions\n- reviewcomments\n- scheduledemails\n- sentiments\n- slas\n- slathreads\n- slatickets\n- tags\n- tasktickets\n- threademailrefs\n- threadreactions\n- threadsummaries\n- ticketactivities\n- ticketpriorities\n- ticketreviews\n- tickets\n- ticketsources\n- ticketstatuses\n- ticketsummaries\n- tickettypes\n- timelogs\n- trends\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tickets.json
      tags:
        - Tickets
      summary: Create a new ticket.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: create.Message
          in: body
          required: true
          schema:
            $ref: '#/definitions/create.Message'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/:id/read.json:
    post:
      operationId: POST_v2_tickets_:id_read.json
      tags:
        - Tickets
      summary: Mark a ticket as read for the currently logged in user.
      produces:
        - application/json
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/:id/unread.json:
    post:
      operationId: POST_v2_tickets_:id_unread.json
      tags:
        - Tickets
      summary: Mark a ticket as unread for the currently logged in user.
      produces:
        - application/json
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}.json:
    get:
      operationId: GET_v2_tickets_{id}.json
      tags:
        - Tickets
      summary: Get a single ticket by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- agentsnotified\n- businesshours\n- companies\n- companycustomers\n- contacts\n- customers\n- customerticketsreads\n- customfieldoptions\n- customfields\n- files\n- happinessratingoptions\n- happinessratings\n- inboxes\n- jobstatuses\n- likes\n- messages\n- notifications\n- pinnednotes\n- reactions\n- reviewcomments\n- scheduledemails\n- sentiments\n- slas\n- slathreads\n- slatickets\n- tags\n- tasktickets\n- threademailrefs\n- threadreactions\n- threadsummaries\n- ticketactivities\n- ticketpriorities\n- ticketreviews\n- tickets\n- ticketsources\n- ticketstatuses\n- ticketsummaries\n- tickettypes\n- timelogs\n- trends\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_tickets_{id}.json
      tags:
        - Tickets
      summary: Update ticket
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_tickets_{id}.json
      tags:
        - Tickets
      summary: Delete a ticket.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/files.zip:
    get:
      operationId: GET_v2_tickets_{id}_files.zip
      tags:
        - Tickets
      summary: Download ZIP of files
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/followers.json:
    post:
      operationId: POST_v2_tickets_{id}_followers.json
      tags:
        - Tickets
      summary: Adds a new follower to the ticket.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/followers/{userId}.json:
    delete:
      operationId: DELETE_v2_tickets_{id}_followers_{userId}.json
      tags:
        - Tickets
      summary: Delete a follower.
      produces:
        - application/json
      parameters:
        - name: userId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/restore.json:
    patch:
      operationId: PATCH_v2_tickets_{id}_restore.json
      tags:
        - Tickets
      summary: Restore a deleted ticket by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/signature.json:
    get:
      operationId: GET_v2_tickets_{id}_signature.json
      tags:
        - Tickets
      summary: Render a signature using a ticket
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.GetTicketSignatureResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/triggerapply.json:
    patch:
      operationId: PATCH_v2_tickets_{id}_triggerapply.json
      tags:
        - Ticket
      summary: Apply a manual trigger to a ticket
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Ticket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Ticket'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{id}/undosend.json:
    patch:
      operationId: PATCH_v2_tickets_{id}_undosend.json
      tags:
        - Tickets
      summary: Undo delivery of a ticket reply.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{ticketId}/files/{id}/download:
    get:
      operationId: GET_v2_tickets_{ticketId}_files_{id}_download
      tags:
        - Tickets
      summary: Download a ticket attachment
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{ticketId}/messages.json:
    get:
      operationId: GET_v2_tickets_{ticketId}_messages.json
      tags:
        - Messages
      summary: Get a paginated list of messages for a ticket.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- assigningUser\n- contact\n- createdAt\n- deletedAt\n- deletedBy\n- editMethod\n- emailMessageId\n- happinessrating\n- helpdoc\n- htmlBody\n- id\n- isPinned\n- mergedAt\n- s3link\n- state\n- status\n- taskId\n- textBody\n- threadType\n- ticket\n- updatedAt\n- updatedBy\n- viewedByCustomerAt\n\nThe following values are allowed in the orderBy query parameter:\n-  assigningUser\n-  contact\n-  createdAt\n-  createdAt\n-  deletedAt\n-  deletedBy\n-  editMethod\n-  emailMessageId\n-  happinessrating\n-  helpdoc\n-  htmlBody\n-  id\n-  isPinned\n-  mergedAt\n-  s3link\n-  state\n-  status\n-  taskId\n-  textBody\n-  threadType\n-  ticket\n-  updatedAt\n-  updatedBy\n-  viewedByCustomerAt\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- contacts\n- customers\n- files\n- happinessratings\n- metadata\n- reviewcomments\n- sentiments\n- slathreads\n- suggestedresponses\n- ticketstatuses\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tickets_{ticketId}_messages.json
      tags:
        - Messages
      summary: Reply to ticket
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: reply.Message
          in: body
          required: true
          schema:
            $ref: '#/definitions/reply.Message'
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/tickets/{ticketId}/messages/{id}.json:
    patch:
      operationId: PATCH_v2_tickets_{ticketId}_messages_{id}.json
      tags:
        - Messages
      summary: Update message
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: update.Message
          in: body
          required: true
          schema:
            $ref: '#/definitions/update.Message'
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
    delete:
      operationId: DELETE_v2_tickets_{ticketId}_messages_{id}.json
      tags:
        - Messages
      summary: Delete a message.
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{ticketId}/messages/{id}/react.json:
    post:
      operationId: POST_v2_tickets_{ticketId}_messages_{id}_react.json
      tags:
        - Messages
      summary: React to a message
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ThreadReactionAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ThreadReactionAPIBody'
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.ThreadReactionAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{ticketId}/messages/{id}/read.json:
    post:
      operationId: POST_v2_tickets_{ticketId}_messages_{id}_read.json
      tags:
        - Messages
      summary: Marks a message as read
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/tickets/{ticketId}/messages/{id}/review.json:
    patch:
      operationId: PATCH_v2_tickets_{ticketId}_messages_{id}_review.json
      tags:
        - TrainingWheels
      summary: Review message under training wheels
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: review.Message
          in: body
          required: true
          schema:
            $ref: '#/definitions/review.Message'
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ThreadAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/tickets/{ticketId}/messages/draft.json:
    delete:
      operationId: DELETE_v2_tickets_{ticketId}_messages_draft.json
      tags:
        - Messages
      summary: Delete current draft.
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/{ticketId}/messages/tools.json:
    get:
      operationId: GET_v2_tickets_{ticketId}_messages_tools.json
      tags:
        - Messages
      summary: Get available AI tools for message improvement.
      produces:
        - application/json
      parameters:
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.LLMMessageActionsListAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tickets_{ticketId}_messages_tools.json
      tags:
        - Messages
      summary: Apply AI tools to a ticket message draft.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.LLMMessageActionRequest
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.LLMMessageActionRequest'
        - name: ticketId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.LLMMessageActionResponseAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/tickets/{ticketId}/reviewcomments/{id}.json:
    patch:
      operationId: PATCH_v2_tickets_{ticketId}_reviewcomments_{id}.json
      tags:
        - TrainingWheels
      summary: Update review comment
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.ReviewCommentAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.ReviewCommentAPIBody'
        - name: ticketId
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.ReviewCommentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        404:
          description: 404 Not Found
          schema:
            $ref: '#/definitions/models.Error'
  /v2/tickets/activities.json:
    get:
      operationId: GET_v2_tickets_activities.json
      tags:
        - TicketActivities
      summary: Get a paginated list of ticketactivities.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- id\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  id\n-  tickets.status\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customers\n- messages\n- ticketpriorities\n- tickets\n- ticketsources\n- ticketstatuses\n- tickettypes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketActivitiesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/delete.json:
    delete:
      operationId: DELETE_v2_tickets_delete.json
      tags:
        - Tickets
      summary: Delete multiple tickets.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/emptytrash.json:
    delete:
      operationId: DELETE_v2_tickets_emptytrash.json
      tags:
        - Tickets
      summary: Empty the trash can
      produces:
        - application/json
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/pagination.json:
    get:
      operationId: GET_v2_tickets_pagination.json
      tags:
        - Tickets
        - pagination
      summary: Allows you to get pagination for tickets separately in some circumstances
      description: "where performance may be a concern. The same parameters should be used for\nconsistency as were used with the listing request.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.Pagination'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/read.json:
    post:
      operationId: POST_v2_tickets_read.json
      tags:
        - Tickets
      summary: Mark multiple tickets as read for the currently logged in user.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/restore.json:
    patch:
      operationId: PATCH_v2_tickets_restore.json
      tags:
        - Tickets
      summary: Restore multiple tickets.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/taskCounts.json:
    post:
      operationId: POST_v2_tickets_taskCounts.json
      tags:
        - Tickets
      summary: Get the count of tickets associated with each task.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TaskTicketCountsReq
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TaskTicketCountsReq'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TaskTicketCountsRes'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/triggerapply.json:
    patch:
      operationId: PATCH_v2_tickets_triggerapply.json
      tags:
        - Ticket
      summary: Apply a trigger to multiple tickets
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Ticket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Ticket'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/unread.json:
    post:
      operationId: POST_v2_tickets_unread.json
      tags:
        - Tickets
      summary: Mark multiple tickets as unread for the currently logged in user.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickets/update.json:
    patch:
      operationId: PATCH_v2_tickets_update.json
      tags:
        - Tickets
      summary: Update multiple tickets.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- agent\n- businesshours\n- company\n- contact\n- createdAt\n- customer\n- deletedAt\n- deletedBy\n- happinessSurveySentAt\n- id\n- inbox\n- originalRecipient\n- previewText\n- priority\n- resolutionTimeMins\n- responseTimeMins\n- sla\n- slaBreachedAt\n- source\n- spam_rules\n- spam_score\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Ticket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Ticket'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsources.json:
    get:
      operationId: GET_v2_ticketsources.json
      tags:
        - TicketSources
      summary: Get a paginated list of ticketsources.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- displayOrder\n- icon\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  displayOrder\n-  icon\n-  id\n-  name\n-  state\n-  ticketCount\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSourcesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketsources.json
      tags:
        - TicketSources
      summary: Create a new ticketsource.
      produces:
        - application/json
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketSourceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsources/{id}.json:
    get:
      operationId: GET_v2_ticketsources_{id}.json
      tags:
        - TicketSources
      summary: Get a single ticketsource by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSourceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ticketsources_{id}.json
      tags:
        - TicketSources
      summary: Update a ticket ticketsource.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSourceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ticketsources_{id}.json
      tags:
        - TicketSources
      summary: Delete a ticketsource.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsources/reorder.json:
    patch:
      operationId: PATCH_v2_ticketsources_reorder.json
      tags:
        - TicketSources
      summary: Update displayOrder of ticketsources.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketSourcesAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketSourcesAPIBody'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSourcesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsread.json:
    get:
      operationId: GET_v2_ticketsread.json
      tags:
        - TicketsReads
      description: "Get a paginated list of read activity. Read status is always scoped to the\ncurrent user.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- id\n- threadsId\n- ticketsId\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdAt\n-  id\n-  threads.id\n-  threadsId\n-  tickets.id\n-  ticketsId\n-  users.id\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- messages\n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketsReadsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketsread.json
      tags:
        - TicketsReads
      summary: Mark a ticket (and specific message) as read.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketsRead
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketsRead'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketsReadAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsread/{id}.json:
    get:
      operationId: GET_v2_ticketsread_{id}.json
      tags:
        - TicketsReads
      description: "Get a single ticketsread by id.  Read status is always scoped to the current\nuser.  If you are wanting to find out whether a customer has read a specific\nticket you should use the listing endpoint /api/v2/ticketsread.json with a\nfilter on `ticketId` or the ticket endpoint /api/v2/tickets/:id.json and\n`include` `ticketsreads` to get a list of all of the users who have read the\nticket and the date which they read it.\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- messages\n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketsReadAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketstatuses.json:
    get:
      operationId: GET_v2_ticketstatuses.json
      tags:
        - TicketStatuses
      summary: Get a paginated list of ticketstatuses.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- code\n- color\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- displayOrder\n- icon\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  code\n-  color\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  displayOrder\n-  displayOrder\n-  icon\n-  id\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketStatusesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketstatuses.json
      tags:
        - TicketStatuses
      summary: Create a new ticketstatus.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketStatusAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketStatusAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketStatusAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketstatuses/{id}.json:
    get:
      operationId: GET_v2_ticketstatuses_{id}.json
      tags:
        - TicketStatuses
      summary: Get a single ticketstatus by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketStatusAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ticketstatuses_{id}.json
      tags:
        - TicketStatuses
      summary: Update a ticket ticketstatus.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketStatusAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketStatusAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketStatusAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ticketstatuses_{id}.json
      tags:
        - TicketStatuses
      summary: Delete a ticketstatus.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsummaries.json:
    get:
      operationId: GET_v2_ticketsummaries.json
      tags:
        - TicketSummaries
      summary: Get a paginated list of ticketsummaries.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- state\n- summary\n- ticket\n- tickets.id\n- type\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  state\n-  summary\n-  ticket\n-  type\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- jobstatuses\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSummariesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketsummaries/{id}.json:
    get:
      operationId: GET_v2_ticketsummaries_{id}.json
      tags:
        - TicketSummaries
      summary: Get a single ticketsummary by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- jobstatuses\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketSummaryAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettemplates.json:
    get:
      operationId: GET_v2_tickettemplates.json
      tags:
        - TicketTemplates
      summary: Get a paginated list of tickettemplates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- priority\n- source\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  addToNewInboxes\n-  body\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  name\n-  priority\n-  source\n-  state\n-  status\n-  subject\n-  type\n-  updatedAt\n-  updatedBy\n-  user\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customfields\n- files\n- inboxes\n- tags\n- ticketpriorities\n- ticketstatuses\n- tickettemplatecustomfields\n- tickettypes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTemplatesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tickettemplates.json
      tags:
        - TicketTemplates
      summary: Create a new tickettemplate.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketTemplate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketTemplate'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettemplates/{id}.json:
    get:
      operationId: GET_v2_tickettemplates_{id}.json
      tags:
        - TicketTemplates
      summary: Get a single tickettemplate by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customfields\n- files\n- inboxes\n- tags\n- ticketpriorities\n- ticketstatuses\n- tickettemplatecustomfields\n- tickettypes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_tickettemplates_{id}.json
      tags:
        - TicketTemplates
      summary: Update a tickettemplate.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketTemplate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketTemplate'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_tickettemplates_{id}.json
      tags:
        - TicketTemplates
      summary: Delete a tickettemplate.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettemplates/delete.json:
    delete:
      operationId: DELETE_v2_tickettemplates_delete.json
      tags:
        - TicketTemplates
      summary: Delete multiple tickettemplates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- priority\n- source\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettemplates/update.json:
    patch:
      operationId: PATCH_v2_tickettemplates_update.json
      tags:
        - TicketTemplates
      summary: Update multiple tickettemplates.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- body\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- priority\n- source\n- state\n- status\n- subject\n- type\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketTemplate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketTemplate'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettypes.json:
    get:
      operationId: GET_v2_tickettypes.json
      tags:
        - TicketTypes
      summary: Get a paginated list of tickettypes.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- default\n- displayOrder\n- enabledForFutureInboxes\n- id\n- name\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  default\n-  displayOrder\n-  enabledForFutureInboxes\n-  id\n-  inbox.id\n-  inboxes.id\n-  name\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTypesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_tickettypes.json
      tags:
        - TicketTypes
      summary: Create a new tickettype.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketTypeAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketTypeAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketTypeAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettypes/{id}.json:
    get:
      operationId: GET_v2_tickettypes_{id}.json
      tags:
        - TicketTypes
      summary: Get a single tickettype by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTypeAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_tickettypes_{id}.json
      tags:
        - TicketTypes
      summary: Update a ticket tickettype.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketTypeAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketTypeAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTypeAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_tickettypes_{id}.json
      tags:
        - TicketTypes
      summary: Delete a tickettype.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/tickettypes/reorder.json:
    patch:
      operationId: PATCH_v2_tickettypes_reorder.json
      tags:
        - TicketTypes
      summary: Reorder ticket types
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketTypesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketuserdecks.json:
    get:
      operationId: GET_v2_ticketuserdecks.json
      tags:
        - TicketUserDecks
      summary: Get a paginated list of ticketuserdecks.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- id\n- ticketId\n- userId\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  id\n-  ticketId\n-  userId\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketUserDecksAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_ticketuserdecks.json
      tags:
        - TicketUserDecks
      summary: Create a new ticketuserdeck.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketUserDeck
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketUserDeck'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TicketUserDeckAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketuserdecks/{id}.json:
    get:
      operationId: GET_v2_ticketuserdecks_{id}.json
      tags:
        - TicketUserDecks
      summary: Get a single ticketuserdeck by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketUserDeckAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_ticketuserdecks_{id}.json
      tags:
        - TicketUserDecks
      summary: Update a ticketuserdeck.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketUserDeck
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketUserDeck'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TicketUserDeckAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_ticketuserdecks_{id}.json
      tags:
        - TicketUserDecks
      summary: Delete a ticketuserdeck.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketuserdecks/delete.json:
    delete:
      operationId: DELETE_v2_ticketuserdecks_delete.json
      tags:
        - TicketUserDecks
      summary: Delete multiple ticketuserdecks.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- id\n- ticketId\n- userId"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/ticketuserdecks/update.json:
    patch:
      operationId: PATCH_v2_ticketuserdecks_update.json
      tags:
        - TicketUserDecks
      summary: Update multiple ticketuserdecks.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- id\n- ticketId\n- userId"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TicketUserDeck
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TicketUserDeck'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogs.json:
    get:
      operationId: GET_v2_timelogs.json
      tags:
        - Timelogs
      summary: Get a paginated list of timelogs.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- billable\n- createdAt\n- createdBy\n- date\n- deletedAt\n- deletedBy\n- description\n- id\n- project\n- projectstimelog\n- seconds\n- state\n- task\n- ticket\n- timelogs_id\n- timezoneOffset\n- updatedAt\n- updatedBy\n- user\n\nThe following values are allowed in the orderBy query parameter:\n-  billable\n-  createdAt\n-  createdBy\n-  customers.id\n-  date\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  project\n-  projectstimelog\n-  seconds\n-  state\n-  task\n-  ticket\n-  tickets.id\n-  timelogs_id\n-  timezoneOffset\n-  updatedAt\n-  updatedBy\n-  user\n-  users.id\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimelogsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_timelogs.json
      tags:
        - Timelogs
      summary: Create a new timelog.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Timelog
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Timelog'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TimelogAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogs/{id}.json:
    get:
      operationId: GET_v2_timelogs_{id}.json
      tags:
        - Timelogs
      summary: Get a single timelog by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- tickets\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimelogAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_timelogs_{id}.json
      tags:
        - Timelogs
      summary: Update a timelog.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Timelog
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Timelog'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimelogAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_timelogs_{id}.json
      tags:
        - Timelogs
      summary: Delete a timelog.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogs/aggregate.json:
    get:
      operationId: GET_v2_timelogs_aggregate.json
      tags:
        - Timelog
      summary: Get an aggregation of timelogs.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- billable\n- createdAt\n- createdBy\n- date\n- deletedAt\n- deletedBy\n- description\n- id\n- project\n- projectstimelog\n- seconds\n- state\n- task\n- ticket\n- timelogs_id\n- timezoneOffset\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimelogAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogs/delete.json:
    delete:
      operationId: DELETE_v2_timelogs_delete.json
      tags:
        - Timelogs
      summary: Delete multiple timelogs.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- billable\n- createdAt\n- createdBy\n- date\n- deletedAt\n- deletedBy\n- description\n- id\n- project\n- projectstimelog\n- seconds\n- state\n- task\n- ticket\n- timelogs_id\n- timezoneOffset\n- updatedAt\n- updatedBy\n- user"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogs/update.json:
    patch:
      operationId: PATCH_v2_timelogs_update.json
      tags:
        - Timelogs
      summary: Update multiple timelogs.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- billable\n- createdAt\n- createdBy\n- date\n- deletedAt\n- deletedBy\n- description\n- id\n- project\n- projectstimelog\n- seconds\n- state\n- task\n- ticket\n- timelogs_id\n- timezoneOffset\n- updatedAt\n- updatedBy\n- user"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Timelog
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Timelog'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings.json:
    get:
      operationId: GET_v2_timelogsettings.json
      tags:
        - TimeLogSettings
      summary: Get a paginated list of timelogsettings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoLogSettingsResource\n- autoLogToProjects\n- autoLogToResource\n- company\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inbox\n- markAsBillable\n- project\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  autoLogSettingsResource\n-  autoLogToProjects\n-  autoLogToResource\n-  companies.id\n-  company\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  inbox\n-  inboxes.id\n-  markAsBillable\n-  project\n-  state\n-  task\n-  tasks.id\n-  ticket\n-  tickets.id\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_timelogsettings.json
      tags:
        - TimeLogSettings
      summary: Create a new timelogsetting.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSetting
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSetting'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TimeLogSettingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings/{id}.json:
    get:
      operationId: GET_v2_timelogsettings_{id}.json
      tags:
        - TimeLogSettings
      summary: Get a single timelogsetting by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_timelogsettings_{id}.json
      tags:
        - TimeLogSettings
      summary: Update a timelogsetting.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSetting
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSetting'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_timelogsettings_{id}.json
      tags:
        - TimeLogSettings
      summary: Delete a timelogsetting.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings/{id}/notify-archived-project.json:
    post:
      operationId: POST_v2_timelogsettings_{id}_notify-archived-project.json
      tags:
        - TimeLogSettings
      summary: Notifies admin users
      description: |-
        This endpoint sends an email notification to all administrators about a time log
        setting trying to use a deleted project for auto time logging, only one email
        every 24 hours can be sent.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSetting
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSetting'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        429:
          description: 429 Too Many Requests
          schema:
            $ref: '#/definitions/models.Error'
  /v2/timelogsettings/delete.json:
    delete:
      operationId: DELETE_v2_timelogsettings_delete.json
      tags:
        - TimeLogSettings
      summary: Delete multiple timelogsettings.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoLogSettingsResource\n- autoLogToProjects\n- autoLogToResource\n- company\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inbox\n- markAsBillable\n- project\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings/global.json:
    get:
      operationId: GET_v2_timelogsettings_global.json
      tags:
        - TimeLogSettings
      summary: Get the timelogsetting targeting the global inbox
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_timelogsettings_global.json
      tags:
        - TimeLogSettings
      summary: Updates the global timelogsetting.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSetting
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSetting'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings/tickets/{id}.json:
    get:
      operationId: GET_v2_timelogsettings_tickets_{id}.json
      tags:
        - TimeLogSettings
      summary: Get the project/task to send up when creating a timelog
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingTicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
        406:
          description: 406 Not Acceptable (no data)
    post:
      operationId: POST_v2_timelogsettings_tickets_{id}.json
      tags:
        - TimeLogSettings
      summary: Create ticket info for a timelogsetting.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSettingTicket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSettingTicket'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TimeLogSettingTicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_timelogsettings_tickets_{id}.json
      tags:
        - TimeLogSettings
      summary: Update ticket info for a timelogsetting.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSettingTicket
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSettingTicket'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeLogSettingTicketAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_timelogsettings_tickets_{id}.json
      tags:
        - TimeLogSettings
      summary: Delete a timelogsettings ticket entry.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timelogsettings/update.json:
    patch:
      operationId: PATCH_v2_timelogsettings_update.json
      tags:
        - TimeLogSettings
      summary: Update multiple timelogsettings.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoLogSettingsResource\n- autoLogToProjects\n- autoLogToResource\n- company\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- inbox\n- markAsBillable\n- project\n- state\n- task\n- ticket\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TimeLogSetting
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TimeLogSetting'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/timezones.json:
    get:
      operationId: GET_v2_timezones.json
      tags:
        - Timezones
      summary: Get a list of all timezones
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TimeZone'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/trainingwheels/enrollments.json:
    get:
      operationId: GET_v2_trainingwheels_enrollments.json
      tags:
        - TrainingWheelsEnrollments
      summary: Get a paginated list of trainingwheelsenrollments.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- id\n- isForAllInboxes\n- reviewPercentage\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  id\n-  isForAllInboxes\n-  reviewPercentage\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollmentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/trainingwheels/enrollments/{userId}.json:
    get:
      operationId: GET_v2_trainingwheels_enrollments_{userId}.json
      tags:
        - TrainingWheelsEnrollments
      summary: Get a single trainingwheelsenrollment by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: userId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollmentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_trainingwheels_enrollments_{userId}.json
      tags:
        - TrainingWheelsEnrollments
      summary: Create a new trainingwheelsenrollment.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TrainingWheelsEnrollment
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollment'
        - name: userId
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollmentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_trainingwheels_enrollments_{userId}.json
      tags:
        - TrainingWheelsEnrollments
      summary: Update a trainingwheelsenrollment.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TrainingWheelsEnrollment
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollment'
        - name: userId
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TrainingWheelsEnrollmentAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_trainingwheels_enrollments_{userId}.json
      tags:
        - TrainingWheelsEnrollments
      summary: Delete a trainingwheelsenrollment.
      produces:
        - application/json
      parameters:
        - name: userId
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/trends.json:
    get:
      operationId: GET_v2_trends.json
      tags:
        - Trends
      summary: Get a paginated list of trends.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- name\n- state\n- ticketCount\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  name\n-  state\n-  ticketCount\n-  updatedAt\n-  updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TrendsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/trends/{id}.json:
    get:
      operationId: GET_v2_trends_{id}.json
      tags:
        - Trends
      summary: Get a single trend by id.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TrendAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggernotifications.json:
    get:
      operationId: GET_v2_triggernotifications.json
      tags:
        - TriggerNotifications
      summary: Get a paginated list of triggernotifications.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- id\n- state\n- subject\n- type\n\nThe following values are allowed in the orderBy query parameter:\n-  body\n-  id\n-  state\n-  subject\n-  type\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customers\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerNotificationsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggernotifications/{id}.json:
    get:
      operationId: GET_v2_triggernotifications_{id}.json
      tags:
        - TriggerNotifications
      summary: Get a single triggernotification by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- customers\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerNotificationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_triggernotifications_{id}.json
      tags:
        - TriggerNotifications
      summary: Create a new triggernotification.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerNotification
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerNotification'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TriggerNotificationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_triggernotifications_{id}.json
      tags:
        - TriggerNotifications
      summary: Update a triggernotification.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerNotification
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerNotification'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerNotificationAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_triggernotifications_{id}.json
      tags:
        - TriggerNotifications
      summary: Delete a triggernotification.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggernotifications/delete.json:
    delete:
      operationId: DELETE_v2_triggernotifications_delete.json
      tags:
        - TriggerNotifications
      summary: Delete multiple triggernotifications.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- id\n- state\n- subject\n- type"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggernotifications/update.json:
    patch:
      operationId: PATCH_v2_triggernotifications_update.json
      tags:
        - TriggerNotifications
      summary: Update multiple triggernotifications.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- body\n- id\n- state\n- subject\n- type"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerNotification
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerNotification'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggers.json:
    get:
      operationId: GET_v2_triggers.json
      tags:
        - Triggers
      summary: Get a paginated list of triggers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- agentHasAccess\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- isShared\n- isSystem\n- name\n- state\n- type\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  addToNewInboxes\n-  agentHasAccess\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  id\n-  inboxes.id\n-  isShared\n-  isSystem\n-  name\n-  state\n-  tickets.id\n-  type\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- conditions\n- customfieldoptions\n- inboxes\n- tickets\n- triggeractions\n- triggernotifications\n- triggertasktemplates\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_triggers.json
      tags:
        - Triggers
      summary: Create a new trigger.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Trigger
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Trigger'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TriggerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggers/{id}.json:
    get:
      operationId: GET_v2_triggers_{id}.json
      tags:
        - Triggers
      summary: Get a single trigger by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- conditions\n- customfieldoptions\n- inboxes\n- tickets\n- triggeractions\n- triggernotifications\n- triggertasktemplates\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_triggers_{id}.json
      tags:
        - Triggers
      summary: Update a trigger
      description: |-
        Update all the given properties for this trigger. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_triggers_{id}.json
      tags:
        - Triggers
      summary: Delete a trigger.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggers/{id}/reorder.json:
    patch:
      operationId: PATCH_v2_triggers_{id}_reorder.json
      tags:
        - Triggers
      summary: Reorder automatic triggers.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerReorderAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerReorderAPIBody'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggers/delete.json:
    delete:
      operationId: DELETE_v2_triggers_delete.json
      tags:
        - Triggers
      summary: Delete multiple triggers.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- agentHasAccess\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- isShared\n- isSystem\n- name\n- state\n- type\n- updatedAt\n- updatedBy"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggers/update.json:
    patch:
      operationId: PATCH_v2_triggers_update.json
      tags:
        - Triggers
      summary: Update multiple triggers.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- addToNewInboxes\n- agentHasAccess\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- id\n- isShared\n- isSystem\n- name\n- state\n- type\n- updatedAt\n- updatedBy"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.Trigger
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.Trigger'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggertasktemplates.json:
    get:
      operationId: GET_v2_triggertasktemplates.json
      tags:
        - TriggerTaskTemplates
      summary: Get a paginated list of triggertasktemplates.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- company\n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- description\n- dueDateUnixOffset\n- estimateMinutes\n- hasDeskTickets\n- id\n- name\n- notify\n- priority\n- private\n- project\n- startDateUnixOffset\n- state\n- status\n- tasklist\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  company\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  description\n-  dueDateUnixOffset\n-  estimateMinutes\n-  hasDeskTickets\n-  id\n-  name\n-  notify\n-  priority\n-  private\n-  project\n-  startDateUnixOffset\n-  state\n-  status\n-  tasklist\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplatesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_triggertasktemplates.json
      tags:
        - TriggerTaskTemplates
      summary: Create a new triggertasktemplate.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerTaskTemplate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplate'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/triggertasktemplates/{id}.json:
    get:
      operationId: GET_v2_triggertasktemplates_{id}.json
      tags:
        - TriggerTaskTemplates
      summary: Get a single triggertasktemplate by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_triggertasktemplates_{id}.json
      tags:
        - TriggerTaskTemplates
      summary: Update a triggertasktemplate.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.TriggerTaskTemplate
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplate'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.TriggerTaskTemplateAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_triggertasktemplates_{id}.json
      tags:
        - TriggerTaskTemplates
      summary: Delete a triggertasktemplate.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/userpreferences.json:
    get:
      operationId: GET_v2_userpreferences.json
      tags:
        - UserPreferences
      summary: Get a paginated list of userpreferences.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- id\n- name\n- preference\n- state\n- updatedAt\n- updatedBy\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  id\n-  name\n-  preference\n-  state\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserPreferencesAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_userpreferences.json
      tags:
        - UserPreferences
      summary: Create a new userpreference.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.UserPreference
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.UserPreference'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.UserPreferenceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/userpreferences/{id}.json:
    get:
      operationId: GET_v2_userpreferences_{id}.json
      tags:
        - UserPreferences
      summary: Get a single userpreference by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserPreferenceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_userpreferences_{id}.json
      tags:
        - UserPreferences
      summary: Update a userpreference.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.UserPreference
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.UserPreference'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserPreferenceAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_userpreferences_{id}.json
      tags:
        - UserPreferences
      summary: Delete a userpreference.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users.json:
    get:
      operationId: GET_v2_users.json
      tags:
        - Users
      summary: List users for current installation.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- autoFollowOnCC\n- avatarURL\n- createdAt\n- createdBy\n- editMethod\n- email\n- firstName\n- firstname\n- id\n- inboxes.id\n- isPartTime\n- lastName\n- lastname\n- reviewer\n- role\n- sendPushNotifications\n- sendWebNotifications\n- state\n- ticketReplyRedirect\n- trainingWheelsEnrollment\n- triggers.id\n- updatedAt\n- updatedBy\n- users.ontraining\n\nThe following values are allowed in the orderBy query parameter:\n-  autoFollowOnCC\n-  avatarURL\n-  createdAt\n-  createdBy\n-  editMethod\n-  email\n-  email\n-  firstName\n-  firstname\n-  id\n-  isPartTime\n-  isPartTime\n-  lastName\n-  lastname\n-  reviewer\n-  role\n-  role\n-  sendPushNotifications\n-  sendWebNotifications\n-  state\n-  ticketReplyRedirect\n-  trainingWheelsEnrollment\n-  updatedAt\n-  updatedBy\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- permissionusers\n- trainingwheelsenrollments\n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UsersAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_users.json
      tags:
        - Users
      summary: Create a new user.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.UserAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.UserAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.UserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/:id.json:
    delete:
      operationId: DELETE_v2_users_:id.json
      tags:
        - Users
      summary: Delete a user by ID.
      produces:
        - application/json
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/{id}.json:
    get:
      operationId: GET_v2_users_{id}.json
      tags:
        - Users
      summary: Get a single user by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- permissionusers\n- trainingwheelsenrollments\n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_users_{id}.json
      tags:
        - Users
      summary: Update user.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.User
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.User'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_users_{id}.json
      tags:
        - Users
      summary: Delete user.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/{id}/acceptinvite/{token}.json:
    get:
      operationId: GET_v2_users_{id}_acceptinvite_{token}.json
      tags:
        - Users
      summary: Accept token for user.
      produces:
        - application/json
      parameters:
        - name: token
          in: path
          type: integer
          required: true
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.UserAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/{id}/archive.json:
    put:
      operationId: PUT_v2_users_{id}_archive.json
      tags:
        - Users
      summary: Change the user's state to archived.
      description: |-
        The user will not be able to log in
        but his past actions will still be visible in Desk.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/{id}/replycount.json:
    get:
      operationId: GET_v2_users_{id}_replycount.json
      tags:
        - Users
      summary: Get the number of tickets replied to from the user in the past 30 days.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/v2.UserReplyCountResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/{id}/unarchive.json:
    put:
      operationId: PUT_v2_users_{id}_unarchive.json
      tags:
        - Users
      summary: Change an archived user's state back to active.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/users/bulk/delete.json:
    delete:
      operationId: DELETE_v2_users_bulk_delete.json
      tags:
        - Users
      summary: Bulk delete users by IDs.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.BulkDeleteAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.BulkDeleteAPIBody'
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhookendpoints.json:
    get:
      operationId: GET_v2_webhookendpoints.json
      tags:
        - WebhookEndpoints
      summary: Get a paginated list of webhookendpoints.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allEvents\n- allInboxes\n- contentType\n- createdAt\n- id\n- state\n- token\n- updatedAt\n- url\n\nThe following values are allowed in the orderBy query parameter:\n-  allEvents\n-  allInboxes\n-  contentType\n-  createdAt\n-  id\n-  state\n-  token\n-  updatedAt\n-  url\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- webhookendpointevents\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.WebhookEndpointsAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    post:
      operationId: POST_v2_webhookendpoints.json
      tags:
        - WebhookEndpoints
      summary: Create a new webhookendpoint.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.WebhookEndpointAPIBody
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.WebhookEndpointAPIBody'
      responses:
        201:
          description: 201 Created
          schema:
            $ref: '#/definitions/models.WebhookEndpointAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhookendpoints/{id}.json:
    get:
      operationId: GET_v2_webhookendpoints_{id}.json
      tags:
        - WebhookEndpoints
      summary: Get a single webhookendpoint by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- inboxes\n- users\n- webhookendpointevents\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.WebhookEndpointAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    patch:
      operationId: PATCH_v2_webhookendpoints_{id}.json
      tags:
        - WebhookEndpoints
      summary: Update a webhookendpoint.
      description: |-
        Update all the given properties for this resource. Any omitted properties
        will be unchanged.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.WebhookEndpoint
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.WebhookEndpoint'
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.WebhookEndpointAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
    delete:
      operationId: DELETE_v2_webhookendpoints_{id}.json
      tags:
        - WebhookEndpoints
      summary: Delete a webhookendpoint.
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        204:
          description: 204 No Content (no data)
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhookendpoints/delete.json:
    delete:
      operationId: DELETE_v2_webhookendpoints_delete.json
      tags:
        - WebhookEndpoints
      summary: Delete multiple webhookendpoints.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allEvents\n- allInboxes\n- contentType\n- createdAt\n- id\n- state\n- token\n- updatedAt\n- url"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhookendpoints/update.json:
    patch:
      operationId: PATCH_v2_webhookendpoints_update.json
      tags:
        - WebhookEndpoints
      summary: Update multiple webhookendpoints.
      description: "Update all the given properties for matching resources. Any omitted properties\nwill be unchanged.\n\n\n            The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- allEvents\n- allInboxes\n- contentType\n- createdAt\n- id\n- state\n- token\n- updatedAt\n- url"
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: models.WebhookEndpoint
          in: body
          required: true
          schema:
            $ref: '#/definitions/models.WebhookEndpoint'
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.BulkOpResponse'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhooks.json:
    get:
      operationId: GET_v2_webhooks.json
      tags:
        - Webhooks
      summary: Get a paginated list of webhooks.
      description: "The following values are allowed in the [filter](https://apidocs.teamwork.com/guides/desk/filtering-api-results) query parameter:\n        \n- createdAt\n- createdBy\n- deletedAt\n- deletedBy\n- failures\n- id\n- requestBody\n- requestError\n- requestHeaders\n- responseBody\n- responseHeaders\n- responseStatus\n- state\n- updatedAt\n- updatedBy\n- uuid\n- webhookEndpointId\n- webhookEventCode\n\nThe following values are allowed in the orderBy query parameter:\n-  createdAt\n-  createdBy\n-  deletedAt\n-  deletedBy\n-  failures\n-  id\n-  requestBody\n-  requestError\n-  requestHeaders\n-  responseBody\n-  responseHeaders\n-  responseStatus\n-  state\n-  updatedAt\n-  updatedBy\n-  uuid\n-  webhookEndpointId\n-  webhookEventCode\n\n\n            The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.WebhooksAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
  /v2/webhooks/{id}.json:
    get:
      operationId: GET_v2_webhooks_{id}.json
      tags:
        - Webhooks
      summary: Get a single webhook by id.
      description: "The following values are allowed in the [includes](https://apidocs.teamwork.com/guides/desk/relationships-and-includes) query parameter:\n        \n- users\n- all"
      produces:
        - application/json
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: 200 OK
          schema:
            $ref: '#/definitions/models.WebhookAPIBody'
        400:
          description: 400 Bad Request
          schema:
            $ref: '#/definitions/validate.Validator'
definitions:
  create.Customer:
    title: Customer
    description: Customer ID or Email is required, but not both.
    type: object
    properties:
      email:
        description: Use customer Email for a new customer
        type: string
      id:
        description: Use customer ID for an existing customer
        type: integer
  create.Message:
    title: Message
    type: object
    required:
      - subject
      - message
    properties:
      agent:
        $ref: '#/definitions/models.Relationship'
      bcc:
        description: List of BCC for the initial message
        type: array
        items:
          type: string
      cc:
        description: List of CC for the initial message
        type: array
        items:
          type: string
      customer:
        $ref: '#/definitions/create.Customer'
      customfields:
        description: The list of custom fields for available to the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      editMethod:
        description: |-
          The default input method for editing tickets. Options are html and
          markdown.
        type: string
      email:
        description: |-
          The email of a customer that should be created and then associated with the ticket.
          DEPRECATED please use customer.email
        type: string
      files:
        description: List of attachment
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      fromThreadId:
        description: When set, this message body and customer will be used to create this ticket, FromTicketID is also required if ticket is archived
        type: integer
      fromTicketId:
        description: |-
          When set, the message body and customer from the thread specified in FromThreadID will be used to create this ticket,
          this field is only required if ticket is archived
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      message:
        description: The ticket's initial message
        type: string
      notifyCustomer:
        description: Whether to notify the customer when an agent creates a ticket on behalf of the customer
        type: boolean
      parent:
        $ref: '#/definitions/models.Relationship'
      priority:
        $ref: '#/definitions/models.Relationship'
      project:
        $ref: '#/definitions/models.Relationship'
      scheduledEmail:
        $ref: '#/definitions/models.ScheduledEmail'
      sendFrom:
        description: Use an inbox alias to send email notifications
        type: string
      source:
        $ref: '#/definitions/models.Relationship'
      status:
        $ref: '#/definitions/models.Relationship'
      subject:
        description: The ticket's subject
        type: string
      tags:
        description: The list of word the ticket was tagged with
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      tickettemplate:
        $ref: '#/definitions/models.Relationship'
      type:
        $ref: '#/definitions/models.Relationship'
  decimal.Decimal:
    title: Decimal
    description: |-
      Decimal represents a fixed-point decimal. It is immutable.
      number = value * 10 ^ exp
    type: object
  filter.Aggregation:
    title: Aggregation
    description: Aggregation defines how a query should be aggregated
    type: object
    properties:
      Distinct:
        type: boolean
      Field:
        type: string
      Operation:
        type: string
  io.ReadCloser:
    title: ReadCloser
    description: ReadCloser is the interface that groups the basic Read and Close methods.
    type: object
  iservices.ServiceLocator:
    title: ServiceLocator
    type: object
  models.AIFeature:
    title: AIFeature
    description: AIFeature represents an AI feature in the master database.
    type: object
    properties:
      id:
        type: integer
      name:
        type: string
  models.AIInstallationContext:
    title: AIInstallationContext
    description: AIInstallationContext represents a AIInstallationContext.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      deskUsage:
        $ref: '#/definitions/models.DeskUsageReason'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      primaryCustomers:
        $ref: '#/definitions/models.PrimaryCustomers'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      toneOfVoice:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      websites:
        type: array
        items:
          $ref: '#/definitions/models.WebsiteContext'
  models.Address:
    title: Address
    description: Address is a postal address for a customer group
    type: object
    properties:
      city:
        description: city is the local region
        type: string
      country:
        description: A string representing the country of the address.
        type: string
      firstLine:
        description: firstLine is the street address
        type: string
      id:
        type: integer
      postalCode:
        description: An optional string field for countries/locales supporting postal codes
        type: string
      secondLine:
        description: |-
          secondLine is an optional field for additional context on the street
          address. Can be used for PO box and similar
        type: string
      state:
        description: An optional string field for locations supporting states
        type: string
  models.AgentInvite:
    title: AgentInvite
    description: AgentInvite represents a AgentInvite.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.AgentInviteAPIBody:
    title: AgentInviteAPIBody
    description: |-
      AgentInviteAPIBody handles the get/create/update request/response for
      agentinvite.
    type: object
    properties:
      agentinvite:
        $ref: '#/definitions/models.AgentInvite'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.AgentInvitesAPIBody:
    title: AgentInvitesAPIBody
    description: AgentInvitesAPIBody handles the listing response for agentinvite.
    type: object
    properties:
      agentinvites:
        type: array
        items:
          $ref: '#/definitions/models.AgentInvite'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Announcement:
    title: Announcement
    description: Announcement represents a Announcement.
    type: object
    properties:
      activeuntil:
        type: string
        format: date-time
      content:
        type: string
      createdat:
        type: string
        format: date-time
      id:
        type: integer
      isadminonly:
        type: boolean
      state:
        type: string
  models.AnnouncementAPIBody:
    title: AnnouncementAPIBody
    description: |-
      AnnouncementAPIBody handles the get/create/update request/response for
      announcement.
    type: object
    properties:
      announcement:
        $ref: '#/definitions/models.Announcement'
  models.AnomaliesAPIBody:
    title: AnomaliesAPIBody
    description: AnomaliesAPIBody handles the listing response for anomaly.
    type: object
    properties:
      anomalies:
        type: array
        items:
          $ref: '#/definitions/models.Anomaly'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Anomaly:
    title: Anomaly
    description: Anomaly represents a Anomaly.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.AnomalyAPIBody:
    title: AnomalyAPIBody
    description: |-
      AnomalyAPIBody handles the get/create/update request/response for
      anomaly.
    type: object
    properties:
      anomaly:
        $ref: '#/definitions/models.Anomaly'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.App:
    title: App
    description: App represents a App.
    type: object
    properties:
      appsettings:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      baseURL:
        type: string
      code:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isInstalled:
        type: boolean
      logoURL:
        type: string
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      url:
        type: string
  models.AppAPIBody:
    title: AppAPIBody
    description: |-
      AppAPIBody handles the get/create/update request/response for
      app.
    type: object
    properties:
      app:
        $ref: '#/definitions/models.App'
      included:
        $ref: '#/definitions/models.Included'
  models.AppFeature:
    title: AppFeature
    description: AppFeature represents a AppFeature.
    type: object
    properties:
      createdAt:
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.AppFeatureAPIBody:
    title: AppFeatureAPIBody
    description: |-
      AppFeatureAPIBody handles the get/create/update request/response for
      appfeature.
    type: object
    properties:
      appfeature:
        $ref: '#/definitions/models.AppFeature'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.AppFeaturesAPIBody:
    title: AppFeaturesAPIBody
    description: AppFeaturesAPIBody handles the listing response for appfeature.
    type: object
    properties:
      appfeatures:
        type: array
        items:
          $ref: '#/definitions/models.AppFeature'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.AppFeaturesInstallation:
    title: AppFeaturesInstallation
    description: AppFeaturesInstallation represents a AppFeaturesInstallation.
    type: object
    properties:
      appfeatureId:
        type: integer
      comment:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        description: Name is gotten from the app_features table on master
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        type: integer
  models.AppFeaturesInstallationAPIBody:
    title: AppFeaturesInstallationAPIBody
    description: |-
      AppFeaturesInstallationAPIBody handles the get/create/update request/response for
      appfeaturesinstallation.
    type: object
    properties:
      appfeaturesinstallation:
        $ref: '#/definitions/models.AppFeaturesInstallation'
      included:
        $ref: '#/definitions/models.Included'
  models.AppFeaturesInstallationsAPIBody:
    title: AppFeaturesInstallationsAPIBody
    description: AppFeaturesInstallationsAPIBody handles the listing response for appfeaturesinstallation.
    type: object
    properties:
      appfeaturesinstallations:
        type: array
        items:
          $ref: '#/definitions/models.AppFeaturesInstallation'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.AppSetting:
    title: AppSetting
    description: AppSetting represents an app setting
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      defaultValue:
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayName:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isSecret:
        type: boolean
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        type: string
  models.AppsAPIBody:
    title: AppsAPIBody
    description: AppsAPIBody handles the listing response for app.
    type: object
    properties:
      apps:
        type: array
        items:
          $ref: '#/definitions/models.App'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.BackgroundJob:
    title: BackgroundJob
    description: BackgroundJob represents a BackgroundJob.
    type: object
    properties:
      completed:
        type: string
      createdAt:
        type: string
      description:
        type: string
      failed:
        type: integer
      pending:
        type: integer
      percent:
        type: integer
      state:
        type: string
      succeed:
        type: string
      total:
        type: integer
  models.BackgroundJobAPIBody:
    title: BackgroundJobAPIBody
    description: |-
      BackgroundJobAPIBody handles the get/create/update request/response for
      backgroundjob.
    type: object
    properties:
      backgroundjob:
        $ref: '#/definitions/models.BackgroundJob'
      included:
        $ref: '#/definitions/models.Included'
  models.BulkDeleteAPIBody:
    title: BulkDeleteAPIBody
    description: |-
      BulkDeleteAPIBody handles request/response for bulk deleting users from the
      internal API.
    type: object
    properties:
      userIds:
        type: array
        items:
          type: integer
  models.BulkOpResponse:
    title: BulkOpResponse
    description: BulkOpResponse is a bulk operation response
    type: object
    properties:
      jobId:
        type: string
  models.BusinessHour:
    title: BusinessHour
    description: BusinessHour represents a BusinessHour.
    type: object
    properties:
      businesshourholidays:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      businesshourschedules:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isDefault:
        type: boolean
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      timezone_name:
        type: string
      timezoneId:
        type: integer
      triggers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.BusinessHourAPIBody:
    title: BusinessHourAPIBody
    description: |-
      BusinessHourAPIBody handles the get/create/update request/response for
      businesshour.
    type: object
    properties:
      businesshour:
        $ref: '#/definitions/models.BusinessHour'
      included:
        $ref: '#/definitions/models.Included'
  models.BusinessHoursAPIBody:
    title: BusinessHoursAPIBody
    description: BusinessHoursAPIBody handles the listing response for businesshour.
    type: object
    properties:
      businesshours:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHour'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.BusinessHoursHoliday:
    title: BusinessHoursHoliday
    description: BusinessHoursHoliday represents a BusinessHoursHoliday.
    type: object
    properties:
      businesshours_id:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      endDate:
        type: string
        format: date-time
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      startDate:
        type: string
        format: date-time
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.BusinessHoursHolidayAPIBody:
    title: BusinessHoursHolidayAPIBody
    description: |-
      BusinessHoursHolidayAPIBody handles the get/create/update request/response for
      businesshoursholiday.
    type: object
    properties:
      businesshoursholiday:
        $ref: '#/definitions/models.BusinessHoursHoliday'
      included:
        $ref: '#/definitions/models.Included'
  models.BusinessHoursHolidaysAPIBody:
    title: BusinessHoursHolidaysAPIBody
    description: BusinessHoursHolidaysAPIBody handles the listing response for businesshoursholiday.
    type: object
    properties:
      businesshoursholidays:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHoursHoliday'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.BusinessHoursSchedule:
    title: BusinessHoursSchedule
    description: BusinessHoursSchedule represents a BusinessHoursSchedule.
    type: object
    properties:
      businesshours_id:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      day:
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      endHour:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      startHour:
        description: This represents minutes from 0 to 1438
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.BusinessHoursScheduleAPIBody:
    title: BusinessHoursScheduleAPIBody
    description: |-
      BusinessHoursScheduleAPIBody handles the get/create/update request/response for
      businesshoursschedule.
    type: object
    properties:
      businesshoursschedule:
        $ref: '#/definitions/models.BusinessHoursSchedule'
      included:
        $ref: '#/definitions/models.Included'
  models.BusinessHoursSchedulesAPIBody:
    title: BusinessHoursSchedulesAPIBody
    description: BusinessHoursSchedulesAPIBody handles the listing response for businesshoursschedule.
    type: object
    properties:
      businesshoursschedules:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHoursSchedule'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.CannedResponse:
    title: CannedResponse
    description: |-
      CannedResponse is a stored response that agents can provide to customers for
      common inquiries.s
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      name:
        description: |-
          The name of the canned response is a searchable string shown to agents in
          the text editor when responding to a ticket.
        type: string
      reply:
        description: |-
          Reply is the body content of the canned response. The body content
          accepts certain variables which will be replaced when the response is
          injected into the ticket.
        type: string
      replyPlain:
        description: |-
          ReplyPlain is the body content of the canned response in plain text.
          This value is read-only and for display purposes only. Variables are not
          replaced
        type: string
      shared:
        description: Whether the canned response can be used by any agent.
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.CannedResponseAPIBody:
    title: CannedResponseAPIBody
    description: CannedResponseAPIBody handles request/response for a single canned response
    type: object
    properties:
      cannedresponse:
        $ref: '#/definitions/models.CannedResponse'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          files:
            type: array
            items:
              $ref: '#/definitions/models.File'
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.CannedResponsesAPIBody:
    title: CannedResponsesAPIBody
    description: CannedResponsesAPIBody handles request/response for canned response listing
    type: object
    properties:
      cannedresponses:
        type: array
        items:
          $ref: '#/definitions/models.CannedResponse'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          files:
            type: array
            items:
              $ref: '#/definitions/models.File'
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.CompaniesAPIBody:
    title: CompaniesAPIBody
    description: CompaniesAPIBody is the request/response format for bulk company API calls
    type: object
    properties:
      companies:
        type: array
        items:
          $ref: '#/definitions/models.Company'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Company:
    title: Company
    description: A Company is a group of customers.
    type: object
    required:
      - name
    properties:
      address:
        $ref: '#/definitions/models.Relationship'
      avatarPath:
        description: A read-only domain + path where the company avatar can be accessed
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      customersCount:
        description: Read-only count of the number of customers within the company
        type: integer
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      details:
        description: Optional reference data for the company
        type: string
      domains:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      email:
        description: |-
          The email address that can be used to contact the company. This is used
          as reference data only.
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      industry:
        description: Optional reference field for the company's industry
        type: string
      kind:
        description: |-
          Specifies whether the company is a group (custom group of customers) or a
          company, added automatically via domain matching.
        type: string
      name:
        description: |-
          The unique name of the company which can be filtered on throughout the
          application: reports, search, and views.
        type: string
      permission:
        description: |-
          Specifies the access that customers within this company will have access
          to company tickets. The options are "own" and "all". When "own"
          customers can only view their own tickets within the portal. When "all"
          customers can see their tickets as well as all tickets from all members
          of the company. This setting can be overridden per customer.s
        type: string
      phones:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      pmcompany:
        $ref: '#/definitions/models.Relationship'
      sociallinks:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketsCount:
        description: Read-only count of the number of tickets within the company
        type: integer
      unreadTicketsCount:
        description: Read-only count of the number of unread tickets within the company
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      website:
        description: Optional reference field for storing the company url
        type: string
  models.CompanyAPIBody:
    title: CompanyAPIBody
    description: CompanyAPIBody is the request/response format for the API
    type: object
    properties:
      company:
        $ref: '#/definitions/models.Company'
      createInProjects:
        description: CreateInProjects is a flag that indicates wether or not we should create a client for this company in Teamwork Projects
        type: boolean
      included:
        $ref: '#/definitions/models.Included'
  models.Condition:
    title: Condition
    description: Condition represents a Trigger/SmartInbox condition.
    type: object
    properties:
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customfield:
        $ref: '#/definitions/models.Relationship'
      customfieldoption:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      field:
        description: "Left operand \n\n1 - Customer Name\n\n2 - Customer Email\n\n4 - Ticket Type\n\n5 - Ticket Status\n\n6 - Ticket Assignee\n\n7 - Ticket Subject\n\n8 - Ticket Attachment\n\n9 - Ticket Tags\n\n10 - Hours since Ticket Created\n\n11 - Hours since Ticket Last Updated\n\n12 - Hours since User Last Replied\n\n13 - Hours since Customer Last Replied\n\n14 - Ticket Source\n\n15 - Ticket Priority\n\n16 - Body of the Initial Message\n\n17 - Original Recipient\n\n18 - Follower\n\n19 - Mention\n\n20 - Message Added By\n\n21 - Note Added By\n\n22 - Hours awaiting Agent Reply\n\n23 - Hours awaiting Customer Reply\n\n24 - Inbox\n\n25 - Company\n\n27 - Creation Date"
        type: integer
        minimum: 1
        maximum: 27
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      matchRequirement:
        description: ALL or ANY
        type: string
      operator:
        description: "Operator \n\n1 - Contains\n\n2 - Doesn't Contain\n\n3 - Equal\n\n4 - Not Equal\n\n5 - Starts With\n\n6 - Ends With\n\n7 - Matches Regex\n\n12 - Has Attachment\n\n13 - Does Not Have Attachment\n\n16 - Contains\n\n17 - In\n\n18 - Not In\n\n19 - Equal\n\n20 - Greater Than\n\n21 - Less Than\n\n22 - Is within business hours\n\n23 - Is not within business hours\n\n24 - Is on holidays\n\n25 - Is not on holidays"
        type: integer
        minimum: 1
        maximum: 25
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        description: Right operand
        type: string
  models.ContactForm:
    title: ContactForm
    description: ContactForm represents a ContactForm.
    type: object
    properties:
      accentColor:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      helpdocs:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      id:
        type: integer
      inboxFieldName:
        type: string
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      isLiveChatEnabled:
        type: boolean
      liveChatWelcomeMessage:
        type: string
      name:
        type: string
      position:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      theme:
        type: string
      token:
        type: string
      triggerColor:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ContactFormAPIBody:
    title: ContactFormAPIBody
    description: |-
      ContactFormAPIBody handles the get/create/update request/response for
      contactform.
    type: object
    properties:
      contactform:
        $ref: '#/definitions/models.ContactForm'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.ContactFormsAPIBody:
    title: ContactFormsAPIBody
    description: ContactFormsAPIBody handles the listing response for contactform.
    type: object
    properties:
      contactforms:
        type: array
        items:
          $ref: '#/definitions/models.ContactForm'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Conversation:
    title: Conversation
    description: Conversation represents a Conversation.
    type: object
    properties:
      contact:
        $ref: '#/definitions/models.CustomerContact'
      contactId:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      messages:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      socket_id:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket_id:
        type: integer
      token:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      users:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
  models.ConversationAPIBody:
    title: ConversationAPIBody
    description: |-
      ConversationAPIBody handles the get/create/update request/response for
      conversation.
    type: object
    properties:
      conversation:
        $ref: '#/definitions/models.Conversation'
      included:
        $ref: '#/definitions/models.Included'
      pusher:
        $ref: '#/definitions/v7.AuthenticatedChannel'
  models.ConversationMessage:
    title: ConversationMessage
    description: ConversationMessage represents a ConversationMessage.
    type: object
    properties:
      contactId:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      userId:
        type: integer
  models.ConversationMessageAPIBody:
    title: ConversationMessageAPIBody
    description: |-
      ConversationMessageAPIBody handles the get/create/update request/response for
      conversationmessage.
    type: object
    properties:
      conversationmessage:
        $ref: '#/definitions/models.ConversationMessage'
      included:
        $ref: '#/definitions/models.Included'
  models.ConversationMessagesAPIBody:
    title: ConversationMessagesAPIBody
    description: ConversationMessagesAPIBody handles the listing response for conversationmessage.
    type: object
    properties:
      conversationmessages:
        type: array
        items:
          $ref: '#/definitions/models.ConversationMessage'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.ConversationsAPIBody:
    title: ConversationsAPIBody
    description: ConversationsAPIBody handles the listing response for conversation.
    type: object
    properties:
      conversations:
        type: array
        items:
          $ref: '#/definitions/models.Conversation'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.CustomField:
    title: CustomField
    description: CustomField represents a CustomField.
    type: object
    properties:
      addToNewInboxes:
        description: Whether to automatically share this customfield with new inboxes
        type: boolean
      agentLabel:
        description: The field name that will be seen by the agents.
        type: string
      agentRequired:
        description: Whether agents are required to input the field
        type: boolean
      apps:
        description: 'Options for each application: helpdocs, portal, contact form'
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customerLabel:
        description: The field name that will be seen by the customers.
        type: string
      customerRequired:
        description: Whether customers are required to input the field
        type: boolean
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        description: Optional custom field description
        type: string
      displayOrder:
        description: Optional number that will determine the custom field position
        type: integer
      enabled:
        description: Whether the field should be displayed and validated
        type: boolean
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      kind:
        description: 'The custom field input kind: dropdown, checkboxes, text, textarea, number or date'
        type: string
      options:
        description: Options available for dropdowns and checkboxes
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.CustomFieldAPIBody:
    title: CustomFieldAPIBody
    type: object
    properties:
      customfield:
        $ref: '#/definitions/models.CustomField'
      included:
        $ref: '#/definitions/models.Included'
  models.CustomFieldApps:
    title: CustomFieldApps
    description: |-
      CustomFieldApps references an entry in the customfieldsapps table on each Desk
      shard. It is related to Field.
    type: object
    properties:
      canEditData:
        description: Whether customers can edit the associated field through this app.
        type: boolean
      canViewData:
        description: Whether customers can view the associated field through this app.
        type: boolean
      customfield:
        $ref: '#/definitions/models.Relationship'
      id:
        type: integer
      name:
        description: 'App which this record is association to: helpdocs, portal, contact form'
        type: string
  models.CustomFieldOption:
    title: CustomFieldOption
    description: CustomFieldOption represents a CustomFieldOption.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customfield:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        description: Optional number that will determine the option position
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        description: Option name, also used as value
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.CustomFieldOptionAPIBody:
    title: CustomFieldOptionAPIBody
    description: |-
      CustomFieldOptionAPIBody handles the get/create/update request/response for
      customfieldoption.
    type: object
    properties:
      customfieldoption:
        $ref: '#/definitions/models.CustomFieldOption'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.CustomFieldOptionsAPIBody:
    title: CustomFieldOptionsAPIBody
    description: CustomFieldOptionsAPIBody handles the listing response for customfieldoptions.
    type: object
    properties:
      customfieldoptions:
        type: array
        items:
          $ref: '#/definitions/models.CustomFieldOption'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.CustomFieldSearch:
    title: CustomFieldSearch
    description: |-
      CustomFieldSearch defines a filter that can be passed up to the search
      endpoint for tickets to filter by custom fields.
    type: object
    properties:
      id:
        type: integer
      operation:
        description: Operation supports everything in CustomFieldSearchOperations
        type: string
      value:
        description: |-
          Value handles single, multiline, date, and number fields. We can convert
          them before querying elastic.
        type: string
      values:
        description: Values handles checkboxes and radios.
        type: array
        items:
          type: integer
  models.CustomFieldsAPIBody:
    title: CustomFieldsAPIBody
    type: object
    properties:
      customfields:
        type: array
        items:
          $ref: '#/definitions/models.CustomField'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Customer:
    title: Customer
    description: Customer represents a Customer.
    type: object
    properties:
      addMethod:
        description: |-
          Specifies whether the customer was added to a company via domain matching
          (automatic) or by an agent manually. (read-only)
        type: string
      address:
        description: Customer address
        type: string
      avatarURL:
        description: Customer avatar URL
        type: string
      company:
        $ref: '#/definitions/models.Relationship'
      contacts:
        description: RelContacts is a list of the customer's contacts relationships
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customerwelcomeemails:
        description: |-
          RelWelcomeEmails is a historicaal record of welcome emails sent to the
          customer
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      email:
        description: |-
          The email address of the customer. Email ticket replies and chat
          transcriptions will be sent to the customer at this address.
        type: string
      externalId:
        description: Customer external ID
        type: string
      extraData:
        description: Provides a free-form reference field for additional customer information.
        type: string
      facebookURL:
        description: The Facebook URL address of the customer.
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      firstName:
        description: An optional field to store the first name of the customer.
        type: string
      id:
        type: integer
      jobTitle:
        description: Customer job title
        type: string
      lastName:
        description: An optional field to store the last name of the customer.
        type: string
      linkedinURL:
        description: The Linkedin URL address of the customer.
        type: string
      mobile:
        description: Customer mobile
        type: string
      notes:
        description: Provides a free-form reference field for additional customer information.
        type: string
      numTickets:
        description: Number of customer tickets
        type: integer
      numVisibleTickets:
        description: 'nolint: staticcheck'
        type: integer
      organization:
        description: |-
          Organization is the name of the organization that the customer is in.
          This feature has been deprecated in favor of "companies".
        type: string
      password:
        $ref: '#/definitions/models.password'
      permission:
        description: |-
          Overrides the company ticket permission settings (own or all). Is only
          valid for customers that belong to a company.
        type: string
      phone:
        description: Customer phone
        type: string
      pmperson:
        $ref: '#/definitions/models.Relationship'
      sendWelcomeEmail:
        description: |-
          SendWelcomeEmail is a flag to indicate whether the customer portal
          welcome email should be sent on initial customer creation.
        type: boolean
      standing:
        description: |-
          Bad, New, or Good.
          Customers that have only sent spam have a "bad" standing
          Recently created customers have "new" standing
          Customers with which agents have interacted have "good" standing
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      trusted:
        description: Trusted customers images are displayed automatically
        type: boolean
      twitterHandle:
        description: The Twitter Handle of the customer.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      verifiedEmail:
        description: |-
          Specifies whether the customer has verified their email address
          (read-only)
        type: boolean
      welcomeEmailSent:
        description: |-
          Whether the customer portal welcome email was sent to this customer. If
          the portal is enabled and the customer was sent the email it can be
          resent via the resend api.
        type: boolean
  models.CustomerAPIBody:
    title: CustomerAPIBody
    description: CustomerAPIBody is the request/response format for the API
    type: object
    properties:
      customer:
        $ref: '#/definitions/models.Customer'
      included:
        $ref: '#/definitions/models.Included'
  models.CustomerContact:
    title: CustomerContact
    description: CustomerContact is a customer contact detail
    type: object
    required:
      - value
      - type
      - isMain
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isMain:
        description: IsMain is true if this is the main contact detail for the customer
        type: boolean
      pmfield:
        description: 'nolint: lll'
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        description: Type is the type of contact detail, e.g. email
        type: string
        enum:
          - email
          - twitter
          - facebook
          - linkedin
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        description: Value is the contact detail, e.g. an email address
        type: string
  models.CustomerPortal:
    title: CustomerPortal
    description: |-
      CustomerPortal provides a manner for customers to submit and view their
      tickets.  Customers belonging to a company can also (optionally) see and
      interact with tickets from members of their organization.
    type: object
    properties:
      bodyColor:
        description: Specifies the background color on the site. Must be in hex format.
        type: string
      bodyLinks:
        description: |-
          Specifies the color that links on the main body will appear. This
          includes links in the linked helpdocs as well as any tickets and ticket
          listings. Must be in hex format.
        type: string
      bodyText:
        description: |-
          The default of all non-linked text in the body. Includes helpdocs and
          tickets. Must be in hex format.
        type: string
      button:
        description: The background color of buttons in the body. Must be in hex format.
        type: string
      buttonText:
        description: The color of the text on buttons. Must be in hex format.
        type: string
      canCloseTicket:
        description: When set the customer can mark the ticket as closed
        type: boolean
      canEditTags:
        description: When set the customer can add/remove tags
        type: boolean
      canSeeAgent:
        description: |-
          When set the customer can see the name of the agent that is assigned to
          the ticket.
        type: boolean
      canSeeLastRead:
        description: |-
          When set the customer can see the time that the ticket was last viewed by
          an agent.
        type: boolean
      canSeeTags:
        description: When set the customer can see the tags applied to the ticket
        type: boolean
      canSetPriority:
        description: When set the customer can change the priority of the ticket
        type: boolean
      canSetType:
        description: |-
          When set the cutomer can set the ticket type when creating or updating
          the ticket
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customDomain:
        description: |-
          An optional field specifying where customers should be able to login to
          the site. Currently /support is always appended on to the root URL. No
          other path is permitted.
        type: string
      customerWelcomeEmail:
        description: |-
          The body of the welcome email to be sent if `sendCustoemrWelcome` is
          enabled
        type: string
      customerWelcomeSubject:
        description: |-
          The subject of the email sent to customers after their first email is
          received. This will only be sent if `sendCustoemrWelcome` is enabled
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      enabled:
        type: boolean
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      header:
        description: Top navigation background color
        type: string
      headerLinks:
        description: Top navigation link color
        type: string
      helpdocs:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      icon:
        type: string
      id:
        type: integer
      inboxFieldName:
        type: string
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      language:
        description: |-
          Which language should the customer portal text be shown in. When left
          blank the portal will show the language specified by the visitor's
          browser.
        type: string
      requireTicketAuth:
        description: When set the customer must be logged in before submitting a ticket
        type: boolean
      search:
        description: The hero/search area background color
        type: string
      searchText:
        description: The hero/search area text color
        type: string
      sendCustomerWelcome:
        description: |-
          When enabled the customer welcome email will be sent to new customers
          when their first ticket is received. This does NOT impact customers that
          are added manually or imported from external services.
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      styleHelpDocsId:
        description: |-
          When a valid helpdocs site id is passed the portal will inherit the
          colors of that helpdoc site
        type: integer
      stylesheetURL:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      url:
        type: string
  models.CustomerPortalAPIBody:
    title: CustomerPortalAPIBody
    description: |-
      CustomerPortalAPIBody handles the get/create/update request/response for
      customerportal.
    type: object
    properties:
      customerportal:
        $ref: '#/definitions/models.CustomerPortal'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.CustomerPortalsAPIBody:
    title: CustomerPortalsAPIBody
    description: CustomerPortalAPIBody handles the listing response for customerportal.
    type: object
    properties:
      customerportal:
        type: array
        items:
          $ref: '#/definitions/models.CustomerPortal'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.CustomerTicketsRead:
    title: CustomerTicketsRead
    description: CustomerTicketsRead represents a CustomerTicketsRead.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.CustomerWelcomeEmail:
    title: CustomerWelcomeEmail
    description: CustomerWelcomeEmail represents a CustomerWelcomeEmail.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.CustomersAPIBody:
    title: CustomersAPIBody
    description: CustomersAPIBody is the request/response format for bulk company API calls
    type: object
    properties:
      customers:
        type: array
        items:
          $ref: '#/definitions/models.Customer'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.DeskUsageReason:
    title: DeskUsageReason
    type: object
    properties:
      customerOnboarding:
        type: boolean
      customerSupport:
        type: boolean
      internalSupport:
        type: boolean
      other:
        type: boolean
      otherDescription:
        type: string
      projectTaskSupport:
        type: boolean
      realTimeSupport:
        type: boolean
      serviceDelivery:
        type: boolean
  models.Device:
    title: Device
    description: Device represents a Device.
    type: object
    properties:
      app:
        description: Application
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      lastRegisteredAt:
        description: Last mobile registration time
        type: string
        format: date-time
      platform:
        description: Mobile platform (android, ios, etc)
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      token:
        description: Unique device identification
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      version:
        description: Device push notification version
        type: number
  models.DeviceAPIBody:
    title: DeviceAPIBody
    description: |-
      DeviceAPIBody handles the get/create/update request/response for
      device.
    type: object
    properties:
      device:
        $ref: '#/definitions/models.Device'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.DevicesAPIBody:
    title: DevicesAPIBody
    description: DevicesAPIBody handles the listing response for device.
    type: object
    properties:
      devices:
        type: array
        items:
          $ref: '#/definitions/models.Device'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Domain:
    title: Domain
    description: |-
      Domain struct for domains table
      records are not bound to an installation so
      be mindful when updating/deleting
    type: object
    properties:
      company:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      project:
        $ref: '#/definitions/models.Relationship'
      projects_company:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.DomainAPIBody:
    title: DomainAPIBody
    description: |-
      DomainAPIBody handles the get/create/update request/response for
      domain.
    type: object
    properties:
      domain:
        $ref: '#/definitions/models.Domain'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.DomainsAPIBody:
    title: DomainsAPIBody
    description: DomainsAPIBody handles the listing response for domain.
    type: object
    properties:
      domains:
        type: array
        items:
          $ref: '#/definitions/models.Domain'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Error:
    title: Error
    description: Error represents an occurrence of an error in the API.
    type: object
    properties:
      Code:
        type: string
      Detail:
        type: string
      DocURL:
        type: string
      ID:
        type: string
      Source:
        type: string
      Title:
        type: string
  models.Export:
    title: Export
    description: Export represents a Export.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        type: string
      resource:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ExportAPIBody:
    title: ExportAPIBody
    description: |-
      ExportAPIBody handles the get/create/update request/response for
      export.
    type: object
    properties:
      export:
        $ref: '#/definitions/models.Export'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.ExportsAPIBody:
    title: ExportsAPIBody
    description: ExportsAPIBody handles the listing response for export.
    type: object
    properties:
      exports:
        type: array
        items:
          $ref: '#/definitions/models.Export'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.FailedTrigger:
    title: FailedTrigger
    description: FailedTrigger represents a FailedTrigger.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isRead:
        type: boolean
      message:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      trigger:
        $ref: '#/definitions/models.Relationship'
      triggersAction:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      users:
        $ref: '#/definitions/models.Relationship'
  models.FailedTriggerAPIBody:
    title: FailedTriggerAPIBody
    description: |-
      FailedTriggerAPIBody handles the get/create/update request/response for
      failedtrigger.
    type: object
    properties:
      failedtrigger:
        $ref: '#/definitions/models.FailedTrigger'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.FailedTriggersAPIBody:
    title: FailedTriggersAPIBody
    description: FailedTriggersAPIBody handles the listing response for failedtrigger.
    type: object
    properties:
      failedtriggers:
        type: array
        items:
          $ref: '#/definitions/models.FailedTrigger'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.FeatureRequest:
    title: FeatureRequest
    description: |-
      FeatureRequest is the payload for requesting a Desk feature.  This is often
      forwared to an admin for approval.
    type: object
    properties:
      admins:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      ctaUrl:
        type: string
      feature:
        type: string
  models.Feedback:
    title: Feedback
    description: Feedback represents a Feedback.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      feature:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      metadata:
        type: string
      objectId:
        type: integer
      positive:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.FeedbackAPIBody:
    title: FeedbackAPIBody
    description: |-
      FeedbackAPIBody handles the get/create/update request/response for
      feedback.
    type: object
    properties:
      feedback:
        $ref: '#/definitions/models.Feedback'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.FeedbacksAPIBody:
    title: FeedbacksAPIBody
    description: FeedbacksAPIBody handles the listing response for feedback.
    type: object
    properties:
      feedbacks:
        type: array
        items:
          $ref: '#/definitions/models.Feedback'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.File:
    title: File
    description: File represents a File.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      disposition:
        description: 'Determine where the attachment was added: attachment or attachment-inline'
        type: string
      downloadURL:
        description: The URL from where the file can be downloaded
        type: string
      filename:
        description: The file name as originally submitted
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      mimeType:
        description: Standard mime type of the file
        type: string
      pixelHeight:
        type: integer
      pixelWidth:
        type: integer
      proxyKey:
        description: |-
          Proxy key is a required key passed in to ensure that the user has
          permission to view the file
        type: string
      s3Path:
        type: string
      scanResults:
        description: ScanResults contains JSON findings from upload safety checks.
        type: string
      size:
        description: The file size in byes
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        $ref: '#/definitions/models.FileType'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.FileAPIBody:
    title: FileAPIBody
    description: |-
      FileAPIBody handles the get/create/update request/response for
      file.
    type: object
    properties:
      file:
        $ref: '#/definitions/models.File'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.FileType:
    title: FileType
    description: FileType uploaded file type
    type: object
    properties:
      ContentTypes:
        type: array
        items:
          type: string
      MaxSize:
        type: integer
      Name:
        type: string
  models.FilesScheduledEmail:
    title: FilesScheduledEmail
    description: FilesScheduledEmail represents a FilesScheduledEmail.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      fileId:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      scheduledEmail:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.FilterField:
    title: FilterField
    description: |-
      FilterField represents database entry for filters fields in Desk.
      Used by companyfield and customerfield.
    type: object
    properties:
      bodyTemplate:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customfield:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      field:
        type: string
      fieldtype:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      kind:
        type: string
      label:
        type: string
      locked:
        type: boolean
      minWidth:
        type: number
      orderable:
        type: boolean
      position:
        type: integer
      selected:
        type: boolean
      sortable:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      template:
        type: string
      toggleable:
        type: boolean
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      width:
        type: number
      widthUnit:
        type: string
  models.FilterFieldsAPIBody:
    title: FilterFieldsAPIBody
    description: FilterFieldsAPIBody handles the listing response for filterfield.
    type: object
    properties:
      fields:
        type: array
        items:
          $ref: '#/definitions/models.FilterField'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HIPAASettings:
    title: HIPAASettings
    description: HIPAASettings defines an entry in the hipaasettings table
    type: object
    properties:
      autoLogout:
        type: boolean
      autoLogoutExpiry:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customNotificationBody:
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      ipWhiteList:
        type: string
      mobileLoginEnabled:
        description: |-
          MobileLoginEnabled is a field from `allinstallations`. This field needs
          to be fetched and stored individually
        type: boolean
      newInboxesNotificationsOnly:
        description: 'nolint: lll'
        type: boolean
      notificationsOnly:
        type: boolean
      preventBulkDownload:
        type: boolean
      preventCompanyPortalAccess:
        description: 'nolint: lll'
        type: boolean
      samlRequired:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HIPAASettingsAPIBody:
    title: HIPAASettingsAPIBody
    description: |-
      HIPAASettingsAPIBody handles the get/create/update request/response for
      HIPAASettings.
    type: object
    properties:
      hipaaSettings:
        $ref: '#/definitions/models.HIPAASettings'
  models.HIPAAViolation:
    title: HIPAAViolation
    description: HIPAAViolation references a violation entry in the database
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      hipaaSettingsId:
        type: integer
      id:
        type: integer
      ip:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HIPAAViolationsAPIBody:
    title: HIPAAViolationsAPIBody
    description: |-
      HIPAAViolationsAPIBody handles the get/create/update request/response for
      HIPAAViolations.
    type: object
    properties:
      hipaaViolations:
        type: array
        items:
          $ref: '#/definitions/models.HIPAAViolation'
  models.HIPAAWhitelist:
    title: HIPAAWhitelist
    description: HIPAAWhitelist contains a whitelist entry from the database
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      endAt:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      hipaaSettingsId:
        type: integer
      id:
        type: integer
      name:
        type: string
      startAt:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HIPAAWhitelistAPIBody:
    title: HIPAAWhitelistAPIBody
    description: |-
      HIPAAWhitelistAPIBody handles the get/create/update request/response for
      HIPAAWhitelist.
    type: object
    properties:
      hipaaWhitelist:
        $ref: '#/definitions/models.HIPAAWhitelist'
  models.HIPAAWhitelistsAPIBody:
    title: HIPAAWhitelistsAPIBody
    description: |-
      HIPAAWhitelistsAPIBody handles the get/create/update request/response for
      HIPAAWhitelists.
    type: object
    properties:
      hipaaWhitelists:
        type: array
        items:
          $ref: '#/definitions/models.HIPAAWhitelist'
  models.HappinessRating:
    title: HappinessRating
    description: HappinessRating represents a HappinessRating.
    type: object
    properties:
      comment:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      deletedReason:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      happinessratingoption:
        $ref: '#/definitions/models.Relationship'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HappinessRatingAPIBody:
    title: HappinessRatingAPIBody
    description: |-
      HappinessRatingAPIBody handles the get/create/update request/response for
      happinessrating.
    type: object
    properties:
      happinessrating:
        $ref: '#/definitions/models.HappinessRating'
      included:
        $ref: '#/definitions/models.Included'
  models.HappinessRatingOption:
    title: HappinessRatingOption
    description: HappinessRatingOption represents a HappinessRatingOption.
    type: object
    properties:
      annotation:
        type: string
      color:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      score:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HappinessRatingOptionAPIBody:
    title: HappinessRatingOptionAPIBody
    description: |-
      HappinessRatingOptionAPIBody handles the get/create/update request/response for
      happinessratingoption.
    type: object
    properties:
      happinessratingoption:
        $ref: '#/definitions/models.HappinessRatingOption'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HappinessRatingOptionsAPIBody:
    title: HappinessRatingOptionsAPIBody
    description: HappinessRatingOptionsAPIBody handles the listing response for happinessratingoption.
    type: object
    properties:
      happinessratingoptions:
        type: array
        items:
          $ref: '#/definitions/models.HappinessRatingOption'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HappinessRatingsAPIBody:
    title: HappinessRatingsAPIBody
    description: HappinessRatingsAPIBody handles the listing response for happinessrating.
    type: object
    properties:
      happinessratings:
        type: array
        items:
          $ref: '#/definitions/models.HappinessRating'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocArticle:
    title: HelpdocArticle
    description: HelpdocArticle represents a HelpdocArticle.
    type: object
    properties:
      categories:
        description: Non-database fields
        type: array
        items:
          type: integer
      contents:
        description: Virtual fields
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      displayOrder:
        type: integer
      disqusEnabled:
        type: boolean
      editMethod:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      helpdocsite:
        $ref: '#/definitions/models.Relationship'
      id:
        type: integer
      isPrivate:
        type: boolean
      oldURL:
        type: string
      popularity:
        type: integer
      relatedArticles:
        type: array
        items:
          type: integer
      siteId:
        type: integer
      slug:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: string
      title:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocArticleAPIBody:
    title: HelpdocArticleAPIBody
    description: |-
      HelpdocArticleAPIBody handles the request/response for a single helpdoc
      article
    type: object
    properties:
      helpdocarticle:
        $ref: '#/definitions/models.HelpdocArticle'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          sites:
            type: array
            items:
              $ref: '#/definitions/models.HelpdocsSite'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocArticlesAPIBody:
    title: HelpdocArticlesAPIBody
    description: |-
      HelpdocArticlesAPIBody handles the request/response for helpdoc article
      listing
    type: object
    properties:
      helpdocarticles:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocArticle'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          sites:
            type: array
            items:
              $ref: '#/definitions/models.HelpdocsSite'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocArticlesKeyword:
    title: HelpdocArticlesKeyword
    description: HelpdocArticlesKeyword represents a HelpdocArticlesKeyword.
    type: object
    properties:
      articleId:
        type: integer
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      keyword:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocArticlesKeywordAPIBody:
    title: HelpdocArticlesKeywordAPIBody
    description: |-
      HelpdocArticlesKeywordAPIBody handles the get/create/update request/response for
      helpdocarticleskeyword.
    type: object
    properties:
      helpdocarticleskeyword:
        $ref: '#/definitions/models.HelpdocArticlesKeyword'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocArticlesKeywordsAPIBody:
    title: HelpdocArticlesKeywordsAPIBody
    description: HelpdocArticlesKeywordsAPIBody handles the listing response for helpdocarticleskeyword.
    type: object
    properties:
      helpdocarticleskeywords:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocArticlesKeyword'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocStats:
    title: HelpdocStats
    type: object
    properties:
      articleCount:
        type: integer
      draftCount:
        type: integer
      publishedCount:
        type: integer
      unpublishedCount:
        type: integer
  models.HelpdocTemplate:
    title: HelpdocTemplate
    description: HelpdocTemplate represents a HelpdocTemplate.
    type: object
    properties:
      code:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      previewUrl:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thumbnail:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocTemplateAPIBody:
    title: HelpdocTemplateAPIBody
    description: |-
      HelpdocTemplateAPIBody handles the get/create/update request/response for
      helpdoctemplate.
    type: object
    properties:
      helpdoctemplate:
        $ref: '#/definitions/models.HelpdocTemplate'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocTemplatesAPIBody:
    title: HelpdocTemplatesAPIBody
    description: HelpdocTemplatesAPIBody handles the listing response for helpdoctemplate.
    type: object
    properties:
      helpdoctemplates:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocTemplate'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocsCategoriesAPIBody:
    title: HelpdocsCategoriesAPIBody
    description: HelpdocsCategoriesAPIBody handles the listing response for helpdoccategory.
    type: object
    properties:
      helpdocscategories:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsCategory'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocsCategory:
    title: HelpdocsCategory
    description: HelpdocsCategory represents a HelpdocsCategory.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOnDocHomepage:
        type: boolean
      displayOrder:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      helpDocsSites_id:
        type: integer
      id:
        type: integer
      name:
        type: string
      oldURL:
        type: string
      parent_id:
        type: integer
      slug:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocsCategoryAPIBody:
    title: HelpdocsCategoryAPIBody
    description: |-
      HelpdocsCategoryAPIBody handles the get/create/update request/response for
      helpdoccategory.
    type: object
    properties:
      helpdocscategory:
        $ref: '#/definitions/models.HelpdocsCategory'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocsSearch:
    title: HelpdocsSearch
    description: HelpdocsSearch represents a HelpdocsSearch.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      helpdocSiteId:
        $ref: '#/definitions/models.Relationship'
      id:
        type: integer
      query:
        type: string
      results:
        type: integer
      sessionId:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocsSearchAPIBody:
    title: HelpdocsSearchAPIBody
    description: |-
      HelpdocsSearchAPIBody handles the get/create/update request/response for
      helpdocssearch.
    type: object
    properties:
      helpdocssearch:
        $ref: '#/definitions/models.HelpdocsSearch'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocsSearchesAPIBody:
    title: HelpdocsSearchesAPIBody
    description: HelpdocsSearchesAPIBody handles the listing response for helpdocssearch.
    type: object
    properties:
      helpdocssearches:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsSearch'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.HelpdocsSite:
    title: HelpdocsSite
    description: HelpdocsSite represents a help documents site.
    type: object
    properties:
      articleTemplate:
        type: string
      authenticationType:
        type: string
      authenticationTypeId:
        type: integer
      categoryTemplate:
        type: string
      contactFormEnabled:
        type: boolean
      contributors:
        description: Relationships
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customDomain:
        type: string
      customStyleSheet:
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      disqusShortname:
        type: string
      editMethod:
        type: string
      favicon:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      footerTemplate:
        type: string
      headTemplate:
        type: string
      headerBGColor:
        type: string
      helpdoctemplate:
        $ref: '#/definitions/models.Relationship'
      homePageLinkEnabled:
        type: boolean
      homePageLinkText:
        type: string
      homePageURL:
        type: string
      homeTemplate:
        type: string
      htmlHeadCode:
        type: string
      id:
        type: integer
      languageCode:
        type: string
      linkColor:
        type: string
      logoImage:
        type: string
      metaSiteDescription:
        type: string
      name:
        type: string
      navActiveColor:
        type: string
      navTextColor:
        type: string
      pageBGColor:
        type: string
      password:
        type: string
      publicSiteEnabled:
        type: boolean
      searchTemplate:
        description: Templates
        type: string
      sendEmailsToInboxId:
        type: integer
      showDateLastModified:
        type: boolean
      showOnHomePage:
        type: string
      showSocialIcons:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      stats:
        $ref: '#/definitions/models.HelpdocStats'
      subdomain:
        type: string
      textColor:
        type: string
      touchIcon:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.HelpdocsSiteAPIBody:
    title: HelpdocsSiteAPIBody
    type: object
    properties:
      helpdocssite:
        $ref: '#/definitions/models.HelpdocsSite'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          helpdoctemplates:
            type: array
            items:
              $ref: '#/definitions/models.HelpdocTemplate'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.HelpdocsSiteDuplicateReq:
    title: HelpdocsSiteDuplicateReq
    description: HelpdocsSiteDuplicateReq are the options for duplicating a helpdocsite
    type: object
    properties:
      description:
        type: string
      name:
        type: string
      subdomain:
        type: string
  models.HelpdocsSitesAPIBody:
    title: HelpdocsSitesAPIBody
    type: object
    properties:
      helpdocssites:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsSite'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          helpdoctemplates:
            type: array
            items:
              $ref: '#/definitions/models.HelpdocTemplate'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Inbox:
    title: Inbox
    description: Inbox represents a Inbox.
    type: object
    properties:
      autoReplyEnabled:
        type: boolean
      autoReplyFromUserId:
        type: integer
      autoReplyMessage:
        type: string
      autoReplySubject:
        type: string
      clientOnly:
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      defaultTeamAgent:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        type: integer
      email:
        type: string
      emailForwardingState:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      forwardingAddress:
        type: string
      happinessRatingEnabled:
        type: boolean
      happinessRatingMessage:
        type: string
      iconImage:
        type: string
      id:
        type: integer
      inboxaliases:
        description: RelUser is the owner of the inbox when the inbox is personal
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      inboxcnames:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      inboxemailrefs:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      includeTicketHistoryOnForward:
        description: IncludeTicketHistoryOnForward controls whether ticket history is included in forwarded tickets.
        type: boolean
      isAdmin:
        type: boolean
      isFreeDomain:
        type: boolean
      languageCode:
        type: string
      localPart:
        type: string
      name:
        type: string
      notificationsOnly:
        type: boolean
      oauth2token:
        $ref: '#/definitions/models.Relationship'
      onClosedLock:
        type: string
      onClosedWait:
        type: integer
      projects:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      publicIconImage:
        type: string
      restricteddomains:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      sendEmailsFrom:
        type: string
      showTrends:
        type: boolean
      signature:
        type: string
      smtpPassword:
        type: string
      smtpPort:
        type: integer
      smtpProvider:
        type: string
      smtpSecurity:
        type: string
      smtpServer:
        type: string
      smtpUsername:
        type: string
      spamThreshold:
        type: integer
      starred:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      syncAccountId:
        type: integer
      syncDays:
        type: integer
      syncForceImport:
        type: boolean
      syncSubscriptionId:
        type: integer
      synced:
        type: boolean
      ticketstatus:
        $ref: '#/definitions/models.Relationship'
      tickettypes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      timeloggingEnabled:
        type: boolean
      timeloggingProjectId:
        type: integer
      triggers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      type:
        description: Type is either "shared" or "personal", with "shared" being the default.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      useTeamworkMailServer:
        type: boolean
      user:
        $ref: '#/definitions/models.Relationship'
      users:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      usingOfficeHours:
        type: boolean
      verified:
        type: boolean
  models.InboxAIFeature:
    title: InboxAIFeature
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      enabled:
        type: boolean
      features_id:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes_id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.InboxAIFeatureAPIBody:
    title: InboxAIFeatureAPIBody
    type: object
    properties:
      enabled:
        type: boolean
      features_id:
        type: integer
      id:
        type: integer
  models.InboxAIFeatures:
    title: InboxAIFeatures
    type: object
    properties:
      features:
        type: array
        items:
          $ref: '#/definitions/models.InboxAIFeatureAPIBody'
      inboxes_id:
        type: integer
  models.InboxAIFeaturesRequestAPIBody:
    title: InboxAIFeaturesRequestAPIBody
    type: object
    properties:
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.InboxAIFeatures'
  models.InboxAIFeaturesResponseAPIBody:
    title: InboxAIFeaturesResponseAPIBody
    description: InboxAIFeaturesAPIBody handles the listing response for inboxaifeature.
    type: object
    properties:
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.InboxAIFeatures'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.InboxAPIBody:
    title: InboxAPIBody
    description: |-
      InboxAPIBody handles the get/create/update request/response for
      inbox.
    type: object
    properties:
      customDKIM:
        type: string
      inbox:
        $ref: '#/definitions/models.Inbox'
      included:
        $ref: '#/definitions/models.Included'
      ticketcounts:
        type: object
  models.InboxAlias:
    title: InboxAlias
    description: InboxAlias represents a InboxAlias.
    type: object
    properties:
      address:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      useAsDefault:
        type: boolean
  models.InboxCname:
    title: InboxCname
    description: InboxCname represents a InboxCname.
    type: object
    properties:
      cnameDKIM1:
        type: boolean
      cnameDKIM2:
        type: boolean
      cnameSPF:
        description: |-
          CNAMESPF, CNAMEDKIM1, CNAMEDKIM2 are the preferred validation records by
          SendGrid.
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      dkimValid:
        type: boolean
      domain:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      hostValid:
        type: boolean
      spfValid:
        description: |-
          SPFValid, MailHostValid and DKIMValid define the 3 records that must be
          validated for "alternative" type validation in SendGrid. This is where
          they are validated using TXT records instead of the preferred CNAME
          records that SendGrid uses.
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      usingAltVerification:
        type: boolean
      usingNewVerification:
        type: boolean
  models.InboxEmailRef:
    title: InboxEmailRef
    description: InboxEmailRef represents a InboxEmailRef.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      email:
        description: Email address
        type: string
      field:
        description: 'Type of copy: CC or BCC'
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.InboxProject:
    title: InboxProject
    description: InboxProject represents a InboxProject.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      project:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.InboxTimeTracking:
    title: InboxTimeTracking
    description: InboxTimeTracking represents a InboxTimeTracking.
    type: object
    properties:
      allowAgentEditTrackedTime:
        type: boolean
      allowAgentSeeTrackedTime:
        type: boolean
      automaticTimeTracking:
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      inbox:
        $ref: '#/definitions/models.Relationship'
      project:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      task:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.InboxTimeTrackingAPIBody:
    title: InboxTimeTrackingAPIBody
    description: |-
      InboxTimeTrackingAPIBody handles the get/create/update request/response for
      inboxtimetracking.
    type: object
    properties:
      inboxtimetracking:
        $ref: '#/definitions/models.InboxTimeTracking'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.InboxTimeTrackingsAPIBody:
    title: InboxTimeTrackingsAPIBody
    description: InboxTimeTrackingsAPIBody handles the listing response for inboxtimetracking.
    type: object
    properties:
      inboxtimetrackings:
        type: array
        items:
          $ref: '#/definitions/models.InboxTimeTracking'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.InboxesAPIBody:
    title: InboxesAPIBody
    description: InboxesAPIBody handles the listing response for inbox.
    type: object
    properties:
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Inbox'
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      newTicketCounts:
        type: object
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Included:
    title: Included
    description: |-
      Included allows adding referenced objects on the API response.  The included
      keys should map to the `types` in the Relationship slices/objects.
    type: object
    properties:
      addresses:
        type: array
        items:
          $ref: '#/definitions/models.Address'
      agentsnotified:
        type: array
        items:
          $ref: '#/definitions/models.User'
      aifeatures:
        type: array
        items:
          $ref: '#/definitions/models.AIFeature'
      aiinstallationcontext:
        $ref: '#/definitions/models.AIInstallationContext'
      appsettings:
        type: array
        items:
          $ref: '#/definitions/models.AppSetting'
      articles:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocArticle'
      businesshours:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHour'
      businesshoursholidays:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHoursHoliday'
      businesshoursschedules:
        type: array
        items:
          $ref: '#/definitions/models.BusinessHoursSchedule'
      companies:
        type: array
        items:
          $ref: '#/definitions/models.Company'
      companycustomers:
        type: array
        items:
          $ref: '#/definitions/models.Customer'
      conditions:
        type: array
        items:
          $ref: '#/definitions/models.Condition'
      contacts:
        type: array
        items:
          $ref: '#/definitions/models.CustomerContact'
      conversationmessages:
        type: array
        items:
          $ref: '#/definitions/models.ConversationMessage'
      customers:
        type: array
        items:
          $ref: '#/definitions/models.Customer'
      customerticketsreads:
        type: array
        items:
          $ref: '#/definitions/models.CustomerTicketsRead'
      customerwelcomeemails:
        type: array
        items:
          $ref: '#/definitions/models.CustomerWelcomeEmail'
      customfieldapps:
        type: array
        items:
          $ref: '#/definitions/models.CustomFieldApps'
      customfieldoptions:
        type: array
        items:
          $ref: '#/definitions/models.CustomFieldOption'
      customfields:
        type: array
        items:
          $ref: '#/definitions/models.CustomField'
      domains:
        type: array
        items:
          $ref: '#/definitions/models.Domain'
      files:
        type: array
        items:
          $ref: '#/definitions/models.File'
      filesscheduledemail:
        type: array
        items:
          $ref: '#/definitions/models.FilesScheduledEmail'
      happinessratingoptions:
        type: array
        items:
          $ref: '#/definitions/models.HappinessRatingOption'
      happinessratings:
        type: array
        items:
          $ref: '#/definitions/models.HappinessRating'
      helpdocscategories:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsCategory'
      helpdocssearches:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsSearch'
      helpdoctemplates:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocTemplate'
      inboxaifeatures:
        type: array
        items:
          $ref: '#/definitions/models.InboxAIFeature'
      inboxaliases:
        type: array
        items:
          $ref: '#/definitions/models.InboxAlias'
      inboxcnames:
        type: array
        items:
          $ref: '#/definitions/models.InboxCname'
      inboxemailrefs:
        type: array
        items:
          $ref: '#/definitions/models.InboxEmailRef'
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Inbox'
      inboxprojects:
        type: array
        items:
          $ref: '#/definitions/models.InboxProject'
      inboxtimetrackings:
        type: array
        items:
          $ref: '#/definitions/models.InboxTimeTracking'
      jobstatusesinfo:
        type: array
        items:
          $ref: '#/definitions/models.JobStatusInfo'
      likes:
        type: array
        items:
          $ref: '#/definitions/models.ThreadLike'
      messages:
        type: array
        items:
          $ref: '#/definitions/models.Thread'
      metadata:
        type: array
        items:
          $ref: '#/definitions/models.TicketMeta'
      notifications:
        type: array
        items:
          $ref: '#/definitions/models.Notification'
      notificationslas:
        type: array
        items:
          $ref: '#/definitions/models.NotificationsSLA'
      oauth2tokens:
        type: array
        items:
          $ref: '#/definitions/models.Oauth2token'
      permissions:
        type: array
        items:
          $ref: '#/definitions/models.Permission'
      permissionusers:
        type: array
        items:
          $ref: '#/definitions/models.PermissionUser'
      phones:
        type: array
        items:
          $ref: '#/definitions/models.Phone'
      pinnednotes:
        type: array
        items:
          $ref: '#/definitions/models.PinnedNote'
      reactions:
        type: array
        items:
          $ref: '#/definitions/models.Reaction'
      restricteddomains:
        type: array
        items:
          $ref: '#/definitions/models.RestrictedDomain'
      reviewcomments:
        type: array
        items:
          $ref: '#/definitions/models.ReviewComment'
      scheduledemails:
        type: array
        items:
          $ref: '#/definitions/models.ScheduledEmail'
      scheduledemailsrefs:
        type: array
        items:
          $ref: '#/definitions/models.ScheduledEmailsRef'
      sentiments:
        type: array
        items:
          $ref: '#/definitions/models.Sentiment'
      sites:
        type: array
        items:
          $ref: '#/definitions/models.HelpdocsSite'
      slacompanies:
        type: array
        items:
          $ref: '#/definitions/models.SLACompany'
      slacustomers:
        type: array
        items:
          $ref: '#/definitions/models.SLACustomer'
      slainboxes:
        type: array
        items:
          $ref: '#/definitions/models.SLAInbox'
      slanotifications:
        type: array
        items:
          $ref: '#/definitions/models.SLANotification'
      slas:
        type: array
        items:
          $ref: '#/definitions/models.SLA'
      slatags:
        type: array
        items:
          $ref: '#/definitions/models.SLATag'
      slathreads:
        type: array
        items:
          $ref: '#/definitions/models.SLAThread'
      slaticketpriorities:
        type: array
        items:
          $ref: '#/definitions/models.SLATicketPriority'
      slatickets:
        type: array
        items:
          $ref: '#/definitions/models.SLATicket'
      slatickettypes:
        type: array
        items:
          $ref: '#/definitions/models.SLATicketType'
      sociallinks:
        type: array
        items:
          $ref: '#/definitions/models.SocialLink'
      suggestedresponses:
        type: array
        items:
          $ref: '#/definitions/models.SuggestedResponse'
      tags:
        type: array
        items:
          $ref: '#/definitions/models.Tag'
      tasktickets:
        type: array
        items:
          $ref: '#/definitions/models.TaskTicket'
      teammatetypes:
        type: array
        items:
          $ref: '#/definitions/models.TeammateType'
      threademailrefs:
        type: array
        items:
          $ref: '#/definitions/models.ThreadEmailRef'
      threadreactions:
        type: array
        items:
          $ref: '#/definitions/models.ThreadReaction'
      threadsummaries:
        type: array
        items:
          $ref: '#/definitions/models.ThreadSummary'
      ticketactivities:
        type: array
        items:
          $ref: '#/definitions/models.TicketActivity'
      ticketpriorities:
        type: array
        items:
          $ref: '#/definitions/models.TicketPriority'
      ticketreviews:
        type: array
        items:
          $ref: '#/definitions/models.TicketReview'
      tickets:
        type: array
        items:
          $ref: '#/definitions/models.Ticket'
      ticketsources:
        type: array
        items:
          $ref: '#/definitions/models.TicketSource'
      ticketsread:
        type: array
        items:
          $ref: '#/definitions/models.TicketsRead'
      ticketstatuses:
        type: array
        items:
          $ref: '#/definitions/models.TicketStatus'
      ticketsummaries:
        type: array
        items:
          $ref: '#/definitions/models.TicketSummary'
      tickettemplatecustomfields:
        description: 'nolint: lll'
        type: array
        items:
          $ref: '#/definitions/models.TicketTemplateCustomField'
      tickettypes:
        type: array
        items:
          $ref: '#/definitions/models.TicketType'
      timelogs:
        type: array
        items:
          $ref: '#/definitions/models.Timelog'
      timelogsettings:
        type: array
        items:
          $ref: '#/definitions/models.TimeLogSetting'
      timezones:
        type: array
        items:
          $ref: '#/definitions/models.TimeZone'
      trainingwheelsenrollments:
        description: 'nolint: lll'
        type: array
        items:
          $ref: '#/definitions/models.TrainingWheelsEnrollment'
      trends:
        type: array
        items:
          $ref: '#/definitions/models.Trend'
      triggeractions:
        type: array
        items:
          $ref: '#/definitions/models.TriggerAction'
      triggernotifications:
        type: array
        items:
          $ref: '#/definitions/models.TriggerNotification'
      triggers:
        type: array
        items:
          $ref: '#/definitions/models.Trigger'
      triggertasktemplates:
        type: array
        items:
          $ref: '#/definitions/models.TriggerTaskTemplate'
      users:
        type: array
        items:
          $ref: '#/definitions/models.User'
      webhookendpointevents:
        type: array
        items:
          $ref: '#/definitions/models.WebhookEndpointsEvent'
      webhookendpointinboxes:
        type: array
        items:
          $ref: '#/definitions/models.WebhookEndpointsInbox'
  models.Installation:
    title: Installation
    description: |-
      Installation represents an Installation.
      nolint: lll
    type: object
    properties:
      allowSharingTickets:
        type: boolean
      allowedDeleteThreads:
        type: boolean
      allowedEditThreads:
        type: boolean
      allowedManageCannedResponses:
        type: boolean
      allowedManageTags:
        type: boolean
      allowedManageTicketTemplates:
        type: boolean
      allowedManageTriggers:
        type: boolean
      appDeskTimerEnabled:
        type: boolean
      appOwner:
        $ref: '#/definitions/models.Relationship'
      autoAddPMUsersOnContact:
        type: boolean
      autoCloseExpiredTickets:
        type: boolean
      autoQuoteReply:
        type: boolean
      avatarType:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      debugModeEnabled:
        type: boolean
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      detectAgentForwards:
        type: boolean
      displayTicketNumber:
        type: boolean
      editMethod:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      global:
        $ref: '#/definitions/v8.Installation'
      llmDailyTokenLimit:
        description: 0=use plan default, >0=override, -1=unlimited
        type: integer
      llmMonthlyTokenLimit:
        description: 0=use plan default, >0=override, -1=unlimited
        type: integer
      master:
        $ref: '#/definitions/models.MasterInstallation'
      maxAddressesPerMesssage:
        type: integer
      maxMailPerDay:
        type: integer
      name:
        type: string
      openTrackingEnabled:
        type: boolean
      organizationsDisabled:
        type: boolean
      resetTriggerOnTicketUpdate:
        type: boolean
      sendLiveChatEmailTranscript:
        type: boolean
      similarTicketsInboxScopeEnabled:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      subdomain:
        type: string
      timeformatId:
        type: integer
      timezoneId:
        type: integer
      trainingwheelsenabled:
        type: boolean
      trustCustomerImages:
        type: boolean
      undoSendDuration:
        type: integer
      undoSendEnabled:
        type: boolean
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      useDeskClient:
        type: boolean
  models.InstallationAPIBody:
    title: InstallationAPIBody
    description: |-
      InstallationAPIBody handles the get/create/update request/response for
      installation.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      installation:
        $ref: '#/definitions/models.Installation'
      jobID:
        type: string
      pusher:
        $ref: '#/definitions/models.PusherConfig'
  models.JobStatusInfo:
    title: JobStatusInfo
    description: JobStatusInfo represents cached job status information
    type: object
    properties:
      entityId:
        type: integer
      error:
        type: string
      jobId:
        type: string
      status:
        type: string
      updatedAt:
        type: string
        format: date-time
  models.LLMMessageAction:
    title: LLMMessageAction
    type: object
    properties:
      description:
        type: string
      name:
        type: string
  models.LLMMessageActionRequest:
    title: LLMMessageActionRequest
    type: object
    properties:
      action:
        type: string
  models.LLMMessageActionResponseAPIBody:
    title: LLMMessageActionResponseAPIBody
    type: object
    properties:
      jobId:
        type: string
  models.LLMMessageActionsListAPIBody:
    title: LLMMessageActionsListAPIBody
    type: object
    properties:
      actions:
        type: array
        items:
          $ref: '#/definitions/models.LLMMessageAction'
  models.LLMQuotaResponse:
    title: LLMQuotaResponse
    description: LLMQuotaResponse represents the LLM quota status for an installation.
    type: object
    properties:
      dailyLimit:
        description: -1=unlimited, 0=disabled
        type: integer
      dailyReached:
        type: boolean
      dailyUsed:
        type: integer
      disabled:
        type: boolean
      monthlyLimit:
        description: -1=unlimited, 0=disabled
        type: integer
      monthlyReached:
        type: boolean
      monthlyUsed:
        type: integer
  models.Location:
    title: Location
    description: Location is a time.Location that can be unmarshalled from a query string.
    type: object
  models.MasterInstallation:
    title: MasterInstallation
    description: MasterInstallation represents a teamworkpm_master installation.
    type: object
    properties:
      awsRegion:
        type: string
      chatEnabled:
        type: boolean
      deskEnabled:
        type: boolean
      deskFreeHelpdocSites:
        type: integer
      deskPricePlanId:
        description: Calculated field.
        type: integer
      installationCode:
        type: string
      installationName:
        type: string
      premiumSupportEnabled:
        description: 'nolint: lll'
        type: boolean
      projectsEnabled:
        type: boolean
      trialStartDate:
        type: string
        format: date-time
  models.Notification:
    title: Notification
    description: Notification represents a Notification.
    type: object
    properties:
      conversation:
        $ref: '#/definitions/models.Relationship'
      conversationCustomerContact:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      deliveryFailureReason:
        type: string
      deliveryStatus:
        type: string
      event:
        type: string
      eventState:
        type: string
      failures:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      kind:
        $ref: '#/definitions/models.NotificationType'
      kinds:
        $ref: '#/definitions/models.NotificationKinds'
      notificationsla:
        $ref: '#/definitions/models.Relationship'
      openFailureReason:
        type: string
      openStatus:
        type: string
      pinned:
        type: boolean
      read:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thread:
        $ref: '#/definitions/models.Relationship'
      threadCustomerCreator:
        $ref: '#/definitions/models.Relationship'
      threadUserCreator:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.NotificationAPIBody:
    title: NotificationAPIBody
    description: |-
      NotificationAPIBody handles the get/create/update request/response for
      notification.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          customers:
            type: array
            items:
              $ref: '#/definitions/models.Customer'
          ticketreviews:
            type: array
            items:
              $ref: '#/definitions/models.TicketReview'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      notification:
        $ref: '#/definitions/models.Notification'
  models.NotificationKinds:
    title: NotificationKinds
    description: NotificationKinds represents all notification types that cause one notification
    type: object
    properties:
      Values:
        type: object
  models.NotificationType:
    title: NotificationType
    description: NotificationType defines a type of notification, i.e OnNewTicket
    type: object
    properties:
      icon:
        type: string
      id:
        type: integer
      meta:
        type: object
        additionalProperties:
          type: any
      name:
        type: string
      value:
        type: string
  models.NotificationsAPIBody:
    title: NotificationsAPIBody
    description: NotificationsAPIBody handles the listing response for notification.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      notifications:
        type: array
        items:
          $ref: '#/definitions/models.Notification'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.NotificationsSLA:
    title: NotificationsSLA
    description: NotificationsSLA represents a NotificationsSLA.
    type: object
    properties:
      condition:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      notification:
        $ref: '#/definitions/models.Relationship'
      sla:
        $ref: '#/definitions/models.Relationship'
      slanotification:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.Oauth2token:
    title: Oauth2token
    description: Oauth2token represents a Oauth2token.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      expiry:
        type: string
        format: date-time
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      provider:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      tokenType:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.Onboarding:
    title: Onboarding
    description: |-
      Onboarding represents a Onboarding.
      Stored in DeskMaster (global, not per-installation).
    type: object
    properties:
      completed:
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.OnboardingAPIBody:
    title: OnboardingAPIBody
    description: |-
      OnboardingAPIBody handles the get/create/update request/response for
      onboarding.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      onboarding:
        $ref: '#/definitions/models.Onboarding'
  models.OnboardingsAPIBody:
    title: OnboardingsAPIBody
    description: OnboardingsAPIBody handles the listing response for onboarding.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      onboardings:
        type: array
        items:
          $ref: '#/definitions/models.Onboarding'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Pagination:
    title: Pagination
    description: Pagination handles response pagination
    type: object
    properties:
      count:
        type: integer
      hasMore:
        type: boolean
      hasMorePages:
        type: boolean
      page:
        type: integer
      pageOffset:
        type: integer
      pageSize:
        type: integer
      pages:
        type: integer
      records:
        type: integer
  models.Permission:
    title: Permission
    description: Permission represents a Permission.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.PermissionAPIBody:
    title: PermissionAPIBody
    description: |-
      PermissionAPIBody handles the get/create/update request/response for
      permission.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      permission:
        $ref: '#/definitions/models.Permission'
  models.PermissionUser:
    title: PermissionUser
    description: PermissionUser represents a PermissionUser.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      permission:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.PermissionUserAPIBody:
    title: PermissionUserAPIBody
    description: |-
      PermissionUserAPIBody handles the get/create/update request/response for
      permissionuser.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      permissionuser:
        $ref: '#/definitions/models.PermissionUser'
  models.PermissionUsersAPIBody:
    title: PermissionUsersAPIBody
    description: PermissionUsersAPIBody handles the listing response for permissionuser.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      permissionusers:
        type: array
        items:
          $ref: '#/definitions/models.PermissionUser'
  models.PermissionsAPIBody:
    title: PermissionsAPIBody
    description: PermissionsAPIBody handles the listing response for permission.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      permissions:
        type: array
        items:
          $ref: '#/definitions/models.Permission'
  models.Phone:
    title: Phone
    description: Phone is a phone number
    type: object
    properties:
      countryCode:
        description: The phone country code
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      extension:
        description: Optional phone extension
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      number:
        description: The phone number
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        description: 'The phone type: office, mobile, home or fax'
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.PinnedNote:
    title: PinnedNote
    description: PinnedNote represents a PinnedNote.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thread:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.PinnedNoteAPIBody:
    title: PinnedNoteAPIBody
    description: PinnedNoteAPIBody represents the request/response on pinnednotes get/create/patch
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      pinnednote:
        $ref: '#/definitions/models.PinnedNote'
  models.PinnedNotesAPIBody:
    title: PinnedNotesAPIBody
    description: PinnedNotesAPIBody represents the request/response on pinnednotes listing
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      pinnednotes:
        type: array
        items:
          $ref: '#/definitions/models.PinnedNote'
  models.PrimaryCustomers:
    title: PrimaryCustomers
    type: object
    properties:
      b2b:
        type: boolean
      b2c:
        type: boolean
      internal:
        type: boolean
      other:
        type: boolean
      otherDescription:
        type: string
      partners:
        type: boolean
  models.PusherConfig:
    title: PusherConfig
    type: object
    properties:
      cluster:
        type: string
      id:
        type: integer
      key:
        type: string
  models.Reaction:
    title: Reaction
    description: Reaction represents a Reaction.
    type: object
    properties:
      id:
        type: integer
      shortCode:
        type: string
      unicode:
        type: string
  models.ReactionAPIBody:
    title: ReactionAPIBody
    description: |-
      ReactionAPIBody handles the get/create/update request/response for
      reaction.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      reaction:
        $ref: '#/definitions/models.Reaction'
  models.ReactionsAPIBody:
    title: ReactionsAPIBody
    description: ReactionsAPIBody handles the listing response for reaction.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      reactions:
        type: array
        items:
          $ref: '#/definitions/models.Reaction'
  models.Relationship:
    title: Relationship
    type: object
    properties:
      delete:
        description: |-
          Delete will mark the relationship as deleted. The relationship will only
          be removed if the delete is true. Using a pointer so we can exclude it
          from any GET calls while still accepting it in POST/PUT/PATCH
        type: boolean
      id:
        type: integer
      meta:
        type: object
        additionalProperties:
          type: any
      type:
        type: integer
  models.ReplySuggestion:
    title: ReplySuggestion
    description: |-
      ReplySuggestion includes some details useful for the next time an agent needs to reply for example
      to whom CC/BCC
    type: object
    properties:
      bcc:
        type: array
        items:
          type: string
      cc:
        type: array
        items:
          type: string
  models.ReportExport:
    title: ReportExport
    description: ReportExport represents a ReportExport.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      filters:
        $ref: '#/definitions/models.TicketReportsExportsFilter'
      id:
        type: integer
      key:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ReportExportAPIBody:
    title: ReportExportAPIBody
    description: |-
      ReportExportAPIBody handles the get/create/update request/response for
      reportexport.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      reportexport:
        $ref: '#/definitions/models.ReportExport'
  models.ReportExportFilter:
    title: ReportExportFilter
    type: object
    properties:
      fields:
        type: array
        items:
          type: string
      perSecond:
        type: number
      processed:
        type: integer
      total:
        type: integer
  models.ReportExportsAPIBody:
    title: ReportExportsAPIBody
    description: ReportExportsAPIBody handles the listing response for reportexport.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      reportexports:
        type: array
        items:
          $ref: '#/definitions/models.ReportExport'
  models.RequestCommons:
    title: RequestCommons
    description: |-
      RequestCommons allows specifying paging and sorting options.  All API endpoints
      should embed the RequestOrder for consistency.
    type: object
    properties:
      aggregate:
        $ref: '#/definitions/filter.Aggregation'
      bulkDryExecute:
        description: BulkDryExecute indicates if a bulk operation will modify data or not.
        type: boolean
        default: "false"
      fields:
        description: A comma separated list of fields to return
        type: array
        items:
          type: string
      filter:
        description: |-
          Run a filter operation on the records, see [Filtering API results](/desk/miscellaneous/filtering) for syntax.
          A list of filterable fields is included in the endpoint description.
        type: array
        items:
          type: string
      id:
        description: An id of a resource to return
        type: integer
      ids:
        description: A comma separated list of resource id's to return
        type: array
        items:
          type: integer
      includes:
        description: |-
          Includes is a query/body value to specify that relationships should be
          returned in the `included` response. A list of includable fields is included in
          the endpoint description.
        type: array
        items:
          type: string
      orderBy:
        description: |-
          A comma separated list of field names to order by. A list of orderable fields
          is included in the endpoint description
        type: string
      orderMode:
        description: Order in either ascending or descending
        type: string
        enum:
          - asc
          - desc
        default: asc
      page:
        description: The page number to return
        type: integer
      pageOffset:
        description: |-
          How many resources to offset by
          e.g If you have 4 records and a pageSize of 2, pageOffset=0 will return
          the first two records and pageSize=1 will return the second and third record
        type: integer
      pageSize:
        description: The number of records to return
        type: integer
        default: "50"
        minimum: 1
        maximum: 100
      skipAggregation:
        description: |-
          SkipAggregation returns a list of items without calculating pages.
          Consumers using this can scroll through pages until they reach the end.
        type: boolean
  models.RestrictedDomain:
    title: RestrictedDomain
    description: RestrictedDomain represents a RestrictedDomain.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      domain:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.RestrictedDomainAPIBody:
    title: RestrictedDomainAPIBody
    description: |-
      RestrictedDomainAPIBody handles the get/create/update request/response for
      restricteddomain.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      restricteddomain:
        $ref: '#/definitions/models.RestrictedDomain'
  models.RestrictedDomainsAPIBody:
    title: RestrictedDomainsAPIBody
    description: RestrictedDomainsAPIBody handles the listing response for restricteddomain.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      restricteddomains:
        type: array
        items:
          $ref: '#/definitions/models.RestrictedDomain'
  models.ReviewComment:
    title: ReviewComment
    description: ReviewComment represents a ReviewComment.
    type: object
    properties:
      body:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.ReviewCommentAPIBody:
    title: ReviewCommentAPIBody
    description: |-
      ReviewCommentAPIBody handles the get/create/update request/response for
      reviewcomment.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      reviewcomment:
        $ref: '#/definitions/models.ReviewComment'
  models.SLA:
    title: SLA
    description: SLA represents a SLA.
    type: object
    properties:
      businesshours:
        $ref: '#/definitions/models.Relationship'
      companies:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      displayOrder:
        type: integer
      enabled:
        type: boolean
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      name:
        type: string
      notifications:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      onCloseWithoutReply:
        type: string
      slacompanies:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      slacustomers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      slainboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      slatags:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      slaticketpriorities:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      slatickettypes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      tags:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      ticketpriorities:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      tickettypes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLAAPIBody:
    title: SLAAPIBody
    description: |-
      SLAAPIBody handles the get/create/update request/response for
      sla.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          companies:
            type: array
            items:
              $ref: '#/definitions/models.Company'
          customers:
            type: array
            items:
              $ref: '#/definitions/models.Customer'
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tags:
            type: array
            items:
              $ref: '#/definitions/models.Tag'
          ticketpriorities:
            type: array
            items:
              $ref: '#/definitions/models.TicketPriority'
          tickettypes:
            type: array
            items:
              $ref: '#/definitions/models.TicketType'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      sla:
        $ref: '#/definitions/models.SLA'
  models.SLABreachAPIBody:
    title: SLABreachAPIBody
    description: SLABreachAPIBody handles the response for the ticket SLA breach calculation.
    type: object
    properties:
      breach:
        type: string
        format: date-time
      message:
        $ref: '#/definitions/models.Thread'
      priority:
        $ref: '#/definitions/models.SLATicketPriority'
  models.SLACompany:
    title: SLACompany
    description: SLACompany represents a SLACompany.
    type: object
    properties:
      company:
        $ref: '#/definitions/models.Relationship'
      conditionoption:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLACustomer:
    title: SLACustomer
    description: SLACustomer represents a SLACustomer.
    type: object
    properties:
      conditionoption:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLAInbox:
    title: SLAInbox
    description: SLAInbox represents a SLAInbox.
    type: object
    properties:
      conditionoption:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLANotification:
    title: SLANotification
    description: SLANotification represents a SLANotification.
    type: object
    properties:
      condition:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      duration:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      notifyAssignedUser:
        type: boolean
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      users:
        description: 'nolint: lll'
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
  models.SLATag:
    title: SLATag
    description: SLATag represents a SLATag.
    type: object
    properties:
      conditionoption:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      tag:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLAThread:
    title: SLAThread
    description: SLAThread represents a SLAThread.
    type: object
    properties:
      breachedAt:
        type: string
        format: date-time
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      metAt:
        type: string
        format: date-time
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thread:
        $ref: '#/definitions/models.Relationship'
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLATicket:
    title: SLATicket
    description: SLATicket represents a SLATicket.
    type: object
    properties:
      breachedAt:
        type: string
        format: date-time
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      metAt:
        type: string
        format: date-time
      overriddenAt:
        type: string
        format: date-time
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      warnedAt:
        type: string
        format: date-time
  models.SLATicketPriority:
    title: SLATicketPriority
    description: SLATicketPriority represents a SLATicketPriority.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      hours:
        type: integer
      id:
        type: integer
      minutes:
        type: integer
      priority:
        $ref: '#/definitions/models.Relationship'
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLATicketType:
    title: SLATicketType
    description: SLATicketType represents a SLATicketType.
    type: object
    properties:
      conditionoption:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      sla:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      tickettype:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SLAsAPIBody:
    title: SLAsAPIBody
    description: SLAsAPIBody handles the listing response for sla.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          companies:
            type: array
            items:
              $ref: '#/definitions/models.Company'
          customers:
            type: array
            items:
              $ref: '#/definitions/models.Customer'
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tags:
            type: array
            items:
              $ref: '#/definitions/models.Tag'
          ticketpriorities:
            type: array
            items:
              $ref: '#/definitions/models.TicketPriority'
          tickettypes:
            type: array
            items:
              $ref: '#/definitions/models.TicketType'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      slas:
        type: array
        items:
          $ref: '#/definitions/models.SLA'
  models.SSO:
    title: SSO
    description: SSO represents a SSO.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customSAMLIdP:
        type: string
      customSAMLMetadata:
        type: string
      customSAMLServer:
        type: string
      customerPortalsId:
        type: integer
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      enabled:
        type: boolean
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      helpdocsSitesId:
        type: integer
      id:
        type: integer
      provisioningIsEnabled:
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SSOAPIBody:
    title: SSOAPIBody
    description: |-
      SSOAPIBody handles the get/create/update request/response for
      sso.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      sso:
        $ref: '#/definitions/models.SSO'
  models.SSOsAPIBody:
    title: SSOsAPIBody
    description: SSOsAPIBody handles the listing response for sso.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ssos:
        type: array
        items:
          $ref: '#/definitions/models.SSO'
  models.ScheduledEmail:
    title: ScheduledEmail
    description: ScheduledEmail represents a ScheduledEmail.
    type: object
    properties:
      body:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        $ref: '#/definitions/models.Relationship'
      note:
        type: string
      scheduledemailsrefs:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      sendAt:
        type: string
        format: date-time
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      timezone:
        $ref: '#/definitions/models.Relationship'
      title:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      zone:
        type: string
  models.ScheduledEmailAPIBody:
    title: ScheduledEmailAPIBody
    description: |-
      ScheduledEmailAPIBody handles the get/create/update request/response for
      scheduledemail.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      scheduledemail:
        $ref: '#/definitions/models.ScheduledEmail'
      sendNow:
        type: boolean
  models.ScheduledEmailsAPIBody:
    title: ScheduledEmailsAPIBody
    description: ScheduledEmailsAPIBody handles the listing response for scheduledemail.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      scheduledemails:
        type: array
        items:
          $ref: '#/definitions/models.ScheduledEmail'
  models.ScheduledEmailsRef:
    title: ScheduledEmailsRef
    description: ScheduledEmailsRef represents a ScheduledEmailsRef.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      field:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      scheduledemails_id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        type: string
  models.SearchFilter:
    title: SearchFilter
    description: SearchFilter represents a SearchFilter.
    type: object
    properties:
      collection:
        type: string
      conditions:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      isShared:
        type: boolean
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SearchFilterAPIBody:
    title: SearchFilterAPIBody
    description: |-
      SearchFilterAPIBody handles the get/create/update request/response for
      filters.
    type: object
    properties:
      filter:
        $ref: '#/definitions/models.SearchFilter'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
  models.SearchFilterShareResponse:
    title: SearchFilterShareResponse
    type: object
    properties:
      filter:
        $ref: '#/definitions/models.SearchFilter'
      userIds:
        type: array
        items:
          type: integer
  models.SearchFiltersAPIBody:
    title: SearchFiltersAPIBody
    description: SearchFiltersAPIBody handles the listing response for filters.
    type: object
    properties:
      filters:
        type: array
        items:
          $ref: '#/definitions/models.SearchFilter'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Sentiment:
    title: Sentiment
    description: Sentiment represents a Sentiment.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      override:
        description: |-
          Override is used to override the automatic sentiment analysis and set a
          sentiment manually instead.
        type: string
      sentiment:
        type: string
      sentiment_score:
        type: number
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thread:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SentimentAPIBody:
    title: SentimentAPIBody
    description: |-
      SentimentAPIBody handles the get/create/update request/response for
      sentiment.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      sentiment:
        $ref: '#/definitions/models.Sentiment'
  models.SentimentsAPIBody:
    title: SentimentsAPIBody
    description: SentimentsAPIBody handles the listing response for sentiment.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      sentiments:
        type: array
        items:
          $ref: '#/definitions/models.Sentiment'
  models.SharedTicket:
    title: SharedTicket
    description: SharedTicket represents a SharedTicket.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.SharedTicketAPIBody:
    title: SharedTicketAPIBody
    description: |-
      SharedTicketAPIBody handles the get/create/update request/response for
      sharedticket.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      sharedticket:
        $ref: '#/definitions/models.SharedTicket'
  models.SharedTicketsAPIBody:
    title: SharedTicketsAPIBody
    description: SharedTicketsAPIBody handles the listing response for sharedticket.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      sharedtickets:
        type: array
        items:
          $ref: '#/definitions/models.SharedTicket'
  models.SmartInbox:
    title: SmartInbox
    description: SmartInbox represents a SmartInbox.
    type: object
    properties:
      conditions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        description: Description is the description of this inbox.
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      groupBy:
        description: GroupBy is allows grouping results by assignee or type.
        type: string
      groups:
        description: Groups is a list of aggregate results when GroupBy is specified.
        type: array
        items:
          $ref: '#/definitions/models.SmartInboxGroup'
      id:
        description: ID is the unique ID for this smart inbox.
        type: integer
      isShared:
        description: IsShared is true if the smart inbox is shared among all users.
        type: boolean
      name:
        description: Name is the name of this smart inbox.
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      total:
        description: Total is the count of all tickets that fulfill the requested conditions.
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
      users:
        description: users are users who have access to this smart inbox
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
  models.SmartInboxAPIBody:
    title: SmartInboxAPIBody
    description: |-
      SmartInboxAPIBody handles the get/create/update request/response for
      smartinbox.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          conditions:
            type: array
            items:
              $ref: '#/definitions/models.Condition'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      smartinbox:
        $ref: '#/definitions/models.SmartInbox'
  models.SmartInboxGroup:
    title: SmartInboxGroup
    description: |-
      SmartInboxGroup is the grouping of tickets within a smart inbox (such as by
      status or priority)
    type: object
    properties:
      count:
        type: integer
      icon:
        type: string
      id:
        type: integer
      name:
        type: string
  models.SmartInboxesAPIBody:
    title: SmartInboxesAPIBody
    description: SmartInboxesAPIBody handles the listing response for smartinbox.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      smartinboxes:
        type: array
        items:
          $ref: '#/definitions/models.SmartInbox'
  models.SocialLink:
    title: SocialLink
    description: A SocialLink records social media presence.
    type: object
    properties:
      handle:
        description: The string used to identify the company on the provider
        type: string
      id:
        type: integer
      source:
        description: The name of the provider
        type: string
  models.SourceReference:
    title: SourceReference
    description: SourceReference identifies a source by object type and ID (e.g. ticketID for resolved tickets)
    type: object
    properties:
      objectID:
        description: e.g. ticketID, helpdocID
        type: number
      objectTitle:
        description: Article title or ticket subject
        type: string
      objectType:
        description: '"ticket", "helpdoc"'
        type: string
      objectUrl:
        description: Full helpdoc URL
        type: string
  models.SpamList:
    title: SpamList
    description: SpamList represents a SpamList.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      term:
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SpamListAPIBody:
    title: SpamListAPIBody
    description: |-
      SpamListAPIBody handles the get/create/update request/response for
      spamlist.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      spamlist:
        $ref: '#/definitions/models.SpamList'
  models.SpamListsAPIBody:
    title: SpamListsAPIBody
    description: SpamListsAPIBody handles the listing response for spamlists.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      spamlists:
        type: array
        items:
          $ref: '#/definitions/models.SpamList'
  models.SpamReason:
    title: SpamReason
    description: SpamReason represents a SpamReason.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      metric_score:
        type: number
      name:
        type: string
      notification:
        $ref: '#/definitions/models.Relationship'
      score:
        type: number
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SpamReasonAPIBody:
    title: SpamReasonAPIBody
    description: |-
      SpamReasonAPIBody handles the get/create/update request/response for
      spamreason.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      spamreason:
        $ref: '#/definitions/models.SpamReason'
  models.SpamReasonsAPIBody:
    title: SpamReasonsAPIBody
    description: SpamReasonsAPIBody handles the listing response for spamreason.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      spamreasons:
        type: array
        items:
          $ref: '#/definitions/models.SpamReason'
  models.SuggestedResponse:
    title: SuggestedResponse
    type: object
    properties:
      aiResponse:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      latency:
        type: integer
      modelId:
        type: string
      sentAt:
        type: string
        format: date-time
      sentByAgentId:
        type: integer
      sentResponse:
        type: string
      sources:
        type: array
        items:
          $ref: '#/definitions/models.SourceReference'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: string
      threadsId:
        type: integer
      ticketSubject:
        type: string
      ticketsId:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.SuggestedResponseAPIBody:
    title: SuggestedResponseAPIBody
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      suggestedResponse:
        $ref: '#/definitions/models.SuggestedResponse'
  models.SuggestedResponsesAPIBody:
    title: SuggestedResponsesAPIBody
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      suggestedResponses:
        type: array
        items:
          $ref: '#/definitions/models.SuggestedResponse'
  models.Tag:
    title: Tag
    description: Tag represents a Tag.
    type: object
    properties:
      allowAutoTagging:
        type: boolean
      color:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketCount:
        description: |-
          Ticket count is the number of tickets that have the tag.
          Only included with TagArgs.IncludeTicketCount = true.
        type: integer
      tickets:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TagAPIBody:
    title: TagAPIBody
    description: TagAPIBody handles the get/create/update request/response for a tag.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      tag:
        $ref: '#/definitions/models.Tag'
  models.TagMergeAPIArgs:
    title: TagMergeAPIArgs
    type: object
    properties:
      name:
        type: string
      tagIds:
        type: array
        items:
          type: integer
  models.TagsAPIBody:
    title: TagsAPIBody
    description: TagsAPIBody handles the listing response for tags.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      tags:
        type: array
        items:
          $ref: '#/definitions/models.Tag'
  models.TaskTicket:
    title: TaskTicket
    description: TaskTicket represents a TaskTicket.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      project:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: integer
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TaskTicketCount:
    title: TaskTicketCount
    description: TaskTicketCount represents the ticket count for a single task
    type: object
    properties:
      taskId:
        type: integer
      ticketCount:
        type: integer
  models.TaskTicketCountsReq:
    title: TaskTicketCountsReq
    description: TaskTicketCountsReq is the request body for getting ticket counts per task
    type: object
    properties:
      taskIds:
        type: array
        items:
          type: integer
  models.TaskTicketCountsRes:
    title: TaskTicketCountsRes
    description: TaskTicketCountsRes is the response body for getting ticket counts per task
    type: object
    properties:
      taskCounts:
        type: array
        items:
          $ref: '#/definitions/models.TaskTicketCount'
  models.Teammate:
    title: Teammate
    description: Teammate represents a Teammate.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      owner:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      teammateType:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TeammateAPIBody:
    title: TeammateAPIBody
    description: |-
      TeammateAPIBody handles the get/create/update request/response for
      teammate.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      teammate:
        $ref: '#/definitions/models.Teammate'
  models.TeammateType:
    title: TeammateType
    description: TeammateType represents a TeammateType.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TeammateTypeAPIBody:
    title: TeammateTypeAPIBody
    description: |-
      TeammateTypeAPIBody handles the get/create/update request/response for
      teammatetype.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      teammatetype:
        $ref: '#/definitions/models.TeammateType'
  models.TeammateTypesAPIBody:
    title: TeammateTypesAPIBody
    description: TeammateTypesAPIBody handles the listing response for teammatetype.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      teammatetypes:
        type: array
        items:
          $ref: '#/definitions/models.TeammateType'
  models.TeammatesAPIBody:
    title: TeammatesAPIBody
    description: TeammatesAPIBody handles the listing response for teammate.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      teammates:
        type: array
        items:
          $ref: '#/definitions/models.Teammate'
  models.Thread:
    title: Thread
    description: A Thread attributes
    type: object
    properties:
      agentsNotified:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      assigningUser:
        $ref: '#/definitions/models.Relationship'
      contact:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      delayed:
        description: Whether is this message is delayed
        type: boolean
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      deliveryMethod:
        type: string
      deliveryReason:
        type: string
      deliveryStatus:
        type: string
      editMethod:
        description: The type of data sent, either html or markdown
        type: string
      emailMessageId:
        description: MessageID that identifies this message as in RFC2822
        type: string
      excludeHistory:
        description: Processing options
        type: boolean
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      forwardedMessages:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      happinessrating:
        $ref: '#/definitions/models.Relationship'
      helpdoc:
        $ref: '#/definitions/models.Relationship'
      htmlBody:
        description: The HTML body of the messages
        type: string
      id:
        type: integer
      isPinned:
        type: boolean
      likes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      mergedAt:
        description: Time when the message was merged into another ticket
        type: string
        format: date-time
      metadata:
        $ref: '#/definitions/models.Relationship'
      reactions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      reviewStatus:
        type: string
      s3link:
        type: string
      sentiments:
        $ref: '#/definitions/models.Relationship'
      sla_thread:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      suggestedResponse:
        $ref: '#/definitions/models.Relationship'
      taskId:
        $ref: '#/definitions/models.Relationship'
      textBody:
        description: The plain text body version of the message
        type: string
      threadType:
        type: integer
      threademailrefs:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      threadreactions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      viewedByCustomerAt:
        description: The most recent time the customer viewed the message
        type: string
        format: date-time
  models.ThreadAPIBody:
    title: ThreadAPIBody
    description: ThreadAPIBody is the request/response format for the API
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          files:
            type: array
            items:
              $ref: '#/definitions/models.File'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      message:
        $ref: '#/definitions/models.Thread'
  models.ThreadEmailRef:
    title: ThreadEmailRef
    description: ThreadEmailRef represents a ThreadEmailRef.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customerID:
        type: integer
      customercontact_id:
        type: integer
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      email:
        type: string
      field:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ThreadLike:
    title: ThreadLike
    description: ThreadLike represents a ThreadLike.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      message:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.ThreadReaction:
    title: ThreadReaction
    description: ThreadReaction represents a ThreadReaction.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        $ref: '#/definitions/models.Relationship'
      reaction:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ThreadReactionAPIBody:
    title: ThreadReactionAPIBody
    description: |-
      ThreadReactionAPIBody handles the get/create/update request/response for
      threadreaction.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          reactions:
            type: array
            items:
              $ref: '#/definitions/models.Reaction'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      threadreaction:
        $ref: '#/definitions/models.ThreadReaction'
  models.ThreadReactionsAPIBody:
    title: ThreadReactionsAPIBody
    description: ThreadReactionsAPIBody handles the listing response for threadreaction.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      threadreactions:
        type: array
        items:
          $ref: '#/definitions/models.ThreadReaction'
  models.ThreadSummariesAPIBody:
    title: ThreadSummariesAPIBody
    description: ThreadSummariesAPIBody handles the listing response for threadsummary.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      threadsummaries:
        type: array
        items:
          $ref: '#/definitions/models.ThreadSummary'
  models.ThreadSummary:
    title: ThreadSummary
    description: ThreadSummary represents a ThreadSummary.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      summary:
        type: string
      thread:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.ThreadSummaryAPIBody:
    title: ThreadSummaryAPIBody
    description: |-
      ThreadSummaryAPIBody handles the get/create/update request/response for
      threadsummary.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      threadsummary:
        $ref: '#/definitions/models.ThreadSummary'
  models.ThreadsAPIBody:
    title: ThreadsAPIBody
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      messages:
        type: array
        items:
          $ref: '#/definitions/models.Thread'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.Ticket:
    title: Ticket
    description: Ticket represents a Ticket.
    type: object
    properties:
      activities:
        description: |-
          RelTicketActivities is a relationship pointing to the activities related
          to the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      agent:
        $ref: '#/definitions/models.Relationship'
      archivedAt:
        description: When a ticket is archived we add the archived date.
        type: string
        format: date-time
      businesshours:
        $ref: '#/definitions/models.Relationship'
      children:
        description: |-
          RelChildrenTickets are the children of the ticket.
          Applicable if the ticket does not have a parent and has 1 or more tickets forwarded from it.
          Only includes children in inboxes that the requesting user has access to.
          The ticket may appear as non-parent if all children are incaccessible. This is ok.
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      company:
        $ref: '#/definitions/models.Relationship'
      companycustomers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      contact:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      customfields:
        description: The list of custom fields for available to the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      files:
        description: Files represents the attachments on all messages on the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      followers:
        description: The list of agents following the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      happinessRating:
        $ref: '#/definitions/models.Relationship'
      happinessSurveySentAt:
        description: 'nolint: lll'
        type: string
        format: date-time
      id:
        type: integer
      imagesHidden:
        type: boolean
      inaccessibleChildTickets:
        description: |-
          InaccessibleChildTickets is true if there are any child tickets
          in inboxes that the requesting user has no access to.
        type: boolean
      inbox:
        $ref: '#/definitions/models.Relationship'
      installationid:
        type: integer
      isRead:
        type: boolean
      mergedTickets:
        description: List of tickets that were merged into this ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      messageCount:
        description: Customer and agent replies counter (including notes and forwards)
        type: integer
      messages:
        description: The list of replies to the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      originalRecipient:
        type: string
      parent:
        $ref: '#/definitions/models.Relationship'
      pinnednotes:
        description: The list of pinned notes
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      previewText:
        description: Text that shows up to 255 characters of the most recent message
        type: string
      priority:
        $ref: '#/definitions/models.Relationship'
      project:
        $ref: '#/definitions/models.Relationship'
      readonly:
        description: |-
          Readonly is true when a ticket is marked as closed and the inbox settings
          specify that the TTL for replying has elapsed. See
          https://digitalcrew.teamwork.com/spaces/teamwork-desk/page/20573-closed-readonly#api
        type: boolean
      resolutionTimeMins:
        type: integer
      responseTimeMins:
        type: integer
      review:
        $ref: '#/definitions/models.Relationship'
      reviewcomments:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      scheduledEmail:
        $ref: '#/definitions/models.Relationship'
      sharedWith:
        description: |-
          RelSharedWith is a relationship pointing to the users that the ticket has
          been shared with
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      similarity_score:
        description: Vector similarity score
        type: number
      sla:
        $ref: '#/definitions/models.Relationship'
      slaBreachedAt:
        description: SLABreachedAt indicates the timestamp when the ticket is next expected to breach an SLA.
        type: string
        format: date-time
      slatickets:
        description: RelSLATickets is the list of sla events associated with the ticket.
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      solvedBy:
        $ref: '#/definitions/models.Relationship'
      source:
        $ref: '#/definitions/models.Relationship'
      spam_rules:
        type: string
      spam_score:
        type: number
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      subject:
        description: The ticket's subject
        type: string
      suggestions:
        $ref: '#/definitions/models.ReplySuggestion'
      summary:
        description: |-
          Summary is a short description of the ticket, used for search and
          similarity
        type: string
      tags:
        description: The list of word the ticket was tagged with
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      tasks:
        description: RelTasks are the Teamwork task linked to this ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      threademailrefs:
        description: The list of CC/BCC on a ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      timelogs:
        description: Timelogs represents the time logged for this ticket by users
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      trend:
        $ref: '#/definitions/models.Relationship'
      trendRationale:
        description: Trends rationale
        type: string
      trigger:
        $ref: '#/definitions/models.Relationship'
      type:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketAPIBody:
    title: TicketAPIBody
    description: TicketAPIBody is the request/response format for the API
    type: object
    properties:
      delayed:
        type: boolean
      included:
        $ref: '#/definitions/models.Included'
      thread:
        $ref: '#/definitions/models.Thread'
      ticket:
        $ref: '#/definitions/models.Ticket'
  models.TicketActivitiesAPIBody:
    title: TicketActivitiesAPIBody
    description: TicketActivitiesAPIBody handles the listing response for activity.
    type: object
    properties:
      activities:
        type: array
        items:
          $ref: '#/definitions/models.TicketActivity'
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
  models.TicketActivity:
    title: TicketActivity
    description: TicketActivity represents a TicketActivity.
    type: object
    properties:
      childTicket:
        $ref: '#/definitions/models.Relationship'
      color:
        description: Color associated to the event's type
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customer:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      eventType:
        description: Reference for the event's type
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      icon:
        description: Image name for the event's type
        type: string
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      mergedTicket:
        $ref: '#/definitions/models.Relationship'
      message:
        $ref: '#/definitions/models.Relationship'
      oldInbox:
        $ref: '#/definitions/models.Relationship'
      priority:
        $ref: '#/definitions/models.Relationship'
      source:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      targetAgent:
        $ref: '#/definitions/models.Relationship'
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      type:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketCount:
    title: TicketCount
    type: object
    properties:
      count:
        type: integer
      displayOrder:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      status:
        type: string
  models.TicketCounts:
    title: TicketCounts
    type: object
    properties:
      inboxcounts:
        type: array
        items:
          $ref: '#/definitions/models.TicketCount'
      scheduled:
        type: array
        items:
          $ref: '#/definitions/models.TicketCount'
      sharedcounts:
        type: array
        items:
          $ref: '#/definitions/models.TicketCount'
      trainingwheelcounts:
        type: array
        items:
          $ref: '#/definitions/models.TicketCount'
  models.TicketMeta:
    title: TicketMeta
    description: TicketMeta represents an additional metadata info for a ticket.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      sections:
        type: array
        items:
          $ref: '#/definitions/models.TicketMetaSection'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      thread_id:
        type: integer
      title:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketMetaSection:
    title: TicketMetaSection
    description: TicketMetaSection represents a additional metadata info section.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      details:
        type: array
        items:
          $ref: '#/definitions/models.TicketMetaSectionDetail'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      title:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketMetaSectionDetail:
    title: TicketMetaSectionDetail
    description: TicketMetaSectionDetail represents a additional metadata info section details.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      extra:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      key:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      value:
        type: string
  models.TicketPrioritiesAPIBody:
    title: TicketPrioritiesAPIBody
    description: TicketPrioritiesAPIBody handles the listing response for inbox.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketpriorities:
        type: array
        items:
          $ref: '#/definitions/models.TicketPriority'
  models.TicketPriority:
    title: TicketPriority
    description: TicketPriority represents a TicketPriority.
    type: object
    properties:
      color:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketCount:
        description: Number of tickets assigned this priority. Optional.
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketPriorityAPIBody:
    title: TicketPriorityAPIBody
    description: TicketPriorityAPIBody handles the listing response for inbox.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketpriority:
        $ref: '#/definitions/models.TicketPriority'
  models.TicketReminder:
    title: TicketReminder
    description: TicketReminder represents a TicketReminder.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      notifyAt:
        type: string
        format: date-time
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TicketReminderAPIBody:
    title: TicketReminderAPIBody
    description: |-
      TicketReminderAPIBody handles the get/create/update request/response for
      ticketreminder.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketreminder:
        $ref: '#/definitions/models.TicketReminder'
  models.TicketRemindersAPIBody:
    title: TicketRemindersAPIBody
    description: TicketRemindersAPIBody handles the listing response for ticketreminder.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketreminders:
        type: array
        items:
          $ref: '#/definitions/models.TicketReminder'
  models.TicketReportsExportsFilter:
    title: TicketReportsExportsFilter
    type: object
    properties:
      agents:
        description: Agents to filter by. If empty, all agents are included.
        type: array
        items:
          type: integer
      companies:
        description: Companies to filter by. If empty, all companies are included.
        type: array
        items:
          type: integer
      customfields:
        type: array
        items:
          $ref: '#/definitions/models.CustomFieldSearch'
      excludeInboxes:
        description: ExcludeInboxes to filter out inboxes. If empty, no inboxes are excluded.
        type: array
        items:
          type: integer
      excludeTags:
        description: ExcludeTags to filter out tags. If empty, no tags are excluded.
        type: array
        items:
          type: integer
      excludeWorkEmails:
        type: boolean
      export:
        $ref: '#/definitions/models.ReportExportFilter'
      inboxes:
        description: Inboxes to filter by. If empty, all inboxes are included.
        type: array
        items:
          type: integer
      includeArchivedAgents:
        type: boolean
      onlyUntagged:
        type: boolean
      orderBy:
        description: |-
          A comma separated list of field names to order by. A list of orderable fields
          is included in the endpoint description
        type: string
      orderMode:
        description: Order in either ascending or descending
        type: string
        enum:
          - asc
          - desc
        default: asc
      priorities:
        description: Priorities to filter by. If empty, all priorities are included.
        type: array
        items:
          type: integer
      sources:
        description: Sources to filter by. If empty, all sources are included.
        type: array
        items:
          type: integer
      statuses:
        description: Statuses to filter by. If empty, all statuses are included.
        type: array
        items:
          type: integer
      subjectKeywords:
        type: array
        items:
          type: string
      tags:
        description: Tags to filter by. If empty, all tags are included.
        type: array
        items:
          type: integer
      types:
        description: Types to filter by. If empty, all types are included.
        type: array
        items:
          type: integer
  models.TicketReview:
    title: TicketReview
    description: TicketReview represents a TicketReview.
    type: object
    properties:
      createdAt:
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketSource:
    title: TicketSource
    description: TicketSource represents a TicketSource.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      icon:
        type: string
      id:
        type: integer
      isCustom:
        type: boolean
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketCount:
        description: Number of tickets assigned this source. Optional.
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketSourceAPIBody:
    title: TicketSourceAPIBody
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      ticketsource:
        $ref: '#/definitions/models.TicketSource'
  models.TicketSourcesAPIBody:
    title: TicketSourcesAPIBody
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketsources:
        type: array
        items:
          $ref: '#/definitions/models.TicketSource'
  models.TicketStatus:
    title: TicketStatus
    description: TicketStatus represents a TicketStatus.
    type: object
    properties:
      code:
        type: string
      color:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      icon:
        type: string
      id:
        type: integer
      isCustom:
        type: boolean
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketCount:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketStatusAPIBody:
    title: TicketStatusAPIBody
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketstatus:
        $ref: '#/definitions/models.TicketStatus'
  models.TicketStatusesAPIBody:
    title: TicketStatusesAPIBody
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketstatuses:
        type: array
        items:
          $ref: '#/definitions/models.TicketStatus'
  models.TicketSummariesAPIBody:
    title: TicketSummariesAPIBody
    description: TicketSummariesAPIBody handles the listing response for ticketsummary.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketsummaries:
        type: array
        items:
          $ref: '#/definitions/models.TicketSummary'
  models.TicketSummary:
    title: TicketSummary
    description: TicketSummary represents a TicketSummary.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      summary:
        type: string
      ticket:
        $ref: '#/definitions/models.Relationship'
      type:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketSummaryAPIBody:
    title: TicketSummaryAPIBody
    description: |-
      TicketSummaryAPIBody handles the get/create/update request/response for
      ticketsummary.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketsummary:
        $ref: '#/definitions/models.TicketSummary'
  models.TicketTemplate:
    title: TicketTemplate
    description: TicketTemplate represents a TicketTemplate.
    type: object
    properties:
      addToNewInboxes:
        type: boolean
      body:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customfields:
        description: The list of custom fields for available to the ticket
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      files:
        description: The list of files included in the template
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        description: The list of inboxes the template is shared with
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      name:
        type: string
      priority:
        $ref: '#/definitions/models.Relationship'
      source:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      subject:
        type: string
      tags:
        description: The list of word the ticket was tagged with
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      type:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TicketTemplateAPIBody:
    title: TicketTemplateAPIBody
    description: |-
      TicketTemplateAPIBody handles the get/create/update request/response for
      tickettemplate.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      tickettemplate:
        $ref: '#/definitions/models.TicketTemplate'
  models.TicketTemplateCustomField:
    title: TicketTemplateCustomField
    description: TicketTemplateCustomField represents a TicketTemplateCustomField.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      data:
        type: string
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketTemplatesAPIBody:
    title: TicketTemplatesAPIBody
    description: TicketTemplatesAPIBody handles the listing response for tickettemplate.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      tickettemplates:
        type: array
        items:
          $ref: '#/definitions/models.TicketTemplate'
  models.TicketType:
    title: TicketType
    description: TicketType represents a TicketType.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      default:
        type: boolean
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      displayOrder:
        type: integer
      enabledForFutureInboxes:
        type: boolean
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketTypeAPIBody:
    title: TicketTypeAPIBody
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      tickettype:
        $ref: '#/definitions/models.TicketType'
  models.TicketTypesAPIBody:
    title: TicketTypesAPIBody
    description: |-
      TicketTypesAPIBody is used when returning multiple ticket types
      with includes and pagination
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      tickettypes:
        type: array
        items:
          $ref: '#/definitions/models.TicketType'
  models.TicketUserDeck:
    title: TicketUserDeck
    description: TicketUserDeck represents a TicketUserDeck.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketId:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      userId:
        type: integer
  models.TicketUserDeckAPIBody:
    title: TicketUserDeckAPIBody
    description: |-
      TicketUserDeckAPIBody handles the get/create/update request/response for
      ticketuserdeck.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketuserdeck:
        $ref: '#/definitions/models.TicketUserDeck'
  models.TicketUserDecksAPIBody:
    title: TicketUserDecksAPIBody
    description: TicketUserDecksAPIBody handles the listing response for ticketuserdeck.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketuserdecks:
        type: array
        items:
          $ref: '#/definitions/models.TicketUserDeck'
  models.TicketsAPIBody:
    title: TicketsAPIBody
    description: TicketsAPIBody is the request/response format for bulk ticket API calls
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      tickets:
        type: array
        items:
          $ref: '#/definitions/models.Ticket'
  models.TicketsRead:
    title: TicketsRead
    description: TicketsRead represents a TicketsRead.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      message:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      threadsId:
        type: integer
      ticket:
        $ref: '#/definitions/models.Relationship'
      ticketsId:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TicketsReadAPIBody:
    title: TicketsReadAPIBody
    description: |-
      TicketsReadAPIBody handles the get/create/update request/response for
      ticketsread.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      ticketsread:
        $ref: '#/definitions/models.TicketsRead'
  models.TicketsReadsAPIBody:
    title: TicketsReadsAPIBody
    description: TicketsReadsAPIBody handles the listing response for ticketsread.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          messages:
            type: array
            items:
              $ref: '#/definitions/models.Thread'
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      ticketsread:
        type: array
        items:
          $ref: '#/definitions/models.TicketsRead'
  models.Time:
    title: Time
    type: object
  models.TimeLogSetting:
    title: TimeLogSetting
    description: TimeLogSetting represents a TimeLogSetting.
    type: object
    properties:
      autoLogSettingsResource:
        type: string
      autoLogToProjects:
        type: boolean
      autoLogToResource:
        type: string
      company:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      markAsBillable:
        type: boolean
      project:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TimeLogSettingAPIBody:
    title: TimeLogSettingAPIBody
    description: |-
      TimeLogSettingAPIBody handles the get/create/update request/response for
      timelogsetting.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      timelogsetting:
        $ref: '#/definitions/models.TimeLogSetting'
  models.TimeLogSettingTicket:
    title: TimeLogSettingTicket
    description: TimeLogSettingTicket represents a TimeLogSettingTicket.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      project:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      timelogsetting:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TimeLogSettingTicketAPIBody:
    title: TimeLogSettingTicketAPIBody
    description: |-
      TimeLogSettingTicketAPIBody handles the get/create/update request/response for
      timelogsettingticket.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      timelogsettingticket:
        $ref: '#/definitions/models.TimeLogSettingTicket'
  models.TimeLogSettingsAPIBody:
    title: TimeLogSettingsAPIBody
    description: TimeLogSettingsAPIBody handles the listing response for timelogsetting.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      timelogsettings:
        type: array
        items:
          $ref: '#/definitions/models.TimeLogSetting'
  models.TimeZone:
    title: TimeZone
    description: TimeZone represent a time zone
    type: object
    properties:
      id:
        type: integer
      name:
        type: string
      offsetDisplay:
        type: string
      offsetMins:
        type: integer
      reference:
        type: string
  models.Timelog:
    title: Timelog
    description: Timelog represents a time entry against a tickets
    type: object
    properties:
      assignToCurrentUser:
        description: |-
          AssignToCurrentUser is a transient field meant to convert the `UserID`
          field to the current user id when sending to projects. This is done in
          cases where the user who created the timelog doesn't have access to the
          project in tw.
        type: boolean
      billable:
        type: boolean
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      date:
        type: string
        format: date-time
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      project:
        $ref: '#/definitions/models.Relationship'
      projectstimelog:
        $ref: '#/definitions/models.Relationship'
      seconds:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      task:
        $ref: '#/definitions/models.Relationship'
      ticket:
        $ref: '#/definitions/models.Relationship'
      timelogs_id:
        type: integer
      timezoneOffset:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TimelogAPIBody:
    title: TimelogAPIBody
    description: TimelogAPIBody represents the request/response on timelogs get/create/patch
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      timelog:
        $ref: '#/definitions/models.Timelog'
  models.TimelogsAPIBody:
    title: TimelogsAPIBody
    description: TimelogsAPIBody represents the request/response on timelogs listing
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          tickets:
            type: array
            items:
              $ref: '#/definitions/models.Ticket'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      timelogs:
        type: array
        items:
          $ref: '#/definitions/models.Timelog'
  models.TrainingWheelsEnrollment:
    title: TrainingWheelsEnrollment
    description: TrainingWheelsEnrollment represents a TrainingWheelsEnrollment.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        description: |-
          ID is the id of the enrollment.
          Note that in requests enrollments are identified by their user id, instead of this one.
        type: integer
      inboxes:
        description: |-
          RelInboxes contains the relationship to those inboxes
          for which the user has an InboxTrainingWheelsEnrollment.
          As part of requests, this field is used to create/delete inbox enrollments.
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      isForAllInboxes:
        description: |-
          IsForAllInboxes=true means the user will be reviewed for tickets in any inbox.
          IsForAllInboxes=false means the user will be reviewed for tickets only in those inboxes
          which have a corresponding InboxTrainingWheelsEnrollment entry.
        type: boolean
      reviewPercentage:
        description: ReviewPercentage is the percentage of the replies from an agent that will be reviewed.
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TrainingWheelsEnrollmentAPIBody:
    title: TrainingWheelsEnrollmentAPIBody
    description: |-
      TrainingWheelsEnrollmentAPIBody handles the get/create/update request/response for
      trainingwheelsenrollment.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      trainingwheelsenrollment:
        $ref: '#/definitions/models.TrainingWheelsEnrollment'
  models.Trend:
    title: Trend
    description: Trend represents a Trend.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketCount:
        type: integer
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TrendAPIBody:
    title: TrendAPIBody
    description: TrendsAPIBody handles the listing response for trend.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      trend:
        $ref: '#/definitions/models.Trend'
  models.TrendsAPIBody:
    title: TrendsAPIBody
    description: TrendsAPIBody handles the listing response for trend.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      trends:
        type: array
        items:
          $ref: '#/definitions/models.Trend'
  models.Trigger:
    title: Trigger
    description: |-
      Trigger is an action that can be taken on one or more tickets based on
      specific criteria.
    type: object
    properties:
      addToNewInboxes:
        description: AddToNewInboxes is true if the trigger is applied to all current and future inboxes
        type: boolean
      agentHasAccess:
        description: |-
          AgentHasAccess will be true if the creator of the trigger has granted
          access to agents.
        type: boolean
      conditions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        description: Description provides context of why this trigger is created
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      isShared:
        description: IsShared is true if the trigger is shared among all users.
        type: boolean
      isSystem:
        description: |-
          IsSystem is used to determine if a trigger was created by the system or the user
          If a trigger is created by the system, it cannot be deleted or modified
          by the user, only enabled/disabled
        type: boolean
      name:
        description: |-
          Trigger name is shown in ticket meta data when a ticket has been actioned
          by this specific trigger
        type: string
      state:
        description: |-
          State handles marking a trigger as active, inactive, incomplete as well
          as deleted. When triggers are active they can be deleted through the
          `DELETE` endpoint. Triggers can be marked active, inactive, and
          incomplete through `PATCH`. Deleted triggers cannot be modified via
          `PATCH`.
        type: string
      tickets:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      triggeractions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      type:
        description: Type is the trigger type.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TriggerAPIBody:
    title: TriggerAPIBody
    description: TriggerAPIBody is the request/response format for the API
    type: object
    properties:
      applyToExistingTickets:
        type: boolean
      included:
        $ref: '#/definitions/models.Included'
      jobId:
        description: JobID will either return the background job ID for ApplyToExistingTickets or ViewApplicableTickets
        type: string
      trigger:
        $ref: '#/definitions/models.Trigger'
      viewApplicableTickets:
        type: boolean
  models.TriggerAction:
    title: TriggerAction
    description: TriggerAction represents a TriggerAction.
    type: object
    properties:
      action:
        description: Action is the action to perform on the trigger action.
        type: string
        enum:
          - delete
          - create
          - update
      businesshour:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      note:
        type: string
      priority:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      tags:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      tickettype:
        $ref: '#/definitions/models.Relationship'
      trigger:
        $ref: '#/definitions/models.Relationship'
      triggernotification:
        $ref: '#/definitions/models.Relationship'
      triggertasktemplate:
        $ref: '#/definitions/models.Relationship'
      type:
        description: "Type is the action type identifier. \n\n1 - Send Email\n\n2 - Add Note\n\n3 - Change Status\n\n4 - Assign User\n\n5 - Add Tag\n\n6 - Remove Tag\n\n7 - Move to Inbox\n\n8 - Delete\n\n9 - Change Priority\n\n10 - Change Ticket Type\n\n11 - Add Follower\n\n12 - Apply Business Hour"
        type: integer
        minimum: 1
        maximum: 12
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      user:
        $ref: '#/definitions/models.Relationship'
  models.TriggerNotification:
    title: TriggerNotification
    description: TriggerNotification is a custom email that could be send to multiple customer or agents
    type: object
    properties:
      body:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      customers:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      subject:
        type: string
      type:
        description: Valid values are `customer` and `agent`.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      users:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
  models.TriggerNotificationAPIBody:
    title: TriggerNotificationAPIBody
    description: |-
      TriggerNotificationAPIBody handles the get/create/update request/response for
      triggernotification.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          customers:
            type: array
            items:
              $ref: '#/definitions/models.Customer'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      triggernotification:
        $ref: '#/definitions/models.TriggerNotification'
  models.TriggerNotificationsAPIBody:
    title: TriggerNotificationsAPIBody
    description: TriggerNotificationsAPIBody handles the listing response for triggernotification.
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      triggernotifications:
        type: array
        items:
          $ref: '#/definitions/models.TriggerNotification'
  models.TriggerReorderAPIBody:
    title: TriggerReorderAPIBody
    description: TriggerReorderAPIBody is the request format for the API to reorder triggers
    type: object
    properties:
      TriggerID:
        description: TriggerID is the ID of the trigger to be reordered, it's a query param field
        type: integer
      inbox:
        $ref: '#/definitions/models.Relationship'
      position:
        description: Position is the new position of the trigger, 0 is the first position
        type: integer
  models.TriggerTaskTemplate:
    title: TriggerTaskTemplate
    description: TriggerTaskTemplate represents a TriggerTaskTemplate.
    type: object
    properties:
      company:
        $ref: '#/definitions/models.Relationship'
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      description:
        type: string
      dueDateUnixOffset:
        type: integer
      estimateMinutes:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      hasDeskTickets:
        type: boolean
      id:
        type: integer
      name:
        description: Task specific
        type: string
      notify:
        type: boolean
      priority:
        type: integer
      private:
        type: boolean
      project:
        $ref: '#/definitions/models.Relationship'
      startDateUnixOffset:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      status:
        type: integer
      tasklist:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.TriggerTaskTemplateAPIBody:
    title: TriggerTaskTemplateAPIBody
    description: |-
      TriggerTaskTemplateAPIBody handles the get/create/update request/response for
      triggertasktemplate.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      triggertasktemplate:
        $ref: '#/definitions/models.TriggerTaskTemplate'
  models.TriggerTaskTemplatesAPIBody:
    title: TriggerTaskTemplatesAPIBody
    description: TriggerTaskTemplatesAPIBody handles the listing response for triggertasktemplate.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      triggertasktemplates:
        type: array
        items:
          $ref: '#/definitions/models.TriggerTaskTemplate'
  models.TriggersAPIBody:
    title: TriggersAPIBody
    description: TriggersAPIBody is the request/response format for bulk company API calls
    type: object
    properties:
      included:
        $ref: '#/definitions/models.Included'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      triggers:
        type: array
        items:
          $ref: '#/definitions/models.Trigger'
  models.User:
    title: User
    description: User is an agent within Teamwork Desk
    type: object
    properties:
      autoFollowOnCC:
        description: |-
          AutoFollowOnCC specifies whether the user should be added as a follower
          when they are CCed on a ticket.
        type: boolean
      avatarURL:
        description: The Absolute URL to the user's avatar (read-only)
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      editMethod:
        description: |-
          The default input method for editing tickets. Options are html and
          markdown.
        type: string
      email:
        type: string
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      firstName:
        type: string
      id:
        type: integer
      isAppOwner:
        description: Specifies whether this user is the owner of the installation
        type: boolean
      isPartTime:
        description: |-
          Part time users are limited to answering 10 tickets per month, but have
          no restrictions on viewing tickets
        type: boolean
      lastName:
        type: string
      ldKey:
        type: string
      onboarding:
        $ref: '#/definitions/models.UserOnboarding'
      projectsCompanyId:
        type: integer
      reviewer:
        description: |-
          Reviewers are agents who should be asked to review pending tickets from
          users in training.
        type: boolean
      role:
        description: |-
          Role specifies whether the user is an admin or agent. Admins can view
          and edit all sections in desk.
        type: string
      sendPushNotifications:
        description: |-
          Specifies whether push notifications should be sent to the mobile
          device(s) registered
        type: boolean
      sendWebNotifications:
        description: |-
          When enabled browser notifications will be sent to the user regarding
          ticket activity they are subscribed to.
        type: boolean
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      ticketReplyRedirect:
        description: |-
          Specifies where the agent should be redirected to after answering a
          ticket. Valid options are "Stay", "Next", or "Inbox". When "Stay" the
          user will remain on the current ticket, "Next" redirects to the next
          ticket in the current queue, and "Inbox" will redirect to the ticket list
          within the current inbox.
        type: string
      timeFormatId:
        description: Fields populated from the PM database.
        type: integer
      timezoneId:
        type: integer
      trainingWheelsEnrollment:
        $ref: '#/definitions/models.Relationship'
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.UserAPIBody:
    title: UserAPIBody
    description: UserAPIBody handles request/response for a single user
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          trainingwheelsenrollments:
            description: 'nolint: lll'
            type: array
            items:
              $ref: '#/definitions/models.TrainingWheelsEnrollment'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      user:
        $ref: '#/definitions/models.User'
  models.UserOnboarding:
    title: UserOnboarding
    type: object
    properties:
      addedFirstInbox:
        description: |-
          The following fields are determined by a db query each time, until they turn out true.
          Then this true value is also stored in the bitmask.
        type: boolean
      bookmarkPage:
        description: Added Desk as a bookmark in their browser.
        type: boolean
      checkDeskHelpSite:
        description: Viewed their Desk help site.
        type: boolean
      checkSampleInbox:
        description: Viewed the sample inbox.
        type: boolean
      dismissedWelcome:
        description: Fields unpacked from the users.onboarding bitmask in db.
        type: boolean
      exploreHelpsites:
        description: Viewed the helpsites pages.
        type: boolean
      exploreReports:
        description: Viewed the reports pages.
        type: boolean
      inviteTeam:
        description: Invited their team to use Desk.
        type: boolean
      repliedToFirstTicket:
        description: Replied to a ticket.
        type: boolean
      reviewedCompanySettings:
        description: Viewed their own company profile.
        type: boolean
      reviewedProfile:
        description: Viewed their own profile.
        type: boolean
  models.UserPreference:
    title: UserPreference
    description: UserPreference represents a UserPreference.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      name:
        type: string
      preference:
        type: string
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
  models.UserPreferenceAPIBody:
    title: UserPreferenceAPIBody
    description: |-
      UserPreferenceAPIBody handles the get/create/update request/response for
      userpreference.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      userpreference:
        $ref: '#/definitions/models.UserPreference'
  models.UserPreferencesAPIBody:
    title: UserPreferencesAPIBody
    description: UserPreferencesAPIBody handles the listing response for userpreference.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      userpreferences:
        type: array
        items:
          $ref: '#/definitions/models.UserPreference'
  models.UsersAPIBody:
    title: UsersAPIBody
    description: UsersAPIBody handles request/response for user listing
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          inboxes:
            type: array
            items:
              $ref: '#/definitions/models.Inbox'
          trainingwheelsenrollments:
            description: 'nolint: lll'
            type: array
            items:
              $ref: '#/definitions/models.TrainingWheelsEnrollment'
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      users:
        type: array
        items:
          $ref: '#/definitions/models.User'
  models.Webhook:
    title: Webhook
    description: Webhook represents a Webhook.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      failures:
        type: integer
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      requestBody:
        type: string
      requestError:
        type: string
      requestHeaders:
        type: string
      responseBody:
        type: string
      responseHeaders:
        type: string
      responseStatus:
        type: integer
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      uuid:
        type: string
      webhookEndpointId:
        type: integer
      webhookEventCode:
        type: string
  models.WebhookAPIBody:
    title: WebhookAPIBody
    description: |-
      WebhookAPIBody handles the get/create/update request/response for
      webhook.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      webhook:
        $ref: '#/definitions/models.Webhook'
  models.WebhookEndpoint:
    title: WebhookEndpoint
    description: WebhookEndpoint represents a WebhookEndpoint.
    type: object
    properties:
      allEvents:
        type: boolean
      allInboxes:
        type: boolean
      contentType:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      events:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      id:
        type: integer
      inboxes:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      token:
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      url:
        type: string
  models.WebhookEndpointAPIBody:
    title: WebhookEndpointAPIBody
    description: |-
      WebhookEndpointAPIBody handles the get/create/update request/response for
      webhookendpoint.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      webhookendpoint:
        $ref: '#/definitions/models.WebhookEndpoint'
  models.WebhookEndpointsAPIBody:
    title: WebhookEndpointsAPIBody
    description: WebhookEndpointsAPIBody handles the listing response for webhookendpoint.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      webhookendpoints:
        type: array
        items:
          $ref: '#/definitions/models.WebhookEndpoint'
  models.WebhookEndpointsEvent:
    title: WebhookEndpointsEvent
    description: WebhookEndpointsEvent represents a WebhookEndpointsEvent.
    type: object
    properties:
      code:
        type: string
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      webhookendpoint:
        $ref: '#/definitions/models.Relationship'
  models.WebhookEndpointsInbox:
    title: WebhookEndpointsInbox
    description: WebhookEndpointsInbox represents a WebhookEndpointsInbox.
    type: object
    properties:
      createdAt:
        description: CreatedAt is a read-only date marking the creation time.
        type: string
        format: date-time
      createdBy:
        $ref: '#/definitions/models.Relationship'
      deletedAt:
        description: |-
          DeletedAt is a read-only date marking the time of deletion. Is only
          returned when the object is marked as deleted.
        type: string
        format: date-time
      deletedBy:
        $ref: '#/definitions/models.Relationship'
      filter_args:
        $ref: '#/definitions/models.RequestCommons'
      inbox:
        $ref: '#/definitions/models.Relationship'
      state:
        description: |-
          State is the status of the object. Typically this will be either active
          or deleted. When deleted the `deletedAt` and `deletedBy` relationship
          will be returned.
        type: string
      updatedAt:
        description: |-
          UpdatedAt is a read-only date marking the last updated time. This field
          is not updated when the object is deleted.
        type: string
        format: date-time
      updatedBy:
        $ref: '#/definitions/models.Relationship'
      webhookendpoint:
        $ref: '#/definitions/models.Relationship'
  models.WebhooksAPIBody:
    title: WebhooksAPIBody
    description: WebhooksAPIBody handles the listing response for webhook.
    type: object
    properties:
      included:
        description: |-
          Included allows adding referenced objects on the API response. The included
          keys should map to the `types` in the Relationship slices/objects.
        type: object
        properties:
          users:
            type: array
            items:
              $ref: '#/definitions/models.User'
      meta:
        type: object
        properties:
          page:
            $ref: '#/definitions/models.Pagination'
      pagination:
        $ref: '#/definitions/models.Pagination'
      webhooks:
        type: array
        items:
          $ref: '#/definitions/models.Webhook'
  models.WebsiteContext:
    title: WebsiteContext
    type: object
    properties:
      website:
        type: string
  models.password:
    title: password
    description: |-
      password can either hold plain-text passwords or encrypted ones.
      There's two main assumptions being made:
      - Unmarshalled passwords are plain-text, the value is not exported and can not be manually handled.
      - Scanned passwords are encrypted
    type: object
  reply.Message:
    title: Message
    type: object
    properties:
      TicketID:
        type: integer
      agent:
        $ref: '#/definitions/models.Relationship'
      bcc:
        type: array
        items:
          type: string
      cc:
        type: array
        items:
          type: string
      customer:
        $ref: '#/definitions/models.Relationship'
      editMethod:
        type: string
      excludeHistory:
        description: |-
          Deprecated. Default true.
          Backend does not need to construct ticket history anymore, frontend sends it as part of the body
          both for child tickets and old style forwarding.
          When we are sure there is no issue with this approach this option and related code can be deleted.
        type: boolean
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      forwardedThreads:
        type: array
        items:
          type: integer
      isDraft:
        type: boolean
      isPinned:
        type: boolean
      latestLocalThread:
        $ref: '#/definitions/models.Relationship'
      mentions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      message:
        type: string
      sendFrom:
        type: string
      status:
        $ref: '#/definitions/models.Relationship'
      threadType:
        type: integer
        enum:
          - message
          - note
        default: message
      to:
        type: array
        items:
          type: string
  review.Message:
    title: Message
    type: object
    properties:
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      message:
        $ref: '#/definitions/reply.Message'
      reviewStatus:
        type: string
      reviewcomment:
        $ref: '#/definitions/models.ReviewComment'
      status:
        $ref: '#/definitions/models.Relationship'
  update.Message:
    title: Message
    type: object
    properties:
      bcc:
        type: array
        items:
          type: string
      cc:
        type: array
        items:
          type: string
      files:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      mentions:
        type: array
        items:
          $ref: '#/definitions/models.Relationship'
      message:
        type: string
      resendNotification:
        type: boolean
      status:
        $ref: '#/definitions/models.Relationship'
      to:
        type: array
        items:
          type: string
  v2.ConversationsAuthorizeReq:
    title: ConversationsAuthorizeReq
    type: object
    properties:
      conversationsIds:
        type: array
        items:
          type: integer
      socketId:
        type: string
  v2.ConversationsAuthorizeRes:
    title: ConversationsAuthorizeRes
    type: object
    properties:
      conversationId:
        type: integer
  v2.CreateExportRequest:
    title: CreateExportRequest
    type: object
    properties:
      resource:
        description: The resource to be exported
        type: string
        enum:
          - companies
          - customers
          - docs
          - statuses
          - tickets
          - types
          - users
          - all
  v2.GetTicketSignatureResponse:
    title: GetTicketSignatureResponse
    description: |-
      GetTicketSignatureResponse defines the response of a get ticket signature
      request.
    type: object
    properties:
      signature:
        type: string
  v2.UserReplyCountResponse:
    title: UserReplyCountResponse
    type: object
    properties:
      count:
        type: integer
      remaining:
        type: integer
  v2.domainsResponse:
    title: domainsResponse
    type: object
    properties:
      base:
        type: string
      checkout:
        type: string
      desk:
        type: string
      helpdocs:
        type: string
      mail:
        type: string
  v2.fileRefResponse:
    title: fileRefResponse
    type: object
    properties:
      file:
        $ref: '#/definitions/models.File'
      params:
        type: object
        additionalProperties:
          type: string
      url:
        type: string
  v2.typesResponse:
    title: typesResponse
    type: object
    properties:
      types:
        description: List of possible notification types.
        type: array
        items:
          $ref: '#/definitions/models.NotificationType'
  v2.unreadCountResponse:
    title: unreadCountResponse
    type: object
    properties:
      unreadCount:
        description: Number of unread notifications
        type: integer
  v7.AuthenticatedChannel:
    title: AuthenticatedChannel
    description: |-
      AuthenticatedChannel holds authentication information for upstream providers
      to relay to clients
    type: object
    properties:
      Auth:
        type: string
      Data:
        type: string
      SharedSecret:
        type: string
  v8.Address:
    title: Address
    description: Address is a postal/real-life address.
    type: object
    properties:
      city:
        type: string
      country:
        $ref: '#/definitions/v8.Country'
      id:
        type: integer
      line1:
        type: string
      line2:
        type: string
      region:
        type: string
      zip:
        type: string
  v8.Country:
    title: Country
    description: Country represents a country.
    type: object
    properties:
      code:
        type: string
      id:
        type: integer
      inEU:
        type: boolean
      name:
        type: string
      phoneCode:
        type: string
      tax:
        $ref: '#/definitions/v8.CountryVAT'
      vatName:
        type: string
  v8.CountryVAT:
    title: CountryVAT
    description: CountryVAT represents VAT or equivalent tax for a country.
    type: object
    properties:
      id:
        type: integer
      percentage:
        $ref: '#/definitions/decimal.Decimal'
      validFrom:
        type: string
        format: date-time
      validTo:
        type: string
        format: date-time
  v8.Installation:
    title: Installation
    description: |-
      Installation represents a Installation.

      nolint: lll
    type: object
    properties:
      allowRememberMe:
        description: installationPasswordPolicyAllowRememberMe
        type: boolean
      altDomain:
        description: installationAltDomain
        type: string
      altDomain2:
        description: installationAltDomain2
        type: string
      appleSSOEnabled:
        description: installationAllowAppleSignIn
        type: boolean
      apps:
        type: object
        additionalProperties:
          $ref: '#/definitions/v8.InstallationApp'
      autoProvision:
        description: allinstallations_settings.installationAutoProvisionUsers
        type: boolean
      awsRegion:
        description: installationAWSRegion
        type: string
      baseHref:
        description: installationBaseHref
        type: string
      billingAddress:
        $ref: '#/definitions/v8.Address'
      billingCurrency:
        description: 3 char currency code
        type: string
      billingEmail:
        description: installationBillingContactEmail
        type: string
      billingPhone:
        $ref: '#/definitions/v8.Phone'
      bypass2faSSO:
        type: boolean
      cloudSSLEnabled:
        description: installationCloudSSLEnabled
        type: boolean
      code:
        description: installationCode
        type: string
      corsEnabled:
        description: installationCORSEnabled
        type: boolean
      createdAt:
        type: string
        format: date-time
      createdBy:
        type: integer
      deletedAt:
        type: string
        format: date-time
      deletedBy:
        type: integer
      domain:
        description: installationDomain
        type: string
      domainWhitelistEnabled:
        description: installationDomainWhitelistingEnabled
        type: boolean
      failedLoginLockAfter:
        description: installationFailedLoginLockAfterCount
        type: integer
      failedLoginLockFor:
        description: installationFailedLoginLockForMins
        type: integer
      favicon:
        description: shardX.installation.installationFavIcon
        type: string
      googleSSOEnabled:
        description: Settings
        type: boolean
      id:
        type: integer
      invoiceTo:
        description: installationBillingNameOverride
        type: string
      ipLockdownEnabled:
        description: installationIPLockdownEnabled
        type: boolean
      isTest:
        description: allinstallations_settings.installationIsTestAccount
        type: boolean
      logo:
        description: shardX.installation.installationLogo
        type: string
      mobileEnabled:
        type: boolean
      name:
        description: Basic info.
        type: string
      require2fa:
        type: boolean
      shard:
        description: installationDatabaseShardNo
        type: integer
      signupCountry:
        description: installationSignupCountryCode
        type: string
      signupIP:
        description: installationSignupIP
        type: string
      sslEnabled:
        description: installationSSLEnabled
        type: boolean
      standardLoginEnabled:
        description: installationTWUnamePasswordEnabled
        type: boolean
      state:
        description: installationStatus
        type: string
      stripeId:
        description: Billing
        type: string
      updatedAt:
        type: string
        format: date-time
      updatedBy:
        type: integer
      vatExempt:
        description: installationIsVATExempt
        type: boolean
      vatNumber:
        description: installationBillingVATNumber
        type: string
  v8.InstallationApp:
    title: InstallationApp
    description: |-
      InstallationApp represents a link of an installation to an app in the
      hub_installations_apps table.
    type: object
    properties:
      addons:
        type: array
        items:
          $ref: '#/definitions/v8.InstallationAppAddon'
      appCode:
        type: string
      billingAmount:
        $ref: '#/definitions/decimal.Decimal'
      billingPeriod:
        type: string
      cancelledAt:
        type: string
        format: date-time
      cancelledBy:
        type: integer
      cardId:
        type: integer
      createdAt:
        type: string
        format: date-time
      createdBy:
        type: integer
      deletedAt:
        type: string
        format: date-time
      deletedBy:
        type: integer
      discountId:
        type: integer
      firstPayment:
        type: string
        format: date-time
      id:
        type: integer
      inGracePeriod:
        type: boolean
      installationId:
        type: integer
      isPaid:
        type: boolean
      paidUntil:
        type: string
        format: date-time
      paidUsers:
        type: integer
      paymentCollectionMethod:
        type: string
      paymentMethod:
        type: string
      previousPlanId:
        type: integer
      pricePlanId:
        type: integer
      priceplansPriceId:
        type: integer
      stripeSubscriptionId:
        type: string
      trialUntil:
        type: string
        format: date-time
      updatedAt:
        type: string
        format: date-time
      updatedBy:
        type: integer
  v8.InstallationAppAddon:
    title: InstallationAppAddon
    description: |-
      InstallationAppAddon represents a link of an app to an app addon
      in hub_installations_appaddons table.
    type: object
    properties:
      addonId:
        type: integer
      appaddonPriceId:
        type: integer
      createdAt:
        type: string
        format: date-time
      createdBy:
        type: integer
      deletedAt:
        type: string
        format: date-time
      deletedBy:
        type: integer
      id:
        type: integer
      installationAppId:
        type: integer
      installationId:
        type: integer
      quantity:
        type: integer
      updatedAt:
        type: string
        format: date-time
      updatedBy:
        type: integer
  v8.Phone:
    title: Phone
    description: Phone is a phone number.
    type: object
    properties:
      country:
        $ref: '#/definitions/v8.Country'
      extension:
        type: string
      id:
        type: integer
      kind:
        type: string
      number:
        type: string
  validate.Validator:
    title: Validator
    description: |-
      Validator hold the validation errors.

      Typically you shouldn't create this directly but use the New() function.
    type: object
    properties:
      Errors:
        type: object
  yoxel.Account:
    title: Account
    description: Account is a Yoxel account.
    type: object
    properties:
      active:
        type: boolean
      authExpiresAt:
        type: string
        format: date-time
      authNativeScopes:
        type: array
        items:
          type: string
      authObtainedAt:
        type: string
        format: date-time
      authOrgId:
        type: string
      authScopes:
        type: array
        items:
          type: string
      authUserId:
        type: string
      clientOrgId:
        type: string
      daemon:
        type: boolean
      email:
        type: string
      id:
        type: integer
      loginString:
        type: string
      mailboxAddress:
        type: string
      name:
        type: string
      name2:
        type: string
      parentId:
        type: integer
      serverUrl:
        type: string
      serverUrl2:
        type: string
      serviceType:
        type: string
      subscriptions:
        $ref: '#/definitions/yoxel.Subscription'
      timezone:
        type: string
      tokenError:
        type: string
      tokenIssuedAt:
        type: string
        format: date-time
      tokenStatus:
        type: string
      type:
        type: string
      userId:
        type: string
  yoxel.Subscription:
    title: Subscription
    type: object
    properties:
      done:
        type: boolean
      offset:
        type: integer
      records:
        type: array
        items:
          $ref: '#/definitions/yoxel.SubscriptionRecord'
      totalSize:
        type: integer
  yoxel.SubscriptionRecord:
    title: SubscriptionRecord
    type: object
    properties:
      active:
        type: boolean
      failDescription:
        type: string
      failSince:
        type: string
        format: date-time
      id:
        type: integer
      notificationUrl:
        type: string
      resource:
        type: string

