PartsTech Motor Labor API

Labor

Operations 2

POST /taxonomy/labor Get Labor #
POST /taxonomy/labor/details Get Labor Details By Operation ID #

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/partstech-motor-labor-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

partstech-motor-labor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.021.1
  title: PartsTech Motor Labor API
  description: '# Rate Limiting


    Requests can be limited by user requests, by private partner requests and by all requests with partner''s credentials.'
  x-logo:
    url: https://partstech.com/wp-content/uploads/2025/03/PartsTech_OEC-compnay_logo.svg
    altText: PartsTech logo
servers:
- url: https://api.partstech.com
  description: Production server
- url: https://api.beta.partstech.com
  description: Beta server
tags:
- name: motor-labor
  description: Labor
  x-displayName: Labor
paths:
  /taxonomy/labor:
    post:
      summary: Get Labor
      description: 'Returns Labor Groups or Labor Operations.

        - to get Labor Groups - send only `searchParams` with `vehicleParams` or `vin`.

        - to get Labor Operations - send `searchParams` with `vehicleParams` or `vin` and add `laborParams`.


        The method is not available for all users.'
      tags:
      - motor-labor
      operationId: getLabor
      x-operation-name: QueryTaxonomyLabor
      security:
      - bearerAuth:
        - user
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/LaborGroupsRequest'
              - $ref: '#/components/schemas/LaborOperationsRequest'
      responses:
        '200':
          description: OK
          headers:
            Link:
              $ref: '#/components/headers/MotorComplianceLink'
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/LaborGroupsResponse'
                - $ref: '#/components/schemas/LaborOperationsResponse'
        '400':
          $ref: '#/components/responses/UnsupportedVehicle'
        '404':
          $ref: '#/components/responses/VehicleNotFound'
  /taxonomy/labor/details:
    post:
      summary: Get Labor Details By Operation ID
      description: Returns labor details for a specific operation ID
      tags:
      - motor-labor
      operationId: getLaborDetails
      x-operation-name: QueryTaxonomyLaborDetails
      security:
      - bearerAuth:
        - user
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - searchParams
              - operationId
              properties:
                searchParams:
                  $ref: '#/components/schemas/SearchParams'
                operationId:
                  type: number
      responses:
        '200':
          description: OK
          headers:
            Link:
              $ref: '#/components/headers/MotorComplianceLink'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
        '400':
          $ref: '#/components/responses/UnsupportedVehicle'
        '404':
          $ref: '#/components/responses/VehicleNotFound'
components:
  responses:
    VehicleNotFound:
      description: Not Found
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
            example:
              error:
                code: NotFound
                message: Vehicle was not found
    UnsupportedVehicle:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
            example:
              error:
                code: UnsupportedVehicle
                message: MOTOR does not currently support data for Canadian vehicles.
  schemas:
    VehicleParams:
      oneOf:
      - $ref: '#/components/schemas/VehicleParamsByEngineIdAndEngineParams'
      - $ref: '#/components/schemas/VehicleParamsByEngineConfigId'
    VehicleSearchParams:
      description: 'A search parameters for the search by vehicle parameters.

        It consists on Vehicle arameters and Part Types or Keyword.


        [Search](#tag/search) require Vehicle arameters and one of another properties - Part Types or Keyword.


        [Create Quote](#operation/createQuote) requires only Vehicle parameters. Part Types or Keyword is optional.

        '
      type: object
      minProperties: 1
      maxProperties: 2
      required:
      - vehicleParams
      properties:
        vehicleParams:
          $ref: '#/components/schemas/VehicleParams'
    PlateSearchParams:
      description: 'A search parameters for the search by Plate.

        It consists on Plate and Part Types or Keyword.


        [Search](#tag/search) require Plate and one of another properties - Part Types or Keyword.


        [Create Quote](#operation/createQuote) requires only Plate. Part Types or Keyword is optional.

        '
      type: object
      minProperties: 1
      maxProperties: 2
      required:
      - plate
      properties:
        plate:
          type: object
          required:
          - state
          - plate
          properties:
            state:
              description: 'ISO 3166-2: Second part. Example for US-MA - MA.'
              type: string
              minLength: 2
              maxLength: 2
              pattern: \w{2,2}
              example: MA
            plate:
              type: string
              example: SomePlate
    PartTypeLaborParams:
      type: object
      required:
      - partTypeIds
      properties:
        partTypeIds:
          type: array
          minItems: 1
          maxItems: 10
          items:
            type: integer
          example:
          - 1852
    SearchParams:
      type: object
      oneOf:
      - $ref: '#/components/schemas/VehicleSearchParams'
      - $ref: '#/components/schemas/VinSearchParams'
      - $ref: '#/components/schemas/PlateSearchParams'
      - $ref: '#/components/schemas/PartNumberSearchParams'
    VehicleParamsByEngineConfigId:
      title: Vehicle params with engineConfigId
      description: 'Vehicle parameters with Engine Config ID.


        EngineID and other Engine parameters will be defined by Engine Config ID.

        '
      type: object
      required:
      - yearId
      - makeId
      - modelId
      - subModelId
      - engineConfigId
      properties:
        yearId:
          type: integer
          example: 2015
        makeId:
          type: integer
          example: 65
        modelId:
          type: integer
          example: 123
        subModelId:
          type: integer
          example: 234
        engineConfigId:
          type: integer
          example: 34
    LaborOperationsResponse:
      type: array
      minItems: 0
      items:
        type: object
        required:
        - id
        - name
        properties:
          id:
            type: integer
          name:
            type: string
          operations:
            type: array
            items:
              $ref: '#/components/schemas/Operation'
    ExpandedTaxonomyLaborParams:
      type: object
      required:
      - systemId
      - groupId
      - subGroupIds
      properties:
        systemId:
          type: integer
          example: 3
        groupId:
          type: integer
          example: 5
        subGroupIds:
          type: array
          minItems: 1
          maxItems: 10
          items:
            type: integer
          example:
          - 1
          - 6
          - 7
          - 10
    LaborOperationsRequest:
      type: object
      required:
      - searchParams
      - laborParams
      properties:
        searchParams:
          oneOf:
          - $ref: '#/components/schemas/VehicleSearchParams'
          - $ref: '#/components/schemas/PartsTechVehicleIdSearchParams'
          - $ref: '#/components/schemas/VinSearchParams'
          - $ref: '#/components/schemas/PlateSearchParams'
        laborParams:
          oneOf:
          - $ref: '#/components/schemas/ExpandedTaxonomyLaborParams'
          - $ref: '#/components/schemas/TaxonomyLaborParams'
          - $ref: '#/components/schemas/PartTypeLaborParams'
          - $ref: '#/components/schemas/SearchLaborParams'
    SearchLaborParams:
      type: object
      required:
      - searchTerm
      properties:
        searchTerm:
          type: string
          minLength: 3
    EngineParams:
      title: Engine params
      type: object
      required:
      - engineVinId
      - engineDesignationId
      - engineVersionId
      - fuelTypeId
      - cylinderHeadTypeId
      properties:
        engineVinId:
          type: integer
          example: 134
        engineDesignationId:
          type: integer
          example: 344
        engineVersionId:
          type: integer
          example: 342
        fuelTypeId:
          type: integer
          example: 54
        cylinderHeadTypeId:
          type: integer
          example: 25243
    VinSearchParams:
      description: 'A search parameters for the search by vin.

        It consists on VIN and Part Types or Keyword.


        [Search](#tag/search) require VIN and one of another properties - Part Types or Keyword.


        [Create Quote](#operation/createQuote) requires only VIN. Part Types or Keyword is optional.

        '
      type: object
      minProperties: 1
      maxProperties: 2
      required:
      - vin
      properties:
        vin:
          type: string
          example: SomeVIN
    TaxonomyLaborParams:
      type: object
      required:
      - taxonomyIds
      properties:
        taxonomyIds:
          type: array
          minItems: 1
          maxItems: 10
          items:
            type: integer
          example:
          - 1
          - 5
          - 7
          - 8
    PartNumberSearchParams:
      description: 'A search parameters for the search by PartNumber.

        It consists on only PartNumber.


        Now it has limits of 1 PartNumber in a request.

        '
      type: object
      required:
      - partNumber
      properties:
        partNumber:
          type: array
          minItems: 1
          maxItems: 1
          uniqueItems: true
          description: The manufacturer part number.
          items:
            type: string
          example:
          - 12345
    VehicleParamsByEngineIdAndEngineParams:
      title: Vehicle params with engineId and engine params
      description: 'Vehicle parameters with Engine ID and Engine parameters.

        '
      type: object
      required:
      - yearId
      - makeId
      - modelId
      - subModelId
      - engineId
      - engineParams
      properties:
        yearId:
          type: integer
          example: 2015
        makeId:
          type: integer
          example: 65
        modelId:
          type: integer
          example: 123
        subModelId:
          type: integer
          example: 234
        engineId:
          type: integer
          example: 12344
        engineParams:
          $ref: '#/components/schemas/EngineParams'
    LaborGroupsRequest:
      type: object
      required:
      - searchParams
      properties:
        searchParams:
          oneOf:
          - $ref: '#/components/schemas/VehicleSearchParams'
          - $ref: '#/components/schemas/PartsTechVehicleIdSearchParams'
          - $ref: '#/components/schemas/VinSearchParams'
          - $ref: '#/components/schemas/PlateSearchParams'
    Operation:
      type: object
      required:
      - id
      - name
      - laborTimeInterval
      - additional
      - all
      - base
      - isMatch
      properties:
        id:
          type: integer
        taxonomyId:
          type:
          - integer
          - 'null'
        name:
          type: string
        partTerminologies:
          type: array
          items:
            type: object
            required:
            - id
            - name
            properties:
              id:
                type: integer
              name:
                type: string
        laborTimeInterval:
          type: string
        additional:
          type: object
          required:
          - laborTime
          - laborTimeDescription
          - warrantyLaborTime
          properties:
            laborTime:
              type: number
              format: float
            laborTimeDescription:
              type: string
            warrantyLaborTime:
              type: number
              format: float
        all:
          type: object
          required:
          - laborTime
          - laborTimeDescription
          - warrantyLaborTime
          properties:
            laborTime:
              type: number
              format: float
            laborTimeDescription:
              type: string
            warrantyLaborTime:
              type: number
              format: float
        base:
          type: object
          required:
          - laborTime
          - laborTimeAverage
          - laborTimeDescription
          - warrantyLaborTime
          properties:
            laborTime:
              type: number
              format: float
            laborTimeAverage:
              type: number
              format: float
            laborTimeDescription:
              type: string
            warrantyLaborTime:
              type: number
              format: float
        attributes:
          type:
          - array
          - 'null'
          items:
            type: object
            required:
            - id
            - name
            properties:
              id:
                type: integer
              name:
                type: string
              text:
                type:
                - string
                - 'null'
        position:
          type:
          - object
          - 'null'
          required:
          - name
          - pcdbPositionID
          properties:
            name:
              type: string
            pcdbPositionID:
              type: integer
        isMatch:
          type: boolean
          description: Indicates whether the operation matches the request criteria.
    PartsTechVehicleIdSearchParams:
      description: 'A search parameters for the search by PartsTech Vehicle ID.

        It consists on Vehicle ID and Part Types or Keyword.

        '
      type: object
      minProperties: 1
      maxProperties: 2
      required:
      - vehicleId
      properties:
        vehicleId:
          type: integer
          example: 1
          description: PartsTech's ID for a vehicle.
    LaborGroupsResponse:
      type: array
      items:
        type: object
        required:
        - systemId
        - name
        properties:
          systemId:
            type: integer
          name:
            type: string
          groups:
            type: array
            items:
              type: object
              required:
              - groupId
              - name
              properties:
                groupId:
                  type: integer
                name:
                  type: string
                subGroups:
                  type: array
                  items:
                    type: object
                    required:
                    - subGroupId
                    - name
                    properties:
                      subGroupId:
                        type: integer
                      name:
                        type: string
  headers:
    MotorComplianceLink:
      description: 'Labor, maintenance schedules, fluids, and specifications data provided by MOTOR.

        Link to MOTOR''s OEM Compliance Requirements documentation.

        '
      schema:
        type: string
        example: <https://www.motor.com/oem-compliance-requirements/>; rel="compliance"
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: "Get access to data while protecting your account credentials.\nToken (a JWT token) are also a safer and more secure way to give you access.\n\nIt provides two ways of access:\n - `user` - Give an access to user methods.\n - `partner` - Give an acess to partner methods.\n\nTo use this way you need:\n1. Get an access token. See [\"Authentication and Access\"](#operation/getAcessToken).\n2. Add a header in the request\n```\nAuthorization: Bearer <accessToken>\n```\n3. Refresh tokens, when it expires, using `refreshToken`. See [\"Authentication and Access\"](#operation/refreshAccessToken). **Deprecated**.\nGenerate a new token after an expiration of previous instead of refreshing .\n"
    apiKeyAuth:
      type: apiKey
      in: header
      name: credentials
      description: "It is a deprecated way to get access to the methods, used only in the methods, that were in the previous version.\n\nIt provides two ways of an access:\n - `user` - Give access to user methods.\n - `partner` - Give acess to partner methods.\n\nTo use this way you need to add credentials in the request body, where it is allowed, in a next format:\n - for user methods:\n```\n\"credentials\": {\n    \"user\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    },\n    \"partner\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    }\n}\n```\n - for partner methods:\n```\n\"credentials\": {\n    \"partner\": {\n      \"id\": \"username\",\n      \"key\": \"APIKey\"\n    }\n}\n```\n\nFor example content of method [`Submit Cart`](#operation/submitCart) will be modified:\n```\n{\n  \"sessionId\": \"123asjkdhyr34234\"\n}\n```\n\n```\n{\n  \"sessionId\": \"123asjkdhyr34234\",\n  \"credentials\": {\n    \"user\": {\n      \"id\": \"mechanic\",\n      \"key\": \"Mechanic's API key\"\n    },\n    \"partner\": {\n      \"id\": \"partner name\",\n      \"key\": \"partner's API key\"\n    }\n  }\n}\n```\n"
x-tagGroups:
- name: Authentication
  tags:
  - auth
- name: Punchout
  tags:
  - punchout_quote
- name: Cart
  tags:
  - punchout-cart
  - session-cart
  - callback-cart
  - punchout-orders
  - custom-cart
- name: Catalog
  tags:
  - vin
  - search
  - quoting
  - parts
  - tires
  - brands
- name: Taxonomy
  tags:
  - pcdb
  - vcdb
  - jobs
- name: Profile
  tags:
  - user
  - shop
  - supplier_preferences
  - orders
- name: Partner
  tags:
  - users
  - shops
  - ex-permissions
  - partner-orders
  - auto-connect
- name: Others
  tags:
  - suppliers
  - local-inventory
- name: Motor Taxonomy
  tags:
  - motor-labor
  - motor-maintenance-schedules
  - motor-fluids
  - motor-specifications
- name: Mitchell1 Taxonomy
  tags:
  - mitchell1
  - mitchell1-labor