Schema
The Schema API lets you perform operations on managed object schemas. You can create, update, and delete custom relationship properties for managed objects using version 2 of the API. The following table lists the available endpoints for the /schema/ context path:
| URI | HTTP Operation | Description | ||
|---|---|---|---|---|
|
GET |
Returns the schema for the |
||
|
GET |
Returns the schema for the |
||
|
GET |
Returns the schema for the |
||
|
GET |
Returns the schema for the |
||
|
GET |
Returns the
|
||
|
PUT |
Creates the
|
||
|
PUT |
Updates the
|
||
|
DELETE |
Deletes the
|
The following example creates a custom many-to-many relationship property, custom_Children, with a reverse property, custom_Parents:
curl \
--header "X-OpenIDM-Username: openidm-admin" \
--header "X-OpenIDM-Password: openidm-admin" \
--header "Accept-API-Version: resource=2.0" \
--request PUT \
--data '{
"description": "A user as a child of another user.",
"title": "Custom children",
"viewable": true,
"type": "array",
"required": false,
"items": {
"type": "relationship",
"title": "Custom Parent",
"reverseRelationship": true,
"reversePropertyName": "custom_Parents",
"notifySelf": false,
"validate": true,
"properties": {
"_ref": {
"description": "References a relationship from a managed object",
"type": "string"
},
"_refProperties": {
"description": "Supports metadata within the relationship",
"type": "object",
"title": "Custom Provisioning Children Parents _refProperties",
"properties": {
"_id": {
"description": "_refProperties object ID",
"type": "string"
}
}
}
},
"resourceCollection": [
{
"path": "managed/alpha_user",
"label": "User",
"query": {
"queryFilter": "true",
"fields": [
"userName"
]
},
"notify": false,
"reverseProperty": {
"type": "array",
"validate": true,
"resourceCollection": {
"notify": false,
"query": {
"queryFilter": "true",
"fields": [
"userName"
]
}
}
}
}
]
}
}
' \
"https://localhost:8443/openidm/schema/managed/user/properties/custom_Children"