AspenTech Data API

Read and write process data points

OpenAPI Specification

aspentech-data-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AspenTech Inmation Web Data API
  description: The AspenTech Inmation Web API provides HTTP and WebSocket interfaces for external applications to interact with the AspenTech Inmation industrial IoT and time-series data platform. RPC-based REST APIs enable access to process data, system services, and automation functions for manufacturing and energy operations.
  version: 1.108.0
  contact:
    name: AspenTech Support
    url: https://atdocs.inmation.com/api/1.108/webapi/index.html
servers:
- url: http://{hostname}:8002
  description: Inmation Web API server
  variables:
    hostname:
      default: localhost
      description: Inmation server hostname or IP address
security:
- basicAuth: []
- bearerToken: []
tags:
- name: Data
  description: Read and write process data points
paths:
  /api:
    post:
      operationId: executeRpcCall
      summary: Execute RPC call
      description: Execute an Inmation RPC (Remote Procedure Call) operation. The Inmation Web API uses a unified POST endpoint with JSON-RPC-style requests to perform data reads, writes, and system operations.
      tags:
      - Data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RpcRequest'
            examples:
              readData:
                summary: Read current value of a data item
                value:
                  jsonrpc: '2.0'
                  method: data.read
                  params:
                    paths:
                    - /System/Core/Tag1
                  id: 1
              writeData:
                summary: Write value to a data item
                value:
                  jsonrpc: '2.0'
                  method: data.write
                  params:
                    items:
                    - path: /System/Core/Tag1
                      value: 42.5
                  id: 2
      responses:
        '200':
          description: RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RpcResponse'
        '400':
          description: Invalid RPC request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RpcErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/data/read:
    post:
      operationId: readDataItems
      summary: Read current process data values
      description: Read the current value of one or more process data items (tags) by path.
      tags:
      - Data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - paths
              properties:
                paths:
                  type: array
                  description: List of item paths to read
                  items:
                    type: string
                  example:
                  - /System/Core/Temperature
                  - /System/Core/Pressure
      responses:
        '200':
          description: Data values for requested items
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/DataItem'
  /api/data/write:
    post:
      operationId: writeDataItems
      summary: Write process data values
      description: Write values to one or more process data items (tags) by path.
      tags:
      - Data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - items
              properties:
                items:
                  type: array
                  items:
                    $ref: '#/components/schemas/DataWriteRequest'
      responses:
        '200':
          description: Write result
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/WriteResult'
components:
  schemas:
    DataWriteRequest:
      type: object
      required:
      - path
      - value
      properties:
        path:
          type: string
        value:
          description: Value to write (numeric, string, or boolean)
        timestamp:
          type: string
          format: date-time
    DataItem:
      type: object
      description: Current value of a process data item
      properties:
        path:
          type: string
          description: Full item path
        value:
          description: Current process value (numeric, string, or boolean)
        quality:
          type: integer
          description: OPC quality code (192 = Good, 0 = Bad)
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the current value
        error:
          type: string
          description: Error message if item could not be read
    RpcErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
        id:
          oneOf:
          - type: integer
          - type: string
    WriteResult:
      type: object
      properties:
        path:
          type: string
        success:
          type: boolean
        error:
          type: string
    RpcRequest:
      type: object
      required:
      - jsonrpc
      - method
      - id
      properties:
        jsonrpc:
          type: string
          enum:
          - '2.0'
        method:
          type: string
          description: RPC method name (e.g., data.read, data.write, sys.info)
        params:
          type: object
          additionalProperties: true
        id:
          oneOf:
          - type: integer
          - type: string
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
    RpcResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        result:
          description: Response result (type varies by method)
        id:
          oneOf:
          - type: integer
          - type: string
  responses:
    Unauthorized:
      description: Unauthorized - invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerToken:
      type: http
      scheme: bearer