625 lines
15 KiB
YAML
625 lines
15 KiB
YAML
openapi: 3.0.2
|
|
info:
|
|
title: umbraco-backoffice-api
|
|
version: 1.0.0
|
|
paths:
|
|
/install/settings:
|
|
get:
|
|
operationId: GetInstallSettings
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InstallSettingsResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/install/setup:
|
|
post:
|
|
operationId: PostInstallSetup
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InstallSetupRequest'
|
|
required: true
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/install/validateDatabase:
|
|
post:
|
|
operationId: PostInstallValidateDatabase
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/InstallSetupDatabaseConfiguration'
|
|
required: true
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/manifests:
|
|
get:
|
|
operationId: Manifests
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ManifestsResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/manifests/packages:
|
|
get:
|
|
operationId: ManifestsPackages
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/manifests/packages/installed:
|
|
get:
|
|
operationId: ManifestsPackagesInstalled
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ManifestsPackagesInstalledResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/published-cache/status:
|
|
get:
|
|
operationId: PublishedCacheStatus
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/published-cache/reload:
|
|
post:
|
|
operationId: PublishedCacheReload
|
|
parameters: []
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/published-cache/rebuild:
|
|
post:
|
|
operationId: PublishedCacheRebuild
|
|
parameters: []
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/published-cache/collect:
|
|
get:
|
|
operationId: PublishedCacheCollect
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/server/status:
|
|
get:
|
|
operationId: GetStatus
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/StatusResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/server/version:
|
|
get:
|
|
operationId: GetVersion
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/VersionResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/upgrade/settings:
|
|
get:
|
|
operationId: GetUpgradeSettings
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UpgradeSettingsResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/upgrade/authorize:
|
|
post:
|
|
operationId: PostUpgradeAuthorize
|
|
parameters: []
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/user:
|
|
get:
|
|
operationId: GetUser
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserResponse'
|
|
'403':
|
|
description: 403 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/user/login:
|
|
post:
|
|
operationId: PostUserLogin
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UserLoginRequest'
|
|
required: true
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'403':
|
|
description: 403 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/user/logout:
|
|
post:
|
|
operationId: PostUserLogout
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/user/sections:
|
|
get:
|
|
operationId: GetAllowedSections
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AllowedSectionsResponse'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/telemetry/ConsentLevel:
|
|
get:
|
|
operationId: GetConsentLevel
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConsentLevelSettings'
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
post:
|
|
operationId: PostConsentLevel
|
|
parameters: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ConsentLevelSettings'
|
|
required: true
|
|
responses:
|
|
'201':
|
|
description: 201 response
|
|
'400':
|
|
description: 400 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
/telemetry/ConsentLevels:
|
|
get:
|
|
operationId: ConsentLevels
|
|
responses:
|
|
'200':
|
|
description: 200 response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
default:
|
|
description: default response
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProblemDetails'
|
|
components:
|
|
schemas:
|
|
ConsentLevel:
|
|
type: string
|
|
enum:
|
|
- Minimal
|
|
- Basic
|
|
- Detailed
|
|
TelemetryModel:
|
|
type: object
|
|
properties:
|
|
level:
|
|
$ref: '#/components/schemas/ConsentLevel'
|
|
description:
|
|
type: string
|
|
required:
|
|
- level
|
|
- description
|
|
InstallUserModel:
|
|
type: object
|
|
properties:
|
|
minCharLength:
|
|
type: number
|
|
format: float
|
|
minNonAlphaNumericLength:
|
|
type: number
|
|
format: float
|
|
consentLevels:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TelemetryModel'
|
|
required:
|
|
- minCharLength
|
|
- minNonAlphaNumericLength
|
|
- consentLevels
|
|
InstallDatabaseModel:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
sortOrder:
|
|
type: number
|
|
format: float
|
|
displayName:
|
|
type: string
|
|
defaultDatabaseName:
|
|
type: string
|
|
providerName:
|
|
type: string
|
|
nullable: true
|
|
isConfigured:
|
|
type: boolean
|
|
requiresServer:
|
|
type: boolean
|
|
serverPlaceholder:
|
|
type: string
|
|
nullable: true
|
|
requiresCredentials:
|
|
type: boolean
|
|
supportsIntegratedAuthentication:
|
|
type: boolean
|
|
requiresConnectionTest:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- sortOrder
|
|
- displayName
|
|
- defaultDatabaseName
|
|
- providerName
|
|
- isConfigured
|
|
- requiresServer
|
|
- serverPlaceholder
|
|
- requiresCredentials
|
|
- supportsIntegratedAuthentication
|
|
- requiresConnectionTest
|
|
InstallSettingsResponse:
|
|
type: object
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/InstallUserModel'
|
|
databases:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/InstallDatabaseModel'
|
|
required:
|
|
- user
|
|
- databases
|
|
ProblemDetails:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
status:
|
|
type: number
|
|
format: float
|
|
title:
|
|
type: string
|
|
detail:
|
|
type: string
|
|
instance:
|
|
type: string
|
|
errors:
|
|
type: object
|
|
required:
|
|
- type
|
|
- status
|
|
InstallSetupUserConfiguration:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
email:
|
|
type: string
|
|
password:
|
|
type: string
|
|
subscribeToNewsletter:
|
|
type: boolean
|
|
required:
|
|
- name
|
|
- email
|
|
- password
|
|
- subscribeToNewsletter
|
|
InstallSetupDatabaseConfiguration:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
server:
|
|
type: string
|
|
nullable: true
|
|
password:
|
|
type: string
|
|
nullable: true
|
|
username:
|
|
type: string
|
|
nullable: true
|
|
name:
|
|
type: string
|
|
nullable: true
|
|
providerName:
|
|
type: string
|
|
nullable: true
|
|
useIntegratedAuthentication:
|
|
type: boolean
|
|
nullable: true
|
|
connectionString:
|
|
type: string
|
|
nullable: true
|
|
InstallSetupRequest:
|
|
type: object
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/InstallSetupUserConfiguration'
|
|
telemetryLevel:
|
|
$ref: '#/components/schemas/ConsentLevel'
|
|
database:
|
|
$ref: '#/components/schemas/InstallSetupDatabaseConfiguration'
|
|
required:
|
|
- user
|
|
- telemetryLevel
|
|
ManifestsResponse:
|
|
type: object
|
|
properties:
|
|
manifests:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- manifests
|
|
PackageInstalled:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
alias:
|
|
type: string
|
|
version:
|
|
type: string
|
|
hasMigrations:
|
|
type: boolean
|
|
hasPendingMigrations:
|
|
type: boolean
|
|
plans:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- id
|
|
- name
|
|
- alias
|
|
- version
|
|
- hasMigrations
|
|
- hasPendingMigrations
|
|
- plans
|
|
ManifestsPackagesInstalledResponse:
|
|
type: object
|
|
properties:
|
|
packages:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PackageInstalled'
|
|
required:
|
|
- packages
|
|
ServerStatus:
|
|
type: string
|
|
enum:
|
|
- running
|
|
- must-install
|
|
- must-upgrade
|
|
StatusResponse:
|
|
type: object
|
|
properties:
|
|
serverStatus:
|
|
$ref: '#/components/schemas/ServerStatus'
|
|
required:
|
|
- serverStatus
|
|
VersionResponse:
|
|
type: object
|
|
properties:
|
|
version:
|
|
type: string
|
|
required:
|
|
- version
|
|
UpgradeSettingsResponse:
|
|
type: object
|
|
properties:
|
|
currentState:
|
|
type: string
|
|
newState:
|
|
type: string
|
|
newVersion:
|
|
type: string
|
|
oldVersion:
|
|
type: string
|
|
reportUrl:
|
|
type: string
|
|
required:
|
|
- currentState
|
|
- newState
|
|
- newVersion
|
|
- oldVersion
|
|
- reportUrl
|
|
UserResponse:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
role:
|
|
type: string
|
|
required:
|
|
- username
|
|
- role
|
|
UserLoginRequest:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
password:
|
|
type: string
|
|
persist:
|
|
type: boolean
|
|
required:
|
|
- username
|
|
- password
|
|
- persist
|
|
AllowedSectionsResponse:
|
|
type: object
|
|
properties:
|
|
sections:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- sections
|
|
ConsentLevelSettings:
|
|
type: object
|
|
properties:
|
|
telemetryLevel:
|
|
$ref: '#/components/schemas/ConsentLevel'
|
|
required:
|
|
- telemetryLevel
|