Skip to content

SolarUser Datum Stream Alias API

Matt Magoffin edited this page Apr 3, 2026 · 1 revision

The SolarUser Datum Stream Alias API provides methods to manage datum stream alias entities. All requests must provide a valid user authentication token. See SolarNet API authentication for information on how to use authentication tokens.

Datum Stream Alias

A datum stream alias defines a node and source ID combination that refers to different node and source ID combination. This can be used to grant access to a datum stream that a user would not otherwise have access to, for example due to a security policy. For more details see Datum stream alias.

Date formatting

All dates and times are represented in the Gregorian calendar system. Timestamps returned from the API are formatted in ISO 8601 style, using a space delimiter instead of T. For example: 2026-01-01 10:20:30.123456Z.

Endpoints

Verb Endpoint Description
POST /datum/stream/alias Create a new datum stream alias.
GET /datum/stream/alias List datum stream aliases that match a search criteria.
DELETE /datum/stream/alias Delete datum stream alias that match a search criteria.
GET /datum/stream/alias/{aliasId} View a specific datum stream alias.
PUT /datum/stream/alias/{aliasId} Update a specific datum stream alias.
DELETE /datum/stream/alias/{aliasId} Delete a specific datum stream alias.

Datum Stream Alias entity

A datum stream alias entity represents a single alias mapping to an original datum stream. The alias defines a unique node and source ID combination that points to a non-alias stream's node and source ID combination. For more details see Datum stream alias.

A Datum Stream Alias entity has the following properties:

Property Type Description
streamId String The unique ID of the alias entity, serving as the alias' datum stream ID.
created String The creation date (see date formatting).
modified String The most recent modification date (see date formatting).
kind String Either n (node) or l (location). Only n is allowed in this API.
objectId Number The alias node ID.
sourceId String The alias source ID.
originalObjectId Number The original node ID the alias points to.
originalSourceId String The original source ID the alias points to.

An example entity expressed in JSON looks like this:

{
  "streamId": "949e2fc5-38b9-4e9b-9486-abe369da0eff",
  "created": "2026-04-01 04:45:37.304327Z",
  "modified": "2026-04-01 04:45:37.304328Z",
  "kind": "n",
  "objectId": 321,
  "sourceId": "meter/b",
  "originalObjectId": 123,
  "originalSourceId": "meter/a"
}

Create

This method creates a new Datum Stream Alias entity. An application/json request body must be provided with the details to create.

POST /solaruser/api/v1/sec/datum/stream/alias

The request body accepts a Datum Stream Alias JSON object with the following properties:

Property Type Description
objectId Number The alias node ID.
sourceId String The alias source ID.
originalObjectId Number The original node ID the alias points to.
originalSourceId String The original source ID the alias points to.

For example:

{
  "objectId": 321,
  "sourceId": "meter/b",
  "originalObjectId": 123,
  "originalSourceId": "meter/a"
}

The response will be a Datum Stream Alias entity object that provides the assigned ID. See the view response section for more details. In addition a Location HTTP header will be returned with the path to view the entity, for example:

Location: /solaruser/api/v1/sec/datum/stream/alias/dddd-ee-ff-gggg

List

This method returns a list of Datum Stream Alias entities matching an optional search filter.

GET /solaruser/api/v1/sec/datum/stream/alias

The URL accepts the following search filter query parameters, which are combined using a logical "and" operation to determine which entities to return:

Property Description
nodeId The ID of a single node.
nodeIds A comma-delimited list of node IDs. This parameter may be also provided multiple times.
sourceId String
sourceIds A comma-delimited list of source IDs to restrict the results to. This parameter may also be provided multiple times.
streamId The ID of a single stream to restrict the results to.
streamIds A comma-delimited list of stream IDs to restrict the results to. This parameter may also be provided multiple times.
streamAliasMatchType One of OriginalOrAlias, OriginalOnly, or AliasOnly. Determines what the node/source/stream criteria can match: original or alias values. Defaults to OriginalOrAlias.
offset Optional starting result offset. Defaults to 0.
max Optional maximum result count, or unlimited if not provided.

The response will be a paged results list of Datum Stream Alias entity objects.

Delete by filter

This method will delete Datum Stream Alias entities matching a search filter.

DELETE /solaruser/api/v1/sec/datum/stream/alias

The URL accepts the following search filter query parameters, which are combined using a logical "and" operation to determine which entities to delete:

Property Description
nodeId The ID of a single node to delete.
nodeIds A comma-delimited list of node IDs to delete. This parameter may be also provided multiple times.
sourceId String
sourceIds A comma-delimited list of source IDs to delete. This parameter may also be provided multiple times.
streamId The ID of a single stream to delete.
streamIds A comma-delimited list of stream IDs to delete. This parameter may also be provided multiple times.
streamAliasMatchType One of OriginalOrAlias, OriginalOnly, or AliasOnly. Determines what the node/source/stream criteria can match: original or alias values. Defaults to OriginalOrAlias.

The response will be empty.

View

This method returns a specific Datum Stream Alias entity.

GET /solaruser/api/v1/sec/datum/stream/alias/{aliasId}
aliasId The ID of the Datum Stream Alias entity to view.

View response

The response will be a Datum Stream Alias entity object.

An example response looks like:

{
  "success": true,
  "data": {
    "streamId": "949e2fc5-38b9-4e9b-9486-abe369da0eff",
    "created": "2026-04-01 04:45:37.304327Z",
    "modified": "2026-04-01 04:45:37.304328Z",
    "kind": "n",
    "objectId": 321,
    "sourceId": "meter/b",
    "originalObjectId": 123,
    "originalSourceId": "meter/a"
  }
}

Update

Use this method to change a specific Datum Stream Alias entity's properties. An application/json request body must be provided with the details to update.

PUT /solaruser/api/v1/sec/datum/stream/alias/{aliasId}
aliasId The ID of the Datum Stream Alias entity to update.

The request body accepts a Datum Stream Alias JSON object with the following properties:

Property Type Description
objectId Number The alias node ID.
sourceId String The alias source ID.
originalObjectId Number The original node ID to point the alias at.
originalSourceId String The original source ID to point the alias at.

For example:

{
  "objectId": 2,
  "sourceId": "meter/2",
  "originalObjectId": 123,
  "originalSourceId": "meter/a"
}

The response will be the updated full Datum Stream Alias entity object. See the view response section for more details.

Delete

Use this method to delete a specific Datum Stream Alias entity.

DELETE /solaruser/api/v1/sec/datum/stream/alias/{aliasId}
aliasId The ID of the Datum Stream Alias entity to delete.

The response will be empty.

Clone this wiki locally