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

# Update printer settings

> Changes the display name, the live flag, default job options, custom paper sizes or remarks of a printer. Only enabled printers accept jobs.



## OpenAPI

````yaml /openapi/openapi.json patch /v1/printers/{id}
openapi: 3.1.0
info:
  contact:
    name: InkRelay
    url: https://docs.inkrelay.app
  description: >-
    Cloud printing API: send PDFs and raw jobs to printers attached to computers
    running the InkRelay agent.
  title: InkRelay API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.inkrelay.app
security:
  - ApiKeyAuth: []
  - BasicAuth: []
tags:
  - description: Who you are, your plan and usage
    name: Account
  - description: Machines running the InkRelay agent
    name: Computers
  - description: Printers reported by agents
    name: Printers
  - description: Submit and track print jobs
    name: Print jobs
  - description: Signed event delivery to your HTTPS endpoints
    name: Webhooks
  - description: Cursor based event feed
    name: Events
  - description: Prints used this period
    name: Usage
paths:
  /v1/printers/{id}:
    patch:
      tags:
        - Printers
      summary: Update printer settings
      description: >-
        Changes the display name, the live flag, default job options, custom
        paper sizes or remarks of a printer. Only enabled printers accept jobs.
      operationId: updatePrinter
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              example:
                displayName: Packing label printer
                enabled: true
              properties:
                customPapers:
                  items:
                    properties:
                      height:
                        maximum: 100000
                        minimum: 1
                        type: integer
                      name:
                        maxLength: 100
                        minLength: 1
                        type: string
                      width:
                        maximum: 100000
                        minimum: 1
                        type: integer
                    required:
                      - name
                      - width
                      - height
                    type: object
                  maxItems: 50
                  type: array
                defaultOptions:
                  additionalProperties: false
                  properties:
                    bin:
                      maxLength: 100
                      minLength: 1
                      type: string
                    collate:
                      type: boolean
                    color:
                      type: boolean
                    copies:
                      maximum: 999
                      minimum: 1
                      type: integer
                    dpi:
                      pattern: ^\d+x\d+$
                      type: string
                    duplex:
                      enum:
                        - one-sided
                        - long-edge
                        - short-edge
                      type: string
                    fit_to_page:
                      type: boolean
                    media:
                      maxLength: 100
                      minLength: 1
                      type: string
                    nup:
                      maximum: 16
                      minimum: 1
                      type: integer
                    pages:
                      pattern: ^\d+(-\d+)?(,\d+(-\d+)?)*$
                      type: string
                    paper:
                      maxLength: 100
                      minLength: 1
                      type: string
                    rotate:
                      anyOf:
                        - enum:
                            - 0
                          type: number
                        - enum:
                            - 90
                          type: number
                        - enum:
                            - 180
                          type: number
                        - enum:
                            - 270
                          type: number
                  type: object
                displayName:
                  maxLength: 100
                  type:
                    - string
                    - 'null'
                enabled:
                  type: boolean
                remarks:
                  maxLength: 2000
                  type:
                    - string
                    - 'null'
              type: object
        description: Changes
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Printer'
          description: The updated printer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid API key or session
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: The key scope or member role does not allow this
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found in this organization and mode
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: >-
            rate_limited: more than 20 requests per second with this API key;
            retry after the Retry-After header
          headers:
            RateLimit-Limit:
              description: Requests allowed per second for this API key (20)
              schema:
                type: integer
            RateLimit-Remaining:
              description: Requests left in the current one second window
              schema:
                type: integer
            RateLimit-Reset:
              description: Seconds until the window frees a request
              schema:
                type: integer
            Retry-After:
              description: Whole seconds to wait before retrying; present on rate_limited
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
        - BasicAuth: []
components:
  schemas:
    Printer:
      example:
        capabilities:
          bins:
            - Auto
            - Tray 1
          collate: true
          color: false
          copies: 99
          dpis:
            - 600x600
          duplex: true
          extent: null
          medias: []
          nup:
            - 1
            - 2
            - 4
          papers:
            A4:
              - 2100
              - 2970
            Letter:
              - 2159
              - 2794
          printrate:
            rate: 38
            unit: ppm
          supports_custom_paper_size: false
        computerId: 0192f1a0-7c00-7000-8000-0000000000cc
        createdAt: '2026-10-01T08:30:00.000Z'
        customPapers: []
        defaultOptions:
          duplex: long-edge
          paper: A4
        description: HP LaserJet Pro M404-M405 PCL 6
        displayName: Front office laser
        enabled: true
        id: 0192f1a0-7c00-7000-8000-0000000000bb
        isDefault: true
        name: Front office laser
        osName: HP LaserJet Pro M404
        remarks: null
        state: online
        stateDetail: ''
        updatedAt: '2026-10-14T09:00:00.000Z'
      properties:
        capabilities:
          properties:
            bins:
              items:
                type: string
              type: array
            collate:
              type: boolean
            color:
              type: boolean
            copies:
              minimum: 1
              type: integer
            dpis:
              items:
                type: string
              type: array
            duplex:
              type: boolean
            extent:
              description: Custom paper size range in tenths of a millimetre
              items:
                items:
                  maximum: 100000
                  minimum: 1
                  type: integer
                maxItems: 2
                minItems: 2
                type: array
              maxItems: 2
              minItems: 2
              prefixItems:
                - description: Minimum width and height
                  items:
                    maximum: 100000
                    minimum: 1
                    type: integer
                  maxItems: 2
                  minItems: 2
                  prefixItems:
                    - maximum: 100000
                      minimum: 1
                      type: integer
                    - maximum: 100000
                      minimum: 1
                      type: integer
                  type: array
                - description: Maximum width and height
                  items:
                    maximum: 100000
                    minimum: 1
                    type: integer
                  maxItems: 2
                  minItems: 2
                  prefixItems:
                    - maximum: 100000
                      minimum: 1
                      type: integer
                    - maximum: 100000
                      minimum: 1
                      type: integer
                  type: array
              type:
                - array
                - 'null'
            medias:
              items:
                type: string
              type: array
            nup:
              items:
                minimum: 1
                type: integer
              type: array
            papers:
              additionalProperties:
                description: >-
                  Width and height in tenths of a millimetre; null when the
                  driver does not say
                items:
                  maximum: 100000
                  minimum: 1
                  type:
                    - integer
                    - 'null'
                maxItems: 2
                minItems: 2
                prefixItems:
                  - maximum: 100000
                    minimum: 1
                    type:
                      - integer
                      - 'null'
                  - maximum: 100000
                    minimum: 1
                    type:
                      - integer
                      - 'null'
                type: array
              description: Paper names the printer supports
              type: object
            printrate:
              properties:
                rate:
                  type: number
                unit:
                  type: string
              required:
                - unit
                - rate
              type:
                - object
                - 'null'
            supports_custom_paper_size:
              type: boolean
          required:
            - papers
            - bins
            - dpis
            - duplex
            - color
            - collate
            - copies
            - extent
            - medias
            - nup
            - printrate
            - supports_custom_paper_size
          type: object
        computerId:
          type: string
        createdAt:
          type: string
        customPapers:
          items:
            properties:
              height:
                maximum: 100000
                minimum: 1
                type: integer
              name:
                maxLength: 100
                minLength: 1
                type: string
              width:
                maximum: 100000
                minimum: 1
                type: integer
            required:
              - name
              - width
              - height
            type: object
          type: array
        defaultOptions:
          additionalProperties: false
          properties:
            bin:
              maxLength: 100
              minLength: 1
              type: string
            collate:
              type: boolean
            color:
              type: boolean
            copies:
              maximum: 999
              minimum: 1
              type: integer
            dpi:
              pattern: ^\d+x\d+$
              type: string
            duplex:
              enum:
                - one-sided
                - long-edge
                - short-edge
              type: string
            fit_to_page:
              type: boolean
            media:
              maxLength: 100
              minLength: 1
              type: string
            nup:
              maximum: 16
              minimum: 1
              type: integer
            pages:
              pattern: ^\d+(-\d+)?(,\d+(-\d+)?)*$
              type: string
            paper:
              maxLength: 100
              minLength: 1
              type: string
            rotate:
              anyOf:
                - enum:
                    - 0
                  type: number
                - enum:
                    - 90
                  type: number
                - enum:
                    - 180
                  type: number
                - enum:
                    - 270
                  type: number
          type: object
        description:
          type: string
        displayName:
          type:
            - string
            - 'null'
        enabled:
          type: boolean
        id:
          type: string
        isDefault:
          type: boolean
        name:
          type: string
        osName:
          type: string
        remarks:
          type:
            - string
            - 'null'
        state:
          enum:
            - online
            - offline
            - unknown
          type: string
        stateDetail:
          type: string
        updatedAt:
          type: string
      required:
        - id
        - computerId
        - osName
        - displayName
        - name
        - description
        - enabled
        - state
        - stateDetail
        - capabilities
        - defaultOptions
        - customPapers
        - remarks
        - isDefault
        - createdAt
        - updatedAt
      type: object
    Error:
      description: >-
        Every error response uses this envelope; code is stable, message is for
        humans.
      properties:
        error:
          properties:
            code:
              example: not_found
              type: string
            message:
              example: Printer not found
              type: string
            request_id:
              example: 4f9c2a7e-1b3d-4c5e-8f6a-0b1c2d3e4f5a
              type: string
            upgrade_url:
              description: Billing page to upgrade from; present on quota_exceeded
              example: https://app.inkrelay.app/billing?upgrade=1
              format: uri
              type: string
          required:
            - code
            - message
            - request_id
          type: object
      required:
        - error
      type: object
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: ir_live_ or ir_test_ key
      description: >-
        Send `Authorization: Bearer <API key>`. Use an ir_test_ key in the
        playground; it only reaches virtual test printers.
      scheme: bearer
      type: http
      x-default: ir_test_REPLACE_WITH_YOUR_TEST_KEY
    BasicAuth:
      description: >-
        PrintNode compatible: put the API key in the username with an empty
        password
      scheme: basic
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.