Xerox Jobs API
Print job creation, management, and history operations
Print job creation, management, and history operations
openapi: 3.1.0
info:
title: Xerox Public Print EULA Jobs API
description: REST API for managing print jobs through the Xerox Public Print Service. Provides endpoints for job creation, status monitoring, site discovery, provider management, EULA handling, and print history management. All secure calls require xrxauth, user-email, and appid headers. If user-email is omitted the request is treated as an application request.
version: 5.5.0
contact:
name: Xerox Developer Program
url: https://www.xerox.com/en-us/about/developer-program
email: xerox.global.developer.program@xerox.com
termsOfService: https://www.xerox.com/en-us/about/legal
servers:
- url: https://publicprintapi.services.xerox.com/api/v1
description: Xerox Public Print API Production Server
security:
- xrxauth: []
tags:
- name: Jobs
description: Print job creation, management, and history operations
paths:
/Job:
put:
operationId: createJob
summary: Create Print Job
description: Creates a new print job in the Xerox Public Print Service. Returns Resource-Id, Details-Uri, and Status-Uri response headers.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateJobRequest'
responses:
'201':
description: Job created successfully
headers:
Resource-Id:
description: The ID of the newly created job
schema:
type: string
Details-Uri:
description: URI to retrieve job details
schema:
type: string
Status-Uri:
description: URI to retrieve job status
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
description: Bad request - missing required headers or invalid input
get:
operationId: getJob
summary: Get Print Job
description: Retrieves the details of a specific print job by ID.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
parameters:
- name: id
in: query
required: true
description: The unique identifier of the job
schema:
type: string
responses:
'200':
description: Job details retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
description: Bad request
'404':
description: Job not found
/Job/Status:
get:
operationId: getJobStatus
summary: Get Job Status
description: Retrieves the current status of a print job.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
parameters:
- name: jobId
in: query
required: true
description: The unique identifier of the job
schema:
type: string
responses:
'200':
description: Job status retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatus'
'400':
description: Bad request
'404':
description: Job not found
post:
operationId: updateJobStatus
summary: Update Job Status
description: Updates the status of a print job.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateJobStatusRequest'
responses:
'200':
description: Job status updated successfully
'400':
description: Bad request
/Job/History:
get:
operationId: getJobHistory
summary: Get Job History
description: Retrieves the print history for the current user with pagination support.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
parameters:
- name: $skip
in: query
required: false
description: Number of records to skip for pagination
schema:
type: integer
- name: $take
in: query
required: false
description: Number of records to return
schema:
type: integer
responses:
'200':
description: Job history retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/JobHistoryResponse'
'400':
description: Bad request
delete:
operationId: clearJobHistory
summary: Clear Job History
description: Clears the print job history for the current user.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
responses:
'204':
description: Job history cleared successfully
'400':
description: Bad request
/Job/Options:
get:
operationId: getJobOptions
summary: Get Job Options
description: Lists all supported job options for print job creation.
tags:
- Jobs
security:
- xrxauth: []
userEmail: []
appId: []
responses:
'200':
description: Job options retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/JobOptionsResponse'
components:
schemas:
Job:
type: object
description: A print job
properties:
id:
type: string
description: Unique identifier of the job
status:
type: string
description: Current status of the job
enum:
- Pending
- Processing
- Ready
- Printed
- Failed
- Expired
providerId:
type: string
description: ID of the print provider
siteId:
type: string
description: ID of the print site
createdAt:
type: string
format: date-time
description: Job creation timestamp
expiresAt:
type: string
format: date-time
description: Job expiration timestamp
options:
type: object
description: Print job options
additionalProperties: true
JobOptionsResponse:
type: object
description: Available print job options
properties:
options:
type: array
items:
$ref: '#/components/schemas/JobOption'
CreateJobRequest:
type: object
description: Request body for creating a new print job
properties:
documentUrl:
type: string
description: URL of the document to print
providerId:
type: string
description: ID of the print provider
siteId:
type: string
description: ID of the print site
options:
type: object
description: Print job options
additionalProperties: true
required:
- documentUrl
JobOption:
type: object
description: A supported print job option
properties:
name:
type: string
description: Option name
type:
type: string
description: Option data type
values:
type: array
items:
type: string
description: Allowed values for this option
JobHistoryResponse:
type: object
description: Paginated list of job history
properties:
total:
type: integer
description: Total number of records
items:
type: array
items:
$ref: '#/components/schemas/Job'
JobStatus:
type: object
description: Status of a print job
properties:
jobId:
type: string
description: ID of the job
status:
type: string
description: Current status
enum:
- Pending
- Processing
- Ready
- Printed
- Failed
- Expired
message:
type: string
description: Status message
UpdateJobStatusRequest:
type: object
description: Request to update job status
properties:
jobId:
type: string
description: ID of the job to update
status:
type: string
description: New status value
required:
- jobId
- status
securitySchemes:
xrxauth:
type: apiKey
in: header
name: xrxauth
description: Xerox authentication credentials
userEmail:
type: apiKey
in: header
name: user-email
description: User email address for user-context requests
appId:
type: apiKey
in: header
name: appid
description: Application identifier
externalDocs:
description: Xerox Public Print API Documentation
url: https://publicprintapi.services.xerox.com/