3
0
corteza/system/rest.yaml
Denis Arh d25117ab62 Support patching for users
Allow meta data + email-confirmation flah to be patched/changed via API
2021-03-08 19:24:38 +01:00

1477 lines
35 KiB
YAML

---
# This is direct conversion from old api/*/spec.json files
# using https://www.json2yaml.com/
#
# Next step: swagger.
endpoints:
- title: Authentication
path: "/auth"
entrypoint: auth
authentication: []
apis:
- name: impersonate
method: POST
title: Impersonate a user
path: "/impersonate"
parameters:
post:
- name: userID
type: uint64
required: true
title: ID of the impersonated user
- title: Authentication clients
path: "/auth/clients"
entrypoint: authClient
authentication: []
imports:
- github.com/cortezaproject/corteza-server/pkg/label
- github.com/cortezaproject/corteza-server/system/types
- time
apis:
- name: list
method: GET
title: List clients
path: "/"
parameters:
get:
- name: handle
required: false
title: Client handle
type: string
- name: deleted
required: false
title: Exclude (0, default), include (1) or return only (2) deleted roles
type: uint
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- type: uint
name: limit
title: Limit
- type: string
name: pageCursor
title: Page cursor
- type: string
name: sort
title: Sort items
- name: create
method: POST
title: Create client
path: "/"
parameters:
post:
- { name: handle, type: string, title: Client handle }
- { name: meta, type: '*types.AuthClientMeta', title: Additional info, parser: "types.ParseAuthClientMeta" }
- { name: validGrant, type: string, title: Valid grants (authorization_code, client_credentials) }
- { name: redirectURI, type: string, title: Space delimited list of redirect URIs }
- { name: scope, type: string, title: Space delimited list of scopes }
- { name: trusted, type: bool, title: Is client trusted (skip authorization) }
- { name: enabled, type: bool, title: Is client enabled }
- { name: validFrom, type: '*time.Time', title: Date and time from when client becomes valid }
- { name: expiresAt, type: '*time.Time', title: Date and time from client is no logner valid }
- { name: security, type: '*types.AuthClientSecurity', title: Security settings, allowed, denied, forced roles, parser: "types.ParseAuthClientSecurity" }
- { name: labels, type: 'map[string]string', title: Labels, parser: label.ParseStrings }
- name: update
method: PUT
title: Update user details
path: "/{clientID}"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
post:
- { name: handle, type: string, title: Client handle }
- { name: meta, type: '*types.AuthClientMeta', title: Additional info , parser: "types.ParseAuthClientMeta"}
- { name: validGrant, type: string, title: Valid grants (authorization_code, client_credentials) }
- { name: redirectURI, type: string, title: Space delimited list of redirect URIs }
- { name: scope, type: string, title: Space delimited list of scopes }
- { name: trusted, type: bool, title: Is client trusted (skip authorization) }
- { name: enabled, type: bool, title: Is client enabled }
- { name: validFrom, type: '*time.Time', title: Date and time from when client becomes valid }
- { name: expiresAt, type: '*time.Time', title: Date and time from client is no logner valid }
- { name: security, type: '*types.AuthClientSecurity', title: Security settings, allowed, denied, forced roles, parser: "types.ParseAuthClientSecurity" }
- { name: labels, type: 'map[string]string', title: Labels, parser: label.ParseStrings }
- name: read
method: GET
title: Read client details
path: "/{clientID}"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
- name: delete
method: DELETE
title: Remove client
path: "/{clientID}"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
- name: undelete
method: POST
title: Undelete client
path: "/{clientID}/undelete"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
- name: regenerateSecret
method: POST
title: Regenerate client's secret
path: "/{clientID}/secret"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
- name: exposeSecret
method: GET
title: Exposes client's secret
path: "/{clientID}/secret"
parameters:
path:
- type: uint64
name: clientID
required: true
title: Client ID
- title: Settings
path: "/settings"
entrypoint: settings
authentication: []
imports:
- github.com/cortezaproject/corteza-server/system/types
apis:
- name: list
method: GET
title: List settings
path: "/"
parameters:
get:
- name: prefix
type: string
title: Key prefix
- name: update
method: PATCH
title: Update settings
path: "/"
parameters:
post:
- name: values
type: types.SettingValueSet
title: 'Array of new settings: `[{ name: ..., value: ... }]`. Omit value to
remove setting'
required: true
- name: get
method: GET
title: Get a value for a key
path: "/{key}"
parameters:
path:
- name: key
type: string
title: Setting key
required: true
get:
- name: ownerID
type: uint64
title: Owner ID
- name: set
path: "/{key}"
method: POST
title: Set value for specific setting
parameters:
path:
- name: key
type: string
title: Key
required: true
post:
- name: upload
type: "*multipart.FileHeader"
title: File to upload
- name: ownerID
type: uint64
title: Owner ID
- name: current
method: GET
title: Current compose settings
path: "/current"
- title: Roles
description: An organisation may have many roles. Roles may have many channels available.
Access to channels may be shared between roles.
path: "/roles"
entrypoint: role
authentication:
- Client ID
- Session ID
imports:
- github.com/cortezaproject/corteza-server/pkg/label
apis:
- name: list
method: GET
title: List roles
path: "/"
parameters:
get:
- type: string
name: query
required: false
title: Search query
- name: deleted
required: false
title: Exclude (0, default), include (1) or return only (2) deleted roles
type: uint
- name: archived
required: false
title: Exclude (0, default), include (1) or return only (2) achived roles
type: uint
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- type: uint
name: limit
title: Limit
- type: string
name: pageCursor
title: Page cursor
- type: string
name: sort
title: Sort items
- name: create
method: POST
title: Update role details
path: "/"
parameters:
post:
- type: string
name: name
required: true
title: Name of Role
- type: string
name: handle
required: true
title: Handle for Role
- type: "[]string"
name: members
required: false
title: Role member IDs
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: update
method: PUT
title: Update role details
path: "/{roleID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
post:
- type: string
name: name
required: false
title: Name of Role
- type: string
name: handle
required: false
title: Handle for Role
- type: "[]string"
name: members
required: false
title: Role member IDs
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: read
method: GET
title: Read role details and memberships
path: "/{roleID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- name: delete
method: DELETE
title: Remove role
path: "/{roleID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- name: archive
method: POST
title: Archive role
path: "/{roleID}/archive"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- name: unarchive
method: POST
title: Unarchive role
path: "/{roleID}/unarchive"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- name: undelete
method: POST
title: Undelete role
path: "/{roleID}/undelete"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- name: move
method: POST
title: Move role to different organisation
path: "/{roleID}/move"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
post:
- type: uint64
name: organisationID
required: true
title: Role ID
- name: merge
method: POST
title: Merge one role into another
path: "/{roleID}/merge"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Source Role ID
post:
- type: uint64
name: destination
required: true
title: Destination Role ID
- name: memberList
method: GET
title: Returns all role members
path: "/{roleID}/members"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Source Role ID
- name: memberAdd
method: POST
title: Add member to a role
path: "/{roleID}/member/{userID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Source Role ID
- type: uint64
name: userID
required: true
title: User ID
- name: memberRemove
method: DELETE
title: Remove member from a role
path: "/{roleID}/member/{userID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Source Role ID
- type: uint64
name: userID
required: true
title: User ID
- name: triggerScript
method: POST
title: Fire system:role trigger
path: "/{roleID}/trigger"
parameters:
path:
- type: uint64
name: roleID
required: true
title: ID
post:
- name: script
type: string
title: Script to execute
required: true
- title: Users
path: "/users"
entrypoint: user
authentication:
- Client ID
- Session ID
imports:
- github.com/cortezaproject/corteza-server/pkg/label
- github.com/cortezaproject/corteza-server/system/types
apis:
- name: list
method: GET
title: Search users (Directory)
path: "/"
parameters:
get:
- name: userID
type: "[]string"
required: false
title: Filter by user ID
- name: roleID
type: "[]string"
required: false
title: Filter by role membership
- type: string
name: query
required: false
title: Search query to match against users
- type: string
name: username
required: false
title: Search username to match against users
- type: string
name: email
required: false
title: Search email to match against users
- type: string
name: handle
required: false
title: Search handle to match against users
- name: kind
type: types.UserKind
required: false
title: Kind (normal, bot)
- type: bool
name: incDeleted
required: false
title: "[Deprecated] Include deleted users (requires 'access' permission)"
- type: bool
name: incSuspended
required: false
title: "[Deprecated] Include suspended users"
- name: deleted
required: false
title: Exclude (0, default), include (1) or return only (2) deleted users
type: uint
- name: suspended
required: false
title: Exclude (0, default), include (1) or return only (2) suspended users
type: uint
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- type: uint
name: limit
title: Limit
- type: string
name: pageCursor
title: Page cursor
- type: string
name: sort
title: Sort items
- name: create
method: POST
title: Create user
path: "/"
parameters:
post:
- name: email
type: string
required: true
title: Email
- name: name
type: string
required: false
title: Name
- name: handle
type: string
required: false
title: Handle
- name: kind
type: types.UserKind
required: false
title: Kind (normal, bot)
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: update
method: PUT
title: Update user details
path: "/{userID}"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
post:
- name: email
type: string
required: true
title: Email
- name: name
type: string
required: true
title: Name
- name: handle
type: string
required: false
title: Handle
- name: kind
type: types.UserKind
required: false
title: Kind (normal, bot)
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: partialUpdate
method: PATCH
title: Patch user (experimental)
path: "/{userID}"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: read
method: GET
title: Read user details
path: "/{userID}"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: delete
method: DELETE
title: Remove user
path: "/{userID}"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: suspend
method: POST
title: Suspend user
path: "/{userID}/suspend"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: unsuspend
method: POST
title: Unsuspend user
path: "/{userID}/unsuspend"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: undelete
method: POST
title: Undelete user
path: "/{userID}/undelete"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: setPassword
method: POST
title: Set's or changes user's password
path: "/{userID}/password"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
post:
- name: password
type: string
required: true
sensitive: true
title: New password
- name: membershipList
method: GET
title: Add member to a role
path: "/{userID}/membership"
parameters:
path:
- type: uint64
name: userID
required: true
title: User ID
- name: membershipAdd
method: POST
title: Add role to a user
path: "/{userID}/membership/{roleID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- type: uint64
name: userID
required: true
title: User ID
- name: membershipRemove
method: DELETE
title: Remove role from a user
path: "/{userID}/membership/{roleID}"
parameters:
path:
- type: uint64
name: roleID
required: true
title: Role ID
- type: uint64
name: userID
required: true
title: User ID
- name: triggerScript
method: POST
title: Fire system:user trigger
path: "/{userID}/trigger"
parameters:
path:
- type: uint64
name: userID
required: true
title: ID
post:
- name: script
type: string
title: Script to execute
required: true
- title: Applications
path: "/application"
entrypoint: application
authentication: []
imports:
- github.com/cortezaproject/corteza-server/pkg/label
- sqlxTypes github.com/jmoiron/sqlx/types
apis:
- name: list
method: GET
title: List applications
path: "/"
parameters:
get:
- name: name
required: false
title: Application name
type: string
- name: query
required: false
title: Filter applications
type: string
- name: deleted
required: false
title: Exclude (0, default), include (1) or return only (2) deleted roles
type: uint
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: flags
type: "[]string"
title: Flags
- name: incFlags
required: false
title: Calculated (0, default), global (1) or return only (2) own flags
type: uint
- type: uint
name: limit
title: Limit
- type: string
name: pageCursor
title: Page cursor
- type: string
name: sort
title: Sort items
- name: create
method: POST
title: Create application
path: "/"
parameters:
post:
- name: name
type: string
required: true
title: Application name
- name: enabled
type: bool
required: false
title: Enabled
- name: weight
type: int
required: false
title: Weight for sorting
- name: unify
type: sqlxTypes.JSONText
required: false
title: Unify properties
- name: config
type: sqlxTypes.JSONText
required: false
title: Arbitrary JSON holding application configuration
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: update
method: PUT
title: Update user details
path: "/{applicationID}"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
post:
- name: name
type: string
required: true
title: Email
- name: enabled
type: bool
required: false
title: Enabled
- name: weight
type: int
required: false
title: Weight for sorting
- name: unify
type: sqlxTypes.JSONText
required: false
title: Unify properties
- name: config
type: sqlxTypes.JSONText
required: false
title: Arbitrary JSON holding application configuration
- type: map[string]string
name: labels
title: Labels
parser: label.ParseStrings
- name: upload
path: "/upload"
method: POST
title: Upload application assets
parameters:
post:
- name: upload
type: "*multipart.FileHeader"
required: true
title: File to upload
- name: flagCreate
method: POST
title: Flag application
path: "/{applicationID}/flag/{ownedBy}/{flag}"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
- type: string
name: flag
required: true
title: Flag
- type: uint64
name: ownedBy
required: false
title: Owner; 0 = everyone
- name: flagDelete
method: DELETE
title: Unflag application
path: "/{applicationID}/flag/{ownedBy}/{flag}"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
- type: string
name: flag
required: true
title: Flag
- type: uint64
name: ownedBy
required: false
title: Owner; 0 = everyone
- name: read
method: GET
title: Read application details
path: "/{applicationID}"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
get:
- name: incFlags
required: false
title: Calculated (0, default), global (1) or return only (2) own flags
type: uint
- name: delete
method: DELETE
title: Remove application
path: "/{applicationID}"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
- name: undelete
method: POST
title: Undelete application
path: "/{applicationID}/undelete"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: Application ID
- name: triggerScript
method: POST
title: Fire system:application trigger
path: "/{applicationID}/trigger"
parameters:
path:
- type: uint64
name: applicationID
required: true
title: ID
post:
- name: script
type: string
title: Script to execute
required: true
- name: reorder
method: POST
title: Reorder applications
path: "/reorder"
parameters:
post:
- name: applicationIDs
type: "[]string"
required: true
title: Application order
- title: Permissions
parameters: {}
entrypoint: permissions
path: "/permissions"
authentication:
- Client ID
- Session ID
imports:
- github.com/cortezaproject/corteza-server/pkg/rbac
apis:
- name: list
path: "/"
method: GET
title: Retrieve defined permissions
parameters: {}
- name: effective
path: "/effective"
method: GET
title: Effective rules for current user
parameters:
get:
- name: resource
type: string
required: false
title: Show only rules for a specific resource
- name: read
path: "/{roleID}/rules"
method: GET
title: Retrieve role permissions
parameters:
path:
- name: roleID
type: uint64
required: true
title: Role ID
- name: delete
path: "/{roleID}/rules"
method: DELETE
title: Remove all defined role permissions
parameters:
path:
- name: roleID
type: uint64
required: true
title: Role ID
- name: update
path: "/{roleID}/rules"
method: PATCH
title: Update permission settings
parameters:
path:
- name: roleID
type: uint64
required: true
title: Role ID
post:
- name: rules
type: rbac.RuleSet
required: true
title: List of permission rules to set
- title: Reminders
entrypoint: reminder
path: "/reminder"
authentication:
- Client ID
- Session ID
imports:
- sqlxTypes github.com/jmoiron/sqlx/types
- time
apis:
- name: list
method: GET
title: List/read reminders
path: "/"
parameters:
get:
- name: reminderID
type: "[]string"
required: false
title: Filter by reminder ID
- name: resource
required: false
title: Only reminders of a specific resource
type: string
- name: assignedTo
required: false
title: Only reminders for a given user
type: uint64
- name: scheduledFrom
required: false
title: Only reminders from this time (included)
type: "*time.Time"
- name: scheduledUntil
required: false
title: Only reminders up to this time (included)
type: "*time.Time"
- name: scheduledOnly
required: false
title: Only scheduled reminders
type: bool
- name: excludeDismissed
required: false
title: Filter out dismissed reminders
type: bool
- type: uint
name: limit
title: Limit
- type: string
name: pageCursor
title: Page cursor
- type: string
name: sort
title: Sort items
- name: create
method: POST
title: Add new reminder
path: "/"
parameters:
post:
- name: resource
title: Resource
type: string
required: true
- name: assignedTo
title: Assigned To
type: uint64
required: true
- name: payload
title: Payload
type: sqlxTypes.JSONText
required: true
- name: remindAt
title: Remind At
type: "*time.Time"
required: false
- name: update
method: PUT
title: Update reminder
path: "/{reminderID}"
parameters:
path:
- type: uint64
name: reminderID
required: true
title: Reminder ID
post:
- name: resource
title: Resource
type: string
required: true
- name: assignedTo
title: Assigned To
type: uint64
required: true
- name: payload
title: Payload
type: sqlxTypes.JSONText
required: true
- name: remindAt
title: Remind At
type: "*time.Time"
required: false
- name: read
method: GET
title: Read reminder by ID
path: "/{reminderID}"
parameters:
path:
- type: uint64
name: reminderID
required: true
title: Reminder ID
- name: delete
method: DELETE
title: Delete reminder
path: "/{reminderID}"
parameters:
path:
- type: uint64
name: reminderID
required: true
title: Reminder ID
- name: dismiss
method: PATCH
title: Dismiss reminder
path: "/{reminderID}/dismiss"
parameters:
path:
- type: uint64
name: reminderID
required: true
title: reminder ID
- name: snooze
method: PATCH
title: Snooze reminder
path: "/{reminderID}/snooze"
parameters:
path:
- type: uint64
name: reminderID
required: true
title: reminder ID
post:
- type: "*time.Time"
name: remindAt
required: true
title: New Remind At Time
- title: Attachments
path: "/attachment/{kind}"
entrypoint: attachment
authentication:
- Client ID
- Session ID
parameters:
path:
- name: kind
type: string
required: true
title: Kind
get:
- type: string
name: sign
required: false
title: Signature
- type: uint64
name: userID
required: false
title: User ID
apis:
- name: read
path: "/{attachmentID}"
method: GET
title: Attachment details
parameters:
path:
- name: attachmentID
type: uint64
required: true
title: Attachment ID
- name: delete
path: "/{attachmentID}"
method: DELETE
title: Delete attachment
parameters:
path:
- name: attachmentID
type: uint64
required: true
title: Attachment ID
- name: original
path: "/{attachmentID}/original/{name}"
method: GET
title: Serves attached file
parameters:
path:
- name: attachmentID
type: uint64
required: true
title: Attachment ID
- name: name
type: string
required: true
title: File name
get:
- type: bool
name: download
required: false
title: Force file download
- name: preview
path: "/{attachmentID}/preview.{ext}"
method: GET
title: Serves preview of an attached file
parameters:
path:
- name: attachmentID
type: uint64
required: true
title: Attachment ID
- name: ext
type: string
required: true
title: Preview extension/format
- title: Template
path: "/template"
entrypoint: template
imports:
- github.com/cortezaproject/corteza-server/system/types
- github.com/cortezaproject/corteza-server/pkg/label
authentication:
- Client ID
- SessionID
apis:
- name: list
method: GET
title: List templates
path: "/"
parameters:
get:
- name: handle
type: string
title: Handle
- name: type
type: string
title: Type
- name: ownerID
type: uint64
title: OwnerID
- name: partial
required: false
title: Show partial templates
type: bool
- name: deleted
required: false
title: Exclude (0, default), include (1) or return only (2) deleted templates
type: uint
- name: labels
type: map[string]string
title: Labels
parser: label.ParseStrings
- name: limit
type: uint
title: Limit
- name: pageCursor
type: string
title: Page cursor
- name: sort
type: string
title: Sort items
- name: create
method: POST
title: Create template
path: "/"
parameters:
post:
- name: handle
type: string
title: Handle
- name: language
type: string
title: Language
- name: type
type: string
title: Type
- name: partial
type: bool
title: Partial
- name: meta
type: "types.TemplateMeta"
parser: "types.ParseTemplateMeta"
title: Meta
- name: template
type: string
title: Template
- name: ownerID
type: uint64
title: OwnerID
- name: labels
type: map[string]string
title: Labels
parser: label.ParseStrings
- name: read
method: GET
title: Read template
path: "/{templateID}"
parameters:
path:
- type: uint64
name: templateID
required: true
title: ID
- name: update
method: PUT
title: Update template
path: "/{templateID}"
parameters:
path:
- type: uint64
name: templateID
required: true
title: ID
post:
- name: handle
type: string
title: Handle
- name: language
type: string
title: Language
- name: type
type: string
title: Type
- name: partial
type: bool
title: Partial
- name: meta
type: "types.TemplateMeta"
parser: "types.ParseTemplateMeta"
title: Meta
- name: template
type: string
title: Template
- name: ownerID
type: uint64
title: OwnerID
- name: labels
type: map[string]string
title: Labels
parser: label.ParseStrings
- name: delete
method: DELETE
title: Delete template
path: "/{templateID}"
parameters:
path:
- type: uint64
name: templateID
required: true
title: ID
- name: undelete
path: "/{templateID}/undelete"
method: POST
title: Undelete template
parameters:
path:
- name: templateID
type: uint64
required: true
title: Template ID
- name: render
method: POST
title: Render template
path: "/{templateID}/render/{filename}.{ext}"
parameters:
path:
- type: uint64
name: templateID
required: true
title: Render template to use
- type: string
name: filename
required: true
title: Filename to use
- type: string
name: ext
required: true
title: Export format
post:
- name: variables
type: json.RawMessage
required: true
title: Variables defined by import file
- name: options
type: json.RawMessage
required: false
title: Rendering options
- title: Statistics
entrypoint: stats
path: "/stats"
authentication:
- Client ID
- Session ID
apis:
- name: list
method: GET
title: List system statistics
path: "/"
parameters: {}
- title: System automation scripts
path: "/automation"
entrypoint: automation
apis:
- name: list
method: GET
title: List all available automation scripts for system resources
path: "/"
parameters:
get:
- name: resourceTypePrefixes
type: "[]string"
title: Filter by resource prefix
- name: resourceTypes
type: "[]string"
title: Filter by resource type
- name: eventTypes
type: "[]string"
title: Filter by event type
- name: excludeInvalid
type: bool
title: Exclude scripts that can not be used (errors)
- name: excludeClientScripts
type: bool
title: Do not include client scripts
- name: excludeServerScripts
type: bool
title: Do not include server scripts
- name: bundle
method: GET
title: Serves client scripts bundle
path: "/{bundle}-{type}.{ext}"
parameters:
path:
- name: bundle
type: string
title: Name of the bundle
- name: type
type: string
title: Bundle type
- name: ext
type: string
title: Bundle extension
- name: triggerScript
method: POST
title: Triggers execution of a specific script on a system service level
path: "/trigger"
parameters:
post:
- name: script
type: string
title: Script to execute
required: true
- title: Action log
entrypoint: actionlog
path: "/actionlog"
imports:
- time
apis:
- name: list
method: GET
title: Action log events
path: "/"
parameters:
get:
- name: from
type: "*time.Time"
required: false
title: From
- name: to
type: "*time.Time"
required: false
title: To
- name: beforeActionID
type: uint64
required: false
title: Entries before specified action ID
- name: resource
required: false
title: Resource
type: string
- name: action
required: false
title: Action
type: string
- name: actorID
required: false
title: Filter by one or more actors
type: "[]string"
- type: uint
name: limit
title: Limit