Registrar

A Data Store

A registrar is a data store where you store tenants and plans.

Note

Drop in one of our language drivers to accelerate your development.
Here are links to some of our popular Cookbooks to help you get started!

Parent

This Registrar is contained within a Platform.

Objects

This Registrar 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

Adds a principal as a member of a Team against the given registrar
POST /registrars/{registrarId}/teams/{teamKey}/members/add

Parameters

Name Required Type Description
registrarId 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 registrar
POST /registrars/{registrarId}/teams/{teamKey}/members/check

Parameters

Name Required Type Description
registrarId 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 registrar are granted for a given set of users
POST /registrars/{registrarId}/permissions/{permissionId}/check

Parameters

Name Required Type Description
registrarId 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 registrar for the given user
POST /registrars/{registrarId}/authorities/{authorityId}/check

Parameters

Name Required Type Description
registrarId 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 registrar are granted for a given set of users
POST /registrars/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 registrar are granted for a given set of users
POST /registrars/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 Registrar

Creates a new Registrar
POST /registrars

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 Registrar

Creates a new Registrar
POST /registrars/

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 registrar
POST /registrars/{registrarId}/teams

Parameters

Name Required Type Description
registrarId 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 registrar

Creates a role for a registrar
POST /registrars/{registrarId}/roles

Parameters

Name Required Type Description
registrarId 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 Registrar

Deletes an existing Registrar
DELETE /registrars/{registrarId}

Parameters

Name Required Type Description
registrarId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Registrar

Deletes an existing Registrar
POST /registrars/{registrarId}/delete

Parameters

Name Required Type Description
registrarId 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 registrar
DELETE /registrars/{registrarId}/teams/{teamKey}

Parameters

Name Required Type Description
registrarId 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 registrar

Deletes a role for a registrar
DELETE /registrars/{registrarId}/roles/{roleKeyOrId}

Parameters

Name Required Type Description
registrarId 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 registrar

Deletes a role for a registrar
POST /registrars/{registrarId}/roles/{roleKeyOrId}/delete

Parameters

Name Required Type Description
registrarId 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 registrar
GET /registrars/{registrarId}/teams/{teamKey}

Parameters

Name Required Type Description
registrarId 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 registrar to a given user
POST /registrars/{registrarId}/authorities/{authorityId}/grant

Parameters

Name Required Type Description
registrarId 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 registrar
POST /registrars/{registrarId}/teams/{teamKey}/authorities/{authorityId}/grant

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/teams/{teamKey}/authorities

Parameters

Name Required Type Description
registrarId 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 registrar
GET /registrars/{registrarId}/teams

Parameters

Name Required Type Description
registrarId 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 Registrar

Retrieves a list of Registrar instances
GET /registrars

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_registrar"
      }
    }
  }
}

Lists Registrar

Retrieves a list of Registrar instances
GET /registrars/

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_registrar"
      }
    }
  }
}

Lists Team Members

Lists the members of a Team against the given registrar
GET /registrars/{registrarId}/teams/{teamKey}/members

Parameters

Name Required Type Description
registrarId 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 registrar

Lists the roles for a registrar
GET /registrars/{registrarId}/roles

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/lock

Parameters

Name Required Type Description
registrarId true string

Response

{}

Queries for Registrar

Queries for instances of type Registrar
POST /registrars/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_registrar"
      }
    }
  }
}

Read ACL

Read the Access Control List for the specified registrar
GET /registrars/{registrarId}/acl/list

Parameters

Name Required Type Description
registrarId 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 registrar and specific actor
GET /registrars/{registrarId}/acl

Parameters

Name Required Type Description
registrarId 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 registrar
POST /registrars/{registrarId}/authorities

Parameters

Name Required Type Description
registrarId 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 Registrar

Reads an instance of a Registrar
GET /registrars/{registrarId}

Parameters

Name Required Type Description
registrarId true string

Response

{
  "type": "object",
  "extends": "datastore",
  "container": "platform",
  "description": "Registrar",
  "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 registrar

Reads a role for a registrar
GET /registrars/{registrarId}/roles/{roleKeyOrId}

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/teams/{teamKey}/members/remove

Parameters

Name Required Type Description
registrarId 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 registrar from a given user
POST /registrars/{registrarId}/authorities/{authorityId}/revoke

Parameters

Name Required Type Description
registrarId 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 registrar
POST /registrars/{registrarId}/teams/{teamKey}/authorities/{authorityId}/revoke

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/export

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/import

Parameters

Name Required Type Description
registrarId 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 /registrars/{registrarId}/stats

Parameters

Name Required Type Description
registrarId true string

Response

{}

Unlock

POST /registrars/{registrarId}/unlock

Parameters

Name Required Type Description
registrarId true string

Response

{}

Update Registrar

Updates an existing Registrar
PUT /registrars/{registrarId}

Parameters

Name Required Type Description
registrarId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Update Registrar

Updates an existing Registrar
POST /registrars/{registrarId}/update

Parameters

Name Required Type Description
registrarId 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 registrar
PUT /registrars/{registrarId}/teams/{teamKey}

Parameters

Name Required Type Description
registrarId 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 registrar

Updates a role for a registrar
PUT /registrars/{registrarId}/roles/{roleKeyOrId}

Parameters

Name Required Type Description
registrarId 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 registrar

Updates a role for a registrar
POST /registrars/{registrarId}/roles/{roleKeyOrId}/update

Parameters

Name Required Type Description
registrarId 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": "Registrar",
  "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": "registrar"
}