Rockwell Automation Plex APM OData API

Tag Data Endpoint You can use this to query the data points(numerical tags data) and events(boolean and string tags data) from Plex APM. In order to query the data, currently, only $filter, $select and $top query parameters are supported. How to use the API: Parameter $filter query is required. Parameter $filter query must always have StartDateTime and EndDateTime. For $filter query, allowed logical operators are: eq/and/in/startswith/endswith. All query parameters are case-sensitive. All query paramters should be provided in complete length with eq or in logical operators. A partial match won't be returned in the response. Startswith, Endswith operator currently support only AssetCode, AssetName, TagName and TagAlias for partial text search or wildcard search. The response will always have StartDateTime and EndDateTime query parameters returned with null value hence this can be ignored. The actual timestamp of the record is indicated by ReceivedISOTimestamp in the response. For $filter query, start date cannot be before 2019-01-01T00:00:00Z. Parameter $top query is optional with max limit of 50000. Parameter $orderBy is not supported. Parameter $filter date range defined by StartDateTime and EndDateTime must not exceed 31 days. Query Options Following are sample OData parameters queries (Query options overview - OData | Microsoft Docs) $select: For retrieving specific columns in the response, you should provide $select parameter. Following are the acceptable values for select query: AssetCode AssetName TagName TagAlias DataType StreamType Value MeasuringUnit Quality ReceivedISOTimestamp Severity EventReason Source GatewayName GatewayId StartDateTime EndDateTime $top: For limiting response to a specific record count, you should provide $top parameter. If user does not provide $top parameter, response will be served with a default limit of 50000. $top accepts a non-negative integer value. $filter: For fetching the tag data, you must provide $filter parameter. Allowed logical operators for filter query are - eq, and, in, startswith, endswith. Following list describes allowed $filter query parameters, along with their acceptable values/format: StartDateTime: Start datetime for the filter query is mandatory.Valid format: YYYY-MM-DDThh:mm:ssZ. EndDateTime: End datetime for the filter query is mandatory.Valid format: YYYY-MM-DDThh:mm:ssZ. AssetCode: Single or comma-separated list of asset codes using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete asset code for matching using eq or in. For partial text search, use startswith or endswith. AssetName: Single or comma-separated list of asset names using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete asset name for matching using eq or in. For partial text search, use startswith or endswith. TagName: Single or comma-separated list of tag names using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete tag name for matching using eq or in. For partial text search, use startswith or endswith. TagAlias: Single or comma-separated list of tag alias using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete tag alias for matching using eq or in.For partial text search, use startswith or endswith. DataType: Single or comma-separated list of data types using eq or in or startswith or endswith respectively, for which response is retrieved.This parameter is case-sensitive and requires the complete data type for matching. Following are the allowed values for data type: Numerical, Boolean, String. StreamType: Single or comma-separated list of stream types using eq or in or startswith or endswith respectively, for which response is retrieved. Stream type values are case-sensitive and requires the complete stream type for matching. Following are the allowed values for stream type: Boolean: Problem, Abnormal, Action Required, Maintenance, In-Cycle, Idle, Off, Other and any user-defined Boolean stream types. Numerical: Threshold, Discreet, Continuous. String: Part Number, Batch Number, Job Number, Operation Code, Operation Number, Other, Lot Number, Process Code, Tool Number` and any user-defined string stream types. MeasuringUnit: Single or comma-separated list of unit abbreviation using eq or in respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete unit abbreviation for matching. Source: Single or comma-separated list of sources using eq or in or startswith or endswith respectively. A source in Plex APM could be a gateway name, 'Complex Event Processor' for threshold events, or a system-defined source for user actions. This parameter is case-sensitive and requires the complete source name for matching. GatewayName: Single or comma-separated list of gateway name using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete gateway name for matching. GatewayId: Single or comma-separated list of gateway ID using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete gateway ID for matching. Following are examples of filter, select, and top query that combine logical operator and query parameters. $filter=startdatetime eq 2021-07-12T00:00:00Z and enddatetime eq 2021-07-12T07:01:55Z $filter=startdatetime eq 2021-07-12T00:00:00Z and enddatetime eq 2021-07-12T07:01:55Z and source in ('GatewayName1', 'GatewayName2') and assetcode eq 'AssetCode1' and assetname in ('AssetName1') $filter=startdatetime eq 2021-07-12T00:00:00Z and enddatetime eq 2021-07-12T07:01:55Z and assetcode in ('AssetCode1', 'AssetCode2') and tagName in ('TagName1', 'TagName2')&$select=TagName, AssetCode, AssetName, GatewayName, Value,ReceivedISOTimestamp&$top=10 $filter=startdatetime eq 2021-07-12T00:00:00Z and enddatetime eq 2021-07-12T07:01:55Z and startswith(tagname,'Ex') and endswith(tagname,'Bool') $filter=startdatetime eq 2021-07-12T00:00:00Z and enddatetime eq 2021-07-12T07:01:55Z and startswith(tagalias,'Ex') and endswith(tagalias,'Bool') and assetname eq 'Broach-06' and MeasuringUnit eq 'kA'

Operations 1

GET /cm/odata/v2/events Get Tag Data #

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-plex-apm-odata-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-plex-apm-odata-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Plex (Rockwell Automation) Connect Plex APM OData 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: Plex APM OData API
  description: 'Tag Data Endpoint

    You can use this to query the data points(numerical tags data) and events(boolean and string tags data) from Plex APM. In order to query the data, currently, only $filter, $select and $top query parameters are supported. How to use the API:


    Parameter $filter query is required. Parameter $filter query must always have StartDateTime and EndDateTime. For $filter query, allowed logical operators are: eq/and/in/startswith/endswith. All query parameters are case-sensitive. All query paramters should be provided in complete length with eq or in logical operators. A partial match won''t be returned in the response. Startswith, Endswith operator currently support only AssetCode, AssetName, TagName and TagAlias for partial text search or wildcard search. The response will always have StartDateTime and EndDateTime query parameters returned with null value hence this can be ignored. The actual timestamp of the record is indicated by ReceivedISOTimestamp in the response. For $filter query, start date cannot be before 2019-01-01T00:00:00Z. Parameter $top query is optional with max limit of 50000. Parameter $orderBy is not supported. Parameter $filter date range defined by StartDateTime and EndDateTime must not exceed 31 days. Query Options

    Following are sample OData parameters queries (Query options overview - OData | Microsoft Docs)

    $select: For retrieving specific columns in the response, you should provide $select parameter. Following are the acceptable values for select query:


    AssetCode

    AssetName

    TagName

    TagAlias

    DataType

    StreamType

    Value

    MeasuringUnit

    Quality

    ReceivedISOTimestamp

    Severity

    EventReason

    Source

    GatewayName

    GatewayId

    StartDateTime

    EndDateTime


    $top: For limiting response to a specific record count, you should provide $top parameter. If user does not provide $top parameter, response will be served with a default limit of 50000. $top accepts a non-negative integer value. $filter: For fetching the tag data, you must provide $filter parameter. Allowed logical operators for filter query are - eq, and, in, startswith, endswith. Following list describes allowed $filter query parameters, along with their acceptable values/format:


    StartDateTime: Start datetime for the filter query is mandatory.Valid format: YYYY-MM-DDThh:mm:ssZ. EndDateTime: End datetime for the filter query is mandatory.Valid format: YYYY-MM-DDThh:mm:ssZ. AssetCode: Single or comma-separated list of asset codes using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete asset code for matching using eq or in. For partial text search, use startswith or endswith. AssetName: Single or comma-separated list of asset names using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete asset name for matching using eq or in. For partial text search, use startswith or endswith. TagName: Single or comma-separated list of tag names using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete tag name for matching using eq or in. For partial text search, use startswith or endswith. TagAlias: Single or comma-separated list of tag alias using eq or in or startswith or endswith respectively, for which response is retrieved. This parameter is case-sensitive and requires the complete tag alias for matching using eq or in.For partial text search, use startswith or endswith. DataType: Single or comma-separated list of data types using eq or in or startswith or endswith respectively, for which response is retrieved.This parameter is case-sensitive and requires the complete data type for matching. Following are the allowed values for data type: Numerical, Boolean, String.'
paths:
  /cm/odata/v2/events:
    get:
      operationId: getTagData
      summary: Get Tag Data
      tags:
      - Plex APM OData API
      description: Returns data points(numerical tags data) and events(boolean and string tags data) on which you can add filter and select query. Endpoint is rate limited to serve 40K requests per day.
      parameters:
      - name: $filter
        in: query
        required: true
        schema:
          type: string
          example: string
        description: For fetching the tag data, you must provide $filter parameter. Allowed logical operators for filter query are - "eq", "and", "in", "startswith", "endswith".
      - name: $select
        in: query
        required: false
        schema:
          type: string
          example: string
        description: For retrieving specific columns in the response, you should provide $select parameter.
      - name: $top
        in: query
        required: false
        schema:
          type: integer
          example: 0
        description: For limiting response to a specific record count, you should provide $top parameter. If you do not provide $top parameter, response will be served with a default limit of 50000. $top accepts a non-zero, non-negative integer value.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-source: https://developers.plex.com/api/documentation/plex-apm-odata-api/get-tag-data
components:
  schemas:
    Event:
      type: object
      properties:
        assetName:
          type: string
          description: If the asset has a name, the name is returned, else the asset name is empty. If the asset is deleted, "Asset Deleted" is returned as a placeholder.
          example: Asset Name
        assetCode:
          type: string
          description: If the asset exists, asset code will be returned, else "Asset Deleted" is returned as a placeholder.
          example: Asset_Code
        tagName:
          type: string
          description: Tag Name.
          example: Returns tag name which is a point of data and may have static value or dynamic value.
        tagAlias:
          type: string
          description: Returns tag alias provided by you in Plex APM.
          example: Broach04
        dataType:
          type: string
          description: Returns tag data type as - Boolean, Numerical, String.
          example: Boolean
        streamType:
          type: string
          description: Returns tag stream type defined in Plex APM.
          example: Problem
        value:
          type: string
          description: Returns value of the tag as - true/false or number or string text.
          example: 'True'
        source:
          type: string
          description: Returns source of the tag as defined in Plex APM.
          example: Gateway Name
        gatewayName:
          type: string
          description: Returns gateway name of the tag. If the gateway is deleted, "Gateway Deleted" is returned as a placeholder.
          example: dev-plex-kepserver.eastus.cloudapp.azure.com
        gatewayId:
          type: string
          description: Returns gateway ID of the tag. If the gateway is deleted, "Gateway Deleted" is returned as a placeholder.
          example: b7e399b3-6f12-4c35-84d8-51f37d6ec79a
        measuringUnit:
          type: string
          description: If unit of measure is assigned to a numeric tag, the unit of measure is returned else No Unit(NONE) is returned as a placeholder. Null is returned for boolean and string tag.
          example: Current (kA)
        quality:
          type: string
          description: Returns quality of the tag - Good/Bad.
          example: Bad
        severity:
          type: string
          description: Returns severity as defined in Plex APM for boolean tag. Null is returned for numeric and string tag.
          example: Medium
        eventReason:
          type: string
          description: If event reason is assigned to a boolean tag, the event reason is returned else null is returned as a placeholder. Null is returned for numeric and string tag.
          example: Power Off
        receivedISOTimestamp:
          type: string
          description: Received timestamp of the event.
          example: '2020-01-01T07:00:00.000Z'
        startDateTime:
          type: string
          description: The response will always have StartDateTime returned 0001-01-01T00:00:00Z as a placeholder as tag does not have a start time.
          example: '0001-01-01T00:00:00Z'
        endDateTime:
          type: string
          description: The response will always have EndDateTime returned 0001-01-01T00:00:00Z as a placeholder as tag does not have an end time.
          example: '0001-01-01T00:00:00Z'
    Error:
      type: object
      properties:
        code:
          type: string
          example: string
        message:
          type: string
          example: string
  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'