Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula Journey Query",
"description": "**Journey Query API**:\n\n<br> Journey Query API provides both configurational and operational methods related to the client Journeys. Use the Journey Command API to create manage and Journey Schemas and Journey Instances. Use the Command Query API to retrieve Journey Schema and Journey Instance aggregates.\n\n<br> **Journey Query API provides**:<br><ul><li> The ability to query for Journey Schemas.</li><li> The ability to query for Journey Instances. That includes searching by Entity ID.</li><li> The ability to calculate lifecycle status for given Entity ID.</li></ul>",
"version": "1.0"
},
"servers": [
{
"url": "/journeyquery"
}
],
"paths": {
"/api/configuration": {
"get": {
"tags": [
"JourneyConfiguration"
],
"summary": "Get configuration",
"description": "\nReturns configuration.",
"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. The configuration options",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetJourneyConfigurationResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/journey-instance/{journeyInstanceId}": {
"get": {
"tags": [
"JourneyInstance"
],
"summary": "Get journey instance by id",
"description": "\nReturns journey instance for a given id.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetJourneyInstanceById",
"parameters": [
{
"name": "journeyInstanceId",
"in": "path",
"description": "Journey instance id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "If-None-Match",
"in": "header",
"description": "ETag value from previous API response. Should be used to optimize the short polling. Must be wrapped in double quotes.",
"schema": {
"type": "string"
},
"example": "5-1643882726-3404e101e89cdd99e5b185f00789de4f33e585d6"
},
{
"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. Journey instance is returned",
"headers": {
"ETag": {
"description": "Identifies specific version of Journey Instance. Multiple values are not supported.",
"schema": {
"type": "string",
"example": "\"5-1643882726-3404e101e89cdd99e5b185f00789de4f33e585d6\""
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JourneyInstanceDtoServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found. Journey instance with given id does not exist",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"304": {
"description": "The If-None-Match header value is up to date and no journey instance will be returned",
"headers": {
"Retry-After": {
"description": "Specifies the number of second the client should wait before making subsequent API call.",
"schema": {
"type": "string",
"example": "5"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/journey-instance/{journeyInstanceId}/task/{taskId}": {
"get": {
"tags": [
"JourneyInstance"
],
"summary": "Get journey instance task by id",
"description": "\nReturns a journey instance task for a given id.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetTaskById",
"parameters": [
{
"name": "journeyInstanceId",
"in": "path",
"description": "Journey instance id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "taskId",
"in": "path",
"description": "Task id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"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. journey instance task is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JourneyTaskDtoServiceResponse"
}
}
}
},
"404": {
"description": "Resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": { },
"messages": [
{
"message": "Not Found. Journey instance/task with given id does not exist",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/journey-instance/search": {
"get": {
"tags": [
"JourneyInstance"
],
"summary": "Get journey instances by entity id",
"description": "\nReturns a list of journey instances for a given entity id sorted by started date in descending order.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetInstancesByEntityId",
"parameters": [
{
"name": "entityId",
"in": "query",
"description": "Entity id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"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. The list of journey instances is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityJourneyInstanceViewModelDtoIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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"
}
]
}
}
}
}
},
"deprecated": true
},
"post": {
"tags": [
"JourneyInstance"
],
"summary": "Get a page of journey instances by entity id",
"description": "\nReturns one page of journey instances for a given entity id, sorted by started date in\n descending order (not caller-configurable). Journeys the caller lacks access-layer permission\n for are not included in `Items`; their id appears in `RestrictedItems` instead.\n\nCallers MUST use `NextPaginationToken` — not `Items.Count` — to decide whether\n more pages remain. A page's non-restricted count can be smaller than the requested page size\n (or even zero) while `NextPaginationToken` is still non-null, since restricted journeys\n are filtered out of a fetched page after it is sized, not before.\n\nAn omitted or empty-GUID `EntityId` is not treated as an invalid request - it\n returns 200 with an empty page rather than a 400.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetInstancesByEntityIdV2",
"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": {
"description": "Entity id and pagination options",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EntityJourneyInstanceSearchRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"200": {
"description": "Success. A page of journey instances is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EntityJourneyInstanceSearchResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The tenant header or request body is missing/invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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/journey-instance/{journeyInstanceId}/linked-journeys": {
"get": {
"tags": [
"JourneyInstance"
],
"summary": "Get linked journeys by main journey id",
"description": "\nReturns a linked journeys for a given id.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetLinkedJourneysById",
"parameters": [
{
"name": "journeyInstanceId",
"in": "path",
"description": "Parent Journey instance id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "onlyActive",
"in": "query",
"description": "If set to `true` return only linked journeys with Active status otherwise it will return everything including Rejected.",
"required": true,
"schema": {
"type": "boolean"
}
},
{
"name": "applicationType",
"in": "query",
"description": "Name of the initial triggered service",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ApplicationTypeDto"
}
]
}
},
{
"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. Linked journey instances are returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JourneyInstanceLightDtoIEnumerableServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectServiceResponse"
},
"example": {
"data": null,
"messages": [
{
"message": "Internal server exception. Please, contact your provider.",
"type": "Error",
"errorCode": "INTERNAL_SERVER_ERROR"
}
]
}
}
}
},
"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"
}
]
}
}
}
}
}
},
"post": {
"tags": [
"JourneyInstance"
],
"summary": "Get linked journeys by main journey id",
"description": "\nReturns a linked journeys for a given id.<br /><br /><b>Required permissions:</b><br />Following permissions are required: JourneyAccess",
"operationId": "GetLinkedJourneysByIdV2",
"parameters": [
{
"name": "journeyInstanceId",
"in": "path",
"description": "Parent Journey instance id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"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": "",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/LinkedJourneysRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"200": {
"description": "Success. Linked journey instances are returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LinkedJourneysResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorModelListServiceResponse"
}
}
}
},
"401": {
"desc
# --- truncated at 32 KB (319 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-journeyquery-v1-0-openapi.json