Paperless Parts Integration Actions API

Endpoints for interacting with ERP integrations

Operations 9

GET /managed_integrations/public Returns a list of managed integrations #
POST /managed_integrations/public Create managed integration #
GET /managed_integrations/public/{managed_integration_uuid} Get managed integration details #
PATCH /managed_integrations/public/{managed_integration_uuid} Update fields on a managed integration #
POST /managed_integrations/public/{managed_integration_uuid}/heartbeat Post an integration heartbeat #
GET /managed_integrations/public/{managed_integration_uuid}/integration_actions Returns a list of integration actions #
POST /managed_integrations/public/{managed_integration_uuid}/integration_actions Create new integration action #
GET /integration_actions/public/{integration_action_uuid} Get integration action details #
PATCH /integration_actions/public/{integration_action_uuid} Update fields on an integration action #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paperless-parts-integration-actions-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

paperless-parts-integration-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paperless Parts Integration Actions 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: '1.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: v1
security:
- app_id: []
tags:
- name: Integration Actions
  description: Endpoints for interacting with ERP integrations
paths:
  /managed_integrations/public:
    get:
      summary: Returns a list of managed integrations
      description: Returns a list of managed integrations. Use the UUID provided from the managed integration to create integration actions
      operationId: ListManagedIntegrations
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ManagedIntegrationDetails'
        404:
          description: Not found response
          content:
            text/plain:
              schema:
                title: Managed integrations not found
                type: string
                example: 'Error: Not Found'
    post:
      summary: Create managed integration
      description: Creates a new managed integration. This is required to later create integration actions
      operationId: CreateManagedIntegration
      tags:
      - Integration Actions
      responses:
        201:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedIntegrationDetails'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedIntegration'
  /managed_integrations/public/{managed_integration_uuid}:
    get:
      summary: Get managed integration details
      description: Get the details for a managed integration
      operationId: GetManagedIntegration
      parameters:
      - in: path
        name: managed_integration_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the managed integration to be returned
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedIntegrationDetails'
        404:
          description: Not found response
          content:
            text/plain:
              schema:
                title: Integration action with that action uuid not found
                type: string
                example: 'Error: Not Found'
    patch:
      summary: Update fields on a managed integration
      description: Update fields on a managed integration. Cannot update UUID or erp_name
      operationId: UpdateManagedIntegration
      parameters:
      - in: path
        name: managed_integration_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the managed integration to be returned
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedIntegrationDetails'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                is_active:
                  type: boolean
                  example: true
                  description: whether the integration is active
                erp_name:
                  type: string
                  example: JobBOSS
                  description: The name of the ERP system being integrated with
                erp_version:
                  type: string
                  example: '1.0'
                  description: The version of the ERP system being integrated with
                integration_version:
                  type: string
                  example: '1.0'
                  description: The version of the codebase processing the integration
                create_integration_action_after_creating_new_order:
                  type: boolean
                  example: true
                  description: Whether a new integration action should be created after a new order is faciliated in Paperless
                create_integration_action_after_quote_sent:
                  type: boolean
                  example: true
                  description: Whether a new integration action should be created after a new quote is sent in Paperless
  /managed_integrations/public/{managed_integration_uuid}/heartbeat:
    post:
      summary: Post an integration heartbeat
      description: Post to confirm that the integration is still active
      operationId: PostManagedIntegrationHeartbeat
      parameters:
      - in: path
        name: managed_integration_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the managed integration whose heartbeat is being recorded
      tags:
      - Integration Actions
      responses:
        201:
          description: Successful response
  /managed_integrations/public/{managed_integration_uuid}/integration_actions:
    get:
      summary: Returns a list of integration actions
      description: Returns a list of integration actions available to be used for ERP integrations.
      operationId: ListIntegrationActions
      parameters:
      - in: path
        name: managed_integration_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the managed integration whose integration actions you would like
      - in: query
        name: status_in
        schema:
          type: string
        required: false
        description: Value used to search for only integrations that currently have a certain status. Valid options are queued, in_progress, completed, cancelled, failed, or timed_out
      - in: query
        name: type_in
        schema:
          type: string
        required: false
        description: Value used to search for only integrations that currently have a certain type. Valid options are export_order, export_quote, import_purchased_component, import_work_center, import_vendor, import_material, or import_account
      - in: query
        name: page
        schema:
          type: string
        required: false
        description: The page of results to return.
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IntegrationAction'
        404:
          description: Not found response
          content:
            text/plain:
              schema:
                title: Integration actions not found
                type: string
                example: 'Error: Not Found'
    post:
      summary: Create new integration action
      parameters:
      - in: path
        name: managed_integration_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the managed integration whose integration action you would like
      description: Creates a new integration action
      operationId: CreateIntegrationAction
      tags:
      - Integration Actions
      responses:
        201:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationAction'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  example: export_order
                  description: the type of action being requested
                entity_id:
                  type: string
                  example: '8'
                  description: The identifier for the entity that should be processed as part of the action. For example, process order 8
  /integration_actions/public/{integration_action_uuid}:
    get:
      summary: Get integration action details
      description: Get the details for a specific integration action.
      operationId: Get integration action details
      parameters:
      - in: path
        name: integration_action_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the integration action to be returned
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationAction'
        404:
          description: Not found response
          content:
            text/plain:
              schema:
                title: Integration action with that action uuid not found
                type: string
                example: 'Error: Not Found'
    patch:
      summary: Update fields on an integration action
      description: Update fields on an integration action.
      operationId: UpdateOrder
      parameters:
      - in: path
        name: integration_action_uuid
        schema:
          type: string
        required: true
        description: The unique identifier for the integration action to be returned
      tags:
      - Integration Actions
      responses:
        200:
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationAction'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  example: in_progress
                  description: the new status of the integration action
                status_message:
                  type: string
                  example: The order 8 is now processing
                  description: The new status message for the integration
components:
  schemas:
    ManagedIntegrationLogo:
      type: object
      properties:
        original:
          type:
          - string
          - 'null'
          format: uri
        thumbnail:
          type:
          - string
          - 'null'
          format: uri
    IntegrationAction:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        type:
          type: string
          example: export_order
          description: the type of action being requested
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        current_record_count:
          type: integer
        last_checkin:
          type:
          - string
          - 'null'
          format: date-time
        related_object:
          type:
          - string
          - 'null'
        related_object_type:
          type: string
        status:
          type: string
          example: in_progress
          description: The current status of the action
        status_message:
          type: string
          example: Order 8 is currently being processed
        entity_id:
          type: string
          example: '8'
          description: The identifier for the entity that should be processed as part of the action. For example, process order 8
    ManagedIntegration:
      type: object
      properties:
        uuid:
          type: string
        updated:
          type: string
          format: date-time
        author:
          type: string
          example: John Doe
          description: The creator of this integration
        category:
          type: string
          example: ERP
          description: The category of tool that this integration belongs to
        configuration_parameters:
          type: object
        description:
          type: string
          example: Connecting other shop software to Paperless Parts
          description: A short description for the integration
        developed_by_paperless_parts:
          type: boolean
          example: true
          description: A boolean reflecting whether the integration was created by Paperless Parts
        erp_name:
          type: string
        erp_version:
          type: string
        icc_setup_complete:
          type: boolean
        icc_ssh_tunnel_status:
          type:
          - string
          - 'null'
        icc_ssh_tunnel_status_expiration:
          type:
          - string
          - 'null'
          format: date-time
        integrated_software_name:
          type: string
          example: JobBOSS²
          description: The name of the integration
        integrated_software_version:
          type: integer
          example: The version of the codebase processing the integration
          description: '1.0'
        integration_template_id:
          type:
          - integer
          - 'null'
        integration_version:
          type: integer
          example: The version of the codebase processing the integration
          description: '1.0'
        internal_productized_name:
          type:
          - string
          - 'null'
        is_active:
          type: string
          example: Whether the integration is active
          description: 'True'
        is_icc_compatible:
          type: boolean
        is_icc_enabled:
          type: boolean
        locator:
          type:
          - string
          - 'null'
        logo:
          $ref: '#/components/schemas/ManagedIntegrationLogo'
        name:
          type: string
          example: JobBOSS²
          description: The name of the integration
        release_channel:
          type: string
        status:
          type: string
          example: up
          description: Either 'up' or 'down', reflecting the health of the integration
        support_contact:
          type: string
          example: support@paperlessparts.com
          description: A contact to reach out to for support on this integration
    ManagedIntegrationDetails:
      allOf:
      - $ref: '#/components/schemas/ManagedIntegration'
  securitySchemes:
    app_id:
      type: apiKey
      description: API key to authorize requests.
      name: Authorization
      in: header