Paperless Parts Purchased Components API
Endpoints for managing purchased components and purchased components columns.
Endpoints for managing purchased components and purchased components columns.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/paperless-parts-purchased-components-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Paperless Parts Purchased Components API
contact:
name: Paperless Parts
url: https://www.paperlessparts.com
email: support@paperlessparts.com
termsOfService: https://www.paperlessparts.com/web-service-agreement/
version: '1.0'
description: 'Operations tagged Purchased Components across 2 of this provider''s published API definitions: paperless-parts-v1-openapi.yml, paperless-parts-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
security:
- app_id: []
tags:
- name: Purchased Components
description: Endpoints for managing purchased components and purchased components columns.
paths:
/suppliers/public/purchased_components:
get:
summary: List purchased components
description: List all purchased components
operationId: ListPurchasedComponents
tags:
- Purchased Components
parameters:
- in: query
name: search
schema:
type: string
required: false
description: Value used to search against oem_part_number and internal_part_number. Comparisons are not case sensitive and will match when the field value includes the search value as a substring.
- in: query
name: page
schema:
type: string
default: 1
required: false
description: The page of results to return.
- in: query
name: page_size
schema:
type: string
default: 500
required: false
description: The page size of results to return. Default subject to change.
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponent'
post:
summary: Create purchased component
description: Create a purchased component
operationId: CreatePurchasedComponent
tags:
- Purchased Components
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostPurchasedComponent'
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponent'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/purchased_components/{purchasedComponentId}:
patch:
summary: Update purchased component
description: Update a purchased component
operationId: UpdatePurchasedComponent
parameters:
- $ref: '#/components/parameters/purchasedComponentId'
tags:
- Purchased Components
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPurchasedComponent'
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponent'
404:
description: Not found response
content:
text/plain:
schema:
title: PurchasedComponent not found
type: string
example: 'Error: Not Found'
delete:
summary: Delete purchased component
description: Delete a purchased component
operationId: DeletePurchasedComponent
parameters:
- $ref: '#/components/parameters/purchasedComponentId'
tags:
- Purchased Components
responses:
204:
description: Successful Response
404:
description: Not found response
content:
text/plain:
schema:
title: PurchasedComponent not found
type: string
example: 'Error: Not Found'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/purchased_components/batch:
put:
summary: Bulk upsert purchased components
description: Upserts purchased components in bulk. If the purchased component already exists, it will be updated. Otherwise, it will be created.
operationId: BulkUpdatePurchasedComponent
tags:
- Purchased Components
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
purchased_components:
type: array
description: The list of purchased components to create. Max size is 1000 components.
items:
$ref: '#/components/schemas/PostPurchasedComponent'
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: object
properties:
successes:
type: array
items:
$ref: '#/components/schemas/PurchasedComponent'
failures:
type: array
items:
$ref: '#/components/schemas/PurchasedComponent'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/purchased_component_columns:
get:
summary: List purchased components columns
description: List all custom purchased components columns
operationId: ListPurchasedComponentsColumns
tags:
- Purchased Components
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentsColumn'
post:
summary: Create purchased components columns
description: Creates a new custom purchased components columns
operationId: CreatePurchasedComponentsColumn
tags:
- Purchased Components
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostPurchasedComponentsColumn'
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentsColumn'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/purchased_component_columns/{purchasedComponentsColumnId}:
patch:
summary: Update purchased components columns
description: Updates an existing custom purchased components columns
operationId: UpdatePurchasedComponentsColumn
parameters:
- $ref: '#/components/parameters/purchasedComponentsColumnId'
tags:
- Purchased Components
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchPurchasedComponentsColumn'
responses:
200:
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentsColumn'
404:
description: Not found response
content:
text/plain:
schema:
title: PurchasedComponentsColumn not found
type: string
example: 'Error: Not Found'
delete:
summary: Delete purchased components columns
description: Deletes an existing custom purchased components columns
operationId: DeletePurchasedComponentsColumn
parameters:
- $ref: '#/components/parameters/purchasedComponentsColumnId'
tags:
- Purchased Components
responses:
204:
description: Successful Response
404:
description: Not found response
content:
text/plain:
schema:
title: PurchasedComponentsColumn not found
type: string
example: 'Error: Not Found'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/purchased_components_csv:
get:
summary: Retrieve purchased components csv
description: Retrieve all purchased components for account in csv format
operationId: GetPurchasedComponentCSV
tags:
- Purchased Components
responses:
200:
description: Successful Response
content:
text/csv:
schema:
type: string
post:
summary: Upload purchased components csv
description: Replace all purchased components for account based on uploaded csv
operationId: PostPurchasedComponentCSV
tags:
- Purchased Components
responses:
204:
description: Successful Response
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
csv_file:
type: string
format: binary
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
components:
schemas:
PurchasedComponentsColumnId:
type: integer
PurchasedComponent:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponent'
- type: object
properties:
id:
type: integer
properties:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentCustomProperty'
thumbnail_url:
type:
- string
- 'null'
PostPurchasedComponentsColumn:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponentsColumn'
- type: object
required:
- code_name
- name
- value_type
- default_numeric_value
- default_string_value
- default_boolean_value
AbstractPurchasedComponent:
type: object
properties:
oem_part_number:
type: string
description: Unique identifier for purchased component within a supplier account
example: 064-1235
internal_part_number:
type:
- string
- 'null'
example: a
description:
type:
- string
- 'null'
example: any text you want
piece_price:
type: number
format: decimal
description: Cost per piece to 4 decimal places
example: 2.0
PurchasedComponentsColumn:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponentsColumn'
- type: object
properties:
id:
type: integer
readOnly: true
example: 25
position:
type: integer
example: 4
description: Position of the column when displayed in the table; starts at 1.
PostPurchasedComponent:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponent'
- type: object
properties:
properties:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentCustomProperty'
required:
- oem_part_number
- piece_price
- properties
PurchasedComponentCustomProperty:
type: object
properties:
key:
type: string
description: Name of corresponding purchased component column in table display
example: property name
value:
anyOf:
- type: string
- type: number
- type: boolean
description: Value of property, None or of type corresponding to value_type
example: really cool value
PurchasedComponentId:
type: integer
PatchPurchasedComponent:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponent'
- type: object
properties:
properties:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentCustomProperty'
AbstractPurchasedComponentsColumn:
type: object
properties:
code_name:
type: string
example: James_Bond
name:
type: string
example: James Bond
value_type:
type: string
example: numeric
default_numeric_value:
type:
- integer
- 'null'
example: 21
default_string_value:
type:
- string
- 'null'
example: null
default_boolean_value:
type: boolean
example: false
PatchPurchasedComponentsColumn:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponentsColumn'
- type: object
properties:
update_existing_defaults:
type: boolean
position:
type: integer
example: 4
PurchasedComponent_2:
allOf:
- $ref: '#/components/schemas/AbstractPurchasedComponent'
- type: object
properties:
id:
type: integer
properties:
type: array
items:
$ref: '#/components/schemas/PurchasedComponentCustomProperty'
parameters:
purchasedComponentsColumnId:
name: purchasedComponentsColumnId
in: path
required: true
schema:
$ref: '#/components/schemas/PurchasedComponentsColumnId'
purchasedComponentId:
name: purchasedComponentId
in: path
required: true
schema:
$ref: '#/components/schemas/PurchasedComponentId'
securitySchemes:
app_id:
type: apiKey
description: API key to authorize requests.
name: Authorization
in: header
x-refined-from:
- paperless-parts-v1-openapi.yml
- paperless-parts-v2-openapi.yml