41 KiB
41 KiB
Applications
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/application/ |
List applications |
POST |
/application/ |
Create application |
PUT |
/application/{applicationID} |
Update user details |
GET |
/application/{applicationID} |
Read application details |
DELETE |
/application/{applicationID} |
Remove application |
List applications
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/application/ |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Create application
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/application/ |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| name | string | POST | Application name | N/A | YES |
| enabled | bool | POST | Enabled | N/A | NO |
| unify | sqlxTypes.JSONText | POST | Unify properties | N/A | NO |
| config | sqlxTypes.JSONText | POST | Arbitrary JSON holding application configuration | N/A | NO |
Update user details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/application/{applicationID} |
HTTP/S | PUT |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| applicationID | uint64 | PATH | Application ID | N/A | YES |
| name | string | POST | N/A | YES | |
| enabled | bool | POST | Enabled | N/A | NO |
| unify | sqlxTypes.JSONText | POST | Unify properties | N/A | NO |
| config | sqlxTypes.JSONText | POST | Arbitrary JSON holding application configuration | N/A | NO |
Read application details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/application/{applicationID} |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| applicationID | uint64 | PATH | Application ID | N/A | YES |
Remove application
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/application/{applicationID} |
HTTP/S | DELETE |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| applicationID | uint64 | PATH | Application ID | N/A | YES |
Authentication
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/auth/ |
Returns auth settings |
GET |
/auth/check |
Check JWT token |
POST |
/auth/exchange |
Exchange auth token for JWT |
GET |
/auth/logout |
Logout |
Returns auth settings
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/ |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Check JWT token
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/check |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Exchange auth token for JWT
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/exchange |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| token | string | POST | Token to be exchanged for JWT | N/A | YES |
Logout
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/logout |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Internal authentication
| Method | Endpoint | Purpose |
|---|---|---|
POST |
/auth/internal/login |
Login user |
POST |
/auth/internal/signup |
User signup/registration |
POST |
/auth/internal/request-password-reset |
Request password reset token (via email) |
POST |
/auth/internal/exchange-password-reset-token |
Exchange password reset token for new token and user info |
POST |
/auth/internal/reset-password |
Reset password with exchanged password reset token |
POST |
/auth/internal/confirm-email |
Confirm email with token |
POST |
/auth/internal/change-password |
Changes password for current user, requires current password |
Login user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/login |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| string | POST | N/A | YES | ||
| password | string | POST | Password | N/A | YES |
User signup/registration
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/signup |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| string | POST | N/A | YES | ||
| username | string | POST | Username | N/A | NO |
| password | string | POST | Password | N/A | YES |
| handle | string | POST | User handle | N/A | NO |
| name | string | POST | Display name | N/A | NO |
Request password reset token (via email)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/request-password-reset |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| string | POST | N/A | YES |
Exchange password reset token for new token and user info
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/exchange-password-reset-token |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| token | string | POST | Token | N/A | YES |
Reset password with exchanged password reset token
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/reset-password |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| token | string | POST | Token | N/A | YES |
| password | string | POST | Password | N/A | YES |
Confirm email with token
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/confirm-email |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| token | string | POST | Token | N/A | YES |
Changes password for current user, requires current password
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/auth/internal/change-password |
HTTP/S | POST |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| oldPassword | string | POST | Old password | N/A | YES |
| newPassword | string | POST | New password | N/A | YES |
Automation scripts
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/automation/script/ |
List/read automation script |
POST |
/automation/script/ |
Add new automation script |
GET |
/automation/script/{scriptID} |
Read automation script by ID |
POST |
/automation/script/{scriptID} |
Update automation script |
DELETE |
/automation/script/{scriptID} |
Delete script |
POST |
/automation/script/test |
Run source code in corredor. Used for testing |
List/read automation script
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query to match against automation script | N/A | NO |
| resource | string | GET | Limit by resource (via trigger) | N/A | NO |
| incDeleted | bool | GET | Include deleted scripts | N/A | NO |
| page | uint | GET | Page number (0 based) | N/A | NO |
| perPage | uint | GET | Returned items per page (default 50) | N/A | NO |
Add new automation script
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| name | string | POST | automation name | N/A | NO |
| sourceRef | string | POST | Source URL | N/A | NO |
| source | string | POST | Source code | N/A | NO |
| runAs | uint64 | POST | Run as specific user | N/A | NO |
| timeout | uint | POST | Script timeout (in milliseconds) | N/A | NO |
| critical | bool | POST | Is it critical to run this script successfully | N/A | NO |
| async | bool | POST | Will this script be ran asynchronously | N/A | NO |
| enabled | bool | POST | N/A | NO | |
| triggers | automation.TriggerSet | POST | N/A | NO |
Read automation script by ID
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| scriptID | uint64 | PATH | automation script ID | N/A | YES |
Update automation script
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID} |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| scriptID | uint64 | PATH | Automation script ID | N/A | YES |
| name | string | POST | Script name | N/A | NO |
| sourceRef | string | POST | Source URL | N/A | NO |
| source | string | POST | Source code | N/A | NO |
| runAs | uint64 | POST | Run script as specific user | N/A | NO |
| timeout | uint | POST | Run script in user-agent (browser) | N/A | NO |
| critical | bool | POST | Is it critical to run this script successfully | N/A | NO |
| async | bool | POST | Will this script be ran asynchronously | N/A | NO |
| enabled | bool | POST | N/A | NO | |
| triggers | automation.TriggerSet | POST | N/A | NO |
Delete script
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| scriptID | uint64 | PATH | Script ID | N/A | YES |
Run source code in corredor. Used for testing
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/test |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| source | string | POST | Script's source code | N/A | NO |
| payload | json.RawMessage | POST | Payload to be used | N/A | NO |
Automation script triggers
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/automation/script/{scriptID}/trigger/ |
List/read automation script triggers |
POST |
/automation/script/{scriptID}/trigger/ |
Add new automation script trigger |
GET |
/automation/script/{scriptID}/trigger/{triggerID} |
Read automation script trigger by ID |
POST |
/automation/script/{scriptID}/trigger/{triggerID} |
Update automation script trigger |
DELETE |
/automation/script/{scriptID}/trigger/{triggerID} |
Delete script |
List/read automation script triggers
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID}/trigger/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| resource | string | GET | Only triggers of a specific resource | N/A | NO |
| event | string | GET | Only triggers of a specific event | N/A | NO |
| incDeleted | bool | GET | Include deleted scripts | N/A | NO |
| page | uint | GET | Page number (0 based) | N/A | NO |
| perPage | uint | GET | Returned items per page (default 50) | N/A | NO |
| scriptID | uint64 | PATH | Script ID | N/A | YES |
Add new automation script trigger
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID}/trigger/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| resource | string | POST | Resource | N/A | YES |
| event | string | POST | Event | N/A | YES |
| condition | string | POST | Event | N/A | NO |
| enabled | bool | POST | N/A | NO | |
| scriptID | uint64 | PATH | Script ID | N/A | YES |
Read automation script trigger by ID
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID}/trigger/{triggerID} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| triggerID | uint64 | PATH | Automation script trigger ID | N/A | YES |
| scriptID | uint64 | PATH | Script ID | N/A | YES |
Update automation script trigger
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID}/trigger/{triggerID} |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| triggerID | uint64 | PATH | Automation script trigger ID | N/A | YES |
| scriptID | uint64 | PATH | Script ID | N/A | YES |
| resource | string | POST | Resource | N/A | YES |
| event | string | POST | Event | N/A | YES |
| condition | string | POST | Event | N/A | NO |
| enabled | bool | POST | N/A | NO |
Delete script
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/automation/script/{scriptID}/trigger/{triggerID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| triggerID | uint64 | PATH | Automation script trigger ID | N/A | YES |
| scriptID | uint64 | PATH | Script ID | N/A | YES |
Organisations
Organisations represent a top-level grouping entity. There may be many organisations defined in a single deployment.
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/organisations/ |
List organisations |
POST |
/organisations/ |
Create organisation |
PUT |
/organisations/{id} |
Update organisation details |
DELETE |
/organisations/{id} |
Remove organisation |
GET |
/organisations/{id} |
Read organisation details |
POST |
/organisations/{id}/archive |
Archive organisation |
List organisations
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Create organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| name | string | POST | Organisation Name | N/A | YES |
Update organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/{id} |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | PATH | Organisation ID | N/A | NO |
| name | string | POST | Organisation Name | N/A | YES |
Remove organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/{id} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | PATH | Organisation ID | N/A | YES |
Read organisation details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/{id} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | GET | Organisation ID | N/A | YES |
Archive organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/organisations/{id}/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| id | uint64 | PATH | Organisation ID | N/A | YES |
Permissions
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/permissions/ |
Retrieve defined permissions |
GET |
/permissions/effective |
Effective rules for current user |
GET |
/permissions/{roleID}/rules |
Retrieve role permissions |
DELETE |
/permissions/{roleID}/rules |
Remove all defined role permissions |
PATCH |
/permissions/{roleID}/rules |
Update permission settings |
Retrieve defined permissions
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/permissions/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Effective rules for current user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/permissions/effective |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| resource | string | GET | Show only rules for a specific resource | N/A | NO |
Retrieve role permissions
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/permissions/{roleID}/rules |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
Remove all defined role permissions
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/permissions/{roleID}/rules |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
Update permission settings
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/permissions/{roleID}/rules |
HTTP/S | PATCH | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
| rules | permissions.RuleSet | POST | List of permission rules to set | N/A | YES |
Reminders
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/reminder/ |
List/read reminders |
POST |
/reminder/ |
Add new reminder |
PUT |
/reminder/{reminderID} |
Update reminder |
GET |
/reminder/{reminderID} |
Read reminder by ID |
DELETE |
/reminder/{reminderID} |
Delete reminder |
PATCH |
/reminder/{reminderID}/dismiss |
Dismiss reminder |
PATCH |
/reminder/{reminderID}/snooze |
Snooze reminder |
List/read reminders
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| resource | string | GET | Only reminders of a specific resource | N/A | NO |
| assignedTo | uint64 | GET | Only reminders for a given user | N/A | NO |
| scheduledFrom | *time.Time | GET | Only reminders from this time (included) | N/A | NO |
| scheduledUntil | *time.Time | GET | Only reminders up to this time (included) | N/A | NO |
| scheduledOnly | bool | GET | Only scheduled reminders | N/A | NO |
| excludeDismissed | bool | GET | Filter out dismissed reminders | N/A | NO |
| page | uint | GET | Page number (0 based) | N/A | NO |
| perPage | uint | GET | Returned items per page (default 50) | N/A | NO |
Add new reminder
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| resource | string | POST | Resource | N/A | YES |
| assignedTo | uint64 | POST | Assigned To | N/A | YES |
| payload | sqlxTypes.JSONText | POST | Payload | N/A | YES |
| remindAt | *time.Time | POST | Remind At | N/A | NO |
Update reminder
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/{reminderID} |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| reminderID | uint64 | PATH | Reminder ID | N/A | YES |
| resource | string | POST | Resource | N/A | YES |
| assignedTo | uint64 | POST | Assigned To | N/A | YES |
| payload | sqlxTypes.JSONText | POST | Payload | N/A | YES |
| remindAt | *time.Time | POST | Remind At | N/A | NO |
Read reminder by ID
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/{reminderID} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| reminderID | uint64 | PATH | Reminder ID | N/A | YES |
Delete reminder
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/{reminderID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| reminderID | uint64 | PATH | Reminder ID | N/A | YES |
Dismiss reminder
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/{reminderID}/dismiss |
HTTP/S | PATCH | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| reminderID | uint64 | PATH | reminder ID | N/A | YES |
Snooze reminder
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/reminder/{reminderID}/snooze |
HTTP/S | PATCH | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| reminderID | uint64 | PATH | reminder ID | N/A | YES |
| remindAt | *time.Time | POST | New Remind At Time | N/A | YES |
Roles
An organisation may have many roles. Roles may have many channels available. Access to channels may be shared between roles.
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/roles/ |
List roles |
POST |
/roles/ |
Update role details |
PUT |
/roles/{roleID} |
Update role details |
GET |
/roles/{roleID} |
Read role details and memberships |
DELETE |
/roles/{roleID} |
Remove role |
POST |
/roles/{roleID}/archive |
Archive role |
POST |
/roles/{roleID}/move |
Move role to different organisation |
POST |
/roles/{roleID}/merge |
Merge one role into another |
GET |
/roles/{roleID}/members |
Returns all role members |
POST |
/roles/{roleID}/member/{userID} |
Add member to a role |
DELETE |
/roles/{roleID}/member/{userID} |
Remove member from a role |
List roles
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| query | string | GET | Search query | N/A | NO |
Update role details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| name | string | POST | Name of Role | N/A | YES |
| handle | string | POST | Handle for Role | N/A | YES |
| members | []string | POST | Role member IDs | N/A | NO |
Update role details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID} |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
| name | string | POST | Name of Role | N/A | NO |
| handle | string | POST | Handle for Role | N/A | NO |
| members | []string | POST | Role member IDs | N/A | NO |
Read role details and memberships
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
Remove role
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
Archive role
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/archive |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
Move role to different organisation
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/move |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
| organisationID | uint64 | POST | Role ID | N/A | YES |
Merge one role into another
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/merge |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Source Role ID | N/A | YES |
| destination | uint64 | POST | Destination Role ID | N/A | YES |
Returns all role members
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/members |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Source Role ID | N/A | YES |
Add member to a role
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/member/{userID} |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Source Role ID | N/A | YES |
| userID | uint64 | PATH | User ID | N/A | YES |
Remove member from a role
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/roles/{roleID}/member/{userID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Source Role ID | N/A | YES |
| userID | uint64 | PATH | User ID | N/A | YES |
Settings
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/settings/ |
List settings |
PATCH |
/settings/ |
Update settings |
GET |
/settings/{key} |
Check JWT token |
PUT |
/settings/{key} |
Set a value for a key |
List settings
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/settings/ |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| prefix | string | GET | Key prefix | N/A | NO |
Update settings
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/settings/ |
HTTP/S | PATCH |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| values | sqlxTypes.JSONText | POST | Array of new settings: [{ name: ..., value: ... }]. Omit value to remove setting |
N/A | YES |
Check JWT token
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/settings/{key} |
HTTP/S | GET |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| ownerID | uint64 | GET | Owner ID | N/A | NO |
| key | string | PATH | Setting key | N/A | YES |
Set a value for a key
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/settings/{key} |
HTTP/S | PUT |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| key | string | PATH | Setting key | N/A | YES |
| ownerID | uint64 | POST | Owner | N/A | NO |
| value | sqlxTypes.JSONText | POST | Setting value | N/A | YES |
Subscription
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/subscription/ |
Returns current subscription status |
Returns current subscription status
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/subscription/ |
HTTP/S | GET | |
| Warning: implode(): Invalid arguments passed in /private/tmp/Users/darh/Work.crust/corteza-server/codegen/templates/README.tpl on line 32 | |||
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|
Users
| Method | Endpoint | Purpose |
|---|---|---|
GET |
/users/ |
Search users (Directory) |
POST |
/users/ |
Create user |
PUT |
/users/{userID} |
Update user details |
GET |
/users/{userID} |
Read user details |
DELETE |
/users/{userID} |
Remove user |
POST |
/users/{userID}/suspend |
Suspend user |
POST |
/users/{userID}/unsuspend |
Unsuspend user |
POST |
/users/{userID}/password |
Set's or changes user's password |
GET |
/users/{userID}/membership |
Add member to a role |
POST |
/users/{userID}/membership/{roleID} |
Add role to a user |
DELETE |
/users/{userID}/membership/{roleID} |
Remove role from a user |
Search users (Directory)
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/ |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | []string | GET | Filter by user ID | N/A | NO |
| roleID | []string | GET | Filter by role membership | N/A | NO |
| query | string | GET | Search query to match against users | N/A | NO |
| username | string | GET | Search username to match against users | N/A | NO |
| string | GET | Search email to match against users | N/A | NO | |
| handle | string | GET | Search handle to match against users | N/A | NO |
| kind | types.UserKind | GET | Kind (normal, bot) | N/A | NO |
| incDeleted | bool | GET | Include deleted users (requires 'access' permission) | N/A | NO |
| incSuspended | bool | GET | Include suspended users (requires 'access' permission) | N/A | NO |
| sort | string | GET | Sort by (createdAt, updatedAt, deletedAt, suspendedAt, email, username, userID) | N/A | NO |
| page | uint | GET | Page number (0 based) | N/A | NO |
| perPage | uint | GET | Returned items per page | N/A | NO |
Create user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/ |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| string | POST | N/A | YES | ||
| name | string | POST | Name | N/A | NO |
| handle | string | POST | Handle | N/A | NO |
| kind | types.UserKind | POST | Kind (normal, bot) | N/A | NO |
Update user details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID} |
HTTP/S | PUT | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
| string | POST | N/A | YES | ||
| name | string | POST | Name | N/A | YES |
| handle | string | POST | Handle | N/A | NO |
| kind | types.UserKind | POST | Kind (normal, bot) | N/A | NO |
Read user details
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID} |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
Remove user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
Suspend user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/suspend |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
Unsuspend user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/unsuspend |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
Set's or changes user's password
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/password |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
| password | string | POST | New password | N/A | YES |
Add member to a role
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/membership |
HTTP/S | GET | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| userID | uint64 | PATH | User ID | N/A | YES |
Add role to a user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/membership/{roleID} |
HTTP/S | POST | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
| userID | uint64 | PATH | User ID | N/A | YES |
Remove role from a user
Method
| URI | Protocol | Method | Authentication |
|---|---|---|---|
/users/{userID}/membership/{roleID} |
HTTP/S | DELETE | Client ID, Session ID |
Request parameters
| Parameter | Type | Method | Description | Default | Required? |
|---|---|---|---|---|---|
| roleID | uint64 | PATH | Role ID | N/A | YES |
| userID | uint64 | PATH | User ID | N/A | YES |