openapi: 3.0.3 info: title: upda description: API specification license: name: GPLv3 url: https://www.gnu.org/licenses/gpl-3.0.en.html version: 2.0.0 externalDocs: description: Find out more about the project url: https://git.myservermanager.com/varakh/upda servers: - url: http://localhost:8080/api/v1 tags: - name: updates description: Updates endpoints - name: webhooks description: Webhooks endpoints - name: events description: Events endpoints - name: secrets description: Secrets endpoints - name: actions description: Actions endpoints - name: action-invocations description: Action invocations endpoints - name: application description: Application related endpoints - name: auth description: Application authorization related endpoints paths: '/info': get: tags: - application summary: Find application information description: Find application information operationId: findInfo responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/InfoResponse' '/health': get: tags: - application summary: Find application health description: Find application health operationId: findHealth responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/HealthResponse' /updates: get: tags: - updates security: - basicAuth: [ ] summary: Finds updates description: Finds updates operationId: findUpdates parameters: - name: page in: query description: the page required: false schema: type: number default: 1 - name: pageSize in: query description: the page size required: false schema: type: number default: 5 - name: order in: query description: the order required: false schema: type: string default: desc enum: - asc - desc - name: orderBy in: query description: the order by required: false schema: type: string default: updated_at enum: - id - application - provider - host - created_at - updated_at - name: state in: query description: the state (list, added with &state=...&state=... required: false schema: type: array items: type: string enum: - pending - ignored - approved - name: searchTerm in: query description: the search term required: false schema: type: string - name: searchIn in: query description: the search in required: false schema: type: string default: application enum: - application - provider - host responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/UpdatePageResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/updates/{id}': get: tags: - updates security: - basicAuth: [ ] summary: Finds update by ID description: Finds update by ID operationId: findUpdateById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - updates security: - basicAuth: [ ] summary: Deletes an update by ID description: 'Deletes an update by ID' operationId: deleteUpdateById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/updates/{id}/state': patch: tags: - updates security: - basicAuth: [ ] summary: Modifies update's state by ID description: Modifies update's state by ID operationId: patchUpdateStateById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an update content: application/json: schema: $ref: '#/components/schemas/ModifyUpdateStateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/UpdateSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/webhooks': post: tags: - webhooks security: - basicAuth: [ ] summary: Creates webhook description: Creates webhook operationId: createWebhook requestBody: description: Creates a webhook content: application/json: schema: $ref: '#/components/schemas/CreateWebhookRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WebhookSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - webhooks security: - basicAuth: [ ] summary: Finds webhooks description: Finds webhooks operationId: findWebhooks parameters: - name: page in: query description: the page required: false schema: type: number default: 1 - name: pageSize in: query description: the page size required: false schema: type: number default: 5 - name: order in: query description: the order required: false schema: type: string default: asc enum: - asc - desc - name: orderBy in: query description: the order by required: false schema: type: string default: label enum: - id - label - created_at - updated_at responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WebhookPageResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/webhooks/{id}': post: tags: - webhooks summary: Invokes a webhook by ID description: 'Invokes a webhook by ID' operationId: invokeWebhookById parameters: - name: id in: path description: the id required: true schema: type: string - name: X-Webhook-Token in: header description: the token for the webhook id required: true schema: type: string requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/WebhookGenericRequest' - $ref: '#/components/schemas/WebhookDiunRequest' responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - webhooks security: - basicAuth: [ ] summary: Finds a webhook by ID description: Finds webhook by ID operationId: findWebhookById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WebhookSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - webhooks security: - basicAuth: [ ] summary: Deletes a webhook by ID description: 'Deletes a webhook by ID' operationId: deleteWebhookById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/webhooks/{id}/label': patch: tags: - webhooks security: - basicAuth: [ ] summary: Modifies webhook's label by ID description: Modifies webhook's label by ID operationId: patchWebhookLabelById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies a webhook content: application/json: schema: $ref: '#/components/schemas/ModifyWebhookLabelRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WebhookSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/webhooks/{id}/ignore-host': patch: tags: - webhooks security: - basicAuth: [ ] summary: Modifies webhook's ignoreHost by ID description: Modifies webhook's ignoreHost by ID operationId: patchWebhookIgnoreHostById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies a webhook content: application/json: schema: $ref: '#/components/schemas/ModifyWebhookIgnoreHostRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/WebhookSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /events: get: tags: - events security: - basicAuth: [ ] summary: Finds events description: Finds events operationId: findEvents parameters: - name: size in: query description: the size required: false schema: type: number default: 10 - name: skip in: query description: the skip required: false schema: type: number default: 0 - name: order in: query description: the order required: false schema: type: string default: desc enum: - asc - desc - name: orderBy in: query description: the order by required: false schema: type: string default: created_at enum: - id - name - created_at - updated_at responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/EventWindowResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/events/{id}': get: tags: - events security: - basicAuth: [ ] summary: Finds an event by ID description: Finds event by ID operationId: findEventById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/EventSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - events security: - basicAuth: [ ] summary: Deletes an event by ID description: 'Deletes a event by ID' operationId: deleteEventById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /actions: post: tags: - actions security: - basicAuth: [ ] summary: Creates action description: Creates action operationId: createAction requestBody: description: Creates an action content: application/json: schema: $ref: '#/components/schemas/CreateActionRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - actions security: - basicAuth: [ ] summary: Finds actions description: Finds actions operationId: findActions parameters: - name: page in: query description: the page required: false schema: type: number default: 1 - name: pageSize in: query description: the page size required: false schema: type: number default: 5 - name: order in: query description: the order required: false schema: type: string default: asc enum: - asc - desc - name: orderBy in: query description: the order by required: false schema: type: string default: label enum: - id - label - type - created_at - updated_at responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionPageResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/label': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's label by ID description: Modifies action's label by ID operationId: patchActionLabelById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionLabelRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/match-event': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's matchEvent by ID description: Modifies action's matchEvent by ID operationId: patchActionMatchEventById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionMatchEventRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/match-host': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's matchHost by ID description: Modifies action's matchHost by ID operationId: patchActionMatchHostById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionMatchHostRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/match-application': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's matchApplication by ID description: Modifies action's matchApplication by ID operationId: patchActionMatchApplicationById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionMatchApplicationRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/match-provider': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's matchProvider by ID description: Modifies action's matchProvider by ID operationId: patchActionMatchProviderById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionMatchProviderRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/payload': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's payload by ID description: Modifies action's payload by ID operationId: patchActionPayloadById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionPayloadRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/enabled': patch: tags: - actions security: - basicAuth: [ ] summary: Modifies action's enabled flag by ID description: Modifies action's enabled flag by ID operationId: patchActionEnabledById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies an action content: application/json: schema: $ref: '#/components/schemas/ModifyActionEnabledRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}/test': post: tags: - actions security: - basicAuth: [ ] summary: Tests action by ID description: Tests action by ID operationId: postActionTestById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Tests an action content: application/json: schema: $ref: '#/components/schemas/TestActionRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionTestSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/actions/{id}': get: tags: - actions security: - basicAuth: [ ] summary: Finds an action by ID description: Finds action by ID operationId: findActionById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - actions security: - basicAuth: [ ] summary: Deletes an action by ID description: 'Deletes an action by ID' operationId: deleteActionById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /action-invocations: get: tags: - action-invocations security: - basicAuth: [ ] summary: Finds action invocations description: Finds action invocations operationId: findActionInvocations parameters: - name: page in: query description: the page required: false schema: type: number default: 1 - name: pageSize in: query description: the page size required: false schema: type: number default: 5 - name: order in: query description: the order required: false schema: type: string default: desc enum: - asc - desc - name: orderBy in: query description: the order by required: false schema: type: string default: created_at enum: - id - state - retry_count - created_at - updated_at responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionInvocationPageResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/action-invocations/{id}': get: tags: - action-invocations security: - basicAuth: [ ] summary: Finds an action invocation by ID description: Finds action invocation by ID operationId: findActionInvocationById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ActionInvocationSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - action-invocations security: - basicAuth: [ ] summary: Deletes an action invocation by ID description: 'Deletes an action invocation by ID' operationId: deleteActionInvocationById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /secrets: post: tags: - secrets security: - basicAuth: [ ] summary: Creates secret description: Creates secret operationId: createSecret requestBody: description: Creates a secret content: application/json: schema: $ref: '#/components/schemas/CreateSecretRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SecretSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: tags: - secrets security: - basicAuth: [ ] summary: Finds secrets description: Finds secrets operationId: findSecrets responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SecretPageResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/secrets/{id}': get: tags: - secrets security: - basicAuth: [ ] summary: Finds a secret by ID description: Finds secret by ID operationId: findSecretById parameters: - name: id in: path description: the id required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SecretSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: tags: - secrets security: - basicAuth: [ ] summary: Deletes a secret by ID description: 'Deletes a secret by ID' operationId: deleteSecretById parameters: - name: id in: path description: the id required: true schema: type: string responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '/secrets/{id}/value': patch: tags: - secrets security: - basicAuth: [ ] summary: Modifies secret's value by ID description: Modifies secret's value by ID operationId: patchSecretValueById parameters: - name: id in: path description: the id required: true schema: type: string requestBody: description: Modifies a secret content: application/json: schema: $ref: '#/components/schemas/ModifySecretValueRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SecretSingleResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /login: get: tags: - auth security: - basicAuth: [ ] summary: Probes login description: Probes login operationId: probeLogin responses: '204': description: Successful operation '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: securitySchemes: basicAuth: type: http scheme: basic schemas: # response ErrorResponse: type: object properties: message: type: string status: type: string enum: - IllegalArgument - Unauthorized - Forbidden - NotFound - Conflict - GeneralError InfoResponse: type: object properties: data: type: object properties: name: type: string version: type: string timeZone: type: string HealthResponse: type: object properties: data: type: object properties: healthy: type: boolean UpdateResponse: type: object properties: id: type: string application: type: string provider: type: string host: type: string version: type: string state: type: string enum: - pending - approved - ignored createdAt: type: string updatedAt: type: string metadata: type: object nullable: true UpdateSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/UpdateResponse' UpdatePageResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/UpdateResponse' page: type: number pageSize: type: number orderBy: type: string enum: - id - created_at - updated_at - provider - host - label order: type: string enum: - asc - desc totalElements: type: number totalPages: type: number WebhookSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/WebhookResponse' WebhookResponse: type: object properties: id: type: string label: type: string type: type: string enum: - generic - diun createdAt: type: string updatedAt: type: string token: type: string description: Only returned during creation nullable: true ignoreHost: type: boolean WebhookPageResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/WebhookResponse' page: type: number pageSize: type: number orderBy: type: string enum: - id - label - type - created_at - updated_at order: type: string enum: - asc - desc totalElements: type: number totalPages: type: number EventWindowResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/EventResponse' size: type: number skip: type: number orderBy: type: string enum: - id - name - created_at - updated_at order: type: string enum: - asc - desc hasNext: type: boolean EventSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/EventResponse' EventResponse: type: object properties: id: type: string name: type: string enum: - update_created - update_updated - update_updated_state_pending - update_updated_state_approved - update_updated_state_ignored - update_deleted createdAt: type: string updatedAt: type: string payload: type: object description: | Depending on the event name, different payload can be returned oneOf: - $ref: '#/components/schemas/EventPayloadUpdateCreatedResponse' - $ref: '#/components/schemas/EventPayloadUpdateUpdatedResponse' - $ref: '#/components/schemas/EventPayloadUpdateDeletedResponse' EventPayloadUpdateCreatedResponse: type: object properties: id: type: string application: type: string provider: type: string host: type: string version: type: string state: type: string enum: - pending - approved - ignored EventPayloadUpdateUpdatedResponse: type: object properties: id: type: string application: type: string provider: type: string host: type: string versionPrior: type: string version: type: string statePrior: type: string enum: - pending - approved - ignored state: type: string enum: - pending - approved - ignored EventPayloadUpdateDeletedResponse: type: object properties: application: type: string provider: type: string host: type: string version: type: string ActionResponse: type: object properties: id: type: string label: type: string type: type: string enum: - shoutrrr matchEvent: type: string nullable: true matchHost: type: string nullable: true matchApplication: type: string nullable: true matchProvider: type: string nullable: true payload: type: object enabled: type: boolean createdAt: type: string updatedAt: type: string ActionSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/ActionResponse' ActionPageResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/ActionResponse' page: type: number pageSize: type: number orderBy: type: string enum: - id - created_at - updated_at - label - type order: type: string enum: - asc - desc totalElements: type: number totalPages: type: number ActionTestResponse: type: object properties: success: type: boolean message: type: string description: Blank in case of success ActionTestSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/ActionTestResponse' ActionInvocationResponse: type: object properties: id: type: string retryCount: type: number state: type: string enum: - created - running - retrying - error - success message: type: string nullable: true actionId: type: string eventId: type: string createdAt: type: string updatedAt: type: string ActionInvocationSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/ActionInvocationResponse' ActionInvocationPageResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/ActionInvocationResponse' page: type: number pageSize: type: number orderBy: type: string enum: - id - created_at - updated_at - state - retry_count order: type: string enum: - asc - desc totalElements: type: number totalPages: type: number SecretResponse: type: object properties: id: type: string key: type: string value: type: string nullable: true createdAt: type: string updatedAt: type: string SecretSingleResponse: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/SecretResponse' SecretPageResponse: type: object properties: data: type: object properties: content: type: array items: $ref: '#/components/schemas/SecretResponse' # requests ModifyUpdateStateRequest: type: object required: - state properties: state: type: string enum: - pending - approved - ignored ModifyWebhookLabelRequest: type: object required: - label properties: label: type: string ModifyWebhookIgnoreHostRequest: type: object required: - ignoreHost properties: ignoreHost: type: boolean CreateWebhookRequest: type: object required: - label - type properties: label: type: string type: type: string enum: - generic - diun ignoreHost: type: boolean WebhookGenericRequest: type: object required: - application - host - version properties: application: type: string provider: type: string description: The optional provider attribute. If left blank or not sent during webhook invocation, the issuing webhook's label is used. nullable: true host: type: string version: type: string metadata: description: "Any JSON object" type: object additionalProperties: type: object WebhookDiunRequest: type: object required: - diun_version - hostname - status - provider - image - mime_type - digest - created - platform - metadata properties: diun_version: type: string hostname: type: string status: type: string provider: type: string image: type: string hub_link: type: string mime_type: type: string digest: type: string created: type: string platform: type: string metadata: type: object properties: ctn_command: type: string ctn_createdat: type: string ctn_id: type: string ctn_names: type: string ctn_size: type: string ctn_state: type: string ctn_status: type: string CreateActionRequest: type: object required: - label - type - payload - enabled properties: label: type: string type: type: string enum: - shoutrrr matchEvent: type: string matchHost: type: string matchApplication: type: string matchProvider: type: string enabled: type: boolean payload: type: object anyOf: - $ref: '#/components/schemas/CreateActionPayloadRequestShoutrrr' CreateActionPayloadRequestShoutrrr: type: object required: - urls - body properties: urls: type: array items: type: string body: type: string TestActionRequest: type: object required: - application - provider - host - version properties: application: type: string provider: type: string host: type: string version: type: string CreateSecretRequest: type: object required: - key - value properties: key: type: string value: type: string ModifySecretValueRequest: type: object required: - value properties: value: type: string ModifyActionLabelRequest: type: object required: - label properties: label: type: string ModifyActionTypeRequest: type: object required: - type properties: type: type: string enum: - shoutrrr ModifyActionMatchEventRequest: type: object properties: matchEvent: type: string nullable: true ModifyActionMatchHostRequest: type: object properties: matchHost: type: string nullable: true ModifyActionMatchApplicationRequest: type: object properties: matchApplication: type: string nullable: true ModifyActionMatchProviderRequest: type: object properties: matchProvider: type: string nullable: true ModifyActionPayloadRequest: type: object required: - type - payload properties: type: type: string enum: - shoutrrr payload: type: object ModifyActionEnabledRequest: type: object required: - enabled properties: enabled: type: boolean