Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.4",
"info": {
"title": "Fenergo Nebula Policy Query",
"description": "Policy Query API is part of FenX eco-system to query for Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service.",
"version": "4.0"
},
"servers": [
{
"url": "/policyquery"
}
],
"paths": {
"/api/v4/policies/{entityPolicyId}/document-requirements/{documentRequirementId}": {
"get": {
"tags": [
"DocumentRequirement"
],
"summary": "Get document requirement from specific policy",
"description": "\nReturns document requirement.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "GetDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "documentRequirementId",
"in": "path",
"description": "ID of the document requirement",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "ID of the workspace. If not provided, the default workspace will be used",
"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. Document requirement is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentRequirementViewModelDtoServiceResponse"
}
}
}
},
"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": "Not Found",
"status": 404
}
}
}
},
"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
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1",
"title": "Internal server exception. Please, contact your provider.",
"detail": null,
"status": 500,
"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/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/v4/policies/{entityPolicyId}/version/{versionNumber}/document-requirements/{documentRequirementId}": {
"get": {
"tags": [
"DocumentRequirement"
],
"summary": "Get document requirement from specific version of the policy",
"description": "\nReturns document requirement.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "GetHistoricDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "documentRequirementId",
"in": "path",
"description": "ID of the document requirement",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "versionNumber",
"in": "path",
"description": "Version number of the policy",
"required": true,
"schema": {
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"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. Document requirement is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentRequirementViewModelDtoServiceResponse"
}
}
}
},
"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": "Not Found",
"status": 404
}
}
}
},
"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
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1",
"title": "Internal server exception. Please, contact your provider.",
"detail": null,
"status": 500,
"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/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/v4/policies/{entityPolicyId}/document-requirements": {
"post": {
"tags": [
"DocumentRequirement"
],
"summary": "Get document requirements from the current version of the policy",
"description": "\nReturns document requirements.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "ListDocumentRequirements",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "ID of the workspace. If not provided, the default workspace will be used",
"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": "Defines pagination, sorting and filtering",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SearchEntityDocumentRequirementsRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"200": {
"description": "Success. List of document requirements is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentRequirementSearchViewModelDtoItemsPageWithTotalServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"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
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1",
"title": "Internal server exception. Please, contact your provider.",
"detail": null,
"status": 500,
"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/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/v4/policies/{entityPolicyId}/version/{versionNumber}/document-requirements": {
"post": {
"tags": [
"DocumentRequirement"
],
"summary": "Get document requirements from the current version of the policy",
"description": "\nReturns document requirements.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "ListHistoricDocumentRequirements",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "versionNumber",
"in": "path",
"description": "Version number of the policy",
"required": true,
"schema": {
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"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": "Defines pagination, sorting and filtering",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/SearchEntityDocumentRequirementsRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"200": {
"description": "Success. List of document requirements is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DocumentRequirementSearchViewModelDtoItemsPageWithTotalServiceResponse"
}
}
}
},
"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"
}
]
}
}
}
},
"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
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1",
"title": "Internal server exception. Please, contact your provider.",
"detail": null,
"status": 500,
"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/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/v4/policies/{entityPolicyId}/e-signature-document-requirements/{eSignatureDocumentRequirementId}": {
"get": {
"tags": [
"ESignatureDocumentRequirement"
],
"summary": "Get e-signature e-signature document requirement from specific policy",
"description": "\nReturns e-signature document requirement.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "GetESignatureDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "eSignatureDocumentRequirementId",
"in": "path",
"description": "ID of the e-signature document requirement",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "ID of the workspace. If not provided, the default workspace will be used",
"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. E-Signature E-Signature Document requirement is returned",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ESignatureDocumentRequirementViewModelDtoServiceResponse"
}
}
}
},
"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": "Not Found",
"status": 404
}
}
}
},
"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
}
}
}
},
"500": {
"description": "Internal server exception. Please, contact your provider.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
},
"example": {
"type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1",
"title": "Internal server exception. Please, contact your provider.",
"detail": null,
"status": 500,
"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/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/v4/policies/{entityPolicyId}/version/{versionNumber}/e-signature-document-requirements/{eSignatureDocumentRequirementId}": {
"get": {
"tags": [
"ESignatureDocumentRequirement"
],
"summary": "Get e-signature document requirement from specific version of the policy",
"description": "\nReturns e-signature document requirement.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationAccess",
"operationId": "GetHistoricESignatureDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "ID of the policy",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "eSignatureDocumentRequirementId",
"in": "path",
"description": "ID of the e-signature document requirement",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "versionNumber",
"in": "path",
"description": "Version number of the policy",
"required": true,
"schema": {
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "X-TENANT-ID",
"in": "header",
"description": "The UiD of the te
# --- truncated at 32 KB (465 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-policyquery-v4-0-openapi.json