6.8 KiB
name | permalink |
---|---|
Endpoints | /api/endpoints |
Endpoints
The base URL for the PluralKit API is https://api.pluralkit.me/v2
. Endpoint URLs should be added to the base URL to get a full URL to query.
Systems
systemRef
can be a system's short (5-character) ID, a system's UUID, the ID of a Discord account linked to the system, or the string @me
to refer to the currently authenticated system.
Get System
GET /systems/{systemRef}
Returns a system object.
Update System
PATCH /systems/{systemRef}
Takes a partial system object.
Returns a system object.
Get System Guild Settings
GET /systems/@me/guilds/{guild_id}
Returns a system guild settings object.
::: tip You must already have updated per-guild settings for your system in the target guild before being able to get or update them from the API. :::
Update System Guild Settings
PATCH /systems/@me/guilds/{guild_id}
Takes a partial system guild settings object.
Returns a system guild settings object on success.
Members
memberRef
can be a member's short (5-character ID) or a member's UUID.
Get System Members
GET /systems/{systemRef}/members
Returns a list of member objects.
Create Member
POST /members
Takes a partial member object as input. Key name
is required.
Returns a member object on success.
Get Member
GET /members/{memberRef}
Returns a member object.
Update Member
PATCH /members/{memberRef}
Takes a partial member object as input.
Returns a member object on success.
Delete Member
DELETE /members/{memberRef}
Returns 204 No Content on success.
Get Member Groups
GET /members/{memberRef}/groups
Add Member To Groups
POST /members/{memberRef}/groups/add
Takes a list of group references as input. Returns 204 No Content on success.
Remove Member From Groups
POST /members/{memberRef}/groups/remove
::: tip If you want to remove all groups from a member, consider using the Overwrite Member Groups endpoint instead. :::
Takes a list of group references as input. Returns 204 No Content on success.
Overwrite Member Groups
POST /members/{memberRef}/groups/overwrite
Takes a list of group references as input. (An empty list is accepted.) Returns 204 No Content on success.
Get Member Guild Settings
GET /members/{memberRef}/guilds/{guild_id}
Returns a member guild settings object.
::: tip You must already have updated per-guild settings for the target member in the target guild before being able to get or update them from the API. :::
Update Member Guild Settings
PATCH /members/{memberRef}/guilds/{guild_id}
Takes a partial member guild settings object.
Returns a member guild settings object on success.
Groups
groupRef
can be a group's short (5-character ID) or a group's UUID.
Get System Groups
GET /systems/{systemRef}/groups
Query String Parameters
name | type | description |
---|---|---|
with_members | boolean | includes members key with array of member UUIDs in each group object |
Returns a list of group objects.
Create Group
POST /groups
Takes a partial group object as input. Key name
is required.
Returns a group object on success, or an error object on failure.
Get Group
GET /groups/{groupRef}
Returns a group object.
Update Group
PATCH /groups/{groupRef}
Takes a partial group object as input.
Returns a group object on success, or an error object on failure.
Delete Group
DELETE /groups/{groupRef}
Returns 204 No Content on success.
Get Group Members
GET /groups/{groupRef}/members
Returns an array of member objects.
Add Members To Group
POST /groups/{groupRef}/members/add
Takes an array of member references as input. Returns 204 No Content on success.
Remove Member From Group
POST /groups/{groupRef}/members/remove
::: tip If you want to remove all members from a group, consider using the Overwrite Group Members endpoint instead. :::
Takes an array of member references as input. Returns 204 No Content on success.
Overwrite Group Members
POST /groups/{groupRef}/members/overwrite
Takes an array of member references as input. (An empty list is accepted.) Returns 204 No Content on success.
Switches
switchRef
must be a switch's UUID. On POST/PATCH/DELETE endpoints, systemRef
must be @me
.
Get System Switches
GET /systems/{systemRef}/switches
Query String Parameters
key | type | description |
---|---|---|
before | timestamp | date to get latest switch from (inclusive) |
limit | int | number of switches to get |
Returns a switch object containing a list of IDs.
Get Current System Fronters
GET /systems/{systemRef}/fronters
Returns a switch object containing a list of member objects.
Create Switch
POST /systems/{systemRef}/switches
JSON Body Parameters
key | type | description |
---|---|---|
?timestamp | datetime* | when the switch started |
members | list of strings** | members present in the switch (or empty list for switch-out) |
- Defaults to "now" when missing.
** Can be short IDs or UUIDs.
Get Switch
GET /systems/{systemRef}/switches/{switchRef}
Returns a switch object containing a list of member objects.
Update Switch
PATCH /systems/{systemRef}/switches/{switchRef}
JSON Body Parameters
key | type | description |
---|---|---|
timestamp | datetime | when the switch started |
Returns a switch object containing a list of member objects on success.
Update Switch Members
PATCH /systems/{systemRef}/switches/{switchRef}/members
Takes a list of member short IDs or UUIDs as input.
Returns a switch object containing a list of member objects on success.
Delete Switch
DELETE /systems/{systemRef}/switches/{switchRef}
Returns 204 No Content on success.
Misc
Get Proxied Message Information
GET /messages/{message}
Message can be the ID of a proxied message, or the ID of the message that sent the proxy.
Returns a message object.