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: 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'