diff --git a/src/api/public/apidocs-new/components/responses/status_message_no_permission.yaml b/src/api/public/apidocs-new/components/responses/status_message_no_permission.yaml new file mode 100644 index 00000000000..147f3e04cd6 --- /dev/null +++ b/src/api/public/apidocs-new/components/responses/status_message_no_permission.yaml @@ -0,0 +1,13 @@ +description: | + Status message no permission. + + XML Schema used for body validation: [status.xsd](../schema/status.xsd) +content: + application/xml; charset=utf-8: + schema: + $ref: '../schemas/api_response.yaml' + examples: + status message no permission: + value: + code: put_request_no_permission + summary: "Requires admin privileges" diff --git a/src/api/public/apidocs-new/components/responses/validation_error.yaml b/src/api/public/apidocs-new/components/responses/validation_error.yaml new file mode 100644 index 00000000000..45e303aab8d --- /dev/null +++ b/src/api/public/apidocs-new/components/responses/validation_error.yaml @@ -0,0 +1,10 @@ +description: Bad request. Validation Error +content: + application/xml; charset=utf-8: + schema: + $ref: '../schemas/api_response.yaml' + examples: + Validation Failed: + value: + code: validation_failed + summary: "status_message validation error: 2:0: ERROR: Element '': No matching global declaration available for the validation root." diff --git a/src/api/public/apidocs-new/components/schemas/status_message.yaml b/src/api/public/apidocs-new/components/schemas/status_message.yaml index 5dbb36d0fdb..ffb432495bf 100644 --- a/src/api/public/apidocs-new/components/schemas/status_message.yaml +++ b/src/api/public/apidocs-new/components/schemas/status_message.yaml @@ -14,3 +14,5 @@ properties: type: string created_at: type: string +xml: + name: status_message diff --git a/src/api/public/apidocs-new/paths/status_messages.yaml b/src/api/public/apidocs-new/paths/status_messages.yaml index 963ca55967d..d1c6a038c14 100644 --- a/src/api/public/apidocs-new/paths/status_messages.yaml +++ b/src/api/public/apidocs-new/paths/status_messages.yaml @@ -30,3 +30,36 @@ get: $ref: '../components/responses/unauthorized.yaml' tags: - Status Messages + +post: + summary: Create a status message + description: | + Create a new status message (Only admins are allowed to add status messages). + + Possible values for severity: (information, green, yellow, red, announcement). + + Possible values for scope: (all_users, logged_in_users, admin_users, in_beta_users, in_rollout_users) + security: + - basic_authentication: [] + requestBody: + description: Attributes for status message + required: true + content: + application/xml; charset=utf-8: + schema: + $ref: '../components/schemas/status_message.yaml' + example: + message: Feature number 42 was implemented! + severity: announcement + scope: all_users + responses: + '200': + $ref: '../components/responses/succeeded.yaml' + '400': + $ref: '../components/responses/validation_error.yaml' + '401': + $ref: '../components/responses/unauthorized.yaml' + '403': + $ref: '../components/responses/status_message_no_permission.yaml' + tags: + - Status Messages