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

3046 lines
80 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{
"openapi": "3.0.1",
"info": {
"title": "Halo",
"version": "2.21.0-SNAPSHOT"
},
"servers": [
{
"url": "http://localhost:8091",
"description": "Generated server url"
}
],
"security": [
{
"basicAuth": [],
"bearerAuth": []
}
],
"paths": {
"/apis/api.notification.halo.run/v1alpha1/notifiers/{name}/receiver-config": {
"get": {
"description": "Fetch receiver config of notifier",
"operationId": "FetchReceiverConfig",
"parameters": [
{
"description": "Notifier name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "object"
}
}
},
"description": "default response"
}
},
"tags": [
"NotifierV1alpha1Uc"
]
},
"post": {
"description": "Save receiver config of notifier",
"operationId": "SaveReceiverConfig",
"parameters": [
{
"description": "Notifier name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {},
"description": "default response"
}
},
"tags": [
"NotifierV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notification-preferences": {
"get": {
"description": "List notification preferences for the authenticated user.",
"operationId": "ListUserNotificationPreferences",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
},
"post": {
"description": "Save notification preferences for the authenticated user.",
"operationId": "SaveUserNotificationPreferences",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierCollectionRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications": {
"get": {
"description": "List notifications for the authenticated user.",
"operationId": "ListUserNotifications",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"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"
}
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/NotificationList"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/-/mark-specified-as-read": {
"put": {
"description": "Mark the specified notifications as read.",
"operationId": "MarkNotificationsAsRead",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MarkSpecifiedRequest"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}": {
"delete": {
"description": "Delete the specified notification.",
"operationId": "DeleteSpecifiedNotification",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Notification name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}/mark-as-read": {
"put": {
"description": "Mark the specified notification as read.",
"operationId": "MarkNotificationAsRead",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Notification name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/uc.api.auth.halo.run/v1alpha1/user-connections/{registerId}/disconnect": {
"put": {
"description": "Disconnect my connection from a third-party platform.",
"operationId": "DisconnectMyConnection",
"parameters": [
{
"description": "The registration ID of the third-party platform.",
"in": "path",
"name": "registerId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserConnection"
}
}
}
},
"description": "default response"
}
},
"tags": [
"UserConnectionV1alpha1Uc"
]
}
},
"/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}/recycle": {
"delete": {
"description": "Move my post to recycle bin.",
"operationId": "RecycleMyPost",
"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.halo.run/v1alpha1/user-preferences/{group}": {
"get": {
"description": "Get my preference by group.",
"operationId": "getMyPreference",
"parameters": [
{
"description": "Group of user preference, e.g. `notification`.",
"in": "path",
"name": "group",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"description": "default response"
}
},
"tags": [
"UserPreferenceV1alpha1Uc"
]
},
"put": {
"description": "Create or update my preference by group.",
"operationId": "updateMyPreference",
"parameters": [
{
"description": "Group of user preference, e.g. `notification`.",
"in": "path",
"name": "group",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/JsonNode"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "No content, preference updated successfully."
}
},
"tags": [
"UserPreferenceV1alpha1Uc"
]
}
},
"/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"
]
}
},
"/apis/uc.api.storage.halo.run/v1alpha1/attachments": {
"get": {
"description": "List attachments of the current user uploaded.",
"operationId": "ListMyAttachments",
"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": "Filter attachments without group. This parameter will ignore group parameter.",
"in": "query",
"name": "ungrouped",
"schema": {
"type": "boolean"
}
},
{
"description": "Keyword for searching.",
"in": "query",
"name": "keyword",
"schema": {
"type": "string"
}
},
{
"description": "Acceptable media types.",
"in": "query",
"name": "accepts",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AttachmentList"
}
}
},
"description": "default response"
}
},
"tags": [
"AttachmentV1alpha1Uc"
]
},
"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.storage.halo.run/v1alpha1/attachments/-/upload": {
"post": {
"description": "Upload attachment to user center storage.",
"operationId": "UploadUcAttachment",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/UcUploadRequest"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Attachment"
}
}
},
"description": "default response"
}
},
"tags": [
"AttachmentV1alpha1Uc"
]
}
},
"/apis/uc.api.storage.halo.run/v1alpha1/attachments/-/upload-from-url": {
"post": {
"description": "Upload attachment from the given URL.",
"operationId": "ExternalTransferAttachment_1",
"parameters": [
{
"description": "Wait for permalink.",
"in": "query",
"name": "waitForPermalink",
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UcUploadFromUrlRequest"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Attachment"
}
}
},
"description": "default response"
}
},
"tags": [
"AttachmentV1alpha1Uc"
]
}
}
},
"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"
}
}
},
"AttachmentList": {
"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/Attachment"
}
},
"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"
}
}
},
"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"
},
"thumbnails": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"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",
"description": "\u003cp\u003eWhether to hide the category from the category list.\u003c/p\u003e\n \u003cp\u003eWhen set to true, the category including its subcategories and related posts will\n not be displayed in the category list, but it can still be accessed by permalink.\u003c/p\u003e\n \u003cp\u003eLimitation: It only takes effect on the theme-side categorized list and it only\n allows to be set to true on the first level(root node) of categories.\u003c/p\u003e"
},
"postTemplate": {
"maxLength": 255,
"type": "string",
"description": "\u003cp\u003eUsed to specify the template for the posts associated with the category.\u003c/p\u003e\n \u003cp\u003eThe priority is not as high as that of the post.\u003c/p\u003e\n \u003cp\u003eIf the post also specifies a template, the post\u0027s template will prevail.\u003c/p\u003e"
},
"preventParentPostCascadeQuery": {
"type": "boolean",
"description": "\u003cp\u003eif a category is queried for related posts, the default behavior is to\n query all posts under the category including its subcategories, but if this field is\n set to true, cascade query behavior will be terminated here.\u003c/p\u003e\n \u003cp\u003eFor example, if a category has subcategories A and B, and A has subcategories C and\n D and C marked this field as true, when querying posts under A category,all posts under A\n and B will be queried, but C and D will not be queried.\u003c/p\u003e"
},
"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",
"description": "包括当前和其下所有层级的文章数量 (depth\u003dmax).",
"format": "int32"
},
"visiblePostCount": {
"type": "integer",
"description": "包括当前和其下所有层级的已发布且公开的文章数量 (depth\u003dmax).",
"format": "int32"
}
}
},
"Condition": {
"required": [
"lastTransitionTime",
"status",
"type"
],
"type": "object",
"properties": {
"lastTransitionTime": {
"type": "string",
"description": "Last time the condition transitioned from one status to another.",
"format": "date-time"
},
"message": {
"maxLength": 32768,
"type": "string",
"description": "Human-readable message indicating details about last transition.\n This may be an empty string."
},
"reason": {
"maxLength": 1024,
"pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
"type": "string",
"description": "Unique, one-word, CamelCase reason for the condition\u0027s last transition."
},
"status": {
"type": "string",
"description": "Status is the status of the condition. Can be True, False, Unknown.",
"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",
"description": "type of condition in CamelCase or in foo.example.com/CamelCase.\n example: Ready, Initialized.\n maxLength: 316."
}
},
"description": "EqualsAndHashCode 排除了lastTransitionTime否则失败时lastTransitionTime 会被更新\n 导致 equals 为 false一直被加入队列."
},
"Contributor": {
"type": "object",
"properties": {
"avatar": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
}
},
"description": "Contributor from user."
},
"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"
}
}
},
"JsonNode": {
"type": "object"
},
"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"
}
}
},
"MarkSpecifiedRequest": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Metadata": {
"required": [
"name"
],
"type": "object",
"properties": {
"annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Annotations are like key-value format."
},
"creationTimestamp": {
"type": "string",
"description": "Creation timestamp of the Extension.",
"format": "date-time",
"nullable": true
},
"deletionTimestamp": {
"type": "string",
"description": "Deletion timestamp of the Extension.",
"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"
},
"description": "Labels are like key-value format."
},
"name": {
"type": "string",
"description": "Metadata name"
},
"version": {
"type": "integer",
"description": "Current version of the Extension. It will be bumped up every update.",
"format": "int64",
"nullable": true
}
},
"description": "Metadata of Extension."
},
"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"
}
}
},
"Notification": {
"required": [
"apiVersion",
"kind",
"metadata"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/NotificationSpec"
}
},
"description": "\u003cp\u003e{@link Notification Notification} is a custom extension that used to store notification information for\n inner use, it\u0027s on-site notification.\u003c/p\u003e\n\n \u003cp\u003eSupports the following operations:\u003c/p\u003e\n \u003cul\u003e\n \u003cli\u003eMarked as read: {@link NotificationSpec#setUnread(boolean) NotificationSpec#setUnread(boolean)}\u003c/li\u003e\n \u003cli\u003eGet the last read time: {@link NotificationSpec#getLastReadAt NotificationSpec#getLastReadAt()}\u003c/li\u003e\n \u003cli\u003eFilter by recipient: {@link NotificationSpec#getRecipient NotificationSpec#getRecipient()}\u003c/li\u003e\n \u003c/ul\u003e"
},
"NotificationList": {
"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/Notification"
}
},
"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"
}
}
},
"NotificationSpec": {
"required": [
"htmlContent",
"rawContent",
"reason",
"recipient",
"title"
],
"type": "object",
"properties": {
"htmlContent": {
"type": "string"
},
"lastReadAt": {
"type": "string",
"format": "date-time"
},
"rawContent": {
"type": "string"
},
"reason": {
"minLength": 1,
"type": "string",
"description": "The name of reason"
},
"recipient": {
"minLength": 1,
"type": "string",
"description": "The name of user"
},
"title": {
"minLength": 1,
"type": "string"
},
"unread": {
"type": "boolean"
}
}
},
"NotifierInfo": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"Part": {
"type": "object"
},
"PasswordRequest": {
"required": [
"password"
],
"type": "object",
"properties": {
"password": {
"minLength": 1,
"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"
}
},
"description": "\u003cp\u003ePost extension.\u003c/p\u003e"
},
"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",
"description": "文章引用到的已发布的内容,用于主题端显示."
},
"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": {
"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",
"description": "see {@link Category.CategorySpec#isHideFromList Category.CategorySpec#isHideFromList()}."
},
"inProgress": {
"type": "boolean"
},
"lastModifyTime": {
"type": "string",
"format": "date-time"
},
"observedVersion": {
"type": "integer",
"format": "int64"
},
"permalink": {
"type": "string"
},
"phase": {
"type": "string"
}
}
},
"ReasonTypeInfo": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
},
"uiPermissions": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ReasonTypeNotifierCollectionRequest": {
"required": [
"reasonTypeNotifiers"
],
"type": "object",
"properties": {
"reasonTypeNotifiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReasonTypeNotifierRequest"
}
}
}
},
"ReasonTypeNotifierMatrix": {
"type": "object",
"properties": {
"notifiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotifierInfo"
}
},
"reasonTypes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReasonTypeInfo"
}
},
"stateMatrix": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "boolean"
}
}
}
}
},
"ReasonTypeNotifierRequest": {
"type": "object",
"properties": {
"notifiers": {
"type": "array",
"items": {
"type": "string"
}
},
"reasonType": {
"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",
"description": "such as: markdown | html | json | asciidoc | latex."
},
"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"
}
},
"description": "Stats value object."
},
"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",
"description": "Color regex explanation.\n \u003cpre\u003e\n ^ # start of the line\n # # start with a number sign `#`\n ( # start of (group 1)\n [a-fA-F0-9]{6} # support z-f, A-F and 0-9, with a length of 6\n | # or\n [a-fA-F0-9]{3} # support z-f, A-F and 0-9, with a length of 3\n ) # end of (group 1)\n $ # end of the line\n \u003c/pre\u003e"
},
"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",
"description": "QR Code with base64 encoded.",
"format": "uri"
},
"rawSecret": {
"type": "string"
}
}
},
"TotpRequest": {
"required": [
"code",
"password",
"secret"
],
"type": "object",
"properties": {
"code": {
"type": "string"
},
"password": {
"minLength": 1,
"type": "string"
},
"secret": {
"minLength": 1,
"type": "string"
}
}
},
"TwoFactorAuthSettings": {
"type": "object",
"properties": {
"available": {
"type": "boolean",
"description": "Check if 2FA is available."
},
"emailVerified": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"totpConfigured": {
"type": "boolean"
}
}
},
"UcUploadFromUrlRequest": {
"required": [
"url"
],
"type": "object",
"properties": {
"filename": {
"type": "string",
"description": "Custom file name"
},
"url": {
"type": "string",
"format": "url"
}
}
},
"UcUploadRequest": {
"required": [
"file"
],
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
},
"formData": {
"type": "object",
"properties": {
"all": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Part"
},
"writeOnly": true
},
"empty": {
"type": "boolean"
}
},
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Part"
}
}
}
}
},
"UserConnection": {
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/UserConnectionSpec"
}
},
"description": "User connection extension."
},
"UserConnectionSpec": {
"required": [
"providerUserId",
"registrationId",
"username"
],
"type": "object",
"properties": {
"providerUserId": {
"type": "string",
"description": "The unique identifier for the user\u0027s connection to the OAuth provider.\n for example, the user\u0027s GitHub id."
},
"registrationId": {
"type": "string",
"description": "The name of the OAuth provider (e.g. Google, Facebook, Twitter)."
},
"updatedAt": {
"type": "string",
"description": "The time when the user connection was last updated.",
"format": "date-time"
},
"username": {
"type": "string",
"description": "The {@link Metadata#getName Metadata#getName()} of the user associated with the OAuth connection."
}
}
},
"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"
}
}
}
}