Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/schemas/api/api.yml
2022-10-10 09:36:08 +02:00

1276 lines
30 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'
/property-editors/list:
get:
operationId: PropertyEditorsListEndpoint
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/PropertyEditorsListResponse'
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/property-editors/property-editor/{propertyEditorAlias}:
get:
operationId: PropertyEditorEndpoint
parameters:
- name: propertyEditorAlias
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/PropertyEditorResponse'
default:
description: default response
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
/property-editors/property-editor/config/{propertyEditorAlias}:
get:
operationId: PropertyEditorConfigEndpoint
parameters:
- name: propertyEditorAlias
in: path
required: true
schema:
type: string
responses:
'200':
description: 200 response
content:
application/json:
schema:
$ref: '#/components/schemas/PropertyEditorConfigResponse'
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
MetaSection:
type: object
properties:
label:
type: string
pathname:
type: string
weight:
type: number
format: float
required:
- label
- pathname
- weight
IManifestSection:
type: object
properties:
type:
type: string
enum:
- section
meta:
$ref: '#/components/schemas/MetaSection'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaSectionView:
type: object
properties:
sections:
type: array
items:
type: string
label:
type: string
pathname:
type: string
weight:
type: number
format: float
icon:
type: string
required:
- sections
- label
- pathname
- weight
- icon
IManifestSectionView:
type: object
properties:
type:
type: string
enum:
- sectionView
meta:
$ref: '#/components/schemas/MetaSectionView'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaTree:
type: object
properties:
weight:
type: number
format: float
sections:
type: array
items:
type: string
required:
- weight
- sections
IManifestTree:
type: object
properties:
type:
type: string
enum:
- tree
meta:
$ref: '#/components/schemas/MetaTree'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaEditor:
type: object
properties:
entityType:
type: string
required:
- entityType
IManifestEditor:
type: object
properties:
type:
type: string
enum:
- editor
meta:
$ref: '#/components/schemas/MetaEditor'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaEditorAction:
type: object
properties:
editors:
type: array
items:
type: string
required:
- editors
IManifestEditorAction:
type: object
properties:
type:
type: string
enum:
- editorAction
meta:
$ref: '#/components/schemas/MetaEditorAction'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaEditorView:
type: object
properties:
editors:
type: array
items:
type: string
pathname:
type: string
weight:
type: number
format: float
label:
type: string
icon:
type: string
required:
- editors
- pathname
- weight
- label
- icon
IManifestEditorView:
type: object
properties:
type:
type: string
enum:
- editorView
meta:
$ref: '#/components/schemas/MetaEditorView'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaTreeItemAction:
type: object
properties:
trees:
type: array
items:
type: string
label:
type: string
icon:
type: string
weight:
type: number
format: float
required:
- trees
- label
- icon
- weight
IManifestTreeItemAction:
type: object
properties:
type:
type: string
enum:
- treeItemAction
meta:
$ref: '#/components/schemas/MetaTreeItemAction'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
PropertyEditorConfigProperty:
type: object
properties:
label:
type: string
description:
type: string
alias:
type: string
propertyEditorUI:
type: string
required:
- label
- alias
- propertyEditorUI
PropertyEditorConfigDefaultData:
type: object
properties:
alias:
type: string
value:
nullable: true
oneOf:
- type: string
- type: number
format: float
- type: boolean
- type: object
- type: array
items:
type: string
- type: array
items:
type: number
format: float
- type: array
items:
type: boolean
- type: array
items:
type: object
required:
- alias
- value
PropertyEditorConfig:
type: object
properties:
properties:
type: array
items:
$ref: '#/components/schemas/PropertyEditorConfigProperty'
defaultData:
type: array
items:
$ref: '#/components/schemas/PropertyEditorConfigDefaultData'
required:
- properties
MetaPropertyEditorUI:
type: object
properties:
label:
type: string
propertyEditor:
type: string
icon:
type: string
group:
type: string
config:
$ref: '#/components/schemas/PropertyEditorConfig'
required:
- label
- propertyEditor
- icon
- group
IManifestPropertyEditorUI:
type: object
properties:
type:
type: string
enum:
- propertyEditorUI
meta:
$ref: '#/components/schemas/MetaPropertyEditorUI'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaDashboard:
type: object
properties:
sections:
type: array
items:
type: string
pathname:
type: string
weight:
type: number
format: float
label:
type: string
required:
- sections
- pathname
- weight
IManifestDashboard:
type: object
properties:
type:
type: string
enum:
- dashboard
meta:
$ref: '#/components/schemas/MetaDashboard'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaPropertyAction:
type: object
properties:
propertyEditors:
type: array
items:
type: string
required:
- propertyEditors
IManifestPropertyAction:
type: object
properties:
type:
type: string
enum:
- propertyAction
meta:
$ref: '#/components/schemas/MetaPropertyAction'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
MetaPackageView:
type: object
properties:
packageAlias:
type: string
required:
- packageAlias
IManifestPackageView:
type: object
properties:
type:
type: string
enum:
- packageView
meta:
$ref: '#/components/schemas/MetaPackageView'
js:
type: string
elementName:
type: string
alias:
type: string
name:
type: string
required:
- type
- meta
- alias
- name
IManifestEntrypoint:
type: object
properties:
type:
type: string
enum:
- entrypoint
js:
type: string
alias:
type: string
name:
type: string
required:
- type
- js
- alias
- name
IManifestCustom:
type: object
properties:
type:
type: string
enum:
- custom
meta:
type: object
alias:
type: string
name:
type: string
required:
- type
- alias
- name
Manifest:
oneOf:
- $ref: '#/components/schemas/IManifestSection'
- $ref: '#/components/schemas/IManifestSectionView'
- $ref: '#/components/schemas/IManifestTree'
- $ref: '#/components/schemas/IManifestEditor'
- $ref: '#/components/schemas/IManifestEditorAction'
- $ref: '#/components/schemas/IManifestEditorView'
- $ref: '#/components/schemas/IManifestTreeItemAction'
- $ref: '#/components/schemas/IManifestPropertyEditorUI'
- $ref: '#/components/schemas/IManifestDashboard'
- $ref: '#/components/schemas/IManifestPropertyAction'
- $ref: '#/components/schemas/IManifestPackageView'
- $ref: '#/components/schemas/IManifestEntrypoint'
- $ref: '#/components/schemas/IManifestCustom'
discriminator:
propertyName: type
mapping:
section: '#/components/schemas/IManifestSection'
sectionView: '#/components/schemas/IManifestSectionView'
tree: '#/components/schemas/IManifestTree'
editor: '#/components/schemas/IManifestEditor'
editorAction: '#/components/schemas/IManifestEditorAction'
editorView: '#/components/schemas/IManifestEditorView'
treeItemAction: '#/components/schemas/IManifestTreeItemAction'
propertyEditorUI: '#/components/schemas/IManifestPropertyEditorUI'
dashboard: '#/components/schemas/IManifestDashboard'
propertyAction: '#/components/schemas/IManifestPropertyAction'
packageView: '#/components/schemas/IManifestPackageView'
entrypoint: '#/components/schemas/IManifestEntrypoint'
custom: '#/components/schemas/IManifestCustom'
ManifestsResponse:
type: object
properties:
manifests:
type: array
items:
$ref: '#/components/schemas/Manifest'
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
PropertyEditor:
type: object
properties:
alias:
type: string
name:
type: string
icon:
type: string
group:
type: string
isSystem:
type: boolean
hasConfig:
type: boolean
config:
$ref: '#/components/schemas/PropertyEditorConfig'
required:
- alias
- name
- icon
- isSystem
- hasConfig
PropertyEditorsListResponse:
type: object
properties:
propertyEditors:
type: array
items:
$ref: '#/components/schemas/PropertyEditor'
required:
- propertyEditors
PropertyEditorResponse:
type: object
properties:
alias:
type: string
name:
type: string
icon:
type: string
group:
type: string
isSystem:
type: boolean
hasConfig:
type: boolean
config:
$ref: '#/components/schemas/PropertyEditorConfig'
required:
- alias
- name
- icon
- isSystem
- hasConfig
PropertyEditorConfigResponse:
type: object
properties:
properties:
type: array
items:
$ref: '#/components/schemas/PropertyEditorConfigProperty'
defaultData:
type: array
items:
$ref: '#/components/schemas/PropertyEditorConfigDefaultData'
required:
- properties
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