Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/paperless-parts-jobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Paperless Parts API v2 Jobs API
description: The Paperless Parts API provides access to your data, enabling developers to easily integrate Paperless Parts with third-party systems, such as Customer Relationship Management (CRM) and Enterprise Resource Planning (ERP) tools.
version: '2.0'
termsOfService: https://www.paperlessparts.com/web-service-agreement/
contact:
name: Paperless Parts
url: https://www.paperlessparts.com
email: support@paperlessparts.com
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v2
security:
- app_id: []
tags:
- name: Jobs
description: Endpoints for managing Jobs
paths:
/orders/public/jobs:
get:
summary: List jobs
description: Returns a list of jobs. The jobs are returned 20 results at a time and can be iterated over by using the page parameter.
operationId: ListJobs
parameters:
- in: query
name: page
schema:
type: string
required: false
description: The page of results to return.
- in: query
name: account_id
schema:
type: integer
required: false
description: The id of the account who's jobs to return
example: 17
- in: query
name: contact_id
schema:
type: integer
required: false
description: The id of the contact who's jobs to return
example: 37
- in: query
name: erp_code
schema:
type: string
required: false
description: The erp code of the job to return. Must be an exact match.
example: PPI
- in: query
name: is_engineering_master
schema:
type: boolean
required: false
description: Boolean used to filter for jobs that are engineering master
example: true
- in: query
name: parent_job
schema:
type: integer
required: false
description: The id of the parent job who's children to return
example: 27
- in: query
name: part_number
schema:
type: string
required: false
description: The part number of the part who's jobs to return
example: A-23213B
- in: query
name: part_revision
schema:
type: integer
required: false
description: The revisison to filter jobs down by
example: 1
- in: query
name: part_uuid
schema:
type: string
required: false
description: The uuid of the parts who's jobs to return
example: 335c5770-8cd4-46d3-98a1-7c0e12251124
- in: query
name: root_job
schema:
type: integer
required: false
description: The id of the root part who's children to return
tags:
- Jobs
responses:
200:
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
example: 17
description: The ID of the job
account_id:
type: integer
example: 32
description: The ID of the account associated with the job
contact_id:
type: integer
example: 24
description: The ID of the contact associated with the job
erp_code:
type: string
example: PPI
description: The ERP code of the job
is_engineering_master:
type: boolean
example: true
description: Indicates whether a job is the engineering master
parent_job_id:
type: integer
example: 23
description: The id of the parent job
part_number:
type: string
example: A-23213B
description: The part number for the part associated with the job
part_revision:
type: integer
example: 1
description: The revision of the part associated with the job
part_uuid:
type: string
example: 335c5770-8cd4-46d3-98a1-7c0e12251124
description: The UUID of the part associated with the job
top_level_job:
type: integer
example: 57
description: The ID of the top level job
404:
description: Not found response
content:
text/plain:
schema:
title: Jobs not found
type: string
example: 'Error: Not Found'
post:
summary: Create a new job
operationId: CreateJob
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
erp_code:
type:
- string
- 'null'
maxLength: 12
example: PPI
description: The ERP code for the job
account_id:
type:
- integer
- 'null'
example: 17
description: The ID of the account associated with the job
contact_id:
type:
- integer
- 'null'
example: 17
description: The ID of the contact associated with the job
description:
type:
- string
- 'null'
example: Job description
description: A description of the job component
finish_ids:
type: array
example:
- 43
- 55
- 67
description: A list of the ids for the finish operations on a job
items:
type: integer
lead_time:
type: integer
example: 30
description: Leadtime for the job in days
quantity:
type: integer
example: 100
description: The quantity of the component manufactured for the job
is_engineering_master:
type: boolean
example: true
description: Indicates if a job is the engineering master
oritentation:
type:
- string
- 'null'
maxLength: 2
example: Auto
description: The orientation of the job component (''(auto), 'x', '-x', 'y', '-y', 'z', '-z').
price:
type:
- number
- 'null'
format: float
example: 100000.0
description: The unit price for a job
cost:
type:
- number
- 'null'
format: float
example: 25000
description: The unit cost for a job
profit:
type:
- number
- 'null'
format: float
example: 75000
description: The unit profit on a job
quote_item_id:
type:
- integer
- 'null'
example: 22
description: The id of the quote item this job is associated with
order_item_id:
type:
- integer
- 'null'
example: 21
description: The id of the order item this job is associated with
part_uuid:
type:
- string
- 'null'
example: 335c5770-8cd4-46d3-98a1-7c0e12251124
description: The uuid for the part associated with this job
process_id:
type:
- integer
- 'null'
example: 1529
description: The id of the process for this job
material_id:
type:
- integer
- 'null'
example: 1143
description: The id of the material for this job
material_notes:
type:
- string
- 'null'
example: Special material notes
description: Material notes for the job
parent_id:
type:
- integer
- 'null'
example: 124
description: The id of the parent job
root_job_id:
type:
- integer
- 'null'
example: 132
description: The id of the root job
responses:
201:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
/orders/public/jobs/{jobId}:
get:
summary: Get details about a Job
description: Get all Job attributes.
parameters:
- $ref: '#/components/parameters/jobId'
operationId: JobDetails
tags:
- Jobs
responses:
200:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
patch:
summary: Update a job
description: Update job attributes
parameters:
- $ref: '#/components/parameters/jobId'
operationId: UpdateJob
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
erp_code:
type:
- string
- 'null'
maxLength: 12
example: PPI
description: The ERP code for the job
account_id:
type:
- integer
- 'null'
example: 17
description: The ID of the account associated with the job
contact_id:
type:
- integer
- 'null'
example: 17
description: The ID of the contact associated with the job
description:
type:
- string
- 'null'
example: Job description
description: A description of the job component
finish_ids:
type: array
example:
- 43
- 55
- 67
description: A list of the ids for the finish operations on a job
items:
type: integer
lead_time:
type: integer
example: 30
description: Leadtime for the job in days
quantity:
type: integer
example: 100
description: The quantity of the component manufactured for the job
is_engineering_master:
type: boolean
example: true
description: Indicates if a job is the engineering master
oritentation:
type:
- string
- 'null'
maxLength: 2
example: Auto
description: The orientation of the job component (''(auto), 'x', '-x', 'y', '-y', 'z', '-z').
price:
type:
- number
- 'null'
format: float
example: 100000.0
description: The unit price for a job
cost:
type:
- number
- 'null'
format: float
example: 25000
description: The unit cost for a job
profit:
type:
- number
- 'null'
format: float
example: 75000
description: The unit profit on a job
quote_item_id:
type:
- integer
- 'null'
example: 22
description: The id of the quote item this job is associated with
order_item_id:
type:
- integer
- 'null'
example: 21
description: The id of the order item this job is associated with
part_uuid:
type:
- string
- 'null'
example: 335c5770-8cd4-46d3-98a1-7c0e12251124
description: The uuid for the part associated with this job
process_id:
type:
- integer
- 'null'
example: 1529
description: The id of the process for this job
material_id:
type:
- integer
- 'null'
example: 1143
description: The id of the material for this job
material_notes:
type:
- string
- 'null'
example: Special material notes
description: Material notes for the job
parent_id:
type:
- integer
- 'null'
example: 124
description: The id of the parent job
root_job_id:
type:
- integer
- 'null'
example: 132
description: The id of the root job
responses:
200:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
delete:
summary: Delete Job
description: Delete a Job
operationId: DeleteJob
parameters:
- $ref: '#/components/parameters/jobId'
tags:
- Jobs
responses:
204:
description: Successful Response
404:
description: Not found response
content:
text/plain:
schema:
title: Job not found
type: string
example: 'Error: Not Found'
/orders/public/jobs/{jobId}/operations:
get:
summary: Get a list of operations for a job
description: A complete list of operations on a job.
operationId: JobsOperationsList
parameters:
- $ref: '#/components/parameters/jobId'
tags:
- Jobs
responses:
200:
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
position:
type: integer
example: 4
description: The operation's position
op_def_id:
type: integer
example: 53
description: The ID of the operation definition from which the operation was derived
name:
type: string
example: admin
description: The name of the operation
notes:
type: string
example: Example notes
description: Operation notes
overrides:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing variable overrides
actuals:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing the actuals values
404:
description: Not found response
content:
text/plain:
schema:
title: Job or operations not found
type: string
example: 'Error: Not Found'
post:
summary: Create a new operation
operationId: CreateJobOp
parameters:
- $ref: '#/components/parameters/jobId'
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
op_def_id:
type: integer
example: 52
description: The id of the operation defintion for the operation
notes:
type:
- string
- 'null'
example: Operation notes
description: Notes for the operation
is_finish:
type: boolean
example: false
description: Inidicates if an operation is a finish
is_outside_service:
type: boolean
example: false
description: Indicates if an operation is an outside service
overrides:
type: object
example: '{ ''unit_price'': 25, }'
description: A json object containing variable overrides for an operation
actuals:
type: object
description: A json object containing actuals values for an Add On
example: '{ ''unit_price'': 22.5, }'
responses:
201:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/JobOperation'
/orders/public/jobs/{jobId}/operations/{position}:
get:
summary: Get details about an Operation
description: Get all Operation attributes.
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
operationId: JobOpDetails
tags:
- Jobs
responses:
200:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/JobOperation'
post:
summary: Update an Operation
operationId: UpdateJobOp
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
position:
type: integer
example: 2
description: The position of the operation in the op list
notes:
type:
- string
- 'null'
example: Operation notes
description: Notes for the operation
is_finish:
type: boolean
example: false
description: Inidicates if an operation is a finish
is_outside_service:
type: boolean
example: false
description: Indicates if an operation is an outside service
overrides:
type: object
example: '{ ''unit_price'': 25, }'
description: A json object containing variable overrides for an operation
actuals:
type: object
description: A json object containing actuals values for an operation
example: '{ ''unit_price'': 22.5, }'
responses:
201:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/JobOperation'
delete:
summary: Delete Operation
description: Delete an Operation
operationId: DeleteJobOp
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
tags:
- Jobs
responses:
204:
description: Successful Response
404:
description: Not found response
content:
text/plain:
schema:
title: Job or Operation not found
type: string
example: 'Error: Not Found'
/orders/public/jobs/{jobId}/add_ons:
get:
summary: Get a list of add ons for a Job
description: A complete list of Add Ons on a Job.
operationId: JobsAddOnsList
parameters:
- $ref: '#/components/parameters/jobId'
tags:
- Jobs
responses:
200:
description: Successful response
content:
application/json:
schema:
type: array
items:
type: object
properties:
position:
type: integer
example: 4
description: The add on's position
add_on_def_id:
type: integer
example: 53
description: The ID of the add on definition from which the add on was derived
name:
type: string
example: admin
description: The name of the add on
404:
description: Not found response
content:
text/plain:
schema:
title: Job or add ons not found
type: string
example: 'Error: Not Found'
post:
summary: Create a new Add On
operationId: CreateJobAddOn
parameters:
- $ref: '#/components/parameters/jobId'
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
add_on_def_id:
type: integer
example: 52
description: The id of the Add On Defintion for the Add On
notes:
type:
- string
- 'null'
example: Add On notes
description: Notes for the Add On
overrides:
type: object
example: '{ ''unit_price'': 75.00, }'
description: A json object containing variable overrides for an Add On
actuals:
type: object
description: A json object for holding actuals values
example: '{ ''unit_price'': 55.00, }'
responses:
201:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/JobAddOn'
/orders/public/jobs/{jobId}/add_ons/{position}:
get:
summary: Get details about an Add On
description: Get all Add On attributes.
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
operationId: JobAddOnDetails
tags:
- Jobs
responses:
200:
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/JobAddOn'
post:
summary: Update an Add On
operationId: UpdateJobAddOn
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
position:
type: integer
example: 2
description: The position of the Add On in the Add On list
notes:
type:
- string
- 'null'
example: Add On notes
description: Notes for the Add On
is_required:
type: boolean
example: false
description: Inidicates if an Add On is required
overrides:
type: object
example: '{ ''unit_price'': 75.00, }'
description: A json object containing variable overrides for an Add On
actuals:
type: object
description: A json object containing actuals values for an Add On
example: '{ ''unit_price'': 55.00, }'
responses:
201:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/JobAddOn'
delete:
summary: Delete Add On
description: Delete an Add On
operationId: DeleteJobAddOn
parameters:
- $ref: '#/components/parameters/jobId'
- $ref: '#/components/parameters/position'
tags:
- Jobs
responses:
204:
description: Successful Response
404:
description: Not found response
content:
text/plain:
schema:
title: Job or Add On not found
type: string
example: 'Error: Not Found'
components:
schemas:
JobAddOn:
type: object
properties:
position:
type: integer
example: 4
description: The AddOn's position
add_on_def_id:
type: integer
example: 53
description: The ID of the Add On definition from which the Add On was derived
name:
type: string
example: admin
description: The name of the Add On
notes:
type: string
example: Example notes
description: Add On notes
overrides:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing variable overrides
actuals:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing the actuals values
is_required:
type: boolean
example: false
description: Indicates if an Add On is require
JobOperation:
type: object
properties:
position:
type: integer
example: 4
description: The operation's position
op_def_id:
type: integer
example: 53
description: The ID of the operation definition from which the operation was derived
name:
type: string
example: admin
description: The name of the operation
notes:
type: string
example: Example notes
description: Operation notes
overrides:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing variable overrides
actuals:
type: object
example: '{ ''unit_price'': 27, ''setup_time'': 12, }'
description: A json object containing the actuals values
category:
type: string
example: operation
description: The operation category. (operation, material)
is_finish:
type: boolean
example: false
description: Indicates if an operation is a finish
is_outside_service:
type: boolean
example: false
description: Indicates if an operation is an outside service
runtime_display_untis:
type: string
example: hr
description: The unit for runtime. (hr, min, sec)
setup_time_display_units:
type: string
example: hr
description: The unit for setup time. (hr, min, sec)
Position:
type: integer
description: Position in list
example: 3
JobId:
type: integer
description: The job id
example: 37
Job:
type: object
properties:
id:
type: integer
example: 15
description: the ID of the job
erp_code:
type:
- string
- 'null'
maxLength: 12
example: PPI
description: The ERP code for the job
account_id:
type: integer
example: 17
description: The ID of the account associated with the job
contact_id:
type: integer
example: 17
description: The ID of the contact associated with the job
description:
type: string
example: Job description
description: A description of the job component
finish_ids:
type: array
example:
- 43
- 55
- 67
description: A list of the ids for the finish operations on a job
items:
type: integer
lead_time:
type: integer
example: 30
description: Leadtime for the job in days
quantity:
type: integer
example: 100
description: The quantity of the component manufactured for the job
is_engineering_master:
type: boolean
example: true
description: Indicates whether or a not a is the engineering master
price:
type: number
format: float
example: 100000.0
description: The unit price for a job
cost:
type: number
format: float
example: 25000
description: The unit cost for a job
profit:
type: number
format: float
example: 75000
description: The unit profit on a job
quote_component_id:
type: integer
example: 35
description: The id of the component this job is associated with
quote_item_id:
type: integer
example: 22
description: The id of the quote item this job is associated with
order_item_id:
type: integer
example: 21
description: The id of the order item this job is associated with
oritentation:
type:
- string
- 'null'
maxLength: 2
example: Auto
description: The orientation of the job component (''(auto), 'x', '-x', 'y', '-y', 'z', '-z').
part_uuid:
type: string
example: 335c5770-8cd4-46d3-98a1-7c0e12251124
description: The uuid for the part associated with this job
process_id:
type: integer
example: 1529
description:
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paperless-parts/refs/heads/main/openapi/paperless-parts-jobs-api-openapi.yml