> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getprimo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a ticket

> Partially update a ticket. Only the provided fields are changed (title, description, priority, dueDate, assignee, tags). Use updateTicketStatus to change the status.

<span className="badge-write">Key: Write</span><span className="badge-company">Scope: Company</span>


## OpenAPI

````yaml https://api.getprimo.com/openapi.json patch /tickets/{ticketId}
openapi: 3.1.1
info:
  title: Public API - BETA
  description: Read docs on https://docs.getprimo.com/
  version: '1.0'
  contact: {}
servers:
  - url: https://api.getprimo.com
security:
  - apikey: []
tags: []
paths:
  /tickets/{ticketId}:
    patch:
      tags:
        - Tickets
      summary: Update a ticket
      description: >-
        Partially update a ticket. Only the provided fields are changed (title,
        description, priority, dueDate, assignee, tags). Use updateTicketStatus
        to change the status.
      operationId: updateTicket
      parameters:
        - name: ticketId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTicketBody'
      responses:
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketOutput_Output'
components:
  schemas:
    UpdateTicketBody:
      type: object
      properties:
        title:
          type: string
          minLength: 1
        description:
          anyOf:
            - type: string
            - type: 'null'
        priority:
          anyOf:
            - type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            - type: 'null'
        dueDate:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        assigneeEmployeeId:
          type: string
          minLength: 1
        tagIds:
          type: array
          items:
            type: string
      description: >-
        Partial update — only the provided fields are changed. Use
        updateTicketStatus to change status.
    TicketOutput_Output:
      type: object
      properties:
        id:
          type: string
        reference:
          type: string
        title:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - IN_PROGRESS
            - COMPLETED
            - CANCELLED
        priority:
          anyOf:
            - type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            - type: 'null'
        assignee:
          anyOf:
            - anyOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: EMAIL
                    email:
                      type: string
                  required:
                    - type
                    - email
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: EMPLOYEE
                    employeeId:
                      type: string
                  required:
                    - type
                    - employeeId
                  additionalProperties: false
                - type: object
                  properties:
                    type:
                      type: string
                      const: EXTERNAL_ADMIN
                    userId:
                      type: string
                  required:
                    - type
                    - userId
                  additionalProperties: false
            - type: 'null'
        requester:
          description: Who the ticket was opened on behalf of (its creator)
          anyOf:
            - type: object
              properties:
                type:
                  type: string
                  const: EMPLOYEE
                employeeId:
                  type: string
              required:
                - type
                - employeeId
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  const: EXTERNAL_ADMIN
                userId:
                  type: string
              required:
                - type
                - userId
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  const: EMAIL
                email:
                  type: string
              required:
                - type
                - email
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  const: PRIMO
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  const: API
              required:
                - type
              additionalProperties: false
            - type: object
              properties:
                type:
                  type: string
                  const: SLACK_USER
                name:
                  type: string
              required:
                - type
                - name
              additionalProperties: false
        dueDate:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        createdAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        updatedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        tagIds:
          description: Ids of the tags attached to this ticket
          type: array
          items:
            type: string
        tasks:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              ticketId:
                type: string
              title:
                type: string
              status:
                type: string
                enum:
                  - PENDING
                  - IN_PROGRESS
                  - COMPLETED
                  - CANCELLED
              isManuallyCompletable:
                type: boolean
                description: Whether a human (not only the system) may complete this task
              isAdminManaged:
                type: boolean
                description: >-
                  Whether only an admin may assign this task or change its
                  status
              assignee:
                anyOf:
                  - anyOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: EMAIL
                          email:
                            type: string
                        required:
                          - type
                          - email
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: EMPLOYEE
                          employeeId:
                            type: string
                        required:
                          - type
                          - employeeId
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: EXTERNAL_ADMIN
                          userId:
                            type: string
                        required:
                          - type
                          - userId
                        additionalProperties: false
                  - type: 'null'
              tagIds:
                type: array
                description: Ids of the tags attached to this task
                items:
                  type: string
            required:
              - id
              - ticketId
              - title
              - status
              - isManuallyCompletable
              - isAdminManaged
              - assignee
              - tagIds
            additionalProperties: false
        comments:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              text:
                type: string
              creator:
                anyOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        const: EMPLOYEE
                      employeeId:
                        type: string
                    required:
                      - type
                      - employeeId
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: EXTERNAL_ADMIN
                      userId:
                        type: string
                    required:
                      - type
                      - userId
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: EMAIL
                      email:
                        type: string
                    required:
                      - type
                      - email
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: PRIMO
                    required:
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: API
                    required:
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        const: SLACK_USER
                      name:
                        type: string
                    required:
                      - type
                      - name
                    additionalProperties: false
              createdAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - id
              - text
              - creator
              - createdAt
            additionalProperties: false
        relatedObjects:
          type: array
          items:
            type: object
            properties:
              linkId:
                description: Id of the link itself — use it to unlink the related object
                type: string
              relatedType:
                type: string
                enum:
                  - DEVICE
                  - EMPLOYEE
                  - IDENTITY
                  - ORDER
                  - SHIPMENT
                  - COMPANY_SAAS_APPLICATION
              relatedId:
                description: >-
                  Id of the related resource (device, employee, identity, order
                  or shipment)
                type: string
              resolved:
                description: False when the related resource no longer exists
                type: boolean
            required:
              - linkId
              - relatedType
              - relatedId
              - resolved
            additionalProperties: false
      required:
        - id
        - reference
        - title
        - status
        - priority
        - assignee
        - requester
        - dueDate
        - createdAt
        - updatedAt
        - tagIds
        - tasks
        - comments
        - relatedObjects
      additionalProperties: false
  securitySchemes:
    apikey:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: >-
        Use your Primo API key in the Authorization header as `Bearer
        <API_KEY>`.

````