We removed handle requirement for all resource like namespace(slug), module, user, page, chart. Due to that namespace import/export was broken as we were using handle as reference, hence fixed it by replacing handle usage with ID of resource. It also fixes index of template table for handle column.
2259 lines
64 KiB
YAML
2259 lines
64 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 clients
|
|
type: uint
|
|
- type: map[string]string
|
|
name: labels
|
|
title: Labels
|
|
parser: label.ParseStrings
|
|
- type: uint
|
|
name: limit
|
|
title: Limit
|
|
- type: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- 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
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List roles
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { type: "string", name: "query", title: "Search query" }
|
|
- { type: "uint64", name: "memberID", title: "Search roles for member"}
|
|
- { type: "uint", name: "deleted", title: "Exclude (0, default), include (1) or return only (2) deleted roles" }
|
|
- { type: "uint", name: "archived", title: "Exclude (0, default), include (1) or return only (2) archived roles" }
|
|
- { type: "map[string]string", name: "labels", title: "Labels", parser: "label.ParseStrings" }
|
|
- { type: "uint", name: "limit", title: "Limit" }
|
|
- { name: "incTotal", type: "bool", title: "Include total counter" }
|
|
- { 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", title: "role member IDs" }
|
|
- { type: "*types.RoleMeta", name: "meta", title: "Meta", parser: "types.ParseRoleMeta" }
|
|
- { 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: "*types.RoleMeta", name: "meta", title: "Meta", parser: "types.ParseRoleMeta" }
|
|
- { 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
|
|
- name: args
|
|
type: map[string]interface{}
|
|
parser: parseMapStringInterface
|
|
title: Arguments to pass to the script
|
|
- name: cloneRules
|
|
path: "/{roleID}/rules/clone"
|
|
method: POST
|
|
title: Clone permission settings to a role
|
|
parameters:
|
|
path:
|
|
- name: roleID
|
|
type: uint64
|
|
required: true
|
|
title: Role ID
|
|
get:
|
|
- name: cloneToRoleID
|
|
type: "[]string"
|
|
required: true
|
|
title: Clone set of rules to roleID
|
|
- 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: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- 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
|
|
sensitive: true
|
|
title: New password or empty to unset
|
|
|
|
- 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
|
|
- name: args
|
|
type: map[string]interface{}
|
|
parser: parseMapStringInterface
|
|
title: Arguments to pass to the script
|
|
- name: sessionsRemove
|
|
method: DELETE
|
|
title: Remove all auth sessions of user
|
|
path: "/{userID}/sessions"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: userID
|
|
required: true
|
|
title: ID
|
|
|
|
- name: listCredentials
|
|
method: GET
|
|
title: List user's credentials
|
|
path: "/{userID}/credentials"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: userID, required: true, title: ID }
|
|
|
|
- name: deleteCredentials
|
|
method: DELETE
|
|
title: List user's credentials
|
|
path: "/{userID}/credentials/{credentialsID}"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: userID, required: true, title: ID }
|
|
- { type: uint64, name: credentialsID, required: true, title: Credentials ID }
|
|
|
|
- name: export
|
|
method: GET
|
|
title: Export users
|
|
path: "/export/{filename}.zip"
|
|
parameters:
|
|
path:
|
|
- name: filename
|
|
type: string
|
|
required: true
|
|
title: Output filename
|
|
get:
|
|
- name: inclRoleMembership
|
|
type: bool
|
|
required: false
|
|
title: Include role membership
|
|
- name: inclRoles
|
|
type: bool
|
|
required: false
|
|
title: Include roles
|
|
- name: import
|
|
method: POST
|
|
title: Import users
|
|
path: "/import"
|
|
parameters:
|
|
post:
|
|
- name: upload
|
|
type: "*multipart.FileHeader"
|
|
required: true
|
|
title: File import
|
|
|
|
- title: Data access layer drivers
|
|
path: "/dal/drivers"
|
|
entrypoint: dalDriver
|
|
authentication:
|
|
- Client ID
|
|
- Session ID
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: Search drivers
|
|
path: "/"
|
|
|
|
- title: Data access layer sensitivity levels
|
|
path: "/dal/sensitivity-levels"
|
|
entrypoint: dalSensitivityLevel
|
|
authentication:
|
|
- Client ID
|
|
- Session ID
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: Search sensitivity levels
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- name: sensitivityLevelID
|
|
type: "[]string"
|
|
title: Filter by sensitivity level ID
|
|
- name: deleted
|
|
title: Exclude (0, default), include (1) or return only (2) deleted sensitivity levels
|
|
type: uint
|
|
- type: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
|
|
- name: create
|
|
method: POST
|
|
title: Create sensitivity level
|
|
path: "/"
|
|
parameters:
|
|
post:
|
|
- { name: "handle", type: "string", required: true }
|
|
- { name: "level", type: "int", required: true }
|
|
- { name: "meta", type: "types.DalSensitivityLevelMeta", required: true, parser: "types.ParseDalSensitivityLevelMeta" }
|
|
- name: update
|
|
method: PUT
|
|
title: Update sensitivity details
|
|
path: "/{sensitivityLevelID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: sensitivityLevelID
|
|
required: true
|
|
title: Connection ID
|
|
post:
|
|
- { name: "handle", type: "string", required: true }
|
|
- { name: "level", type: "int", required: true }
|
|
- { name: "meta", type: "types.DalSensitivityLevelMeta", required: true, parser: "types.ParseDalSensitivityLevelMeta" }
|
|
|
|
- name: read
|
|
method: GET
|
|
title: Read connection details
|
|
path: "/{sensitivityLevelID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: sensitivityLevelID
|
|
required: true
|
|
title: Connection ID
|
|
|
|
- name: delete
|
|
method: DELETE
|
|
title: Remove sensitivity level
|
|
path: "/{sensitivityLevelID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: sensitivityLevelID
|
|
required: true
|
|
title: Connection ID
|
|
|
|
- name: undelete
|
|
method: POST
|
|
title: Undelete sensitivity level
|
|
path: "/{sensitivityLevelID}/undelete"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: sensitivityLevelID
|
|
required: true
|
|
title: Connection ID
|
|
|
|
|
|
- title: Data access layer connections
|
|
path: "/dal/connections"
|
|
entrypoint: dalConnection
|
|
authentication:
|
|
- Client ID
|
|
- Session ID
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: Search connections (Directory)
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- name: connectionID
|
|
type: "[]string"
|
|
title: Filter by connection ID
|
|
- type: string
|
|
name: handle
|
|
title: Search handle to match against connections
|
|
- type: string
|
|
name: type
|
|
title: Search type to match against connections
|
|
- name: deleted
|
|
title: Exclude (0, default), include (1) or return only (2) deleted connections
|
|
type: uint
|
|
- type: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- name: create
|
|
method: POST
|
|
title: Create connection
|
|
path: "/"
|
|
parameters:
|
|
post:
|
|
- { name: handle, type: "string", }
|
|
- { name: type, type: "string", required: true }
|
|
- { name: meta, type: "types.ConnectionMeta", required: true, parser: "types.ParseConnectionMeta" }
|
|
- { name: config, type: "types.ConnectionConfig", required: true, parser: "types.ParseConnectionConfig" }
|
|
|
|
- name: update
|
|
method: PUT
|
|
title: Update connection details
|
|
path: "/{connectionID}"
|
|
parameters:
|
|
path: [ { type: uint64, name: connectionID, required: true, title: "Connection ID" } ]
|
|
post:
|
|
- { name: handle, type: "string", }
|
|
- { name: type, type: "string", required: true }
|
|
- { name: meta, type: "types.ConnectionMeta", required: true, parser: "types.ParseConnectionMeta" }
|
|
- { name: config, type: "types.ConnectionConfig", required: true, parser: "types.ParseConnectionConfig" }
|
|
|
|
- name: read
|
|
method: GET
|
|
title: Read connection details
|
|
path: "/{connectionID}"
|
|
parameters:
|
|
path: [ { type: uint64, name: connectionID, required: true, title: "Connection ID" } ]
|
|
- name: delete
|
|
method: DELETE
|
|
title: Remove connection
|
|
path: "/{connectionID}"
|
|
parameters:
|
|
path: [ { type: uint64, name: connectionID, required: true, title: "Connection ID" } ]
|
|
- name: undelete
|
|
method: POST
|
|
title: Undelete connection
|
|
path: "/{connectionID}/undelete"
|
|
parameters:
|
|
path: [ { type: uint64, name: connectionID, required: true, title: "Connection ID" } ]
|
|
|
|
- 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: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- 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: args
|
|
type: map[string]interface{}
|
|
parser: parseMapStringInterface
|
|
title: Arguments to pass to the script
|
|
- 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: trace
|
|
path: "/trace"
|
|
method: GET
|
|
title: Evaluate rules for given user/role combo
|
|
parameters:
|
|
get:
|
|
- name: resource
|
|
type: "[]string"
|
|
required: false
|
|
title: Show only rules for a specific resource
|
|
- name: userID
|
|
type: uint64
|
|
required: false
|
|
- name: roleID
|
|
type: "[]uint64"
|
|
required: false
|
|
- name: read
|
|
path: "/{roleID}/rules"
|
|
method: GET
|
|
title: Retrieve role permissions
|
|
parameters:
|
|
path:
|
|
- name: roleID
|
|
type: uint64
|
|
required: true
|
|
title: Role ID
|
|
get:
|
|
- name: resource
|
|
type: "[]string"
|
|
required: false
|
|
title: Show only rules for a specific resource
|
|
- 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
|
|
- name: includeDeleted
|
|
required: false
|
|
title: Includes deleted 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: query
|
|
type: string
|
|
title: Query
|
|
- 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
|
|
- type: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- 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: renderDrivers
|
|
method: GET
|
|
title: Render drivers
|
|
path: "/render/drivers"
|
|
- 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: Reports
|
|
path: "/reports"
|
|
entrypoint: report
|
|
authentication: []
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/pkg/label
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
- github.com/cortezaproject/corteza/server/system/reporting
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List reports
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- name: handle
|
|
required: false
|
|
title: Report handle
|
|
type: string
|
|
- name: query
|
|
required: false
|
|
title: Report query
|
|
type: string
|
|
- name: deleted
|
|
required: false
|
|
title: Exclude (0, default), include (1) or return only (2) deleted reports
|
|
type: uint
|
|
- type: map[string]string
|
|
name: labels
|
|
title: Labels
|
|
parser: label.ParseStrings
|
|
- type: uint
|
|
name: limit
|
|
title: Limit
|
|
- type: bool
|
|
name: incTotal
|
|
title: Include total counter
|
|
- type: string
|
|
name: pageCursor
|
|
title: Page cursor
|
|
- type: string
|
|
name: sort
|
|
title: Sort items
|
|
- name: create
|
|
method: POST
|
|
title: Create report
|
|
path: "/"
|
|
parameters:
|
|
post:
|
|
- { name: handle, type: string, title: Client handle }
|
|
- { name: meta, type: '*types.ReportMeta', title: Additional info, parser: types.ParseReportMeta }
|
|
- { name: scenarios, type: "types.ReportScenarioSet", title: Report scenarios }
|
|
- { name: sources, type: "types.ReportDataSourceSet", title: Report source definitions }
|
|
- { name: blocks, type: "types.ReportBlockSet", title: Report blocks definition }
|
|
- { name: labels, type: 'map[string]string', title: Labels, parser: label.ParseStrings }
|
|
- name: update
|
|
method: PUT
|
|
title: Update report
|
|
path: "/{reportID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: reportID
|
|
required: true
|
|
title: Report ID
|
|
post:
|
|
- { name: handle, type: string, title: Client handle }
|
|
- { name: meta, type: '*types.ReportMeta', title: Additional info, parser: types.ParseReportMeta }
|
|
- { name: scenarios, type: "types.ReportScenarioSet", title: Report scenarios }
|
|
- { name: sources, type: "types.ReportDataSourceSet", title: Report sources definition }
|
|
- { name: blocks, type: "types.ReportBlockSet", title: Report blocks definition }
|
|
- { name: labels, type: 'map[string]string', title: Labels, parser: label.ParseStrings }
|
|
- name: read
|
|
method: GET
|
|
title: Read report details
|
|
path: "/{reportID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: reportID
|
|
required: true
|
|
title: Report ID
|
|
- name: delete
|
|
method: DELETE
|
|
title: Remove report
|
|
path: "/{reportID}"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: reportID
|
|
required: true
|
|
title: Report ID
|
|
- name: undelete
|
|
method: POST
|
|
title: Undelete report
|
|
path: "/{reportID}/undelete"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: reportID
|
|
required: true
|
|
title: Report ID
|
|
- name: describe
|
|
method: POST
|
|
title: Describe report
|
|
path: "/describe"
|
|
parameters:
|
|
post:
|
|
- { name: sources, type: "types.ReportDataSourceSet", title: Report steps definition }
|
|
- { name: steps, type: "types.ReportStepSet", title: Report steps definition }
|
|
- { name: describe, type: "[]string", title: The source descriptions to generate }
|
|
|
|
- name: run
|
|
method: POST
|
|
title: Run report
|
|
path: "/{reportID}/run"
|
|
parameters:
|
|
path:
|
|
- type: uint64
|
|
name: reportID
|
|
required: true
|
|
title: Report ID
|
|
post:
|
|
- { name: frames, type: "reporting.FrameDefinitionSet", title: Report data frame definitions }
|
|
- 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 cannot 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
|
|
- name: args
|
|
type: map[string]interface{}
|
|
parser: parseMapStringInterface
|
|
title: Arguments to pass to the script
|
|
- 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
|
|
|
|
- title: Messaging queues
|
|
entrypoint: queues
|
|
path: "/queues"
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: Messaging queues
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { type: string, name: query, title: Search query }
|
|
- { type: uint, name: limit, title: Limit }
|
|
- { type: bool, name: incTotal, title: Include total counter }
|
|
- { type: string, name: pageCursor, title: Page cursor }
|
|
- { type: string, name: sort, title: Sort items }
|
|
- { type: uint, name: deleted, title: Exclude (0, default), include (1) or return only (2) deleted queues }
|
|
- name: create
|
|
method: POST
|
|
title: Create messaging queue
|
|
path: ""
|
|
parameters:
|
|
post:
|
|
- { type: string, name: queue, required: true, title: Name of queue }
|
|
- { type: string, name: consumer, required: true, title: Queue consumer }
|
|
- { type: "types.QueueMeta", name: meta, required: false, title: Meta data for queue, parser: "types.ParseQueueMeta" }
|
|
- name: read
|
|
method: GET
|
|
title: Messaging queue details
|
|
path: "/{queueID}"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: queueID, required: true, title: Queue ID }
|
|
- name: update
|
|
method: PUT
|
|
title: Update queue details
|
|
path: "/{queueID}"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: queueID, required: true, title: Queue ID }
|
|
post:
|
|
- { type: string, name: queue, required: true, title: Name of queue }
|
|
- { type: string, name: consumer, required: true, title: Queue consumer }
|
|
- { type: "types.QueueMeta", name: meta, required: false, title: Meta data for queue, parser: "types.ParseQueueMeta" }
|
|
- name: delete
|
|
method: DELETE
|
|
title: Messaging queue delete
|
|
path: "/{queueID}"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: queueID, required: true, title: Queue ID }
|
|
- name: undelete
|
|
method: POST
|
|
title: Messaging queue undelete
|
|
path: "/{queueID}/undelete"
|
|
parameters:
|
|
path:
|
|
- { type: uint64, name: queueID, required: true, title: Queue ID }
|
|
|
|
- title: Integration gateway routes
|
|
path: "/apigw/route"
|
|
entrypoint: apigwRoute
|
|
authentication: []
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
- github.com/cortezaproject/corteza/server/pkg/label
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List routes
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { name: routeID, type: "[]uint64", title: "Filter by route ID" }
|
|
- { name: query, type: "string", title: "Filter routes" }
|
|
- { name: deleted, type: "uint64", title: "Exclude (0, default), include (1) or return only (2) deleted routes" }
|
|
- { name: disabled, type: "uint64", title: "Exclude (0, default), include (1) or return only (2) disabled routes" }
|
|
- { name: labels, type: "map[string]string", title: "Labels", parser: "label.ParseStrings" }
|
|
- { name: limit, type: "uint", title: "Limit" }
|
|
- { name: incTotal, type: "bool", title: "Include total counter" }
|
|
- { name: pageCursor, type: "string", title: "Page cursor" }
|
|
- { name: sort, type: "string", title: "Sort items" }
|
|
- name: create
|
|
method: POST
|
|
title: Create route
|
|
path: ""
|
|
parameters:
|
|
post:
|
|
- { name: endpoint, type: string, required: true, title: "Route endpoint" }
|
|
- { name: method, type: string, title: "Route method" }
|
|
- { name: enabled, type: bool, title: "Is route enabled" }
|
|
- { name: group, type: uint64, title: "Route group" }
|
|
- { name: meta, type: "types.ApigwRouteMeta", title: "Route meta", parser: "types.ParseApigwRouteMeta" }
|
|
- name: update
|
|
method: PUT
|
|
title: Update route details
|
|
path: "/{routeID}"
|
|
parameters:
|
|
path: [ { name: routeID, type: uint64, required: true, title: "Route ID" } ]
|
|
post:
|
|
- { name: endpoint, type: string, required: true, title: "Route endpoint" }
|
|
- { name: method, type: string, title: "Route method" }
|
|
- { name: enabled, type: bool, title: "Is route enabled" }
|
|
- { name: group, type: uint64, title: "Route group" }
|
|
- { name: meta, type: "types.ApigwRouteMeta", title: "Route meta", parser: "types.ParseApigwRouteMeta" }
|
|
- name: read
|
|
method: GET
|
|
title: Read route details
|
|
path: "/{routeID}"
|
|
parameters: { path: [ { name: routeID, type: uint64, required: true, title: "Route ID" } ] }
|
|
- name: delete
|
|
method: DELETE
|
|
title: Remove route
|
|
path: "/{routeID}"
|
|
parameters: { path: [ { name: routeID, type: uint64, required: true, title: "Route ID" } ] }
|
|
- name: undelete
|
|
method: POST
|
|
title: Undelete route
|
|
path: "/{routeID}/undelete"
|
|
parameters: { path: [ { name: routeID, type: uint64, required: true, title: "Route ID" } ] }
|
|
|
|
- title: Integration gateway filters
|
|
path: "/apigw/filter"
|
|
entrypoint: apigwFilter
|
|
authentication: []
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List filters
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { name: routeID, type: "uint64", title: "Filter by route ID", required: true }
|
|
- { name: deleted, type: "uint64", title: "Exclude (0, default), include (1) or return only (2) deleted filters" }
|
|
- { name: disabled, type: "uint64", title: "Exclude (0, default), include (1) or return only (2) disabled filters" }
|
|
- { name: limit, type: "uint", title: "Limit" }
|
|
- { name: pageCursor, type: "string", title: "Page cursor" }
|
|
- { name: sort, type: "string", title: "Sort items" }
|
|
- name: create
|
|
method: PUT
|
|
title: Create filter
|
|
path: ""
|
|
parameters:
|
|
post:
|
|
- { name: routeID, type: uint64, title: "Route", required: true }
|
|
- { name: weight, type: uint64, title: "Filter priority" }
|
|
- { name: kind, type: string, title: "Filter kind" }
|
|
- { name: ref, type: string, title: "Filter ref" }
|
|
- { name: enabled, type: bool, title: "Is Filter enabled" }
|
|
- { name: params, type: "types.ApigwFilterParams", title: "Filter parameters", parser: "types.ParseApigwfFilterParams" }
|
|
- name: update
|
|
method: POST
|
|
title: Update filter details
|
|
path: "/{filterID}"
|
|
parameters:
|
|
path: [ { name: filterID, type: uint64, required: true, title: "Filter ID" } ]
|
|
post:
|
|
- { name: routeID, type: uint64, title: "Route", required: true }
|
|
- { name: weight, type: uint64, title: "Filter priority" }
|
|
- { name: kind, type: string, title: "Filter kind" }
|
|
- { name: ref, type: string, title: "Filter ref" }
|
|
- { name: enabled, type: bool, title: "Is Filter enabled" }
|
|
- { name: params, type: "types.ApigwFilterParams", title: "Filter parameters", parser: "types.ParseApigwfFilterParams" }
|
|
- name: read
|
|
method: GET
|
|
title: Read filter details
|
|
path: "/{filterID}"
|
|
parameters: { path: [ { name: filterID, type: uint64, required: true, title: "Filter ID" } ] }
|
|
- name: delete
|
|
method: DELETE
|
|
title: Remove filter
|
|
path: "/{filterID}"
|
|
parameters: { path: [ { name: filterID, type: uint64, required: true, title: "Filter ID" } ] }
|
|
- name: undelete
|
|
method: POST
|
|
title: Undelete filter
|
|
path: "/{filterID}/undelete"
|
|
parameters: { path: [ { name: filterID, type: uint64, required: true, title: "Filter ID" } ] }
|
|
- name: defFilter
|
|
method: GET
|
|
title: Filter definitions
|
|
path: "/def"
|
|
parameters:
|
|
get:
|
|
- { name: kind, type: "string", title: "Filter filters by kind" }
|
|
- name: defProxyAuth
|
|
method: GET
|
|
title: Proxy auth definitions
|
|
path: "/proxy_auth/def"
|
|
|
|
- title: Integration gateway profiler
|
|
path: "/apigw/profiler"
|
|
entrypoint: apigwProfiler
|
|
authentication: []
|
|
apis:
|
|
- name: aggregation
|
|
method: GET
|
|
title: List aggregated list of routes
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { name: path, type: "string", title: "Filter by request path" }
|
|
- { name: before, type: "string", title: "Entries before specified route" }
|
|
- { name: sort, type: "string", title: "Sort items" }
|
|
- { name: limit, type: "uint", title: "Limit" }
|
|
- name: route
|
|
method: GET
|
|
title: List hits per route
|
|
path: "/route/{routeID}"
|
|
parameters:
|
|
path:
|
|
- { name: routeID, type: "string", title: "Route ID", required: true }
|
|
get:
|
|
- { name: path, type: "string", title: "Filter by request path" }
|
|
- { name: before, type: "string", title: "Entries before specified hit ID" }
|
|
- { name: sort, type: "string", title: "Sort items" }
|
|
- { name: limit, type: "uint", title: "Limit" }
|
|
- name: hit
|
|
method: GET
|
|
title: Hit details
|
|
path: "/hit/{hitID}"
|
|
parameters: { path: [ { name: hitID, type: string, required: true, title: "Hit ID" } ] }
|
|
|
|
- title: Locale
|
|
entrypoint: locale
|
|
path: "/locale"
|
|
apis:
|
|
- name: list resource
|
|
method: GET
|
|
title: List resources translations
|
|
path: "/resource"
|
|
parameters:
|
|
get:
|
|
- { name: lang, type: string, title: Language }
|
|
- { name: resource, type: string, title: Resource }
|
|
- { name: resourceType, type: string, title: Resource type }
|
|
- { name: ownerID, type: uint64, title: OwnerID }
|
|
- { name: deleted, type: "uint64", title: "Exclude (0, default), include (1) or return only (2) deleted resource translations" }
|
|
- { name: limit, type: "uint", title: "Limit" }
|
|
- { name: pageCursor, type: "string", title: "Page cursor" }
|
|
- { name: sort, type: "string", title: "Sort items" }
|
|
|
|
- name: create resource
|
|
method: POST
|
|
title: Create resource translation
|
|
path: "/resource"
|
|
parameters:
|
|
post:
|
|
- { name: lang, type: string, required: true, title: Lang }
|
|
- { name: resource, type: string, required: true, title: Resource }
|
|
- { name: key, type: string, required: true, title: Key }
|
|
- { name: place, type: int, required: false, title: place }
|
|
- { name: message, type: string, required: true, title: Message }
|
|
- { name: ownerID, type: uint64, title: OwnerID }
|
|
|
|
- name: update resource
|
|
method: PUT
|
|
title: Update resource translation
|
|
path: "/resource/{translationID}"
|
|
parameters:
|
|
path: [ { name: translationID, type: uint64, required: true, title: "ID" } ]
|
|
post:
|
|
- { name: lang, type: string, title: Lang }
|
|
- { name: resource, type: string, title: Resource }
|
|
- { name: key, type: string, title: Key }
|
|
- { name: place, type: int, title: place }
|
|
- { name: message, type: string, title: Message }
|
|
- { name: ownerID, type: uint64, title: OwnerID }
|
|
|
|
- name: read resource
|
|
method: GET
|
|
title: Read resource translation details
|
|
path: "/resource/{translationID}"
|
|
parameters: { path: [ { name: translationID, type: uint64, required: true, title: "ID" } ] }
|
|
- name: delete resource
|
|
method: DELETE
|
|
title: Remove resource translation
|
|
path: "/resource/{translationID}"
|
|
parameters: { path: [ { name: translationID, type: uint64, required: true, title: "ID" } ] }
|
|
- name: undelete resource
|
|
method: POST
|
|
title: Undelete resource translation
|
|
path: "/resource/{translationID}/undelete"
|
|
parameters: { path: [ { name: translationID, type: uint64, required: true, title: "ID" } ] }
|
|
|
|
- name: list
|
|
method: GET
|
|
title: List all available languages
|
|
path: "/"
|
|
- name: get
|
|
method: GET
|
|
title: List all available translation in a language for a specific webapp
|
|
path: "/{lang}/{application}"
|
|
parameters:
|
|
path:
|
|
- { type: string, name: lang, required: true, title: Language }
|
|
- { type: string, name: application, required: true, title: Application name }
|
|
|
|
- title: Data Privacy Request
|
|
entrypoint: dataPrivacyRequest
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/system/types
|
|
path: "/data-privacy/requests"
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List data privacy requests
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { name: requestedBy, type: "[]string", title: "Filter by user ID" }
|
|
- { name: query, type: "string", title: "Filter requests" }
|
|
- { name: kind, type: "[]string", title: "Filter by kind: correct, delete, export" }
|
|
- { name: status, type: "[]string", title: "Filter by status: pending, cancel, approve, reject" }
|
|
- { 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 data privacy request
|
|
path: "/"
|
|
parameters:
|
|
post:
|
|
- { name: kind, type: "string", title: "Request Kind", required: true }
|
|
- { name: payload, type: "types.DataPrivacyRequestPayloadSet", title: Request, required: false, parser: types.ParseDataPrivacyRequestPayload }
|
|
|
|
- name: update status
|
|
method: PATCH
|
|
title: Update data privacy request status
|
|
path: "/{requestID}/status/{status}"
|
|
parameters:
|
|
path:
|
|
- { name: requestID, type: "uint64", title: "ID", required: true }
|
|
- { name: status, type: "string", title: "Request Status", required: true }
|
|
- name: read
|
|
method: GET
|
|
title: Get details about specific request
|
|
path: "/{requestID}"
|
|
parameters:
|
|
path:
|
|
- { name: requestID, type: "uint64", title: "Request ID", required: true }
|
|
|
|
- title: Data Privacy Request Comment
|
|
entrypoint: dataPrivacyRequestComment
|
|
path: "/data-privacy/requests/{requestID}/comments"
|
|
parameters:
|
|
path:
|
|
- { name: requestID, type: "uint64", title: "Request ID", required: true }
|
|
apis:
|
|
- name: list
|
|
method: GET
|
|
title: List data privacy request comments
|
|
path: "/"
|
|
parameters:
|
|
get:
|
|
- { 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 data privacy request comment
|
|
path: "/"
|
|
parameters:
|
|
post:
|
|
- { name: comment, type: "string", title: "Comment description", required: true }
|
|
|
|
- title: Data Privacy
|
|
entrypoint: dataPrivacy
|
|
imports:
|
|
- github.com/cortezaproject/corteza/server/pkg/filter
|
|
path: "/data-privacy"
|
|
apis:
|
|
- name: connection list
|
|
method: GET
|
|
title: List connections for data privacy
|
|
path: "/connection/"
|
|
parameters:
|
|
get:
|
|
- name: connectionID
|
|
type: "[]string"
|
|
required: false
|
|
title: Filter by connection ID
|
|
- type: string
|
|
name: handle
|
|
required: false
|
|
title: Search handle to match against connections
|
|
- type: string
|
|
name: type
|
|
required: false
|
|
title: Search type to match against connections
|
|
- name: deleted
|
|
required: false
|
|
title: Exclude (0, default), include (1) or return only (2) deleted connections
|
|
type: filter.State
|