openapi: 3.2.0 info: title: Fenergo Agent Slos API version: '1.0' description: 'Operations tagged AgentSlos across 2 of this provider''s published API definitions: fenergo-digitalagentscommand-v1-0-openapi.json, fenergo-digitalagentsquery-v1-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /digitalagentscommand - url: /digitalagentsquery security: - Bearer: [] tags: - name: AgentSlos paths: /api/agentslos/{agentId}/slos: put: tags: - AgentSlos summary: Replaces the SLO definitions for an agent description: 'Required permissions: Following permissions are required: AgentConfigurationAccess' operationId: UpdateAgentSlos parameters: - name: agentId in: path description: The unique identifier of the agent. required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: description: The list of SLO definitions to set on the agent. content: application/json: schema: allOf: - $ref: '#/components/schemas/SloDefinitionListServiceRequest' responses: '200': description: OK. The SLO definitions have been updated. '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. The agent does not exist for the current tenant. type: Error errorCode: Error Code '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT get: tags: - AgentSlos summary: Get the SLO definitions for a specific agent description: 'Required permissions: Following permissions are required: AgentConfigurationAccess' operationId: GetAgentSlos parameters: - name: agentId in: path description: The unique identifier of the agent. required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: The list of SLO definitions for the agent. content: application/json: schema: $ref: '#/components/schemas/SloDefinitionListServiceResponse' '400': description: One or more validation errors occurred content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 title: One or more validation errors occurred detail: Name is required status: 400 errorCode: VALIDATION_ERROR validationErrors: - propertyName: Name errorMessage: Name is required attemptedValue: '' validatorType: NotEmptyValidator '500': description: An exception occurred while processing the request. '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3 title: Access to resource is forbidden. detail: 'Access denied. Following permissions are required: Permission1, Permission2' status: 403 '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.9 title: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. detail: This endpoint is obsolete and was terminated on yyyy-MM-dd status: 410 errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand components: schemas: ServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code SloDefinition: required: - measureName type: object properties: measureName: type: - string - 'null' windowHours: type: integer format: int32 p50Threshold: type: - number - 'null' format: double p95Threshold: type: - number - 'null' format: double thresholdDirection: allOf: - $ref: '#/components/schemas/ThresholdDirection' description: Direction in which an Fenergo.Nebula.DigitalAgents.Models.Abstraction.SloDefinition threshold is breached. driftTolerancePct: type: number format: double enabled: type: boolean additionalProperties: false SloDefinitionListServiceRequest: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/SloDefinition' additionalProperties: false ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false ThresholdDirection: enum: - Floor - Ceiling type: string description: Direction in which an Fenergo.Nebula.DigitalAgents.Models.Abstraction.SloDefinition threshold is breached. ObjectServiceResponse: type: object properties: data: {} messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false StringServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false SloDefinition_2: required: - measureName type: object properties: measureName: type: - string - 'null' windowHours: type: integer format: int32 p50Threshold: type: - number - 'null' format: double p95Threshold: type: - number - 'null' format: double thresholdDirection: $ref: '#/components/schemas/ThresholdDirection' driftTolerancePct: type: number format: double enabled: type: boolean additionalProperties: false ProblemDetails: type: object properties: type: type: - string - 'null' title: type: - string - 'null' status: type: - integer - 'null' format: int32 detail: type: - string - 'null' instance: type: - string - 'null' additionalProperties: {} SloDefinitionListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/SloDefinition_2' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header x-refined-from: - fenergo-digitalagentscommand-v1-0-openapi.json - fenergo-digitalagentsquery-v1-0-openapi.json