Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "Fenergo Nebula Business Metrics Query",
"description": "**Business Metrics Query API**:<br/><br/><br/> Business Metrics Query API provides endpoints in order to retrieve all related models and their versions.<br/><br/><br/> **Business Metrics Query API provides**:<br/><ul><li> </li></ul>",
"version": "1.0"
},
"servers": [
{
"url": "/businessmetricsquery"
}
],
"paths": {
"/api/agent-value-story": {
"get": {
"tags": [
"AgentValueStory"
],
"summary": "Get the composite agent value story for a date range",
"description": "Returns per-agent action counts, derived hours/cost savings, hero KPIs,\nplatform screening telemetry, journey type counts, and a monthly time-series\nfor the requested date range. Aggregates data from DigitalAgents, Redshift,\nand DynamoDB tenant assumptions in a single call.\nTier 3 fields (entityOverview, transactionAlerts) are returned as\npendingIntegration: true placeholders until stories 541085 and 541086 land.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ValueStoryAccess",
"operationId": "GetAgentValueStory",
"parameters": [
{
"name": "from",
"in": "query",
"description": "The inclusive start date (ISO 8601, e.g. 2026-01-01).",
"schema": {
"type": "string",
"format": "date"
}
},
{
"name": "to",
"in": "query",
"description": "The inclusive end date (ISO 8601, e.g. 2026-01-31).",
"schema": {
"type": "string",
"format": "date"
}
},
{
"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": "Success. Returns the composite agent value story.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/AgentValueStoryResponseDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/AgentValueStoryResponseDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/AgentValueStoryResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Invalid date parameters (missing, unparseable, from > to, or range > 24 months).",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"500": {
"description": "Internal error or upstream failure.",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/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"
}
]
}
}
}
}
}
}
},
"/api/assumptions": {
"get": {
"tags": [
"Assumptions"
],
"summary": "Get ROI assumptions for the current tenant",
"description": "Returns the tenant-specific ROI assumptions used for agent value calculations.\nFalls back to system defaults when no tenant configuration has been saved.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ValueStoryAccess",
"operationId": "GetTenantAssumptions",
"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": "Success. Returns the tenant assumptions",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetTenantAssumptionsResponseDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetTenantAssumptionsResponseDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetTenantAssumptionsResponseDtoServiceResponse"
}
}
}
},
"500": {
"description": "Internal Server Error",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/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"
}
]
}
}
}
}
}
}
},
"/api/entitymetrics/getentitycountbydaterange": {
"post": {
"tags": [
"EntityMetrics"
],
"summary": "Get entity count metrics by date range.",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: ValueStoryAccess",
"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": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetEntityCountByDateRangeResponseDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetEntityCountByDateRangeResponseDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetEntityCountByDateRangeResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"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"
}
]
}
}
}
}
}
}
},
"/api/entitymetrics/getrelatedpartycountbydaterange": {
"post": {
"tags": [
"EntityMetrics"
],
"summary": "Get related-party count metrics by date range.",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: ValueStoryAccess",
"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": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EntityMetricsRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetRelatedPartyCountByDateRangeResponseDtoServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetRelatedPartyCountByDateRangeResponseDtoServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetRelatedPartyCountByDateRangeResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"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"
}
]
}
}
}
}
}
}
},
"/api/journeycompletedelapsedtimedaily": {
"get": {
"tags": [
"JourneyCompletedElapsedTimeDaily"
],
"summary": "Get all \"journey completed time daily\" records",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: BusinessMetricsAccess",
"operationId": "GetAllJourneyCompletedTimeDailyRecords",
"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": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetAllJourneyCompletedElapsedTimeDailiesResponseDtoIEnumerableServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetAllJourneyCompletedElapsedTimeDailiesResponseDtoIEnumerableServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetAllJourneyCompletedElapsedTimeDailiesResponseDtoIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"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"
}
]
}
}
}
}
}
}
},
"/api/journeycompletedelapsedtimedaily/getjourneycompletedtimedailyrecordsbydaterange": {
"post": {
"tags": [
"JourneyCompletedElapsedTimeDaily"
],
"summary": "Get \"journey completed time daily\" records by date range and page",
"description": "<br /><br /><b>Required permissions:</b><br />Following permissions are required: BusinessMetricsAccess",
"operationId": "GetJourneyCompletedDailyRecordsByDateRange",
"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": {
"allOf": [
{
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeRequestDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeRequestDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeRequestDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeResponseDtoIEnumerableServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeResponseDtoIEnumerableServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GetJourneyCompletedElapsedTimeDailyByDateRangeResponseDtoIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal Server Error"
},
"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"
}
]
}
}
}
}
}
}
},
"/api/journeysummary": {
"post": {
"tags": [
"JourneySummary"
],
"summary": "Get Journey Summary items",
"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": {
"allOf": [
{
"$ref": "#/components/schemas/JourneySummaryRequestDtoServiceRequest"
}
]
}
},
"text/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/JourneySummaryRequestDtoServiceRequest"
}
]
}
},
"application/*+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/JourneySummaryRequestDtoServiceRequest"
}
]
}
}
}
},
"responses
# --- truncated at 32 KB (134 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-businessmetricsquery-v1-0-openapi.json