halo/api-docs/openapi/v3_0/apis_uc.api_v1alpha1.json

1978 lines
48 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "Halo",
"version": "2.17.0-SNAPSHOT"
},
"servers": [
{
"url": "http://localhost:8091",
"description": "Generated server url"
}
],
"security": [
{
"basicAuth": [],
"bearerAuth": []
}
],
"paths": {
"/apis/uc.api.content.halo.run/v1alpha1/attachments": {
"post": {
"description": "Create attachment for the given post.",
"operationId": "CreateAttachmentForPost",
"parameters": [
{
"description": "Wait for permalink.",
"in": "query",
"name": "waitForPermalink",
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/PostAttachmentRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Attachment"
}
}
},
"description": "default response"
}
},
"tags": [
"AttachmentV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/posts": {
"get": {
"description": "List posts owned by the current user.",
"operationId": "ListMyPosts",
"parameters": [
{
"description": "Page number. Default is 0.",
"in": "query",
"name": "page",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Size number. Default is 0.",
"in": "query",
"name": "size",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Label selector. e.g.: hidden!\u003dtrue",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
"in": "query",
"name": "sort",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Posts filtered by publish phase.",
"in": "query",
"name": "publishPhase",
"schema": {
"type": "string",
"enum": [
"DRAFT",
"PENDING_APPROVAL",
"PUBLISHED",
"FAILED"
]
}
},
{
"description": "Posts filtered by keyword.",
"in": "query",
"name": "keyword",
"schema": {
"type": "string"
}
},
{
"description": "Posts filtered by category including sub-categories.",
"in": "query",
"name": "categoryWithChildren",
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ListedPostList"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
},
"post": {
"description": "Create my post. If you want to create a post with content, please set\n annotation: \"content.halo.run/content-json\" into annotations and refer\n to Content for corresponding data type.\n",
"operationId": "CreateMyPost",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/posts/{name}": {
"get": {
"description": "Get post that belongs to the current user.",
"operationId": "GetMyPost",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
},
"put": {
"description": "Update my post.",
"operationId": "UpdateMyPost",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/draft": {
"get": {
"description": "Get my post draft.",
"operationId": "GetMyPostDraft",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Should include patched content and raw or not.",
"in": "query",
"name": "patched",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Snapshot"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
},
"put": {
"description": "Update draft of my post. Please make sure set annotation:\n\"content.halo.run/content-json\" into annotations and refer to\nContent for corresponding data type.\n",
"operationId": "UpdateMyPostDraft",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Snapshot"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Snapshot"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/publish": {
"put": {
"description": "Publish my post.",
"operationId": "PublishMyPost",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/unpublish": {
"put": {
"description": "Unpublish my post.",
"operationId": "UnpublishMyPost",
"parameters": [
{
"description": "Post name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Post"
}
}
},
"description": "default response"
}
},
"tags": [
"PostV1alpha1Uc"
]
}
},
"/apis/uc.api.content.halo.run/v1alpha1/snapshots/{name}": {
"get": {
"description": "Get snapshot for one post.",
"operationId": "GetSnapshotForPost",
"parameters": [
{
"description": "Snapshot name.",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Post name.",
"in": "query",
"name": "postName",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Should include patched content and raw or not.",
"in": "query",
"name": "patched",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Snapshot"
}
}
},
"description": "default response"
}
},
"tags": [
"SnapshotV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings": {
"get": {
"description": "Get Two-factor authentication settings.",
"operationId": "GetTwoFactorAuthenticationSettings",
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TwoFactorAuthSettings"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings/disabled": {
"put": {
"description": "Disable Two-factor authentication",
"operationId": "DisableTwoFactor",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PasswordRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TwoFactorAuthSettings"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings/enabled": {
"put": {
"description": "Enable Two-factor authentication",
"operationId": "EnableTwoFactor",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PasswordRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TwoFactorAuthSettings"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp": {
"post": {
"description": "Configure a TOTP",
"operationId": "ConfigurerTotp",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TotpRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TwoFactorAuthSettings"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp/-": {
"delete": {
"operationId": "DeleteTotp",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PasswordRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TwoFactorAuthSettings"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp/auth-link": {
"get": {
"description": "Get TOTP auth link, including secret",
"operationId": "GetTotpAuthLink",
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TotpAuthLinkResponse"
}
}
},
"description": "default response"
}
},
"tags": [
"TwoFactorAuthV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/devices": {
"get": {
"description": "List all user devices",
"operationId": "ListDevices",
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserDevice"
}
}
}
},
"description": "default response"
}
},
"tags": [
"DeviceV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/devices/{deviceId}": {
"delete": {
"description": "Revoke a own device",
"operationId": "RevokeDevice",
"parameters": [
{
"description": "Device ID",
"in": "path",
"name": "deviceId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204 NO_CONTENT": {
"description": "default response"
}
},
"tags": [
"DeviceV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens": {
"get": {
"description": "Obtain PAT list.",
"operationId": "ObtainPats",
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
}
},
"description": "default response"
}
},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
},
"post": {
"description": "Generate a PAT.",
"operationId": "GeneratePat",
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PersonalAccessToken"
}
}
},
"description": "default response"
}
},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}": {
"delete": {
"description": "Delete a PAT",
"operationId": "DeletePat",
"parameters": [
{
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
},
"get": {
"description": "Obtain a PAT.",
"operationId": "ObtainPat",
"parameters": [
{
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}/actions/restoration": {
"put": {
"description": "Restore a PAT.",
"operationId": "RestorePat",
"parameters": [
{
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
}
},
"/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}/actions/revocation": {
"put": {
"description": "Revoke a PAT",
"operationId": "RevokePat",
"parameters": [
{
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {},
"tags": [
"PersonalAccessTokenV1alpha1Uc"
]
}
}
},
"components": {
"schemas": {
"AddOperation": {
"required": [
"op",
"path",
"value"
],
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"add"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
},
"value": {
"description": "Value can be any JSON value"
}
}
},
"Attachment": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/AttachmentSpec"
},
"status": {
"$ref": "#/components/schemas/AttachmentStatus"
}
}
},
"AttachmentSpec": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"description": "Display name of attachment"
},
"groupName": {
"type": "string",
"description": "Group name"
},
"mediaType": {
"type": "string",
"description": "Media type of attachment"
},
"ownerName": {
"type": "string",
"description": "Name of User who uploads the attachment"
},
"policyName": {
"type": "string",
"description": "Policy name"
},
"size": {
"minimum": 0,
"type": "integer",
"description": "Size of attachment. Unit is Byte",
"format": "int64"
},
"tags": {
"uniqueItems": true,
"type": "array",
"description": "Tags of attachment",
"items": {
"type": "string",
"description": "Tag name"
}
}
}
},
"AttachmentStatus": {
"type": "object",
"properties": {
"permalink": {
"type": "string",
"description": "Permalink of attachment.\nIf it is in local storage, the public URL will be set.\nIf it is in s3 storage, the Object URL will be set.\n"
}
}
},
"Category": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/CategorySpec"
},
"status": {
"$ref": "#/components/schemas/CategoryStatus"
}
}
},
"CategorySpec": {
"required": [
"displayName",
"priority",
"slug"
],
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"type": "string"
}
},
"cover": {
"type": "string"
},
"description": {
"type": "string"
},
"displayName": {
"minLength": 1,
"type": "string"
},
"hideFromList": {
"type": "boolean"
},
"postTemplate": {
"maxLength": 255,
"type": "string"
},
"preventParentPostCascadeQuery": {
"type": "boolean"
},
"priority": {
"type": "integer",
"format": "int32",
"default": 0
},
"slug": {
"minLength": 1,
"type": "string"
},
"template": {
"maxLength": 255,
"type": "string"
}
}
},
"CategoryStatus": {
"type": "object",
"properties": {
"permalink": {
"type": "string"
},
"postCount": {
"type": "integer",
"format": "int32"
},
"visiblePostCount": {
"type": "integer",
"format": "int32"
}
}
},
"Condition": {
"required": [
"lastTransitionTime",
"status",
"type"
],
"type": "object",
"properties": {
"lastTransitionTime": {
"type": "string",
"format": "date-time"
},
"message": {
"maxLength": 32768,
"type": "string"
},
"reason": {
"maxLength": 1024,
"pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
"type": "string"
},
"status": {
"type": "string",
"enum": [
"TRUE",
"FALSE",
"UNKNOWN"
]
},
"type": {
"maxLength": 316,
"pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
"type": "string"
}
}
},
"Contributor": {
"type": "object",
"properties": {
"avatar": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"CopyOperation": {
"required": [
"op",
"from",
"path"
],
"type": "object",
"properties": {
"from": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
},
"op": {
"type": "string",
"enum": [
"copy"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
}
}
},
"Device": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec",
"status"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/DeviceSpec"
},
"status": {
"$ref": "#/components/schemas/DeviceStatus"
}
}
},
"DeviceSpec": {
"required": [
"ipAddress",
"principalName",
"sessionId"
],
"type": "object",
"properties": {
"ipAddress": {
"maxLength": 129,
"type": "string"
},
"lastAccessedTime": {
"type": "string",
"format": "date-time"
},
"lastAuthenticatedTime": {
"type": "string",
"format": "date-time"
},
"principalName": {
"minLength": 1,
"type": "string"
},
"rememberMeSeriesId": {
"type": "string"
},
"sessionId": {
"minLength": 1,
"type": "string"
},
"userAgent": {
"maxLength": 500,
"type": "string"
}
}
},
"DeviceStatus": {
"type": "object",
"properties": {
"browser": {
"type": "string"
},
"os": {
"type": "string"
}
}
},
"Excerpt": {
"required": [
"autoGenerate"
],
"type": "object",
"properties": {
"autoGenerate": {
"type": "boolean",
"default": true
},
"raw": {
"type": "string"
}
}
},
"JsonPatch": {
"minItems": 1,
"uniqueItems": true,
"type": "array",
"description": "JSON schema for JSONPatch operations",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/AddOperation"
},
{
"$ref": "#/components/schemas/ReplaceOperation"
},
{
"$ref": "#/components/schemas/TestOperation"
},
{
"$ref": "#/components/schemas/RemoveOperation"
},
{
"$ref": "#/components/schemas/MoveOperation"
},
{
"$ref": "#/components/schemas/CopyOperation"
}
]
}
},
"ListedPost": {
"required": [
"categories",
"contributors",
"owner",
"post",
"stats",
"tags"
],
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Category"
}
},
"contributors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Contributor"
}
},
"owner": {
"$ref": "#/components/schemas/Contributor"
},
"post": {
"$ref": "#/components/schemas/Post"
},
"stats": {
"$ref": "#/components/schemas/Stats"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tag"
}
}
},
"description": "A chunk of items."
},
"ListedPostList": {
"required": [
"first",
"hasNext",
"hasPrevious",
"items",
"last",
"page",
"size",
"total",
"totalPages"
],
"type": "object",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether current page is the first page."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether current page has previous page."
},
"hasPrevious": {
"type": "boolean",
"description": "Indicates whether current page has previous page."
},
"items": {
"type": "array",
"description": "A chunk of items.",
"items": {
"$ref": "#/components/schemas/ListedPost"
}
},
"last": {
"type": "boolean",
"description": "Indicates whether current page is the last page."
},
"page": {
"type": "integer",
"description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
"format": "int32"
},
"size": {
"type": "integer",
"description": "Size of each page. If not set or equal to 0, it means no pagination.",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total elements.",
"format": "int64"
},
"totalPages": {
"type": "integer",
"description": "Indicates total pages.",
"format": "int64"
}
}
},
"Metadata": {
"required": [
"name"
],
"type": "object",
"properties": {
"annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"creationTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletionTimestamp": {
"type": "string",
"format": "date-time",
"nullable": true
},
"finalizers": {
"uniqueItems": true,
"type": "array",
"nullable": true,
"items": {
"type": "string",
"nullable": true
}
},
"generateName": {
"type": "string",
"description": "The name field will be generated automatically according to the given generateName field"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"name": {
"type": "string",
"description": "Metadata name"
},
"version": {
"type": "integer",
"format": "int64",
"nullable": true
}
}
},
"MoveOperation": {
"required": [
"op",
"from",
"path"
],
"type": "object",
"properties": {
"from": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
},
"op": {
"type": "string",
"enum": [
"move"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
}
}
},
"PasswordRequest": {
"required": [
"password"
],
"type": "object",
"properties": {
"password": {
"type": "string"
}
}
},
"PatSpec": {
"required": [
"name",
"tokenId",
"username"
],
"type": "object",
"properties": {
"description": {
"type": "string"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"lastUsed": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string"
},
"revoked": {
"type": "boolean"
},
"revokesAt": {
"type": "string",
"format": "date-time"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"tokenId": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"PersonalAccessToken": {
"required": [
"apiVersion",
"kind",
"metadata"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/PatSpec"
}
}
},
"Post": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/PostSpec"
},
"status": {
"$ref": "#/components/schemas/PostStatus"
}
}
},
"PostAttachmentRequest": {
"required": [
"file"
],
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
},
"postName": {
"type": "string",
"description": "Post name."
},
"singlePageName": {
"type": "string",
"description": "Single page name."
}
}
},
"PostSpec": {
"required": [
"allowComment",
"deleted",
"excerpt",
"pinned",
"priority",
"publish",
"slug",
"title",
"visible"
],
"type": "object",
"properties": {
"allowComment": {
"type": "boolean",
"default": true
},
"baseSnapshot": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "string"
}
},
"cover": {
"type": "string"
},
"deleted": {
"type": "boolean",
"default": false
},
"excerpt": {
"$ref": "#/components/schemas/Excerpt"
},
"headSnapshot": {
"type": "string"
},
"htmlMetas": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"owner": {
"type": "string"
},
"pinned": {
"type": "boolean",
"default": false
},
"priority": {
"type": "integer",
"format": "int32",
"default": 0
},
"publish": {
"type": "boolean",
"default": false
},
"publishTime": {
"type": "string",
"format": "date-time"
},
"releaseSnapshot": {
"type": "string"
},
"slug": {
"minLength": 1,
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"template": {
"type": "string"
},
"title": {
"minLength": 1,
"type": "string"
},
"visible": {
"type": "string",
"enum": [
"PUBLIC",
"INTERNAL",
"PRIVATE"
],
"default": "PUBLIC"
}
}
},
"PostStatus": {
"required": [
"phase"
],
"type": "object",
"properties": {
"commentsCount": {
"type": "integer",
"format": "int32"
},
"conditions": {
"type": "array",
"properties": {
"empty": {
"type": "boolean"
}
},
"items": {
"$ref": "#/components/schemas/Condition"
}
},
"contributors": {
"type": "array",
"items": {
"type": "string"
}
},
"excerpt": {
"type": "string"
},
"hideFromList": {
"type": "boolean"
},
"inProgress": {
"type": "boolean"
},
"lastModifyTime": {
"type": "string",
"format": "date-time"
},
"observedVersion": {
"type": "integer",
"format": "int64"
},
"permalink": {
"type": "string"
},
"phase": {
"type": "string"
}
}
},
"Ref": {
"required": [
"name"
],
"type": "object",
"properties": {
"group": {
"type": "string",
"description": "Extension group"
},
"kind": {
"type": "string",
"description": "Extension kind"
},
"name": {
"type": "string",
"description": "Extension name. This field is mandatory"
},
"version": {
"type": "string",
"description": "Extension version"
}
},
"description": "Extension reference object. The name is mandatory"
},
"RemoveOperation": {
"required": [
"op",
"path"
],
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"remove"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
}
}
},
"ReplaceOperation": {
"required": [
"op",
"path",
"value"
],
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"replace"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
},
"value": {
"description": "Value can be any JSON value"
}
}
},
"SnapShotSpec": {
"required": [
"owner",
"rawType",
"subjectRef"
],
"type": "object",
"properties": {
"contentPatch": {
"type": "string"
},
"contributors": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
},
"lastModifyTime": {
"type": "string",
"format": "date-time"
},
"owner": {
"minLength": 1,
"type": "string"
},
"parentSnapshotName": {
"type": "string"
},
"rawPatch": {
"type": "string"
},
"rawType": {
"maxLength": 50,
"minLength": 1,
"type": "string"
},
"subjectRef": {
"$ref": "#/components/schemas/Ref"
}
}
},
"Snapshot": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/SnapShotSpec"
}
}
},
"Stats": {
"type": "object",
"properties": {
"approvedComment": {
"type": "integer",
"format": "int32"
},
"totalComment": {
"type": "integer",
"format": "int32"
},
"upvote": {
"type": "integer",
"format": "int32"
},
"visit": {
"type": "integer",
"format": "int32"
}
}
},
"Tag": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/TagSpec"
},
"status": {
"$ref": "#/components/schemas/TagStatus"
}
}
},
"TagSpec": {
"required": [
"displayName",
"slug"
],
"type": "object",
"properties": {
"color": {
"pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
"type": "string"
},
"cover": {
"type": "string"
},
"displayName": {
"minLength": 1,
"type": "string"
},
"slug": {
"minLength": 1,
"type": "string"
}
}
},
"TagStatus": {
"type": "object",
"properties": {
"observedVersion": {
"type": "integer",
"format": "int64"
},
"permalink": {
"type": "string"
},
"postCount": {
"type": "integer",
"format": "int32"
},
"visiblePostCount": {
"type": "integer",
"format": "int32"
}
}
},
"TestOperation": {
"required": [
"op",
"path",
"value"
],
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"test"
]
},
"path": {
"pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
"type": "string",
"description": "A JSON Pointer path pointing to the location to move/copy from.",
"example": "/a/b/c"
},
"value": {
"description": "Value can be any JSON value"
}
}
},
"TotpAuthLinkResponse": {
"type": "object",
"properties": {
"authLink": {
"type": "string",
"format": "uri"
},
"rawSecret": {
"type": "string"
}
}
},
"TotpRequest": {
"required": [
"code",
"password",
"secret"
],
"type": "object",
"properties": {
"code": {
"type": "string"
},
"password": {
"type": "string"
},
"secret": {
"type": "string"
}
}
},
"TwoFactorAuthSettings": {
"type": "object",
"properties": {
"available": {
"type": "boolean"
},
"emailVerified": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"totpConfigured": {
"type": "boolean"
}
}
},
"UserDevice": {
"required": [
"active",
"currentDevice",
"device"
],
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"currentDevice": {
"type": "boolean"
},
"device": {
"$ref": "#/components/schemas/Device"
}
}
}
},
"securitySchemes": {
"basicAuth": {
"scheme": "basic",
"type": "http"
},
"bearerAuth": {
"bearerFormat": "JWT",
"scheme": "bearer",
"type": "http"
}
}
}
}