Rockwell Automation Parts API

The Parts API is used to manage part master data.

Business capability
Master Data Management BC-610.20

Operations 12

POST /mdm/v2/parts Create Part #
GET /mdm/v2/parts List Parts #
POST /mdm/v1/parts Create Part #
GET /mdm/v1/parts List Parts #
DELETE /mdm/v2/parts/{id} Delete Part #
GET /mdm/v2/parts/{id} Get Part #
PUT /mdm/v2/parts/{id} Update Part #
DELETE /mdm/v1/parts/{id} Delete Part #
GET /mdm/v1/parts/{id} Get Part #
PUT /mdm/v1/parts/{id} Update Part #
POST /mdm/v2/parts/sync Sync Parts #
POST /mdm/v1/parts/sync Sync Parts #

Documentation

Specifications

Schemas & Data

Other Resources

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/rockwell-automation:rockwell-automation-parts-api-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

rockwell-automation-parts-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Plex (Rockwell Automation) Connect Parts API
  version: '2026-10-20'
  description: Plex Smart Manufacturing Platform REST APIs, converted mechanically from the structured operation documents the Plex Developer Portal (developers.plex.com, a Rockwell Automation property) serves at /api/documentation/{api}/{operation}. No operations were authored by hand.
  x-generated-from: provider-documentation-json
  x-source: https://developers.plex.com/api/documentation/info
servers:
- url: https://connect.plex.com
  description: Production
- url: https://test.connect.plex.com
  description: Test (from https://developers.plex.com/api/sandbox/url)
security:
- PlexConnectApiKey: []
tags:
- name: Parts API
  description: The Parts API is used to manage part master data.
paths:
  /mdm/v2/parts:
    post:
      operationId: createPartV2
      summary: Create Part
      tags:
      - Parts API
      description: Create a new part.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePartDTO'
      responses:
        '201':
          description: The part resource was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      x-source: https://developers.plex.com/api/documentation/parts-api/create-part
    get:
      operationId: listPartsV2
      summary: List Parts
      tags:
      - Parts API
      description: List parts by query parameters.
      parameters:
      - name: id
        in: query
        required: false
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: A list of part IDs.
      - name: number
        in: query
        required: false
        schema:
          type: string
          example: string
        description: The part number.
      - name: revision
        in: query
        required: false
        schema:
          type: string
          example: string
        description: The part revision.
      - name: type
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'The part type. Setup Table: Part_Type.'
      - name: status
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'The status of the part. Setup Table: Part_Status.'
      - name: source
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'The part source, which represents the origin of the part. Setup Table: Part_Source.'
      - name: productType
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'The part''s product type. Setup Table: Part_Product_Type.'
      - name: allergens
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Allergen(s) defined on the part. Setup Table: Allergen. Allergen values are only returned when the HACCP module or the Storage Validation module is enabled.'
      - name: storageConditions
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'The storage condition(s) defined on the part. Setup Table: Storage_Condition. Storage condition values are only returned when the Storage Validation module is enabled.'
      - name: createdDateTimeBegin
        in: query
        required: false
        schema:
          type: string
          format: date-time
          example: '2026-10-20T12:03:14Z'
        description: The beginning date on which the record was added.
      - name: createdDateTimeEnd
        in: query
        required: false
        schema:
          type: string
          format: date-time
          example: '2026-10-20T12:03:14Z'
        description: The end date on which the record was added.
      - name: modifiedDateTimeBegin
        in: query
        required: false
        schema:
          type: string
          format: date-time
          example: '2026-10-20T12:03:14Z'
        description: The beginning date on which the record was last modified.
      - name: modifiedDateTimeEnd
        in: query
        required: false
        schema:
          type: string
          format: date-time
          example: '2026-10-20T12:03:14Z'
        description: The end date on which the record was last modified.
      responses:
        '200':
          description: The query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
      x-source: https://developers.plex.com/api/documentation/parts-api/list-parts
  /mdm/v1/parts:
    post:
      operationId: createPartV1
      summary: Create Part
      tags:
      - Parts API
      description: Create a new part.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePartDTO'
      responses:
        '201':
          description: The Part resource was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      x-source: https://developers.plex.com/api/documentation/parts-api/create-part
    get:
      operationId: listPartsV1
      summary: List Parts
      tags:
      - Parts API
      description: List parts by query parameters.
      parameters:
      - name: id
        in: query
        required: false
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: A list of Part Resource IDs.
      - name: number
        in: query
        required: false
        schema:
          type: string
          example: string
      - name: revision
        in: query
        required: false
        schema:
          type: string
          example: string
      - name: type
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Setup Table: Part_Type'
      - name: status
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Setup Table: Part_Status'
      - name: source
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Setup Table: Part_Source'
      - name: productType
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Setup Table: Part_Product_Type'
      - name: allergens
        in: query
        required: false
        schema:
          type: string
          example: string
        description: 'Setup Table: Allergen. HACCP Module must be enabled.'
      responses:
        '200':
          description: The query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
      x-source: https://developers.plex.com/api/documentation/parts-api/list-parts
  /mdm/v2/parts/{id}:
    delete:
      operationId: deletePartV2
      summary: Delete Part
      tags:
      - Parts API
      description: Delete a part.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The unique identifier for the part.
      responses:
        '200':
          description: The part resource was successfully deleted.
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/delete-part
    get:
      operationId: getPartV2
      summary: Get Part
      tags:
      - Parts API
      description: Retrieve a part by ID.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The unique identifier for the part.
      responses:
        '200':
          description: The query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/get-part
    put:
      operationId: updatePartV2
      summary: Update Part
      tags:
      - Parts API
      description: Update a part.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The unique identifier for the part.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePartDTO'
      responses:
        '200':
          description: The part resource was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/update-part
  /mdm/v1/parts/{id}:
    delete:
      operationId: deletePartV1
      summary: Delete Part
      tags:
      - Parts API
      description: Delete a part.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
      responses:
        '200':
          description: The Part resource was successfully deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/delete-part
    get:
      operationId: getPartV1
      summary: Get Part
      tags:
      - Parts API
      description: Retrieve a part by ID.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
      responses:
        '200':
          description: The query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/get-part
    put:
      operationId: updatePartV1
      summary: Update Part
      tags:
      - Parts API
      description: Update a part.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePartDTO'
      responses:
        '200':
          description: The Part resource was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartDTO'
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The resource does not exist.
      x-source: https://developers.plex.com/api/documentation/parts-api/update-part
  /mdm/v2/parts/sync:
    post:
      operationId: syncPartsV2
      summary: Sync Parts
      tags:
      - Parts API
      description: Sync a set of parts from another system. This operation performs create and update logic.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncPartDTO'
      responses:
        '202':
          description: The Sync Parts command was accepted for processing.
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      x-source: https://developers.plex.com/api/documentation/parts-api/sync-parts
  /mdm/v1/parts/sync:
    post:
      operationId: syncPartsV1
      summary: Sync Parts
      tags:
      - Parts API
      description: Sync a set of parts from another system. This operation performs create and update logic.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncPartDTO'
      responses:
        '202':
          description: The Sync Parts command was accepted for processing.
        '400':
          description: A validation error has occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      x-source: https://developers.plex.com/api/documentation/parts-api/sync-parts
components:
  schemas:
    UpdatePartDTO:
      type: object
      description: The part model containing the data required to update a part.
      properties:
        number:
          type: string
          description: The part number.
          example: string
        name:
          type: string
          description: The part name.
          example: string
        revision:
          type: string
          description: The part revision.
          example: string
        description:
          type: string
          description: The description of the part.
          example: string
        type:
          type: string
          description: 'The part type. Setup Table: Part_Type.'
          example: string
        group:
          type: string
          description: 'The part group. Setup Table: Part_Group.'
          example: string
        source:
          type: string
          description: 'The part source, which represents the origin of the part. Setup Table: Part_Source.'
          example: string
        productType:
          type: string
          description: 'The part''s product type. Setup Table: Part_Product_Type.'
          example: string
        status:
          type: string
          description: 'The status of the part. Setup Table: Part_Status.'
          example: string
        note:
          type: string
          description: A note about the part.
          example: string
        leadTimeDays:
          type: integer
          format: int32
          description: The number of days in advance to schedule orders for the part.
          example: 0
        buildingCode:
          type: string
          description: 'The main building where the part is located. Application: Buildings.'
          example: string
        allergens:
          type: array
          description: 'Allergen(s) defined on the part. Setup Table: Allergen. Allergen values are only returned when the HACCP module or the Storage Validation module is enabled.'
          items:
            type: string
        storageConditions:
          type: array
          description: 'The storage condition(s) defined on the part. Setup Table: Storage_Condition. Storage condition values are only returned when the Storage Validation module is enabled.'
          items:
            type: string
        serialize:
          type: boolean
          description: Tracks container serial numbers.
          example: false
        lotRequired:
          type: boolean
          description: Determines whether lot tracking is required for this part. When true, the part is included in lot management and must have a valid lot format. When false or omitted, lot tracking is not required for the part.
          example: false
        lotFormat:
          type: string
          description: Determines the format of automatically generated lot numbers. A lot format is composed of an ordered sequence of tokens, each resolving to a runtime value derived from contextual information such as dates, identifiers, sequences, etc.
          example: string
        bomSubstitutionAllow:
          type: boolean
          description: Determines whether Bill of Materials (BOM) substitutions are permitted for this part. When true, substitute components can be used in place of this part on a BOM. When false, substitutions are not allowed and the exact part must be used.
          example: false
        eunRequired:
          type: boolean
          description: Determines whether the End Unit Number (EUN) tracking is required for this part. When true, the system enforces the EUN assignment for inventory and production transactions involving this part, enabling end to end unit level traceability. Once enabled for a part, it cannot be disabled.
          example: false
      required:
      - number
      - type
      - status
    SyncPartDTO:
      type: object
      description: The part model containing the data required to sync parts from another system.
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier for a part. This will be automatically generated if omitted from the request.
          example: 00000000-0000-0000-0000-000000000000
        number:
          type: string
          description: The part number.
          example: string
        name:
          type: string
          description: The part name.
          example: string
        revision:
          type: string
          description: The part revision.
          example: string
        description:
          type: string
          description: The description of the part.
          example: string
        type:
          type: string
          description: 'The part type. Setup Table: Part_Type.'
          example: string
        group:
          type: string
          description: 'The part group. Setup Table: Part_Group.'
          example: string
        source:
          type: string
          description: 'The part source, which represents the origin of the part. Setup Table: Part_Source.'
          example: string
        productType:
          type: string
          description: 'The part''s product type. Setup Table: Part_Product_Type.'
          example: string
        status:
          type: string
          description: 'The status of the part. Setup Table: Part_Status.'
          example: string
        note:
          type: string
          description: A note about the part.
          example: string
        leadTimeDays:
          type: integer
          format: int32
          description: The number of days in advance to schedule orders for the part.
          example: 0
        buildingCode:
          type: string
          description: 'The main building where the part is located. Application: Buildings.'
          example: string
        allergens:
          type: array
          description: 'Allergen(s) defined on the part. Setup Table: Allergen. Allergen values are only returned when the HACCP module or the Storage Validation module is enabled.'
          items:
            type: string
        storageConditions:
          type: array
          description: 'The storage condition(s) defined on the part. Setup Table: Storage_Condition. Storage condition values are only returned when the Storage Validation module is enabled.'
          items:
            type: string
        serialize:
          type: boolean
          description: Tracks container serial numbers.
          example: false
        lotRequired:
          type: boolean
          description: Determines whether lot tracking is required for this part. When true, the part is included in lot management and must have a valid lot format. When false or omitted, lot tracking is not required for the part.
          example: false
        lotFormat:
          type: string
          description: Determines the format of automatically generated lot numbers. A lot format is composed of an ordered sequence of tokens, each resolving to a runtime value derived from contextual information such as dates, identifiers, sequences, etc.
          example: string
        bomSubstitutionAllow:
          type: boolean
          description: Determines whether Bill of Materials (BOM) substitutions are permitted for this part. When true, substitute components can be used in place of this part on a BOM. When false, substitutions are not allowed and the exact part must be used.
          example: false
        eunRequired:
          type: boolean
          description: Determines whether the End Unit Number (EUN) tracking is required for this part. When true, the system enforces the EUN assignment for inventory and production transactions involving this part, enabling end to end unit level traceability. Once enabled for a part, it cannot be disabled.
          example: false
      required:
      - number
      - type
      - status
    ValidationResponse:
      type: object
      properties:
        code:
          type: string
          example: string
        message:
          type: string
          example: string
        errors:
          type: array
          items:
            type: object
            properties: {}
    PartDTO:
      type: object
      description: The all-inclusive domain model for a part.
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier for a part.
          example: 00000000-0000-0000-0000-000000000000
        number:
          type: string
          description: The part number.
          example: string
        name:
          type: string
          description: The part name.
          example: string
        revision:
          type: string
          description: The part revision.
          example: string
        description:
          type: string
          description: The description of the part.
          example: string
        type:
          type: string
          description: 'The part type. Setup Table: Part_Type.'
          example: string
        group:
          type: string
          description: 'The part group. Setup Table: Part_Group.'
          example: string
        source:
          type: string
          description: 'The part source, which represents the origin of the part. Setup Table: Part_Source.'
          example: string
        productType:
          type: string
          description: 'The part''s product type. Setup Table: Part_Product_Type.'
          example: string
        status:
          type: string
          description: 'The status of the part. Setup Table: Part_Status.'
          example: string
        note:
          type: string
          description: A note about the part.
          example: string
        leadTimeDays:
          type: number
          format: double
          description: The number of days in advance to schedule orders for the part.
          example: 0.1
        buildingCode:
          type: string
          description: 'The main building where the part is located. Application: Buildings.'
          example: string
        createdById:
          type: string
          format: uuid
          description: The IAM account ID of the user who created the part record.
          example: 00000000-0000-0000-0000-000000000000
        createdDateTime:
          type: string
          format: date-time
          description: The date and time on which the part record was created.
          example: '2026-10-20T12:03:13Z'
        modifiedById:
          type: string
          format: uuid
          description: The IAM account ID of the user who last modified the part record.
          example: 00000000-0000-0000-0000-000000000000
        modifiedDateTime:
          type: string
          format: date-time
          description: The date and time on which the part record was last modified.
          example: '2026-10-20T12:03:13Z'
        allergens:
          type: array
          description: 'Allergen(s) defined on the part. Setup Table: Allergen. Allergen values are only returned when the HACCP module or the Storage Validation module is enabled.'
          items:
            type: string
        storageConditions:
          type: array
          description: 'The storage condition(s) defined on the part. Setup Table: Storage_Condition. Storage condition values are only returned when the Storage Validation module is enabled.'
          items:
            type: string
        serialize:
          type: boolean
          description: Tracks container serial numbers.
          example: false
        lotRequired:
          type: boolean
          description: Determines whether lot tracking is required for this part. When true, the part is included in lot management and must have a valid lot format. When false or omitted, lot tracking is not required for the part.
          example: false
        lotFormat:
          type: string
          description: Determines the format of automatically generated lot numbers. A lot format is composed of an ordered sequence of tokens, each resolving to a runtime value derived from contextual information such as dates, identifiers, sequences, etc.
          example: string
        bomSubstitutionAllow:
          type: boolean
          description: Determines whether Bill of Materials (BOM) substitutions are permitted for this part. When true, substitute components can be used in place of this part on a BOM. When false, substitutions are not allowed and the exact part must be used.
          example: false
        eunRequired:
          type: boolean
          description: Determines whether the End Unit Number (EUN) tracking is required for this part. When true, the system enforces the EUN assignment for inventory and production transactions involving this part, enabling end to end unit level traceability. Once enabled for a part, it cannot be disabled.
          example: false
    CreatePartDTO:
      type: object
      description: The part model containing the data required to create a part.
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier for a part. This will be automatically generated if omitted from the request.
          example: 00000000-0000-0000-0000-000000000000
        number:
          type: string
          description: The part number.
          example: string
        name:
          type: string
          description: The part name.
          example: string
        revision:
          type: string
          description: The part revision.
          example: string
        description:
          type: string
          description: The description of the part.
          example: string
        type:
          type: string
          description: 'The part type. Setup Table: Part_Type.'
          example: string
        group:
          type: string
          description: 'The part group. Setup Table: Part_Group.'
          example: string
        source:
          type: string
          description: 'The part source, which represents the origin of the part. Setup Table: Part_Source.'
          example: string
        productType:
          type: string
          description: 'The part''s product type. Setup Table: Part_Product_Type.'
          example: string
        status:
          type: string
          description: 'The status of the part. Setup Table: Part_Status.'
          example: string
        note:
          type: string
          description: A note about the part.
          example: string
        leadTimeDays:
          type: integer
          format: int32
          description: The number of days in advance to schedule orders for the part.
          example: 0
        buildingCode:
          type: string
          description: 'The main building where the part is located. Application: Buildings.'
          example: string
        allergens:
          type: array
          description: 'Allergen(s) defined on the part. Setup Table: Allergen. Allergen values are only returned when the HACCP module or the Storage Validation module is enabled.'
          items:
            type: string
        storageConditions:
          type: array
          description: 'The storage condition(s) defined on the part. Setup Table: Storage_Condition. Storage condition values are only returned when the Storage Validation module is enabled.'
          items:
            type: string
        serialize:
          type: boolean
          description: Tracks container serial numbers.
          example: false
        lotRequired:
          type: boolean
          description: Determines whether lot tracking is required for this part. When true, the part is included in lot management and must have a valid lot format. When false or omitted, lot tracking is not required for the part.
          example: false
        lotFormat:
          type: string
          description: Determines the format of automatically generated lot numbers. A lot format is composed of an ordered sequence of tokens, each resolving to a runtime value derived from contextual information such as dates, identifiers, sequences, etc.
          example: string
        bomSubstitutionAllow:
          type: boolean
          description: Determines whether Bill of Materials (BOM) substitutions are permitted for this part. When true, substitute components can be used in place of this part on a BOM. When false, substitutions are not allowed and the exact part must be used.
          example: false
        eunRequired:
          type: boolean
          description: Determines whether the End Unit Number (EUN) tracking is required for this part. When true, the system enforces the EUN assignment for inventory and production transactions involving this part, enabling end to end unit level traceability. Once enabled for a part, it cannot be disabled.
          example: false
      required:
      - number
      - type
      - status
  securitySchemes:
    PlexConnectApiKey:
      type: apiKey
      in: header
      name: X-Plex-Connect-Api-Key
      description: 'Subscription key (Consumer Key of an app created in the Plex Developer Portal). Source: https://developers.plex.com/getstarted'