Inductive Automation modules API
Installed module management
Installed module management
openapi: 3.0.3
info:
title: Ignition Gateway REST access-control modules API
description: The Ignition Gateway REST API (Ignition 8.3+) provides an OpenAPI-compliant HTTP interface to Gateway configuration resources including tags, projects, modules, device connections, historian data, user management (SCIM), alarm notification, OPC connections, and more. The specification is dynamically generated based on installed modules. Authentication uses API keys exchanged for time-limited tokens via the X-Ignition-API-Token header. Mutative requests are audit-logged. Supports Kubernetes and Helm-based cloud-native deployments.
version: 8.3.0
contact:
name: Inductive Automation Support
url: https://support.inductiveautomation.com/
license:
name: Commercial
url: https://inductiveautomation.com/pricing/
x-postman-collection: https://raw.githubusercontent.com/inductiveautomation/83-api/main/postman/8.3.postman_collection_v2.json
servers:
- url: http://{gateway-host}:{port}
description: Ignition Gateway (HTTP)
variables:
gateway-host:
default: localhost
description: Hostname or IP address of the Ignition Gateway
port:
default: '8088'
description: Gateway HTTP port (default 8088; HTTPS default 8043)
- url: https://{gateway-host}:{port}
description: Ignition Gateway (HTTPS)
variables:
gateway-host:
default: localhost
description: Hostname or IP address of the Ignition Gateway
port:
default: '8043'
description: Gateway HTTPS port
security:
- apiKeyAuth: []
tags:
- name: modules
description: Installed module management
paths:
/data/api/v1/modules/certificate:
get:
summary: View Certificate Information
operationId: view-certificate-information-get
tags:
- modules
description: Get details about the certificate for a given module.
parameters:
- name: moduleId
in: query
required: false
schema:
type: string
description: (Required) The ID of the module to get the certificate for.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
post:
summary: Accept Certificate
operationId: accept-certificate-post
tags:
- modules
description: Accept a module's certificate.
parameters:
- name: moduleId
in: query
required: false
schema:
type: string
description: (Required) The ID of the module to accept the certificate for.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/eula:
get:
summary: View EULA
operationId: view-eula-get
tags:
- modules
description: Retrieves the given module's EULA as HTML.
parameters:
- name: moduleId
in: query
required: false
schema:
type: string
description: (Required) The ID of the module to retrieve the EULA from.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
post:
summary: Accept EULA
operationId: accept-eula-post
tags:
- modules
description: Accept a module's EULA
parameters:
- name: moduleId
in: query
required: false
schema:
type: string
description: (Required) The ID of the module to accept the EULA for.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/healthy:
get:
summary: All Healthy Modules
operationId: all-healthy-modules-get
tags:
- modules
description: A list of all "healthy" (non-quarantined) modules on this Ignition Gateway.
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: The maximum number of items to return.
- name: offset
in: query
required: false
schema:
type: string
description: The number of items to skip before returning results.
- name: sortBy
in: query
required: false
schema:
type: string
description: 'The name of a field to sort by. Use `asc(fieldName)` or `desc(fieldName)`
to specify the sort direction as ascending or descending, respectively.
'
- name: search
in: query
required: false
schema:
type: string
description: A search string to filter items by. Terms separated by whitespace.
- name: key_0
in: query
required: false
schema:
type: string
description: 'Filter items by field name, using format like `fieldName[op]=value` where `op` is one of: `eq` (equals), `ne` (not equals), `cn` (contains), `sw` (starts with), `ew` (ends with), `gt` (greater than), `gte` (greater than or equal), `lt` (less than), `lte` (less than or equal), `rgx` (regular expression).'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/install:
post:
summary: Install Module
operationId: install-module-post
tags:
- modules
description: Completes installation of a previously uploaded module
parameters:
- name: moduleId
in: query
required: false
schema:
type: string
description: (Required) The moduleId of the module to be installed.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/quarantined:
get:
summary: Quarantined Modules
operationId: quarantined-modules-get
tags:
- modules
description: Information about all quarantined modules on this Ignition Gateway.
parameters:
- name: limit
in: query
required: false
schema:
type: string
description: The maximum number of items to return.
- name: offset
in: query
required: false
schema:
type: string
description: The number of items to skip before returning results.
- name: sortBy
in: query
required: false
schema:
type: string
description: 'The name of a field to sort by. Use `asc(fieldName)` or `desc(fieldName)`
to specify the sort direction as ascending or descending, respectively.
'
- name: search
in: query
required: false
schema:
type: string
description: A search string to filter items by. Terms separated by whitespace.
- name: key_0
in: query
required: false
schema:
type: string
description: 'Filter items by field name, using format like `fieldName[op]=value` where `op` is one of: `eq` (equals), `ne` (not equals), `cn` (contains), `sw` (starts with), `ew` (ends with), `gt` (greater than), `gte` (greater than or equal), `lt` (less than), `lte` (less than or equal), `rgx` (regular expression).'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/toggle-state:
put:
summary: Toggle Module State
operationId: toggle-module-state-put
tags:
- modules
description: Enable and disable Ignition Modules. Allows for operating on multiple modules per request.
requestBody:
content:
application/json:
schema:
type: object
example:
enable:
- <string>
- <string>
disable:
- <string>
- <string>
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/uninstall:
delete:
summary: Uninstall Module[s]
operationId: uninstall-module[s]-delete
tags:
- modules
description: Configures module[s] to be uninstalled on the next Gateway restart.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
/data/api/v1/modules/upload:
post:
summary: Upload Module
operationId: upload-module-post
tags:
- modules
description: Upload an Ignition Module to prepare for installation.
parameters:
- name: fileName
in: query
required: false
schema:
type: string
description: (Required) Used as the filename when the .modl is uploaded to the gateway's file system. This is arbitrary and will result in the module being stored at the module root location (typically `{ignition-install-dir}/user-lib/modules/{fileName}`)
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-Ignition-API-Token
description: Time-limited API token. Obtain by posting credentials to the token endpoint. See /data/api/v1/token for details.
externalDocs:
description: Ignition 8.3 Gateway REST API Documentation
url: https://www.docs.inductiveautomation.com/docs/8.3/platform/gateway/openapi