PartsTech Parts API

Parts

Operations 4

GET /catalog/parts/{partId} Get Part #
POST /catalog/parts/{partId} Get Part (with request body) #
GET /catalog/parts/{partId}/interchanges Get Interchanges #
POST /catalog/parts/{partId}/validate-fitment Part Fitment Validation #

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-parts-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-parts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.021.1
  title: PartsTech Parts 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: Parts
  description: Parts
  x-displayName: Parts
paths:
  /catalog/parts/{partId}:
    get:
      summary: Get Part
      description: Returns part.
      tags:
      - Parts
      operationId: getPart
      x-operation-name: GetCatalogPart
      security:
      - bearerAuth:
        - user
      parameters:
      - name: partId
        in: path
        required: true
        schema:
          type: string
          example: BBHK-24CA
      - $ref: '#/components/parameters/locale'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailCatalogPart'
    post:
      summary: Get Part (with request body)
      description: 'Returns part.

        Request Body is not required and helps to get an additional data that may depend on vehicle or partNumber.


        Request Body should be provided in case of non-Partstech catalog parts, e.g. Tires. Please use vehicleID and storeId to get correct detailed information for Tires.'
      tags:
      - Parts
      operationId: getPartWithRequestBody
      x-operation-name: QueryCatalogPart
      security:
      - bearerAuth:
        - user
      parameters:
      - name: partId
        in: path
        required: true
        schema:
          type: string
          example: BBHK-24CA
      - $ref: '#/components/parameters/locale'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                searchParams:
                  type:
                  - object
                  - 'null'
                  oneOf:
                  - $ref: '#/components/schemas/VehicleSearchParams'
                  - $ref: '#/components/schemas/PartsTechVehicleIdSearchParams'
                  - $ref: '#/components/schemas/VinSearchParams'
                  - $ref: '#/components/schemas/PlateSearchParams'
                  - $ref: '#/components/schemas/PartNumberSearchParams'
                storeId:
                  type:
                  - integer
                  - 'null'
                lineCardId:
                  type:
                  - integer
                  - 'null'
            examples:
              VehicleSearch:
                summary: Search by Vehicle
                description: Make a search by Vehicle. `searchParams` accepts only `vehicleParams`.
                value:
                  searchParams:
                    vehicleParams:
                      yearId: 2009
                      makeId: 31
                      modelId: 210
                      subModelId: 20
                      engineId: 2548
                      engineParams:
                        engineVinId: 1
                        engineDesignationId: 1033
                        engineVersionId: 3
                        fuelTypeId: 5
                        cylinderHeadTypeId: 6
                  storeId: 1
                  lineCardId: 1
              VehicleIdSearch:
                summary: Search by PartsTech Vehicle ID
                description: Make a search by PartsTech Vehicle ID and PartTypeIds. `searchParams` accepts only `vehicleId`.
                value:
                  searchParams:
                    vehicleId: 189326
              VinSearch:
                summary: Search by VIN
                description: Make a search by VIN and PartTypeIds. `searchParams` accepts only `vin`.
                value:
                  searchParams:
                    vin: somevin
              PlateSearch:
                summary: Search by Plate
                description: Make a search by Plate. `searchParams` accepts only `plate`.
                value:
                  searchParams:
                    plate:
                      plate: Some Plate
                      state: CT
              PartNumberSearch:
                summary: Search by PartNumber
                description: Make a search by PartNumber. `searchParams` accepts only `partNumber` parameter.
                value:
                  searchParams:
                    partNumber:
                    - 12345
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/DetailCatalogPart'
                - $ref: '#/components/schemas/DetailQuotedPart'
  /catalog/parts/{partId}/interchanges:
    get:
      summary: Get Interchanges
      deprecated: true
      description: '**As of February 28th, 2026, this endpoint will no longer continue to work.**

        **Please contact PartsTech-Partner-API@oeconnection.com with any questions.**


        Returns interchanges for part'
      tags:
      - Parts
      operationId: getPartInterchanges
      x-operation-name: GetCatalogPartInterchanges
      security:
      - bearerAuth:
        - user
      parameters:
      - name: partId
        in: path
        required: true
        schema:
          type: string
          example: ABCD-12345
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                minItems: 0
                items:
                  type: object
                  required:
                  - type
                  - partNumber
                  - brand
                  properties:
                    type:
                      type: string
                      enum:
                      - INTCH
                      - SUPERSEDE
                    partNumber:
                      type: string
                      example: 12345
                    brand:
                      $ref: '#/components/schemas/Brand'
  /catalog/parts/{partId}/validate-fitment:
    post:
      summary: Part Fitment Validation
      description: Part fitment validation
      tags:
      - Parts
      operationId: validateFitmentForPart
      x-operation-name: QueryCatalogPartFitmentValidation
      security:
      - bearerAuth:
        - user
      parameters:
      - name: partId
        in: path
        required: true
        schema:
          type: string
          example: ABCD-12345
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - searchParams
              properties:
                searchParams:
                  oneOf:
                  - $ref: '#/components/schemas/VehicleSearchParams'
                  - $ref: '#/components/schemas/PartsTechVehicleIdSearchParams'
                  - $ref: '#/components/schemas/VinSearchParams'
                  - $ref: '#/components/schemas/PlateSearchParams'
                storeId:
                  description: PartsTech Store ID.
                  type:
                  - integer
                  - 'null'
                lineCardId:
                  description: PartsTech LineCard ID.
                  type:
                  - integer
                  - 'null'
            examples:
              VehiclePartTypeSearch:
                summary: Search by Vehicle
                description: Make a search by Vehicle. `searchParams` accepts only `vehicleParams`.
                value:
                  searchParams:
                    vehicleParams:
                      yearId: 2014
                      makeId: 21
                      modelId: 104
                      subModelId: 3512
                      engineId: 2062
                      engineParams:
                        engineVinId: 31
                        engineDesignationId: 1
                        engineVersionId: 73
                        fuelTypeId: 14
                        cylinderHeadTypeId: 6
              VehicleIdPartTypeSearch:
                summary: Search by PartsTech Vehicle ID
                description: Make a search by PartsTech Vehicle ID and PartTypeIds. `searchParams` accepts only `vehicleId`.
                value:
                  searchParams:
                    vehicleId: 287296
              VinPartTypeSearch:
                summary: Search by VIN
                description: Make a search by VIN and PartTypeIds. `searchParams` accepts only `vin`.
                value:
                  searchParams:
                    vin: somevin
              PlatePartTypeSearch:
                summary: Search by Plate
                description: Make a search by Plate. `searchParams` accepts only `plate`.
                value:
                  searchParams:
                    plate:
                      plate: Some Plate
                      state: CT
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResponseVehicle'
        '204':
          description: No content. Fitment was not found.
components:
  schemas:
    Brand:
      type: object
      description: Contains brand information about a part.
      required:
      - brandID
      - brandName
      properties:
        brandID:
          type: string
          example: BBCM
          description: The ID of a brand from the Autocare Association.
        brandName:
          type: string
          example: Alba
          description: The name of a brand.
        id:
          description: PartsTech's ID for a brand.
          type:
          - integer
          - 'null'
          example: 1
        displayName:
          type:
          - string
          - 'null'
          example: Alba
        lineCode:
          type:
          - string
          - 'null'
      example:
        brandID: BBHK
        brandName: Bosch
        id: 551
        displayName: Bosch
    CatalogPart:
      type: object
      required:
      - partId
      - partNumber
      - partName
      - brand
      - partsTechCatalogURL
      properties:
        partId:
          type: string
          example: BBHK-24CA
        partNumber:
          type: string
          example: 24CA
        partName:
          type: string
          example: Bosch Windshield Wiper Blade
        brand:
          $ref: '#/components/schemas/Brand'
        images:
          type: array
          minItems: 0
          items:
            type: object
            required:
            - preview
            - full
            - medium
            properties:
              preview:
                type: string
              full:
                type: string
              medium:
                type: string
          example:
          - preview: some_url
            full: some_url
            medium: some_url
          - preview: some_url
            full: some_url
            medium: some_url
        partsTechCatalogURL:
          type: string
          example: https://app.partstech.com/Bosch-Windshield-Wiper-Blade/details/BBHK-24CA?part_term=8852
        taxonomy:
          $ref: '#/components/schemas/ResponseTaxonomy'
        partCategory:
          $ref: '#/components/schemas/PartCategory'
        vehicleId:
          type:
          - integer
          - 'null'
          example: 189326
        vehicleName:
          type:
          - string
          - 'null'
          example: 2009 BMW M3 Base 4.0L V8 DOHC S65B40A
        attributes:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/Attribute'
          example:
          - name: ItemQuantity
            label: Item Qty/Size/Weight
            value: 1 Each
            type: Part
          - name: Position
            label: Position
            value: Front Left
            type: Part
            dbInfo:
              dbName: pcdb
              tableName: positions
              idFieldName: Position
              idValue: PositionID
          - name: Qty
            label: Quantity per vehicle
            value: 1
            type: Both
        variations:
          type: array
          minItems: 0
          items:
            type: object
            properties:
              variationId:
                type: string
              notes:
                type: array
                minItems: 0
                items:
                  type: array
                  minItems: 1
                  items:
                    type: string
                  example: {}
              partName:
                type:
                - string
                - 'null'
                example: Bosch Windshield Wiper Blade
              attributes:
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/Attribute'
                example:
                - name: ItemQuantity
                  label: Item Qty/Size/Weight
                  value: 1 Each
                  type: Part
          example:
          - variationId: E1fHKgzpPvO
            partName: Bosch Clear Advantage
            notes: {}
            attributes:
            - name: Position
              label: Position
              value: Front Left
              type: Part
              dbInfo:
                dbName: pcdb
                tableName: positions
                idFieldName: Position
                idValue: PositionID
            - name: Bodytype
              label: Body
              value: Sedan
              type: Both
              dbInfo:
                dbName: vcdb
                tableName: bodytype
                idFieldName: BodyTypeName
                idValue: BodyTypeID
            - name: Qty
              label: Quantity per vehicle
              value: 1
              type: Both
          - variationId: 3fh7cCVNQOX
            partName: Bosch Clear Advantage
            notes:
            - - Remove plastic guide from wiper arm
            attributes:
            - name: Position
              label: Position
              value: Front Left
              type: Part
              dbInfo:
                dbName: pcdb
                tableName: positions
                idFieldName: Position
                idValue: PositionID
            - name: Bodytype
              label: Body
              value: Coupe
              type: Both
              dbInfo:
                dbName: vcdb
                tableName: bodytype
                idFieldName: BodyTypeName
                idValue: BodyTypeID
            - name: Qty
              label: Quantity per vehicle
              value: 1
              type: Both
          - variationId: Iwf0SBSW8u4
            partName: Bosch Clear Advantage
            notes:
            - - Remove plastic guide from wiper arm
            attributes:
            - name: Position
              label: Position
              value: Front Left
              type: Part
              dbInfo:
                dbName: pcdb
                tableName: positions
                idFieldName: Position
                idValue: PositionID
            - name: Bodytype
              label: Body
              value: Convertible
              type: Both
              dbInfo:
                dbName: vcdb
                tableName: bodytype
                idFieldName: BodyTypeName
                idValue: BodyTypeID
            - name: Qty
              label: Quantity per vehicle
              value: 1
              type: Both
        notes:
          type: array
          minItems: 0
          items:
            type: array
            minItems: 1
            items:
              type: string
          example:
          - - Optional Ceramic
            - Includes Hardware Installation Kit
        originalPart:
          type:
          - object
          - 'null'
          required:
          - partNumber
          properties:
            typeOfOrigination:
              type: string
              enum:
              - Alternate
              - Interchange
              - Supersession
            partId:
              type:
              - string
              - 'null'
              example: ABCD-12345
            partNumber:
              type: string
              example: 12345
            brand:
              $ref: '#/components/schemas/Brand'
        rewards:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/Rewards'
          example:
          - program: extra Loyalty Program
            points: 10
            bonusPoints: 1
    VehicleParams:
      oneOf:
      - $ref: '#/components/schemas/VehicleParamsByEngineIdAndEngineParams'
      - $ref: '#/components/schemas/VehicleParamsByEngineConfigId'
    ResponseVehicle:
      type:
      - object
      - 'null'
      required:
      - baseVehicleId
      - yearId
      - makeId
      - makeName
      - modelId
      - modelName
      - subModelId
      - subModelName
      - engineId
      - vehicleName
      - vehicleId
      - engineParams
      - engineName
      - regions
      - deprecated
      properties:
        baseVehicleId:
          type: integer
          example: 475485
        yearId:
          type: integer
          example: 2012
        makeId:
          type: integer
          example: 2
        makeName:
          type: string
          example: Porsche
        modelId:
          type: integer
          example: 10
        modelName:
          type: string
          example: 911
        subModelId:
          type: integer
          example: 55
        subModelName:
          type: string
          example: Carrera
        engineId:
          type: integer
          example: 2568
        vehicleName:
          type: string
          example: 2012 Porsche 911 Carrera 3.6L H6  DOHC
          description: Name of the vehicle selected for fitment during the PartsTech session. Typically consists of year, make, model, and engine.
        vehicleId:
          description: PartsTech's ID for a vehicle.
          type: integer
          example: 258298
        engineParams:
          $ref: '#/components/schemas/EngineParams'
        engineName:
          type: string
          example: 3.6L H6  DOHC
        region:
          type:
          - string
          - 'null'
          description: ISO 3166-1 alpha-2
          example: US
          deprecated: true
        regions:
          $ref: '#/components/schemas/Regions'
        deprecated:
          type: boolean
          example: false
    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'
    PartPrice:
      type: object
      required:
      - cost
      - core
      - fet
      properties:
        list:
          type:
          - number
          - 'null'
          format: float
          example: 1.2
          description: Not all parts will have a list price. This property will contain the null value for parts without a list price.
        price:
          type: number
          format: float
          example: 1.6
          description: Total price charged to the user for an item, includes discounts and core charge if applicable.
        cost:
          type: number
          format: float
          example: 1.24
          description: Cost of an item for the user including any discounts. Excludes any core charges.
        core:
          type: number
          format: float
          example: 0.4
          description: A fee for certain part types that is returned to the purchaser when the old part that is being replaced is returned to the store.
        fet:
          type:
          - number
          - 'null'
          description: The Federal Excise Tax (FET) applies to tires used on the road with a maximum load capacity greater than 3500 pounds. This tax is charged to the purchaser of the tire from the tire supplier. Only 100% accurate FET values are sent through the PartsTech API.
          format: float
          example: 1.2
        retail:
          type:
          - number
          - 'null'
          description: The price to charge customers. PartsTech calculates this price by taking the ``cost`` and then applying the appropriate mark up from the user's retail pricing configuration. This property will be null if there is no applicable mark up to the item or if the user has not set up their retail pricing configuration.
          format: float
          example: 2
        discount:
          type:
          - number
          - 'null'
          description: The discount for an item. There can be a discount when an item is quoted or purchased as part of a bundled deal from participating suppliers.
          format: float
          example: 0.2
        map:
          type:
          - number
          - 'null'
          description: Minimum Advertised Price
          format: float
          example: 1.9
    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
    Regions:
      description: Array of country codes ISO 3166-1 alpha-2
      type: array
      items:
        type: string
      example:
      - US
      - CA
    Rewards:
      type:
      - array
      - 'null'
      minItems: 0
      items:
        type: object
        properties:
          program:
            type:
            - string
            - 'null'
          points:
            type:
            - integer
            - 'null'
          bonusPoints:
            type:
            - integer
            - 'null'
    DetailQuotedPart:
      allOf:
      - $ref: '#/components/schemas/CatalogPart'
      - $ref: '#/components/schemas/DetailPartParams'
      - $ref: '#/components/schemas/QuoteParams'
      - $ref: '#/components/schemas/LaborPartParams'
    Attribute:
      type: object
      properties:
        name:
          type: string
        label:
          type: string
        value:
          type: string
        type:
          type: string
          enum:
          - Vehicle
          - Part
          - Both
        dbInfo:
          type:
          - object
          - 'null'
          required:
          - dbName
          - tableName
          - idFieldName
          - idValue
          properties:
            dbName:
              type: string
            tableName:
              type: string
            idFieldName:
              type: string
            idValue:
              type: string
    PartCategory:
      type:
      - string
      - 'null'
      enum:
      - Maintenance
      - Service
      - Consumable
    DeliveryNote:
      type: object
      required:
      - label
      - text
      - date
      properties:
        label:
          type:
          - string
          - 'null'
        text:
          type:
          - string
          - 'null'
    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
    DetailCatalogPart:
      allOf:
      - $ref: '#/components/schemas/CatalogPart'
      - $ref: '#/components/schemas/DetailPartParams'
      - $ref: '#/components/schemas/LaborPartParams'
    CartSearchSupplier:
      allOf:
      - $ref: '#/components/schemas/BriefSupplier'
      - type: object
        required:
        - allowStoreSelect
        - availabilitySelect
        properties:
          allowStoreSelect:
            type: boolean
            description: If true for a supplier, users have the option to select a specfic store when sourcing parts.
          availabilitySelect:
            type: boolean
            description: If true for a supplier, users are required to select a specific store when sourcing parts.
          postOrderUpdates:
            type: boolean
            description: If true for a supplier, order can be updated after they placed.
    DetailPartParams:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
          example: Bosch Clear Advantage Wiper Blade
        descriptions:
          type: array
          minItems: 0
          items:
            type: object
            required:
            - code
            - label
            - values
            properties:
              code:
                type: string
              label:
                type: string
              values:
                type: array
                minItems: 1
                items:
                  type: string
          example:
          - code: DEF
            label: Part Description
            values:
            - Windshield Wiper Blade
          - code: FAB
            label: Features and Benefits
            values:
            - A patented beam design to resist ice and snow build up for use in extreme cold
          - code: FAB
            label: Features and Benefits
            values:
            - An aerodynamic wind spoiler to create a downward force which ensures consistent wiping at high speeds
          - code: MKT
            label: Marketing Description
            values:
            - The Bosch Clear Advantage wiper blade program, a beam technology that delivers high wiping quality for all weather performance
        marketCopyDescriptions:
          type: array
          minItems: 0
          items:
            type: string
          example:
          - New line of specialty disc brake pads
          - Niche vehicle applications
          - Specialty friction offers supreme quality and superior engineering
          - This premium line of specialty friction offers supreme quality and superior engineering to meet the stringent demands of these niche vehicle applications.
        otherMarketCopyDescriptions:
          type: array
          minItems: 0
          items:
            type: object
            required:
            - code
            - label
            - values
            properties:
              code:
                type: string
              label:
                type:
                - string
                - 'null'
              values:
                type: array
                minItems: 1
                items:
                  type: string
          example:
          - code: PSG
            label: Product Sub Group Description
            values:
            - Mounting bracket is included where applicable for a hassle-free installation.
            - New bleeder screws provide trouble-free bleeding and a positive seal.
            - New washers are included where applicable for a proper seal.
            - A plastic cap plug protects every brake port thread to ensure trouble-free installation.
        partPackage:
          type:
          - object
          - 'null'
          required:
          - dimensionsUOM
          - dimensions
          properties:
            dimensionsUOM:
              type:
              - string
              - 'null'
            dimensions:
              type: object
              required:
              - height
              - width
              - length
              properties:
                height:
                  type:
                  - number
                  - 'null'
                  format: float
                width:
                  type:
                  - number
                  - 'null'
                  format: float
                length:
                  type:
                  - number
                  - 'null'
                  format: float
            weightsUOM:
              type:
              - string
              - 'null'
            weights:
              type:
              - number
              - 'null'
              format: float
          example:
            dimensionsUOM: IN
            dimensions:
              height: 0.79
              width: 2.68
              length: 30.94
            weightsUOM: PG
            weights: 0.34
        extendedInformation:
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              value:
                oneOf:
                - type: string
                - type: integer
                - type: boolean
          example:
          - label: Life Cycle Status Code
            value: Released
          - label: National Popularity Code
            value: Next 20% of Product Group Sales Value
          - label: Maximum Cases per Pallet Layer
            value: 91
          - label: Pallet Layer Maximum
            value: 1
        productAttributes:
          type: array
          minItems: 0
          items:
            type: object
            required:
            - id
            - value
            properties:
              id:
                type: string
              value:
                type: string
              uom:
                deprecated: true
                type:
                - string
                - 'null'
          example:
          - id: Length
            value: 24
            uom: IN
          - id: Blade Material
            value: Natural Rubber
          - id: Frame Color
            value: Black
          - id: Frame Material
            value: Steel
        assets:
          type:
          - object
          - 'null'
          required:
          - diagrams
          - attachments
          - videos
          properties:
            diagrams:
              type: array
              minItems: 0
              items:
                type: object
                required:
                - name
                - url
                properties:
                  name:
                    type: string
                  url:
                    type: string
                    format: url
            attachments:
              type: array
              minItems: 0
              items:
                type: object
                required:
                - url
                - filename
                properties:
                  url:
                    type: string
                    format: url
                  filename:
                    type: string
            videos:
              type: array
              minItems: 0
              items:
                type: object
                required:
                - preview
                - mediumPreview
                - url
                properti

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/partstech/refs/heads/main/openapi/partstech-parts-api-openapi.yml