A question mark (?) next to the key name means the key is optional - it may be omitted in API responses. A question mark next to the key type means the key is nullable - API responses may return null for that key, instead of the specified type.
In PATCH endpoints, all keys are optional. However, you must provide at least one valid key to update; please use a GET request if you want to query the existing information.
Sending a PATCH request with an empty JSON object, or with a JSON object that contains no valid keys for the target entity, will result in a 400 bad request error.
Privacy objects (privacy key in models) contain values "private" or "public". Patching a privacy value to null will set to public. If you do not have access to view the privacy object of the member, the value of the privacy key will be null, rather than the values of individual privacy keys.
Notes on IDs
Every PluralKit entity has two IDs: a short (5-character) ID and a longer UUID. The short ID is unique across the resource (a member can have the same short ID as a system, for example), while the UUID is consistent for the lifetime of the entity and globally unique across the bot.
System model
key
type
notes
id
string
uuid
string
name
string
100-character limit
description
?string
1000-character limit
tag
string
pronouns
?string
100-character limit
avatar_url
?string
256-character limit, must be a publicly-accessible URL
banner
?string
256-character limit, must be a publicly-accessible URL
color
string
6-character hex code, no # at the beginning
created
datetime
privacy
?system privacy object
System privacy keys: description_privacy, pronoun_privacy, member_list_privacy, group_list_privacy, front_privacy, front_history_privacy
Member model
key
type
notes
id
string
uuid
string
name
string
100-character limit
display_name
?string
100-character limit
color
string
6-character hex code, no # at the beginning
birthday
?string
YYYY-MM-DD format, 0004 hides the year
pronouns
?string
100-character-limit
avatar_url
?string
256-character limit, must be a publicly-accessible URL
banner
?string
256-character limit, must be a publicly-accessible URL