You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Reserved Attributes

"id" is a reserved attribute referring to the internal id of an object.

Intrinsic Attributes

Each object has a set of intrinsic attributes that are predefined by the system.

User Defined Attributes

Every object may contain a set of user defined attributes.
Attribute Name should NOT contain whitespace, dash and special characters, but may contain underscore. Attribute Name is case sensitive.
Attribute can be a basic data type, an object or a collection. An attribute can be referenced in the format of "objectName.attributeName". Following are some examples:

  • user.id user's ID
  • user.domain.id user's domain ID
  • role.scopes.domain.id an array of role's domain ID
  • policy.options an array of policy options

Attribute Properties

Property

Type

values

default

mandate

name

string

 

 

true

description

string

 

 

 

type

string

STRING
BINARY
BOOLEAN
INTEGER
FLOAT
DATE

STRING

 

tags

string

 

 

 

external

boolean

 

true

 

multiple

boolean

 

false

 

readOnly

boolean

 

false

 

required

boolean

 

true

 

encrypted

boolean

 

false

 

searchable

boolean

 

true

 

system

boolean

 

false

 

mapsTo

string

 

 

 

defaultValue

string

 

 

 

immutable

boolean

 

false

 

intrinsic

boolean

 

 

 

label

string

 

 

 

comment

string

 

 

 


Available attribute types:
STRING, TEXT, BINARY, BOOLEAN, INTEGER, LONG, DOUBLE, FLOAT, DATE, ENUM, PASSWORD, EMAIL, TELEPHONE, URL, OBJECT, COLLECTION
Notes:

  1. An attribute must belong to an object. Therefore, every Attribute API must specify the Object's Name.
  2. Intrinsic attributes cannot be deleted.

/attribute/create

To create an attribute. On success, the method returns the internal id of the newly created attribute .
Example: to create an Identity Attribute (aka, User Attribute)
Parameters:
{
"objectName":"user"
"attrs":
{
"identitySource.id":the id of the owner Identity Source,
"name":attribute name,
"type":data type of the attribute
"external":true/false

"mapsTo":mapping nameif external
"defaultValue":default value if internal
}
}
Response: {"error":0,"result":{"id":2}}

/attribute/delete

To delete an identity attribute. On success, the method returns error 0 with no result.
Example: to delete an identity attribute.
Parameters:
{
"objectName":"user",
"id":the id of the attribute to be deleted
}
Response:
{
"error":0,
}

/attribute/set

To change an identity attribute's properties. On success, the method returns error 0 with no result.
Example: to set an identity attribute's properties.
Parameters:
{
"objectName":"user",
"id":the id of the attribute to be deleted
"attrs":
{
"name":to change the name
"type":data type of the attribute
"external":true/false

"mapsTo":mapping name if external
"defaultValue":default value if internal
}
}
Response:
{
"error":0,
}

/attribute/get

To retrieve an attribute's properties. On success, the method returns the set of properties
Example: to retrieve an identity attribute's properties.
Parameters:
{
"match":
{
["objectName","=", "user"],
["identitySource.id", "=","Identity Source id"],
["name", "=","the name of the attribute to be retrieved"]
},
"return":["*"],
}
Response:
{
"error":0,
"result":
{
"name":attribute name
"type":data type of the attribute
"external":true/false

"mapsTo":mapping nameif external
"defaultValue":default value if internal
}
}

/attribute/search

To retrieve a list of attributes of a specified object.
Example: to retrieve a list of identity attributes.
Parameters:
{
"match":
{
["objectName","=", "user"],
["identitySource.id", "=","Identity Source id"]
},
"return":["name", "type"],
"sort":"name",
"order":"asc",
}
Response:
{
"error":0,
"result":
[
{
"name":attribute name
"type":data type of the attribute
},
{
"name":attribute name
"type":data type of the attribute
}
]
}

  • No labels