Add an existing controller
Controllers are blockchain-level entities that manage access rights to assets, allowing you to restrict who can buy, sell, or trade them.
This endpoint adds an existing controller to the system. It allows you to register a controller that already exists on the blockchain by providing its address and basic details, making it available for management within the TEOS platform.
📘 Learn more about controllers.
Request Endpoint:
POST /odata/v1.0/Controllers/AddExistingParameters No URL or query parameters.
Request Body:
application/json — The model containing information to add an existing controller.
Parameter
Type
Description
Mandatory
Name
string
Name of the controller
✅
ControllerAddress
string
Address of the existing controller
✅
CreatedBy
string
ID of the user adding the controller
❌
Description
string
Description of the controller
❌
Example Request Body:
In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "ControllerAddress" is 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, it is 63 characters.
{
"Name": "Test",
"Description": "My test controller",
"ControllerAddress": "0x16a1b82873d90f3c3454d487a4fe7017eae9d424",
"CreatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}Parameters Table (Body)
Parameter
Type
Description
Name
string
Name of the controller
Description
string
Description of the controller
ControllerAddress
string
Blockchain address of the controller
CreatedBy
string
ID of the user adding the controller (optional)
Response Body Example:
application/json
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": "string",
"Description": "string",
"EthereumAddress": "string",
"IssuerAddress": "string",
"WhitelistAddresses": [
{
"Address": "string",
"Limit": "string"
}
],
"BlacklistAddresses": [
{
"Address": "string",
"Reason": 0
}
],
"CreatedInBlockchainOn": "2025-10-10T09:08:50.544Z",
"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 Parameters Table
Parameter
Type
Description
Id
string
Unique identifier of the controller
Name
string
Name of the controller
Description
string
Description of the controller
EthereumAddress/ICPAddress
string
Ethereum address of the controller/ICPAddress of the controller
IssuerAddress
string
Address of the entity that issued the controller
WhitelistAddresses
array
List of whitelisted addresses with limits
WhitelistAddresses[].Address
string
Whitelisted blockchain address
WhitelistAddresses[].Limit
string
Limit for the whitelisted address
BlacklistAddresses
array
List of blacklisted addresses with reasons
BlacklistAddresses[].Address
string
Blacklisted blockchain address
BlacklistAddresses[].Reason
number
Reason code for blacklisting
CreatedInBlockchainOn
string (datetime)
Timestamp when controller was created on blockchain
CreatedBy
string
User ID who created the controller
CreatedOn
string (datetime)
Timestamp when controller was created in system
UpdatedOn
string (datetime)
Timestamp of last update
UpdatedBy
string
User ID who last updated the controller
Responses
Code
Description
201
The controller was successfully added
400
Existing controller data is invalid. Error details are included
401
Unauthorized
Last updated
Was this helpful?