Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula Digital Agents Query",
"description": "**DigitalAgents Query API**:\n\n<br> DigitalAgents Query API provides methods to access data related to agents and statistics associated with their work.\n\n<br> **DigitalAgents Query API provides**:<br><ul><li> The ability to query metrics related to digital agents work.</li></ul>",
"version": "1.0"
},
"servers": [
{
"url": "/digitalagentsquery"
}
],
"paths": {
"/api/agent": {
"get": {
"tags": [
"Agent"
],
"summary": "Get all registered agents by tenant and agent type",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: AgentConfigurationAccess",
"operationId": "GetAgents",
"parameters": [
{
"name": "agentType",
"in": "query",
"description": "Agent type (optional)",
"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 Fenergo.Nebula.DigitalAgents.Query.Application.Features.GetAgents.GetAgentsResponseDto class containing the list of registered agents",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAgentsResponseDtoServiceResponse"
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/agent/{agentId}": {
"get": {
"tags": [
"Agent"
],
"summary": "Get a single registered agent by its identifier",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: AgentConfigurationAccess",
"operationId": "GetAgentById",
"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 Fenergo.Nebula.DigitalAgents.Query.Application.Common.AgentRegistryDto for the requested agent",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentRegistryDtoServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
"title": "Resource not found",
"detail": "If no agent exists for the current tenant with the given identifier.",
"status": 404
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/agentslos/{agentId}/slos": {
"get": {
"tags": [
"AgentSlos"
],
"summary": "Get the SLO definitions for a specific agent.",
"description": "<br /><br /><b>Required permissions:</b><br />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"
}
}
}
}
}
}
},
"/api/configurablesections/schema": {
"get": {
"tags": [
"ConfigurableSections"
],
"summary": "Get Configurable Sections Schema.",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: DigitalAgentsAccess",
"operationId": "GetConfigurableSections",
"parameters": [
{
"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": "Successfully retrieved dashboard schema.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ConfigurableSectionsDashboardDtoServiceResponse"
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/metric/task-autocomplete": {
"post": {
"tags": [
"Metric"
],
"summary": "Get Task AutoComplete metrics by tenant",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: DigitalAgentsAccess",
"operationId": "GetTaskAutocompletionMetrics",
"parameters": [
{
"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": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryParametersServiceRequest"
}
}
}
},
"responses": {
"200": {
"description": "The Fenergo.Nebula.DigitalAgents.Query.Application.Features.GetMetrics.GetTaskAutocompletionMetricsResponseDto class containing the list of metrics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTaskAutocompletionMetricsResponseDtoServiceResponse"
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/metric/agent-metrics": {
"post": {
"tags": [
"Metric"
],
"summary": "Get metrics by tenant, agent type and measure names",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: DigitalAgentsAccess",
"operationId": "GetAgentMetrics",
"parameters": [
{
"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": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentMetricsQueryParametersServiceRequest"
}
}
}
},
"responses": {
"200": {
"description": "The Fenergo.Nebula.DigitalAgents.Query.Application.Features.GetMetrics.GetAgentMetricsResponseDto class containing the list of metrics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAgentMetricsResponseDtoServiceResponse"
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/metric/agent-value-summary": {
"post": {
"tags": [
"Metric"
],
"summary": "Get per-agent action counts and monthly time series for the current tenant over a date range",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: DigitalAgentsAccess",
"operationId": "GetAgentValueSummary",
"parameters": [
{
"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": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentValueSummaryRequestDtoServiceRequest"
}
}
}
},
"responses": {
"200": {
"description": "The Fenergo.Nebula.DigitalAgents.Query.Application.Features.GetAgentValueSummary.AgentValueSummaryResponseDto containing per-agent counts and monthly series",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentValueSummaryResponseDtoServiceResponse"
}
}
}
},
"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"
}
}
}
}
}
}
},
"/api/outcome": {
"get": {
"tags": [
"Outcome"
],
"summary": "Retrieves a list of outcomes based on the specified query parameters.",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: DigitalAgentsAccess",
"operationId": "GetOutcomes",
"parameters": [
{
"name": "AgentExecutionId",
"in": "q
# --- truncated at 32 KB (116 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-digitalagentsquery-v1-0-openapi.json