Things API specification (48433e2c1ad288a130d627624d962b0a91ee1c9d)

Download OpenAPI specification:

The things service is used to configure and manage all kinds of things in GroupAlarm.

entities

ListEntities

Returns a paginated list of entities for an organization, filtered to only those the caller has read access to

Authorizations:
API-TOKENPersonal-Access-Token
query Parameters
organization_id
required
integer

id of the organization

limit
integer [ 1 .. 50 ]
Default: 10

max. amount of entities in paginated list

offset
integer
Default: 0

skipped entities in paginated list

search
string

search term to filter entities by name

Responses

Response samples

Content type
application/json
{
  • "entities": [
    ],
  • "total": 0
}

CreateEntity

Creates a new entity for an organization

Authorizations:
API-TOKENPersonal-Access-Token
Request Body schema: application/json
required
description
string

Description provides a detailed explanation of what this entity represents.

Array of objects (Field defines the "Columns" or attributes available for a specific Entity.)

Fields is the list of attribute definitions associated with this entity.

icon
string

Icon is an emoji for the visual representation of the entity.

id
string

ID is the unique identifier (UUID) for the entity template.

name
string

Name is the display name of the entity (e.g., "Fire Hydrant").

organizationID
integer <int64>

OrganizationID is the ID of the organization that owns this entity.

readOnlyUserIDs
Array of integers <int64> [ items <int64 > ]

ReadOnlyUserIDs is the list of user IDs that have read-only access to records of this entity.

readWriteUserIDs
Array of integers <int64> [ items <int64 > ]

ReadWriteUserIDs is the list of user IDs that have read/write access to records of this entity.

recordCount
integer <int64>

RecordCount tracks the current number of records created for this entity.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "fields": [
    ],
  • "icon": "string",
  • "id": "string",
  • "name": "string",
  • "organizationID": 0,
  • "readOnlyUserIDs": [
    ],
  • "readWriteUserIDs": [
    ],
  • "recordCount": 0
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "fields": [
    ],
  • "icon": "string",
  • "id": "string",
  • "name": "string",
  • "organizationID": 0,
  • "readOnlyUserIDs": [
    ],
  • "readWriteUserIDs": [
    ],
  • "recordCount": 0
}

GetEntity

Returns a single entity of an organization

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Responses

Response samples

Content type
application/json
{
  • "canRead": true,
  • "canWrite": true,
  • "description": "string",
  • "fields": [
    ],
  • "icon": "string",
  • "id": "string",
  • "name": "string",
  • "organizationID": 0,
  • "readOnlyUserIDs": [
    ],
  • "readWriteUserIDs": [
    ],
  • "recordCount": 0
}

UpdateEntity

Updates an existing entity of an organization

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Request Body schema: application/json
required
description
string

Description provides a detailed explanation of what this entity represents.

Array of objects (Field defines the "Columns" or attributes available for a specific Entity.)

Fields is the list of attribute definitions associated with this entity.

icon
string

Icon is an emoji for the visual representation of the entity.

id
string

ID is the unique identifier (UUID) for the entity template.

name
string

Name is the display name of the entity (e.g., "Fire Hydrant").

organizationID
integer <int64>

OrganizationID is the ID of the organization that owns this entity.

readOnlyUserIDs
Array of integers <int64> [ items <int64 > ]

ReadOnlyUserIDs is the list of user IDs that have read-only access to records of this entity.

readWriteUserIDs
Array of integers <int64> [ items <int64 > ]

ReadWriteUserIDs is the list of user IDs that have read/write access to records of this entity.

recordCount
integer <int64>

RecordCount tracks the current number of records created for this entity.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "fields": [
    ],
  • "icon": "string",
  • "id": "string",
  • "name": "string",
  • "organizationID": 0,
  • "readOnlyUserIDs": [
    ],
  • "readWriteUserIDs": [
    ],
  • "recordCount": 0
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "fields": [
    ],
  • "icon": "string",
  • "id": "string",
  • "name": "string",
  • "organizationID": 0,
  • "readOnlyUserIDs": [
    ],
  • "readWriteUserIDs": [
    ],
  • "recordCount": 0
}

DeleteEntity

Deletes a single entity of an organization

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Responses

records

ListRecords

Returns a paginated list of records for an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

query Parameters
limit
integer [ 1 .. 50 ]
Default: 10

max. amount of records in paginated list

offset
integer
Default: 0

skipped records in paginated list

search
string

search term to filter records

orderby
string

field ID to order results by

orderdir
string
Enum: "asc" "desc"

sort direction (asc or desc)

Responses

CreateRecord

Creates a new record for an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Request Body schema: application/json
required
Array of objects (Value holds the actual data for a specific field within a specific record.)

Values contains the actual data entries mapped to the entity's fields.

Responses

Request samples

Content type
application/json
{
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "entityID": "string",
  • "id": "string",
  • "values": [
    ]
}

Processes creates, updates, and deletes for multiple records of an entity in one request.

Records without an ID are created; records with an ID are updated. IDs listed in deleteIDs are deleted. Each operation is validated independently. Always returns HTTP 200 with four lists: created IDs, updated IDs, deleted IDs, and failed entries (each with a reason)

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Request Body schema: application/json
required
deleteIDs
Array of strings

DeleteIDs is the list of record IDs to delete.

Array of objects (BulkRecordItem is a single record entry within a bulk request.)

Records is the list of records to create (no ID) or update (with ID).

Responses

Request samples

Content type
application/json
{
  • "deleteIDs": [
    ],
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "createdIDs": [
    ],
  • "deletedIDs": [
    ],
  • "failedEntries": [
    ],
  • "updatedIDs": [
    ]
}

GetRecord

Returns a single record

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the record

Responses

Response samples

Content type
application/json
{
  • "entityID": "string",
  • "id": "string",
  • "values": [
    ]
}

UpdateRecord

Updates an existing record

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the record

Request Body schema: application/json
required
Array of objects (Value holds the actual data for a specific field within a specific record.)

Values contains the actual data entries mapped to the entity's fields.

Responses

Request samples

Content type
application/json
{
  • "values": [
    ]
}

Response samples

Content type
application/json
{
  • "entityID": "string",
  • "id": "string",
  • "values": [
    ]
}

DeleteRecord

Deletes a single record

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the record

Responses

entity-rules

ListEntityRules

Returns a paginated list of rules for an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

query Parameters
limit
integer [ 1 .. 50 ]
Default: 10

max. amount of rules in paginated list

offset
integer
Default: 0

skipped rules in paginated list

Responses

CreateEntityRule

Creates a new rule for an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

Request Body schema: application/json
required
action
string (EntityRuleAction defines the types of actions that can be executed when an entity rule is triggered.)
object (EntityRuleActionAlarmTemplateConfiguration holds the configuration details for an alarm template action in an entity rule.)
Array of objects (EntityRuleCondition represents a single condition that must be met for an entity rule to trigger its action.)
description
string
entityID
string
id
string
name
string
triggers
Array of strings (EntityRuleTrigger defines the events that can trigger an entity rule.)

Responses

Request samples

Content type
application/json
{
  • "action": "string",
  • "actionAlarmTemplate": {
    },
  • "conditions": [
    ],
  • "description": "string",
  • "entityID": "string",
  • "id": "string",
  • "name": "string",
  • "triggers": [
    ]
}

GetEntityRule

Returns a single rule of an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

ruleUUID
required
string

unique identifier of the entity rule

Responses

UpdateEntityRule

Updates an existing rule of an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

ruleUUID
required
string

unique identifier of the entity rule

Request Body schema: application/json
required
action
string (EntityRuleAction defines the types of actions that can be executed when an entity rule is triggered.)
object (EntityRuleActionAlarmTemplateConfiguration holds the configuration details for an alarm template action in an entity rule.)
Array of objects (EntityRuleCondition represents a single condition that must be met for an entity rule to trigger its action.)
description
string
entityID
string
id
string
name
string
triggers
Array of strings (EntityRuleTrigger defines the events that can trigger an entity rule.)

Responses

Request samples

Content type
application/json
{
  • "action": "string",
  • "actionAlarmTemplate": {
    },
  • "conditions": [
    ],
  • "description": "string",
  • "entityID": "string",
  • "id": "string",
  • "name": "string",
  • "triggers": [
    ]
}

DeleteEntityRule

Deletes a single rule of an entity

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
uuid
required
string

unique identifier of the entity

ruleUUID
required
string

unique identifier of the entity rule

Responses

usage

GetUsage

Returns the current usage of the organization in terms of records and the record limit

Authorizations:
API-TOKENPersonal-Access-Token
path Parameters
organization_id
required
integer

id of the organization

Responses

Response samples

Content type
application/json
{
  • "recordCount": 0,
  • "recordLimit": 0
}