Rockwell Automation Custom Objects API

The custom objects API to query custom objects, custom object field definitions, and data records of custom objects.

Operations 12

POST /platform/custom-objects/v1/data/{customObjectName}/add Create Custom Object Data In Bulk #
POST /platform/custom-objects/v1/data/{customObjectName} Create Custom Object Data #
GET /platform/custom-objects/v1/data/{customObjectName} List All Custom Object Data #
POST /platform/custom-objects/v1/data/{customObjectName}/delete Delete Custom Object Data In Bulk #
DELETE /platform/custom-objects/v1/data/{customObjectName}/{id} Delete Custom Object Data #
GET /platform/custom-objects/v1/data/{customObjectName}/{id} Get Custom Object Data #
PUT /platform/custom-objects/v1/data/{customObjectName}/{id} Update Custom Object Data #
GET /platform/custom-objects/v1/field-definitions/{customObjectName}/{fieldName} Get Field Definition #
POST /platform/custom-objects/v1/data/{customObjectName}/search List Custom Object Data #
GET /platform/custom-objects/v1/objects List Custom Objects #
GET /platform/custom-objects/v1/field-definitions/{customObjectName} List Field Definitions #
POST /platform/custom-objects/v1/data/{customObjectName}/update Update Custom Object Data In Bulk #

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-custom-objects-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-custom-objects-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Plex (Rockwell Automation) Connect Custom Objects 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: Custom Objects API
  description: The custom objects API to query custom objects, custom object field definitions, and data records of custom objects.
paths:
  /platform/custom-objects/v1/data/{customObjectName}/add:
    post:
      operationId: createCustomObjectDataInBulk
      summary: Create Custom Object Data In Bulk
      tags:
      - Custom Objects API
      description: 'Create records for the specified custom object. The newly added CustomObjectRecords are returned.

        This operation is limited to 5000 records per transaction.'
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectData'
      responses:
        '201':
          description: Query executed successfully and the custom object data was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/create-custom-object-data-in-bulk
  /platform/custom-objects/v1/data/{customObjectName}:
    post:
      operationId: createCustomObjectData
      summary: Create Custom Object Data
      tags:
      - Custom Objects API
      description: Create a record for the specified custom object. The newly added CustomObjectRecord is returned.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectData'
      responses:
        '201':
          description: Query executed successfully and the custom object data was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/create-custom-object-data
    get:
      operationId: listAllCustomObjectData
      summary: List All Custom Object Data
      tags:
      - Custom Objects API
      description: Lists all records for a given custom object.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/list-all-custom-object-data
  /platform/custom-objects/v1/data/{customObjectName}/delete:
    post:
      operationId: deleteCustomObjectDataInBulk
      summary: Delete Custom Object Data In Bulk
      tags:
      - Custom Objects API
      description: 'This operation is limited to 5000 records per transaction.

        The collection of ids to delete must be either a collection of ids (string(uuid)) or a collection of record identifiers (integer(int64)). The types cannot be mixed.

        Sample request with a collection of ids

        POST /delete

        [

        "d8d9a288-c0b9-4aed-b3dc-e0d521329ce6",

        "36782adb-54d6-4cef-ae90-455585b66dcf",

        "61dcce88-0281-468b-8589-7690105f3916"

        ]


        Sample request with a collection of record identifiers

        POST /delete

        [

        1,

        5,

        10

        ]'
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Either'
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found or at least one of the records was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/delete-custom-object-data-in-bulk
  /platform/custom-objects/v1/data/{customObjectName}/{id}:
    delete:
      operationId: deleteCustomObjectData
      summary: Delete Custom Object Data
      tags:
      - Custom Objects API
      description: Deletes data for the given custom object with the specified ID. The deleted CustomObjectRecord is returned.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The ID of the record to delete.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found or the record was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/delete-custom-object-data
    get:
      operationId: getCustomObjectData
      summary: Get Custom Object Data
      tags:
      - Custom Objects API
      description: Get the record with the specified ID for the specified custom object.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The ID of the record to look up.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found or the record was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/get-custom-object-data
    put:
      operationId: updateCustomObjectData
      summary: Update Custom Object Data
      tags:
      - Custom Objects API
      description: Update the record with the specified ID for the specified custom object. The updated CustomObjectRecord is returned.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        description: The ID of the record to update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectData'
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found or the record was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/update-custom-object-data
  /platform/custom-objects/v1/field-definitions/{customObjectName}/{fieldName}:
    get:
      operationId: getFieldDefinition_customObjectsApi
      summary: Get Field Definition
      tags:
      - Custom Objects API
      description: Get the field definition by field name for the given custom object.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      - name: fieldName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the field that uniquely identifies the field within a custom object and is used internally by the system.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectFieldDefinition'
        '404':
          description: Resource not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/get-field-definition
  /platform/custom-objects/v1/data/{customObjectName}/search:
    post:
      operationId: listCustomObjectData
      summary: List Custom Object Data
      tags:
      - Custom Objects API
      description: 'Lists records for the specified custom object by searching against record identifiers and field values.

        Sample request for search by fields

        POST /search


        {

        "fieldValueSearchFilters": [

        {

        "fieldName": "MyDecimalField",

        "operation": ">",

        "operand": 10

        },

        {

        "fieldName": "MyTextField",

        "operation": "startsWith",

        "operand": "Field Val"

        }

        ]

        }


        Sample request for search by ids

        POST /search


        {

        "ids": [

        "d8d9a288-c0b9-4aed-b3dc-e0d521329ce6",

        "36782adb-54d6-4cef-ae90-455585b66dcf",

        "61dcce88-0281-468b-8589-7690105f3916"

        ]

        }


        Sample request for search by record identities

        POST /search


        {

        "recordIdentifiers": [

        1,

        5,

        10

        ]

        }


        Sample request for search by system fields

        To search by a system field (such as modifiedDateTime), use a leading underscore with the field name.

        POST /search


        {

        "fieldValueSearchFilters": [

        {

        "fieldName": "_modifiedDateTime",

        "operation": ">",

        "operand": "2015-03-14T09:26:53.59Z"

        }

        ]

        }'
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectSearchBody'
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/list-custom-object-data
  /platform/custom-objects/v1/objects:
    get:
      operationId: listCustomObjects
      summary: List Custom Objects
      tags:
      - Custom Objects API
      description: Retrieve a list of custom objects.
      parameters:
      - name: customObjectName
        in: query
        required: false
        schema:
          type: string
          example: string
        description: The name of the custom object that is used internally by the system.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObject'
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/list-custom-objects
  /platform/custom-objects/v1/field-definitions/{customObjectName}:
    get:
      operationId: listFieldDefinitions_customObjectsApi
      summary: List Field Definitions
      tags:
      - Custom Objects API
      description: Retrieve a list of field definitions for the given custom object.
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectFieldDefinition'
        '404':
          description: Resource not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/list-field-definitions
  /platform/custom-objects/v1/data/{customObjectName}/update:
    post:
      operationId: updateCustomObjectDataInBulk
      summary: Update Custom Object Data In Bulk
      tags:
      - Custom Objects API
      description: 'Update the records with the specified IDs for the specified custom object. The updated CustomObjectRecords are returned.

        This operation is limited to 5000 records per transaction.'
      parameters:
      - name: customObjectName
        in: path
        required: true
        schema:
          type: string
          example: string
        description: The name of the custom object.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomObjectRecord'
      responses:
        '200':
          description: Query executed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomObjectRecord'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
        '404':
          description: The custom object was not found or at least one of the records was not found.
      x-source: https://developers.plex.com/api/documentation/custom-objects-api/update-custom-object-data-in-bulk
components:
  schemas:
    CustomObjectRecord:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The uuid used to uniquely identify a custom object record.
          example: 00000000-0000-0000-0000-000000000000
        recordIdentifier:
          type: integer
          format: int64
          description: The value used to uniquely identify a custom object record.
          example: 5
        createdDateTime:
          type: string
          format: date-time
          description: The timestamp from when the record was created.
          example: '2026-10-20T12:03:01Z'
        modifiedDateTime:
          type: string
          format: date-time
          description: The timestamp from the last time the record was modified.
          example: '2026-10-20T12:03:01Z'
        customFields:
          type: object
          description: "The custom fields and values for a custom object.\nThe customFields property is an object with a schema derived from the relevant custom fields. Each property is the name of a custom field (not case sensitive) with a corresponding value matching the custom field's type.\nCustom Field Type to JSON Type Mapping\n\nBoolean - boolean\nCustom Object Reference -  object\nDate - string(date)\nDate Time - string(date-time)\nDecimal - number(double)\nInteger - integer(int64)\nStandard Object Reference - object\nText - string\nTime - string(time)\n\nCustom Object Reference Format\nCustom Object References are always returned to the client as an object with three properties OR null.\nProperties\n\nid - string(uuid) - The uuid used to uniquely identify a custom object record.\nrecordIdentifier - integer(int64) - The value used to uniquely identify a custom object record.\ndisplayValue - string - This is either the object's Primary Field (when specified) or the object's first field.\n\nWhen adding or updating a custom object reference, several formats can be used.\n\nA string(uuid) representing the record's ID.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": "d13023f2-9841-4439-8f8b-2d75ef3e87f4"\n  }\n}\n\n\nA integer(int64) representing a record identifier.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": 15\n  }\n}\n\n\nAn object with either a recordIdentifier or id property. Additional properties (such as displayName) are ignored with write operations.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": {\n      "recordIdentifier": 15,\n      "id": "d13023f2-9841-4439-8f8b-2d75ef3e87f4",\n      "displayValue": "Blue"\n    }\n  }\n}\n\nStandard Object Reference Format\nStandard Object References are always returned to the client as an object with two properties OR null.\nProperties\n\nrecordIdentifiers - object - An object of identity keys and their values that uniquely identify a standard object record.  This object has a schema that is derived from the identifiers used by the referenced standard object. For example, the Part standard object has a single identifier named Part_Key.\ndisplayValue -  string - The human readable text used to represent the referenced record. This value alone may not uniquely identify a record.\n\nWhen adding or updating a standard object reference, several formats can be used.\n\nAn object with the proper recordIdentifiers object. Additional properties (such as displayName) are ignored with write operations.\n\nExample\n{\n  "customFields": {\n    "MyPartReference": {\n      "recordIdentifiers": {\n        "Part_Key": 1234\n      },\n      "displayValue": "4799-AAA"\n    }\n  }\n}\n\n\nWhen the referenced object only has one identifier, the single value may be used.\n\nExample\n{\n  "customFields": {\n    "MyPartReference": 1234\n  }\n}"
      required:
      - customFields
    Either:
      type: string
      example: bf882863-796c-4a4c-adff-1c85bb5bc1ff
    CustomObject:
      type: object
      properties:
        customObjectName:
          type: string
          description: The name of the custom object that is used internally by the system.
          example: string
      required:
      - customObjectName
    ValidationResponse:
      type: object
      properties:
        code:
          type: string
          example: string
        message:
          type: string
          example: string
        errors:
          type: array
          items:
            type: object
            properties: {}
    CustomObjectSearchBody:
      type: object
      properties:
        ids:
          type: array
          description: A list of ids that uniquely identify a custom object record.
          items:
            type: string
            format: uuid
        recordIdentifiers:
          type: array
          description: A list of identity keys values that uniquely identify a custom object record.
          items:
            type: integer
            format: int64
        fieldValueSearchFilters:
          type: array
          description: A list of custom fields and values on which to search, and the operation used to compare with the custom object resource's values. Allowed operations are >, <, >=, <=, =, StartsWith, IsNull.
          items:
            type: object
            description: The custom field name, operation, and operand on which to search custom field values.
            properties: {}
        fieldName:
          type: string
          description: The name of the field definition that uniquely identifies the field within a standard object and is used internally by the system.
          example: string
        operation:
          type: string
          description: The operation to use to compare the specified operand with the custom field values of standard objects. Allowed values are >, <, >=, <=, =, StartsWith, IsNull.
          example: string
        operand:
          description: The value to compare using the specified operation with the custom field values of standard object records.
          example: {}
      required:
      - fieldName
      - operation
    CustomObjectData:
      type: object
      properties:
        customFields:
          type: object
          description: "The custom fields and values for a custom object.\nThe customFields property is an object with a schema derived from the relevant custom fields. Each property is the name of a custom field (not case sensitive) with a corresponding value matching the custom field's type.\nCustom Field Type to JSON Type Mapping\n\nBoolean - boolean\nCustom Object Reference -  object\nDate - string(date)\nDate Time - string(date-time)\nDecimal - number(double)\nInteger - integer(int64)\nStandard Object Reference - object\nText - string\nTime - string(time)\n\nCustom Object Reference Format\nCustom Object References are always returned to the client as an object with three properties OR null.\nProperties\n\nid - string(uuid) - The uuid used to uniquely identify a custom object record.\nrecordIdentifier - integer(int64) - The value used to uniquely identify a custom object record.\ndisplayValue - string - This is either the object's Primary Field (when specified) or the object's first field.\n\nWhen adding or updating a custom object reference, several formats can be used.\n\nA string(uuid) representing the record's ID.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": "d13023f2-9841-4439-8f8b-2d75ef3e87f4"\n  }\n}\n\n\nA integer(int64) representing a record identifier.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": 15\n  }\n}\n\n\nAn object with either a recordIdentifier or id property. Additional properties (such as displayName) are ignored with write operations.\n\nExample\n{\n  "customFields": {\n    "MyCustomObjectReference": {\n      "recordIdentifier": 15,\n      "id": "d13023f2-9841-4439-8f8b-2d75ef3e87f4",\n      "displayValue": "Blue"\n    }\n  }\n}\n\nStandard Object Reference Format\nStandard Object References are always returned to the client as an object with two properties OR null.\nProperties\n\nrecordIdentifiers - object - An object of identity keys and their values that uniquely identify a standard object record.  This object has a schema that is derived from the identifiers used by the referenced standard object. For example, the Part standard object has a single identifier named Part_Key.\ndisplayValue -  string - The human readable text used to represent the referenced record. This value alone may not uniquely identify a record.\n\nWhen adding or updating a standard object reference, several formats can be used.\n\nAn object with the proper recordIdentifiers object. Additional properties (such as displayName) are ignored with write operations.\n\nExample\n{\n  "customFields": {\n    "MyPartReference": {\n      "recordIdentifiers": {\n        "Part_Key": 1234\n      },\n      "displayValue": "4799-AAA"\n    }\n  }\n}\n\n\nWhen the referenced object only has one identifier, the single value may be used.\n\nExample\n{\n  "customFields": {\n    "MyPartReference": 1234\n  }\n}"
      required:
      - customFields
    CustomObjectFieldDefinition:
      type: object
      properties:
        fieldTypeName:
          type: string
          description: The name of the data type used internally by the system.
          example: string
        fieldName:
          type: string
          description: The name of the field definition that uniquely identifies the field within a standard object and is used internally by the system.
          example: string
        fieldLabel:
          type: string
          description: The display name of the custom field that is used as a label on forms within Plex and on printed documents.
          example: string
        description:
          type: string
          description: The description of the custom field definition that helps users understand of information should be saved to the custom field.
          example: string
        constraints:
          description: Constraints of the custom field definition, such as minimum and maximum values that are allowed.
          example:
            required: false
            minimumValue: 100
            minimumValueInclusive: true
            maximumValue: 200
            maximumValueInclusive: true
      required:
      - fieldTypeName
      - fieldName
      - fieldLabel
  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'