Reelables Print Jobs API

The Print Jobs API from Reelables — 2 operation(s) for print jobs.

OpenAPI Specification

got-its-print-jobs-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Reelables Gateway Asset Facilities Print Jobs API
  description: RESTful API for partners to send data to the Reelables platform from Gateway devices
  contact:
    email: team@reelables.com
  version: 1.1.1
servers:
- url: https://api.reelables.com/{basePath}
  variables:
    basePath:
      default: gateway
  description: The production URL for sending requests to the Reelables Gateway API.
tags:
- name: Print Jobs
paths:
  /print-jobs/{printJobId}:
    get:
      tags:
      - Print Jobs
      summary: Get a Print Job
      parameters:
      - name: request-id
        in: header
        description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
        schema:
          type: string
      - name: printJobId
        in: path
        description: The identifier of the Print Job
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintJob'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Printer or Print Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - AuthEndpoint:
        - https://auth.reelables.com/full-access
    delete:
      tags:
      - Print Jobs
      summary: Cancel a Print Job
      parameters:
      - name: request-id
        in: header
        description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
        schema:
          type: string
      - name: printJobId
        in: path
        description: The identifier of the Print Job
        required: true
        schema:
          type: string
      responses:
        '204':
          description: 204 response
          content: {}
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Printer or Print Job not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - AuthEndpoint:
        - https://auth.reelables.com/full-access
  /printers/{printerId}/print-jobs:
    get:
      tags:
      - Print Jobs
      summary: Get Print Jobs for a Printer
      parameters:
      - name: request-id
        in: header
        description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
        schema:
          type: string
      - name: printerId
        in: path
        description: The identifier of the Printer
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: 'Number of items to return. Default: 10. Maximum: 10000'
        schema:
          type: string
      - name: nextToken
        in: query
        description: Pagination token to get next page of items
        schema:
          type: string
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintJobs'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Printer not found in workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - AuthEndpoint:
        - https://auth.reelables.com/full-access
    post:
      tags:
      - Print Jobs
      summary: Send Print Jobs to a Printer
      parameters:
      - name: request-id
        in: header
        description: 'Unique identifier for the API request. Example: f7ecf495-ca1c-4468-a6c2-6ee3f723fa00'
        schema:
          type: string
      - name: printerId
        in: path
        description: The identifier of the Printer
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrintJobsInput'
        required: true
      responses:
        '201':
          description: 201 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrintJobs'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Printer not found in workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - AuthEndpoint:
        - https://auth.reelables.com/full-access
components:
  schemas:
    PrintJob:
      required:
      - assetId
      - createdAt
      - id
      - origin
      - printerId
      - status
      - workspaceId
      type: object
      properties:
        origin:
          maxLength: 100
          pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
          type: string
          description: The origin of the Print Job (e.g. Remote or Local Barcode)
        replaceExistingLabel:
          type: boolean
          description: Indicate whether to replace the existing Label, in the case where the Asset is already linked to a Label
        includeCutLine:
          type: boolean
          description: Indicates whether the Print Job has a cut line (where to cut a label to de-activate) included
        templateId:
          maxLength: 36
          type: string
          description: The indentifier of the Print Template
        createdAt:
          maxLength: 20
          pattern: ^[0-9TZ:-]*$
          type: string
          description: 'Date that the item was created, in UTC. Example: ''2019-07-21T17:32:28Z'''
          format: date-time
        isSuccessful:
          type: boolean
          description: Indicates whether the Print Job was successful
        assetId:
          maxLength: 20
          pattern: ^[-_A-Za-z0-9]*$
          type: string
          description: 'Unique identifier of the Asset. Example: ''00Es43YBJfNRXNSvLmni'''
        failureReason:
          maxLength: 100
          pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
          type: string
          description: Describes the failure if the Print Job was unsuccessful
        printerId:
          maxLength: 50
          pattern: ^[-_A-Za-z0-9]*$
          type: string
          description: 'Printer identifier - the serial number of the Printer. Example: ''abcdefgh123456789'''
        id:
          maxLength: 36
          pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
          type: string
          description: 'Unique identifier of the Print Job. Example: ''d290f1ee-6c54-4b01-90e6-d701748f0851'''
          format: uuid
        workspaceId:
          maxLength: 36
          pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
          type: string
          description: 'Unique identifier of the workspace. Example: ''d290f1ee-6c54-4b01-90e6-d701748f0851'''
          format: uuid
        updatedAt:
          maxLength: 20
          pattern: ^[0-9TZ:-]*$
          type: string
          description: 'Date that the item was last updated, in UTC. Example: ''2019-07-21T17:32:28Z'''
          format: date-time
        status:
          maxLength: 100
          pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
          type: string
          description: The status of the Print Job
        isComplete:
          type: boolean
          description: Indicates whether the Print Job is complete
      additionalProperties: false
    PrintJobs:
      required:
      - items
      type: object
      properties:
        nextToken:
          maxLength: 5000
          pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
          type: string
          description: Pagination token
        items:
          type: array
          items:
            $ref: '#/components/schemas/PrintJob'
      additionalProperties: false
    PrintJobsInput:
      required:
      - printJobs
      type: object
      properties:
        printJobs:
          type: array
          items:
            maxItems: 1000
            required:
            - assetId
            type: object
            properties:
              assetId:
                maxLength: 20
                pattern: ^[-_A-Za-z0-9]*$
                type: string
                description: 'Unique identifier of the Asset. Example: ''00Es43YBJfNRXNSvLmni'''
              replaceExistingLabel:
                type: boolean
                description: Indicate whether to replace the existing Label, in the case where the Asset is already linked to a Label
              templateParams:
                type: object
                additionalProperties: true
                description: Dynamic object that is used to pass any params for the Print Template
              templateId:
                maxLength: 36
                type: string
                description: The indentifier of the Print Template
            additionalProperties: false
      additionalProperties: false
      description: Print Jobs to send to Printer
    ErrorResponse:
      required:
      - errors
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                maxLength: 100
                pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
                type: string
                description: An application-specific error code, expressed as a string value
              id:
                maxLength: 100
                pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/"]*$
                type: string
                description: A unique identifier for this particular occurrence of the problem
              detail:
                maxLength: 500
                pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
                type: string
                description: A human-readable explanation specific to this occurrence of the problem
              title:
                maxLength: 100
                pattern: ^[a-zA-Z0-9!@#$&()\-`.+,/" ]*$
                type: string
                description: A short, human-readable summary of the problem
              status:
                maxLength: 3
                pattern: ^[0-9]*$
                type: string
                description: The HTTP status code applicable to this problem, expressed as a string value
            additionalProperties: false
      additionalProperties: false
      description: This is an error
  securitySchemes:
    api_key:
      type: apiKey
      name: x-api-key
      in: header