Paperless Parts Custom Tables API
Endpoints for managing custom tables used by Operations to compute pricing.
Endpoints for managing custom tables used by Operations to compute pricing.
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-custom-tables-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Paperless Parts Custom Tables 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 Custom Tables across 2 of this provider''s published API definitions: paperless-parts-v1-openapi-original.yml, paperless-parts-v2-openapi-original.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: Custom Tables
description: Endpoints for managing custom tables used by Operations to compute pricing.
paths:
/suppliers/public/custom_tables:
get:
summary: Get a list of all the custom tables defined for this account
description: Get a list of all the custom tables defined for this account.
operationId: GetCustomTablesList
tags:
- Custom Tables
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableListResults'
404:
description: Not found response
content:
text/plain:
schema:
title: Quote not found
type: string
example: 'Error: Not Found'
post:
summary: Create a new custom table
description: Create a new custom table by supplying a name.
operationId: CreateNewCustomTable
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableName'
tags:
- Custom Tables
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableName'
404:
description: Not found response
content:
text/plain:
schema:
title: Quote not found
type: string
example: 'Error: Not Found'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/custom_tables/{tableName}:
get:
summary: Get the details for a single table
description: Get the details for a single table.
operationId: GetCustomTableDetails
parameters:
- $ref: '#/components/parameters/tableName'
tags:
- Custom Tables
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableDetails'
404:
description: Not found response
content:
text/plain:
schema:
title: Quote not found
type: string
example: 'Error: Not Found'
patch:
summary: Update a table's definition
description: Update a table's definition. You may rename the table, supply a new configuration, or supply new row data. Supplying new data without a new configuration will drop the existing data and populate the table with the new data (assuming the table has previously been configured) - this is not an append operation. Supplying a new configuration without new table data will apply the configuration and clear the table data. Supplying both a new configuration and new data will apply the configuration, drop the existing data, and populate the table with the new data.
operationId: UpdateCustomTableDetails
parameters:
- $ref: '#/components/parameters/tableName'
tags:
- Custom Tables
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableBody'
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableDetails'
404:
description: Not found response
content:
text/plain:
schema:
title: Quote not found
type: string
example: 'Error: Not Found'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
/suppliers/public/custom_tables/{tableName}/row/bulk:
put:
summary: Bulk upsert rows for a single table
description: Upserts rows for a single table. If a row already exists, it will be updated. Otherwise, the row will be created.
operationId: BulkUpsertCustomTable
parameters:
- $ref: '#/components/parameters/tableName'
tags:
- Custom Tables
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomTableRows'
responses:
200:
description: Successful response
content:
application/json:
schema:
type: object
properties:
successes:
type: array
items:
$ref: '#/components/schemas/CustomTableDetails'
failures:
type: array
items:
$ref: '#/components/schemas/CustomTableDetails'
404:
description: Not found response
content:
text/plain:
schema:
title: Quote not found
type: string
example: 'Error: Not Found'
servers:
- url: '{url}/{version}'
variables:
url:
default: https://api.paperlessparts.com
version:
default: v1
components:
schemas:
TableName:
type: string
description: The name of the table
example: sample_table
CustomTableRelatedEntity:
type: object
properties:
entity_type:
type: string
enum:
- operation
- process
name:
type: string
CustomTableRowData:
type: object
description: The keys in this object must match the column names in the config property above, and the corresponding values must be castable to the specified types in the config property.
CustomTableDetails:
type: object
properties:
columns:
type: array
items:
type: string
name:
type: string
related_entities:
type: array
items:
$ref: '#/components/schemas/CustomTableRelatedEntity'
rows:
type: array
items:
type: object
description: The keys in this object will match the column names in the columns property above.
CustomTableColumnConfig:
type: object
properties:
column_name:
type: string
value_type:
type: string
enum:
- numeric
- string
- boolean
CustomTableName:
type: object
properties:
name:
type: string
CustomTableListResults:
type: array
items:
type: string
CustomTableBody:
type: object
properties:
name:
type:
- string
- 'null'
config:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CustomTableColumnConfig'
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CustomTableRowData'
CustomTableRows:
type: object
properties:
rows:
type: array
description: A list of table rows.
items:
$ref: '#/components/schemas/CustomTableRowData'
parameters:
tableName:
name: tableName
in: path
description: The name of the table
required: true
schema:
$ref: '#/components/schemas/TableName'
securitySchemes:
app_id:
type: apiKey
description: API key to authorize requests.
name: Authorization
in: header
x-refined-from:
- paperless-parts-v1-openapi-original.yml
- paperless-parts-v2-openapi-original.yml