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

# Create or update a ticket priority



## OpenAPI

````yaml openapi.yaml post /reference/priority
openapi: 3.1.0
info:
  title: Thalamus Partner API
  description: >
    API for external systems (n8n, Zendesk connectors, etc.) to create and
    manage

    tickets, contacts, organizations, and comments in Thalamus.


    ## Authentication

    All endpoints require a Bearer token in the Authorization header.

    API keys are issued per partner and follow the format
    `nerds_{environment}_{random}`.

    The partner context (partner_uuid) is derived from the API key — no need to
    pass it in the request body.


    ## Conventions

    - All create/update endpoints are idempotent (upsert) — if the `id` already
    exists for the partner, the record is updated.

    - IDs in path parameters and request/response bodies refer to the canonical
    identifiers from the partner's source system (e.g., Zendesk ticket ID).

    - Timestamps use ISO 8601 format.

    - All responses follow `{ success, data?, message?, error? }` shape.

    - POST returns `201` when a new record is created, `200` when an existing
    record is updated.

    - Only provided fields are updated — omitted fields remain unchanged
    (partial update).
  version: 1.3.0
  contact:
    name: Thalamus Engineering
    email: development@nerds.nl
servers:
  - url: https://thalamus.nerds.nl/api/v1/partner
    description: Production
  - url: http://localhost:3001/api/v1/partner
    description: Local development
security:
  - BearerAuth: []
tags:
  - name: Tickets
    description: Create, update, and retrieve tickets
  - name: Comments
    description: Create comments on tickets
  - name: Contacts
    description: Create, update, and retrieve contacts
  - name: Organizations
    description: Create, update, and retrieve organizations
  - name: Tasks
    description: Create task records (callbacks, appointments, etc.)
  - name: References
    description: Manage reference data (statuses, types, groups, categories, agents)
paths:
  /reference/priority:
    post:
      tags:
        - References
      summary: Create or update a ticket priority
      operationId: upsertPriority
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferenceUpsertBody'
      responses:
        '200':
          description: Priority updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceResponse'
        '201':
          description: Priority created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    ReferenceUpsertBody:
      type: object
      required:
        - id
        - label
      description: >
        Used for priority and type endpoints. Set `status` to `inactive` to
        soft-delete a record.
      properties:
        id:
          type: string
          description: ID from the source system (machine-readable identifier)
          example: new
        label:
          type: string
          description: Human-readable display label
          example: Nieuw
        sort_order:
          type: integer
          nullable: true
        status:
          type: string
          enum:
            - active
            - inactive
          default: active
          description: >-
            Set to `inactive` to soft-delete. GET endpoints only return active
            records.
    ReferenceResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            id:
              type: string
            label:
              type: string
            status:
              type: string
              enum:
                - active
                - inactive
        message:
          type: string
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
  responses:
    BadRequest:
      description: Invalid request body or parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: INVALID_REQUEST
              message: 'Validation failed: body is required'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: UNAUTHORIZED
              message: Invalid or revoked API key
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Partner API key (e.g. `nerds_live_a8f3d9k2m5n7p1q4r6t8v0w2x4y6z8`)

````