The "describeOutputs" action returns all available information about each specified output. Outputs deliver tags from the server to external systems.
Note A tag is a piece of named data with an associated value. For example, the tag
temperature 70includes both the named data temperature and the value70. In JSON, a tag is a JSON property, such as"temperature": 70. In a SQL table, a tag is a data field, such as a field named temperature with a value of70.
Request examples
Minimal
{
"apiVersion": "1.0",
"requestId": "optionalUniquerequestIdFromTheClient",
"action": "describeOutputs",
"params": {
"outputNames": [ "AcmefactoryLine1Station1AcidbathTelemetryOutput" ]
},
"authToken": "replaceWithAuthTokenFromCreateSession"
}
Response examples
Minimal
{
"result": {
"data": []
},
"requestId": "00000006",
"errorCode": 0,
"errorMessage": ""
}Maximal
{
"result": {
"data": [
{
"id": 19,
"outputName": "modbusTCPout",
"serviceName": "modbus",
"databaseName": "faircom",
"ownerName": "admin",
"tableName": "modbustabletcp",
"status": "userError",
"stopCode": 16384,
"stopReason": "Putting device in an uncertain error state while verifying data delivery.",
"purpose": "Track Celsius Temperatures from devices",
"description": "My output connector's description",
"labels": ["temperature", "celsius"],
"metadata": { "myProperty": "myValue" },
"createdTimestamp": "2025-08-28T10:47:13.041",
"updatedTimestamp": "2025-08-28T10:47:13.041",
"inactiveTimestamp": null,
"lastDeliveredTimestamp": null,
"lastConnectedTimestamp": null,
"lastDisconnectedTimestamp": null,
"settings": {
"modbusProtocol": "TCP",
"modbusServer": "127.0.0.1",
"modbusServerPort": 502,
"propertyMapList": [
{
"propertyPath": "temperature",
"modbusDataAccess": "holdingregister",
"modbusDataAddress": 1199,
"modbusUnitId": 5,
"modbusDataLen": 1
}
]
},
"fields": [],
"retentionPolicy": "autoPurge",
"retentionPeriod": 4,
"retentionUnit": "week",
"disableTransformSteps": false,
"logTransformOverwrites": false
}
]
},
"authToken": "replaceWithAuthTokenFromCreateSession",
"errorCode": 0,
"errorMessage": ""
}
Properties
Request properties ("params")
| Property | Description | Default | Type | Limits (inclusive) |
|---|---|---|---|---|
outputNames |
The |
Optional with default of []
|
array |
1 or more strings |
Response properties ("result")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
data |
The |
array of objects | The action determines its contents. |
|
data .createdTimestamp |
The "createdTimestamp" property is the date and time when the connector was originally created in ISO 8601 format, such as "2025-08-28T10:47:13.041". It is never null. |
timestamp | An ISO 8601 timestamp |
|
data .databaseName |
The
|
string | 1 to 64 bytes |
|
data .description |
The "description" property assigns a description to a connector. |
string | 1 to 512 bytes |
|
data .disableTransformSteps |
The |
Boolelan |
|
|
data .enabled |
|
Boolean |
truefalse
|
|
data .fields |
The
"fields": [
{
"autoValue": "none",
"name": "name",
"type": "varchar",
"length": 50,
"scale": null,
"defaultValue": null,
"nullable": false, |
array |
|
|
data .id |
The |
integer |
0 to 2147483647
|
|
data .inactiveTimestamp |
The "inactiveTimestamp" property is the date and time when the connector was last made inactive. It is null when the connector is active. It is returned in ISO 8601 format, such as "2025-08-28T10:47:13.041". |
timestamp | ISO 8601 timestamp |
|
data .labels |
The "labels" property assigns zero or more labels to a connector. You can use it to do lookups and filtering. You can display a list of existing labels, add new ones, rename them, and deprecate them.When you use the "alterInput" or "alterOutput" actions, omit the "labels" property to leave existing labels unchanged, or specify a complete set of new labels. These actions do not allow you to change one label at a time.You can use the "labelsFilter" property to lookup and filter connectors. The input and output connector actions implement the "labels" property using the Label API. The API stores and manages labels in the label group, "faircom/edge/labels", which allows labels to be used through FairCom Edge's APIs.An API client can retrieve a list of all lifecycle labels by using the "listLabels" action with "partialGroupFilter": "faircom/edge/labels".An API client should use the connector API's "labels" property to manage the labels assigned to a connector. It should not use the Label API to rename, link, or unlink connectors. |
string | 1 to 64 bytes |
|
data .lastConnectedTimestamp |
The "lastConnectedTimestamp" property is optionally returned from the "describeInputs", "alterInput", "describeOutputs", "alterOutput" actions. It returns the ISO 8601 date and time of the last time the connector was connected to its device. If it has never been connected, the value is null. The following string is an example of an ISO 8601 timestamp: "2025-08-28T10:47:13.041". |
ISO 8601 timestamp | The last ISO 8601 date and time the input connector was connected to its device. |
|
data .lastDeliveredTimestamp |
The
It returns the ISO 8601 date and time of the last data delivered by the output connector. If no data has been delivered, the value is |
ISO 8601 timestamp | The ISO 8601 date and time of the last data delivered by the output connector. |
|
data .lastDisconnectedTimestamp |
The "lastDisconnectedTimestamp" property is optionally returned from the "describeInputs", "alterInput", "describeOutputs", "alterOutput" actions. It returns the ISO 8601 date and time of the last time the connector disconnected from a device or software. If it has never disconnected, the value is null. The following string is an example of an ISO 8601 timestamp: "2025-08-28T10:47:13.041". |
ISO 8601 timestamp | The last ISO 8601 date and time the input connector was disconnected from its device. |
|
data .logTransformOverwrites |
The You typically set If multiple Additionally, non-JavaScript transform steps cannot overwrite protected fields or the You may create transform steps to take the value of one JSON property and store it in multiple fields as long as no previous transform steps have already put values in these fields. Conversely, you may take the value of one field and store it in multiple JSON properties.
|
Boolean |
|
|
data .metadata |
The |
JSON | 0 to 65,500 bytes |
|
data .outputName |
The "outputName" property specifies a unique name for mapping an integration table to an output plugin to an external system. |
string | 1 to 64 bytes |
|
data .ownerName |
The "ownerName" property identifies the user who owns an object (see Object owner). |
string | 0 to 64 bytes |
|
data .purpose |
The
|
string |
1 to 64 bytes Values are managed in the Label API with the group |
|
data .retentionPeriod |
The |
integer |
1 to 100
|
|
data .retentionPolicy |
The If not specified, the default found in the
retentionPolicy values:
|
string |
|
|
data .retentionUnit |
The If not specified, the default found in the
|
string |
|
|
data .running |
The "running" property is true when an input connector is collecting data or an output connector is delivering data; otherwise, it is false. A disabled connector will never be running. An enabled connector may or may not be running. |
Boolean |
|
|
data .serviceName |
The See the The following services are available as of the V5 release:
|
string | A service name between 1 and 64 bytes. |
|
data .settings |
The |
object |
See these pages for connector specific properties: |
|
data settings .propertyMapList |
The "propertyMapList" property specifies which data the connector requests and where to put it in the generated JSON. |
array of objects |
See these pages for connector specific properties: |
|
data settings propertyMapList .propertyPath |
The "propertyPath" property specifies the JSON path in the JSON document where the connector puts the data it collects. It is mutually exclusive with the "tagName" and "tagId" properties. |
string | JSON path |
|
data settings propertyMapList .tagId |
The "tagId" property associates a tag with a value being collected by a connector. It is mutually exclusive with the "tagName" and "propertyPath" properties. See tagId for more details. |
integer | If present, it must contain the ID of an existing tag, which is an integer from 0 to 9223372036854770000.Note FairCom recommends using this property instead of "propertyPath". |
|
data settings propertyMapList .tagName |
The "tagName" property associates a tag with a value being collected by a connector. It is mutually exclusive with the "tagId" and "propertyPath" properties. See tagName for more details. |
string |
If present, it must contain the name of an existing tag. Note FairCom recommends using this property instead of |
|
data .status |
The "status" property assigns an active or inactive status to a thing. An inactive status is like a soft delete. See "status" for more information. |
string enum |
|
|
data .stopCode |
The "stopCode" property is 0 when the connector is successfully connected to its device or software; otherwise, it is non-zero. |
integer |
-2147483648 to 2147483647
|
|
data .stopReason |
The "stopReason" property is "" when the input connector is collecting data; otherwise, it is a non-empty string. |
string | 0 to 256 bytes |
|
data .tableName |
The The table name must start with an upper or lowercase letter, must not contain special characters other than underscore |
string | 1 to 64 bytes |
|
data .thingId |
The "thingId" property associates a connector with a device or software application. It is mutually exclusive with the "thingName" property. See thingId for more details. |
integer | If present, it must contain the ID of an existing thing, which is an integer form 0 to 9223372036854770000. |
|
data .thingName |
The "thingName" property associates a connector with a device or software application. It is mutually exclusive with the "thingId" property. See thingName for more details. |
string | 1 to 64 bytes |
|
data .updatedTimestamp |
The "updatedTimestamp" property is the date and time when the connector was last updated. It is the same as the "createdTimestamp" property when the connector has never been updated. It is returned in ISO 8601 format, such as "2025-08-28T10:47:13.041". |
timestamp | ISO 8601 timestamp |