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

654 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'
/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'
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:
pathname:
type: string
weight:
type: number
format: float
required:
- pathname
- weight
IManifestSection:
type: object
properties:
type:
type: string
enum:
- section
meta:
$ref: '#/components/schemas/MetaSection'
name:
type: string
js:
type: string
elementName:
type: string
alias:
type: string
required:
- type
- meta
- name
- elementName
- alias
MetaPropertyEditorUI:
type: object
properties:
icon:
type: string
group:
type: string
required:
- icon
- group
IManifestPropertyEditorUI:
type: object
properties:
type:
type: string
enum:
- propertyEditorUI
meta:
$ref: '#/components/schemas/MetaPropertyEditorUI'
name:
type: string
js:
type: string
elementName:
type: string
alias:
type: string
required:
- type
- meta
- name
- elementName
- alias
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'
name:
type: string
js:
type: string
elementName:
type: string
alias:
type: string
required:
- type
- meta
- name
- elementName
- alias
MetaEditorView:
type: object
properties:
editors:
type: array
items:
type: string
pathname:
type: string
weight:
type: number
format: float
icon:
type: string
required:
- editors
- pathname
- weight
- icon
IManifestEditorView:
type: object
properties:
type:
type: string
enum:
- editorView
meta:
$ref: '#/components/schemas/MetaEditorView'
name:
type: string
js:
type: string
elementName:
type: string
alias:
type: string
required:
- type
- meta
- name
- elementName
- alias
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'
name:
type: string
js:
type: string
elementName:
type: string
alias:
type: string
required:
- type
- meta
- name
- elementName
- alias
IManifestEntrypoint:
type: object
properties:
type:
type: string
enum:
- entrypoint
js:
type: string
alias:
type: string
required:
- type
- js
- alias
Manifest:
oneOf:
- $ref: '#/components/schemas/IManifestSection'
- $ref: '#/components/schemas/IManifestPropertyEditorUI'
- $ref: '#/components/schemas/IManifestDashboard'
- $ref: '#/components/schemas/IManifestEditorView'
- $ref: '#/components/schemas/IManifestPropertyAction'
- $ref: '#/components/schemas/IManifestEntrypoint'
discriminator:
propertyName: type
mapping:
section: '#/components/schemas/IManifestSection'
propertyEditorUI: '#/components/schemas/IManifestPropertyEditorUI'
dashboard: '#/components/schemas/IManifestDashboard'
editorView: '#/components/schemas/IManifestEditorView'
propertyAction: '#/components/schemas/IManifestPropertyAction'
entrypoint: '#/components/schemas/IManifestEntrypoint'
ManifestsResponse:
type: object
properties:
manifests:
type: array
items:
$ref: '#/components/schemas/Manifest'
required:
- manifests
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