Skip to content

A user is a human or technical consumer of the Harmonize service.

A user is associated with a public key, which is registered into the system alongside a set of roles. The roles relate to the permissions a user has to access the various entities within the system (as defined within a particular domain) as well as to propose, approve and reject the execution of intents (as defined by the approval workflow of a policy).

Users have, in particular, the following properties:

  • publicKey: the public key used to authenticate any user request
  • roles: a collection of human-readable strings defining the roles of a user

The private key corresponding to publicKey is generated on the user-side, either within the mobile approval terminal or programmatically, and is never communicated to the system. We emphasize here that a user key pair is merely used to authenticate the user and approve the execution of intents; it is unrelated to the account keys securing the accounts on the ledger. The loss of a user key is dealt with by locking the user and creating a new user with a rotated key.

The locking of a user prevents its access to the platform entirely.

Request

Security
httpAuth
Path
domainIdstring, (uuid)required

Unique identifier for the domain.

Query
limitinteger, (int32), [ 1 .. 100 ]

The number of entities to return.

startingAfterstring, (uuid)

Entity id used to the determine beginning of query results.

sortBystring

Property name used to sort the query results.

Enum:"id""alias""lock""metadata.createdAt""metadata.lastModifiedAt"
sortOrderstring

Sort order applied to the query results.

Enum:"ASC""DESC"
aliasstring, non-empty

Return entities matching given alias.

Example:alias=alias1
publicKeystring, non-empty

Return entities matching given public key. It should be provided in Base64 format.

Example:publicKey=MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENYOHIq0Pgg5ERTQOahVK3I45+efvsRvw1rcyk+oqpnj7qkXSEis3BbgnwBY42uolGg7lPbusmAMWVDYRqKMApQ==
rolesArray of stringsdeprecated

Return entities that are assigned to roles.

Example:roles=admin&roles=testUser
roles[]Array of strings

Return entities that are assigned to at least all the roles provided in the array.

Example:roles[]=admin,testUser&roles[]=editor
lockArray of strings

Return entities matching given lock status.

Items Enum:"Unlocked""Locked""Archived"
Example:lock=Locked&lock=Unlocked
metadata.createdBystring, (uuid)

Return entities that were created by matching user.

Example:metadata.createdBy=fdeeeb4b-f987-4ec4-9880-1eb280581d49
metadata.lastModifiedBystring, (uuid)

Return entities that were last modified by matching user.

Example:metadata.lastModifiedBy=90c4cf2f-ebe0-4bf7-91cd-4c45cd02277b
metadata.descriptionstring, >= 0 characters

Return entities with descriptions that contains or equals to provided description.

Example:metadata.description=description1
metadata.customPropertiesArray of strings

Return entities that contains provided custom properties.

Example:metadata.customProperties=key1:value1&metadata.customProperties=key2:value2
curl -i -X GET \
  'https://docs.ripple.com/_mock/products/custody/devbox/v1/domains/{domainId}/users?limit=1&startingAfter=497f6eca-6276-4993-bfeb-53cbbbba6f08&sortBy=id&sortOrder=ASC&alias=alias1&publicKey=MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENYOHIq0Pgg5ERTQOahVK3I45%2BefvsRvw1rcyk%2Boqpnj7qkXSEis3BbgnwBY42uolGg7lPbusmAMWVDYRqKMApQ%3D%3D&roles=admin%2CtestUser&roles%5B%5D=admin%2CtestUser%2Ceditor&lock=Locked%2CUnlocked&metadata.createdBy=fdeeeb4b-f987-4ec4-9880-1eb280581d49&metadata.lastModifiedBy=90c4cf2f-ebe0-4bf7-91cd-4c45cd02277b&metadata.description=description1&metadata.customProperties=key1%3Avalue1%2Ckey2%3Avalue2' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
itemsArray of objectsrequired
countinteger, (int32)required
currentStartingAfterstring
nextStartingAfterstring
Response
{ "items": [ { … } ], "count": 0, "currentStartingAfter": "string", "nextStartingAfter": "string" }