3
0
corteza/api/system/spec/role.json

239 lines
5.1 KiB
JSON

{
"Title": "Roles",
"Description": "An organisation may have many roles. Roles may have many channels available. Access to channels may be shared between roles.",
"Interface": "Role",
"Struct": null,
"Parameters": null,
"Protocol": "",
"Authentication": [
"Client ID",
"Session ID"
],
"Path": "/roles",
"APIs": [
{
"Name": "list",
"Method": "GET",
"Title": "List roles",
"Path": "/",
"Parameters": {
"get": [
{
"name": "query",
"required": false,
"title": "Search query",
"type": "string"
}
]
}
},
{
"Name": "create",
"Method": "POST",
"Title": "Update role details",
"Path": "/",
"Parameters": {
"post": [
{
"name": "name",
"required": true,
"title": "Name of Role",
"type": "string"
},
{
"name": "members",
"required": false,
"title": "Role member IDs",
"type": "[]string"
}
]
}
},
{
"Name": "update",
"Method": "PUT",
"Title": "Update role details",
"Path": "/{roleID}",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
],
"post": [
{
"name": "name",
"required": false,
"title": "Name of Role",
"type": "string"
},
{
"name": "members",
"required": false,
"title": "Role member IDs",
"type": "[]string"
}
]
}
},
{
"Name": "read",
"Method": "GET",
"Title": "Read role details and memberships",
"Path": "/{roleID}",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "delete",
"Method": "DELETE",
"Title": "Remove role",
"Path": "/{roleID}",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "archive",
"Method": "POST",
"Title": "Archive role",
"Path": "/{roleID}/archive",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "move",
"Method": "POST",
"Title": "Move role to different organisation",
"Path": "/{roleID}/move",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
],
"post": [
{
"name": "organisationID",
"required": true,
"title": "Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "merge",
"Method": "POST",
"Title": "Merge one role into another",
"Path": "/{roleID}/merge",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Source Role ID",
"type": "uint64"
}
],
"post": [
{
"name": "destination",
"required": true,
"title": "Destination Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "memberList",
"Method": "GET",
"Title": "Returns all role members",
"Path": "/{roleID}/members",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Source Role ID",
"type": "uint64"
}
]
}
},
{
"Name": "memberAdd",
"Method": "POST",
"Title": "Add member to a role",
"Path": "/{roleID}/member/{userID}",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Source Role ID",
"type": "uint64"
},
{
"name": "userID",
"required": true,
"title": "User ID",
"type": "uint64"
}
]
}
},
{
"Name": "memberRemove",
"Method": "DELETE",
"Title": "Remove member from a role",
"Path": "/{roleID}/member/{userID}",
"Parameters": {
"path": [
{
"name": "roleID",
"required": true,
"title": "Source Role ID",
"type": "uint64"
},
{
"name": "userID",
"required": true,
"title": "User ID",
"type": "uint64"
}
]
}
}
]
}