description: "List of project IDs. If provided, return only users that were active in these projects. If empty list is provided, return users that were active in all projects"
description: "Get only users whose name matches this pattern (python regular expression syntax)"
type: string
}
id {
description: "List of user IDs used to filter results"
type: array
items { type: string }
}
only_fields {
description: "List of user field names (if applicable, nesting is supported using '.'). If provided, this list defines the query's projection (only these fields will be returned for each result entry)"
type: array
items { type: string }
}
page {
description: "Page number, returns a specific page out of the resulting list of users"
type: integer
minimum: 0
}
page_size {
description: "Page size, specifies the number of results returned in each page (last page may contain fewer results)"
type: integer
minimum: 1
}
order_by {
description: "List of field names to order by. Use '-' prefix to specify descending order. Optional, recommended when using page"
type: array
items { type: string }
}
}
}
response {
type: object
properties {
users {
description: User list
type: array
items { "$ref": "#/definitions/user" }
}
}
}
}
}
delete {
internal: true
allow_roles: [ "system", "root" ]
"2.1" {
description: Delete user
description: Delete a user
request {
type: object
required: [ user ]
properties {
user {
description: ID of user to delete
type: string
}
}
}
response {
type: object
additionalProperties: false
}
}
}
create {
allow_roles: [ "system", "root" ]
"2.1" {
description: Create a new user object. Reserved for internal use.
request {
type: object
required: [
company
id
name
]
properties {
id {
description: User ID
type: string
}
company {
description: Company ID
type: string
}
name {
description: Full name
type: string
}
given_name {
description: Given name
type: string
}
family_name {
description: Family name
type: string
}
avatar {
description: Avatar URL
type: string
}
}
}
response {
type: object
properties {}
additionalProperties: false
}
}
}
update {
internal: false
"2.1" {
description: Update a user object
request {
type: object
required: [ user ]
properties {
user {
description: User ID
type: string
}
name {
description: Full name
type: string
}
given_name {
description: Given name
type: string
}
family_name {
description: Family name
type: string
}
avatar {
description: Avatar URL
type: string
}
}
}
response {
type: object
properties {
updated {
description: Number of updated user objects (0 or 1)
type: integer
}
fields {
description: Updated fields names and values
type: object
additionalProperties: true
}
}
}
}
}
get_preferences {
internal: false
"2.1" {
description: Get user preferences
request {
type: object
properties {}
}
response {
type: object
properties {
preferences {
type: object
additionalProperties: true
}
}
}
}
}
set_preferences {
internal: false
"2.1" {
description: Set user preferences
request {
type: object
required: [ preferences ]
properties {
preferences {
description: """Updates to user preferences. A mapping from keys in dot notation to values.
For example, `{"a.b": 0}` will set the key "b" in object "a" to 0."""
type: object
additionalProperties: true
}
}
}
response {
type: object
properties {
updated {
description: Number of updated user objects (0 or 1)