Directory
A Data Store
A directory is a data store that maintains identity objects and credentials. This consists of user passwords and authentication tokens for connectivity to third party "social" systems like Twitter, Facebook, LinkedIn and more.
Note |
Parent
This Directory is contained within a Platform.
Objects
This Directory contains the following objects:
Properties
The following properties are available:
Property | Type | Default | Read-Only | Description |
---|---|---|---|---|
_doc | string | No | The primary ID | |
_system | object | No | Metadata maintained by the system | |
binaryStorageProviderType | string | No | The type identifier for the binary storage provider that backs this data store | |
datastoreId | string | Yes | The ID of the data store | |
datastoreTypeId | string | Yes | The data store type identifier | |
description | string | No | A description of the data store | |
enableAuthorities | boolean | true | No | Whether to check access control rights for principals against this data store |
locked | boolean | Yes | Whether the data store is presently locked. If the data store is locked, then write operations against it will block. | |
lockedBy | string | No | The principal that holds the lock (if the data store is locked) | |
maxsize | number | No | The maximum allowed allocation size (on disk) of the data store in bytes. If this size of the data store exceeds this value, write operations will fail. A value of -1 indicates that there is no upper limit. | |
objectcount | number | No | The number of objects stored within the data store. This includes system-maintained objects. This value is updated periodically and may not be precise at the moment it is read. | |
size | number | Yes | The last-recorded allocation size (on disk) of the data store in bytes. This value is updated periodically and may not be precise at the moment it is read. | |
statisticsDate | object | No | Records the time when statistics were last run against the data store. Statistics are run periodically to calculate the data store size and object allocations. | |
statisticsDirty | boolean | Yes | Whether writes have occurred against this data store since the last time statistics were run. This signals to the system that statistics need to be collected at the next available opportunity. | |
title | string | No | The title of the data store |
Methods
The following methods are available:
- Add Team Member
- Check Membership
- Check Permission
- Check Single Authority
- Check multiple Authorities
- Check multiple Permissions
- Create Directory
- Create Directory
- Create a Team
- Creates a role for a directory
- Delete Directory
- Delete Directory
- Deletes a Team
- Deletes a role for a directory
- Deletes a role for a directory
- Get Team
- Grant Authority
- Grant Authority to Team
- List Team Authorities
- List Teams
- Lists Directory
- Lists Directory
- Lists Team Members
- Lists the roles for a directory
- Lock
- Queries for Directory
- Read ACL
- Read ACL for Principal
- Read Authorities Report
- Read Directory
- Reads a role for a directory
- Remove Team Member
- Revoke Authority
- Revoke Authority from Team
- Starts an export job for this resource
- Starts an import job for this resource
- Stats
- Unlock
- Update Directory
- Update Directory
- Update a Team
- Updates a role for a directory
- Updates a role for a directory
Add Team Member
Adds a principal as a member of a Team against the given directory
POST /directories/{directoryId}/teams/{teamKey}/members/add
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
Check Membership
Checks whether a principal belongs to a Team for the given directory
POST /directories/{directoryId}/teams/{teamKey}/members/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Check",
"extends": "status",
"properties": {
"belongs": {
"type": "boolean"
},
"ok": null
}
}
Check Permission
Checks whether one or more authorities against the specified directory are granted for a given set of users
POST /directories/{directoryId}/permissions/{permissionId}/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
permissionId | true | string | |
id | true | string |
Response
{
"$ref": "#/components/schemas/checkPermission"
}
Check Single Authority
Checks whether a single authority is granted against the specified directory for the given user
POST /directories/{directoryId}/authorities/{authorityId}/check
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Check",
"extends": "status",
"properties": {
"check": {
"type": "boolean"
},
"ok": null
}
}
Check multiple Authorities
Checks whether one or more authorities against the specified directory are granted for a given set of users
POST /directories/authorities/check
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Check Multiple Authorities Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"authorityId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Check multiple Permissions
Checks whether one or more permissions against the specified directory are granted for a given set of users
POST /directories/permissions/check
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Check Multiple Permissions Out",
"properties": {
"checks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"permissionedId": {
"type": "string"
},
"principalId": {
"type": "string"
},
"permissionId": {
"type": "string"
},
"result": {
"type": "boolean"
}
}
}
}
}
}
Create Directory
Creates a new Directory
POST /directories
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Create Directory
Creates a new Directory
POST /directories/
Parameters
This function has no parameters.
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Create a Team
Creates a Team against the given directory
POST /directories/{directoryId}/teams
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"extends": "document",
"description": "Team",
"properties": {
"teamableObjectTypeId": {
"type": "string",
"readonly": true
},
"teamableObjectId": {
"type": "string",
"readonly": true
},
"key": {
"type": "string"
},
"groupId": {
"type": "string"
},
"groupDomainId": {
"type": "string"
},
"roleKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"_doc": null,
"_system": null
}
}
Creates a role for a directory
Creates a role for a directory
POST /directories/{directoryId}/roles
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
HTTP Payload | true | string | HTTP Payload |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete Directory
Deletes an existing Directory
DELETE /directories/{directoryId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Delete Directory
Deletes an existing Directory
POST /directories/{directoryId}/delete
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Deletes a Team
Deletes a Team against the given directory
DELETE /directories/{directoryId}/teams/{teamKey}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Deletes a role for a directory
Deletes a role for a directory
DELETE /directories/{directoryId}/roles/{roleKeyOrId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
roleKeyOrId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Deletes a role for a directory
Deletes a role for a directory
POST /directories/{directoryId}/roles/{roleKeyOrId}/delete
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
roleKeyOrId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Get Team
Retrieves a Team against the given directory
GET /directories/{directoryId}/teams/{teamKey}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string |
Response
{
"type": "object",
"extends": "document",
"description": "Team",
"properties": {
"teamableObjectTypeId": {
"type": "string",
"readonly": true
},
"teamableObjectId": {
"type": "string",
"readonly": true
},
"key": {
"type": "string"
},
"groupId": {
"type": "string"
},
"groupDomainId": {
"type": "string"
},
"roleKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"_doc": null,
"_system": null
}
}
Grant Authority
Grants an authority against the specified directory to a given user
POST /directories/{directoryId}/authorities/{authorityId}/grant
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Grant Authority to Team
Assigns an Authority to a Team for the given directory
POST /directories/{directoryId}/teams/{teamKey}/authorities/{authorityId}/grant
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string | |
authorityId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
List Team Authorities
Retrieves a list of the authorities defined to be granted by a Team
GET /directories/{directoryId}/teams/{teamKey}/authorities
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string |
Response
{
"type": "object",
"description": "List of Authorities",
"properties": {
"authorities": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
List Teams
Lists the Teams against the given directory
GET /directories/{directoryId}/teams
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
Lists Directory
Retrieves a list of Directory instances
GET /directories
Parameters
Name | Required | Type | Description |
---|---|---|---|
sort | false | object | Defines how to sort fields in the result set |
skip | false | number | Skips the result set cursor ahead the specified number of records |
limit | false | number | Specifies the number of records to be handed back in the result set |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_directory"
}
}
}
}
Lists Directory
Retrieves a list of Directory instances
GET /directories/
Parameters
Name | Required | Type | Description |
---|---|---|---|
sort | false | object | Defines how to sort fields in the result set |
skip | false | number | Skips the result set cursor ahead the specified number of records |
limit | false | number | Specifies the number of records to be handed back in the result set |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_directory"
}
}
}
}
Lists Team Members
Lists the members of a Team against the given directory
GET /directories/{directoryId}/teams/{teamKey}/members
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object"
}
}
}
}
Lists the roles for a directory
Lists the roles for a directory
GET /directories/{directoryId}/roles
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
inherited | false | string |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap"
}
}
}
}
Lock
POST /directories/{directoryId}/lock
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{}
Queries for Directory
Queries for instances of type Directory
POST /directories/query
Parameters
Name | Required | Type | Description |
---|---|---|---|
sort | false | object | Defines how to sort fields in the result set |
skip | false | number | Skips the result set cursor ahead the specified number of records |
limit | false | number | Specifies the number of records to be handed back in the result set |
Response
{
"type": "object",
"description": "Result Map",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/resultmap_directory"
}
}
}
}
Read ACL
Read the Access Control List for the specified directory
GET /directories/{directoryId}/acl/list
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Result Map of ACL entries",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_doc": {
"type": "string",
"title": "Principal ID"
},
"name": {
"type": "string",
"title": "Principal Name"
},
"type": {
"type": "string",
"title": "Principal Type"
},
"domainId": {
"type": "string"
},
"domainQualifiedId": {
"type": "string"
},
"domainQualifiedName": {
"type": "string"
},
"principalId": {
"type": "string",
"title": "Principal ID"
},
"userEmail": {
"type": "string"
},
"userFirstName": {
"type": "string"
},
"userLastName": {
"type": "string"
},
"authorities": {
"type": "array",
"title": "Authorities",
"items": {
"type": "string",
"title": "Authority Key"
}
}
}
}
}
}
}
Read ACL for Principal
Reads the ACL for a directory and specific actor
GET /directories/{directoryId}/acl
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Result Map of Authority Keys",
"properties": {
"total_rows": {
"type": "number"
},
"offset": {
"type": "number"
},
"size": {
"type": "number"
},
"rows": {
"type": "array",
"items": {
"type": "string",
"description": "Authority Key"
}
}
}
}
Read Authorities Report
Read the Authorities Report for the specified directory
POST /directories/{directoryId}/authorities
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Authority Report",
"properties": {
"principalId": {
"type": "object",
"properties": {
"id": {
"type": "object",
"properties": {
"role-key": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
},
"inheritsFrom": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"principal": {
"type": "string"
},
"permissioned": {
"type": "string"
}
}
}
}
}
}
}
}
}
Read Directory
Reads an instance of a Directory
GET /directories/{directoryId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"extends": "datastore",
"container": "platform",
"description": "Directory",
"properties": {
"title": null,
"description": null,
"datastoreId": null,
"datastoreTypeId": null,
"enableAuthorities": null,
"size": null,
"maxsize": null,
"objectcount": null,
"locked": null,
"lockedBy": null,
"statisticsDate": null,
"statisticsDirty": null,
"binaryStorageProviderType": null,
"_doc": null,
"_system": null
}
}
Reads a role for a directory
Reads a role for a directory
GET /directories/{directoryId}/roles/{roleKeyOrId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
roleKeyOrId | true | string | |
inherited | false | string |
Response
{
"$ref": "#/components/schemas/"
}
Remove Team Member
Remove a principal from a team's membership list
POST /directories/{directoryId}/teams/{teamKey}/members/remove
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Revoke Authority
Revokes an authority against the specified directory from a given user
POST /directories/{directoryId}/authorities/{authorityId}/revoke
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
authorityId | true | string | |
id | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Revoke Authority from Team
Revokes an Authority from a Team for the given directory
POST /directories/{directoryId}/teams/{teamKey}/authorities/{authorityId}/revoke
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string | |
authorityId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Starts an export job for this resource
Starts an export job for this resource
POST /directories/{directoryId}/export
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
groupId | false | string | The Group ID to be assigned to the exported archive |
artifactId | false | string | The Artifact ID to be assigned to the exported archive |
versionId | false | string | The Version ID to be assigned to the exported archive |
vaultId | false | string | The ID of the vault where the exported archive should be saved |
schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Export Configuration",
"properties": {
"startDate": {
"type": "object"
},
"endDate": {
"type": "object"
},
"startChangeset": {
"type": "string"
},
"endChangeset": {
"type": "string"
},
"includeACLs": {
"type": "boolean"
},
"includeTeams": {
"type": "boolean"
},
"includeActivities": {
"type": "boolean"
},
"includeBinaries": {
"type": "boolean"
},
"includeAttachments": {
"type": "boolean"
},
"artifactDependencies": {
"type": "array",
"items": {
"type": "object"
}
},
"artifactIncludes": {
"type": "array",
"items": {
"type": "object"
}
},
"forceIncludes": {
"type": "boolean"
}
}
}
Starts an import job for this resource
Starts an import job for this resource
POST /directories/{directoryId}/import
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
groupId | false | string | The Group ID to be assigned to the exported archive |
artifactId | false | string | The Artifact ID to be assigned to the exported archive |
versionId | false | string | The Version ID to be assigned to the exported archive |
vaultId | false | string | The ID of the vault where the exported archive should be saved |
schedule | false | string | Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous') |
Response
{
"type": "object",
"description": "Import Configuration",
"properties": {
"includeACLs": {
"type": "boolean"
},
"includeTeams": {
"type": "boolean"
},
"includeActivities": {
"type": "boolean"
},
"includeBinaries": {
"type": "boolean"
},
"includeAttachments": {
"type": "boolean"
},
"strategy": {
"type": "array",
"items": {
"type": "string"
}
},
"substitutions": {
"type": "string"
}
}
}
Stats
POST /directories/{directoryId}/stats
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{}
Unlock
POST /directories/{directoryId}/unlock
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{}
Update Directory
Updates an existing Directory
PUT /directories/{directoryId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Update Directory
Updates an existing Directory
POST /directories/{directoryId}/update
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Update a Team
Updates a Team against the given directory
PUT /directories/{directoryId}/teams/{teamKey}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
teamKey | true | string |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Updates a role for a directory
Updates a role for a directory
POST /directories/{directoryId}/roles/{roleKeyOrId}/update
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
roleKeyOrId | true | string | |
HTTP Payload | true | string | HTTP Payload |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Updates a role for a directory
Updates a role for a directory
PUT /directories/{directoryId}/roles/{roleKeyOrId}
Parameters
Name | Required | Type | Description |
---|---|---|---|
directoryId | true | string | |
roleKeyOrId | true | string | |
HTTP Payload | true | string | HTTP Payload |
Response
{
"type": "object",
"description": "Status of Operation",
"properties": {
"ok": {
"type": "boolean",
"description": "Indicates whether the operation succeeded or not"
}
}
}
Schema
{
"type": "object",
"extends": "datastore",
"container": "platform",
"description": "Directory",
"properties": {
"title": null,
"description": null,
"datastoreId": null,
"datastoreTypeId": null,
"enableAuthorities": null,
"size": null,
"maxsize": null,
"objectcount": null,
"locked": null,
"lockedBy": null,
"statisticsDate": null,
"statisticsDirty": null,
"binaryStorageProviderType": null,
"_doc": null,
"_system": null
},
"id": "directory"
}