Skip to main content

Retrieve a controller by id

This endpoint retrieves a specific controller by its unique identifier (Id).

Controllers on the TEOS platform are blockchain-level entities that define restrictions and permissions for specific operations with blockchain data types.

A controller may include whitelisted and blacklisted addresses, which determine which wallets or users can interact with the associated assets.
This endpoint returns full details of a controller, including its metadata and address lists, by providing its unique ID.

📘 Learn more about controllers.

Request Endpoint:​

GET /odata/v1.0/Controllers({key})

Retrieves the controller object identified by the specified {key} (UUID).
You can optionally use OData query options to expand related entities or select specific fields.

Supported OData query options:
Expand, Select

Parameters​

NameTypeDescription
keystring (UUID)The unique identifier of the requested controller.

Example Request:​

GET /Controllers(6046ab4b-c4c8-4839-7f1c-08da318afc96)

Response Body:​

application/json — Returns the details of the requested controller.

ParameterTypeDescription
Idstring (UUID)Unique identifier of the controller.
NamestringName of the controller.
DescriptionstringDescription of the controller.
EthereumAddress/ICPAddressstringThe blockchain address associated with the controller.
IssuerAddressstringAddress of the issuer that created the controller.
WhitelistAddressesarrayList of addresses allowed to interact with this controller.
WhitelistAddresses.AddressstringWhitelisted blockchain address.
WhitelistAddresses.LimitstringOptional transaction or interaction limit for the address.
BlacklistAddressesarrayList of addresses restricted from interacting with the controller.
BlacklistAddresses.AddressstringBlacklisted blockchain address.
BlacklistAddresses.ReasonintegerReason code for blacklisting.
CreatedInBlockchainOndatetimeDate and time when the controller was created on the blockchain.
CreatedBystring (UUID)Identifier of the user who created the controller.
CreatedOndatetimeTimestamp when the controller was created in the system.
UpdatedOndatetimeTimestamp of the last update.
UpdatedBystring (UUID)Identifier of the user who last updated the controller.

Example Response Body:​

In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the address ("IssuerAddress", "WhetelistAddress" and etc) is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, it is 63 characters.

{
"Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"Name": "Example Controller",
"Description": "Defines whitelist and blacklist for controlled asset operations",
"EthereumAddress": "0xe0450ce1e2ef73b15514ae6a003b90d0ebac8836",
"IssuerAddress": "0x1977832755fb404b96ea7a1d95b67df2135e94f1",
"WhitelistAddresses": [
{
"Address": "0x3c878fccdbae5915433e0ec859c781f1d07b3665",
"Limit": "1000"
}
],
"BlacklistAddresses": [
{
"Address": "0x1977832755fb404b96ea7a1d95b67df2135e94f1",
"Reason": 1
}
],
"CreatedInBlockchainOn": "2025-10-10T07:15:44.565Z",
"CreatedBy": "37514BE7-D096-4BB8-95DA-EDB03B723BB2",
"CreatedOn": "2022-07-21T09:40:23.263Z",
"UpdatedOn": "2022-07-21T09:40:23.263Z",
"UpdatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Response Codes:​

CodeDescription
200The controller was successfully retrieved.
400The request is invalid. Error details are included.
401Unauthorized.
404The controller does not exist.