Inductive Automation logging API
Logging configuration
Logging configuration
openapi: 3.0.3
info:
title: Ignition Gateway REST access-control logging 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: logging
description: Logging configuration
paths:
/data/api/v1/logs:
get:
summary: Logs
operationId: logs-get
tags:
- logging
description: Returns logs from the Ignition Gateway. Accepts query parameters in order to filter the result set.
parameters:
- name: properties
in: query
required: false
schema:
type: string
description: Filters logs using the logger's MDC filtering properties. Must be provided in pairs as a list of strings.
- name: minLevel
in: query
required: false
schema:
type: string
description: Returned logs will be of level 'minLevel' and higher. One of [TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF]
- name: allowedMarkers
in: query
required: false
schema:
type: string
description: List of strings of allowed system event IDs.
- name: startTime
in: query
required: false
schema:
type: string
description: Include results starting from this timestamp (Epoch millis).
- name: endTime
in: query
required: false
schema:
type: string
description: Include results up to this timestamp (Epoch millis).
- name: logger
in: query
required: false
schema:
type: string
description: Filter for particular loggers by name.
- 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/logs/download:
get:
summary: Download Logs
operationId: download-logs-get
tags:
- logging
description: Download a copy of the system log from the internal database.
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/logs/levelreset:
post:
summary: Reset Logger Levels
operationId: reset-logger-levels-post
tags:
- logging
description: Resets all of the logger levels to their default level.
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/logs/loggers:
get:
summary: Loggers
operationId: loggers-get
tags:
- logging
description: Returns a list of all the loggers, their current levels, and the name of the context in which they live.
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/logs/loggers/{loggerName}:
post:
summary: Set Logger Level
operationId: set-logger-level-post
tags:
- logging
description: Set level for a specific logger.
parameters:
- name: loggerName
in: path
required: true
schema:
type: string
- name: level
in: query
required: false
schema:
type: string
description: (Required) The desired logger level. One of [TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF]
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/logs/monitoring-session:
post:
summary: Monitoring Session Logs
operationId: monitoring-session-logs-post
tags:
- logging
description: Creates a logging session that allows setting of levels and filters that will expire when the web session does. Logging levels will be set back to their defaults once this session expires.
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).'
requestBody:
content:
application/json:
schema:
type: object
example:
sessionKey: <string>
level: <string>
filters:
- <object>
- <object>
since: <number>
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/logs/properties:
post:
summary: Modify Logger Context Properties (Bulk)
operationId: modify-logger-context-properties-(bulk)-post
tags:
- logging
description: "Bulk operation for setting or removing LoggingFilter properties. In a POST body, supply a JSON\nobject in the following shapes. For adding new properties:\n```\n{\n \"apply\": [\n {\n \"key\": \"route-group\",\n \"vals\": [\n \"config\"\n ],\n \"lvl\": \"DEBUG\"\n }\n ]\n}\n```\nTo remove properties:\n```\n{\n \"remove\": [\n {\n \"key\": \"route-group\",\n \"vals\": [\n \"config\"\n ],\n \"lvl\": \""
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/logs/properties/applied:
get:
summary: Applied Logger Context Properties
operationId: applied-logger-context-properties-get
tags:
- logging
description: A JSON Object containing the all currently applied logging properties.
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/logs/properties/registered:
get:
summary: Registered Logger Context Properties
operationId: registered-logger-context-properties-get
tags:
- logging
description: A JSON Object containing the all currently registered logging properties.
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/logs/properties/{key}:
post:
summary: Add Logger Context Property
operationId: add-logger-context-property-post
tags:
- logging
description: Adds the specified property to the current logging context.
parameters:
- name: key
in: path
required: true
schema:
type: string
- name: value
in: query
required: false
schema:
type: string
description: (Required) The name of the logger property to set.
- name: level
in: query
required: false
schema:
type: string
description: The level to set the specified logger. One of [TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF]
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
delete:
summary: Remove Logger Context Property
operationId: remove-logger-context-property-delete
tags:
- logging
description: Removes the specified property from the current logging context. If only the key is specified, all values under that key will be removed.
parameters:
- name: key
in: path
required: true
schema:
type: string
- name: value
in: query
required: false
schema:
type: string
description: The name of the logger property to set.
- name: level
in: query
required: false
schema:
type: string
description: The level to set the specified logger. One of [TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF]
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