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 Command",
"description": "Policy Command API is part of FenX eco-system to manage Requirement Sets, Requirements, Data Groups and Data Group Fields Instances. All the operations require valid access token obtained from Identity service.",
"version": "2.0"
},
"servers": [
{
"url": "/policycommand"
}
],
"paths": {
"/api/v2/policies/{entityPolicyId}/document-requirements": {
"post": {
"tags": [
"DocumentRequirement"
],
"summary": "Create a new policy document requirement",
"description": "Creates a new document requirement within the specified policy context<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "CreateDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "Policy ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "Optional workspace ID",
"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": "Create document requirement request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentRequirementRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"202": {
"description": "Success. Document requirement created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDocumentRequirementResponseDtoServiceResponse"
}
}
}
},
"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. Policy with a given ID does not exist",
"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/v2/policies/{entityPolicyId}/document-requirements/{documentRequirementId}": {
"put": {
"tags": [
"DocumentRequirement"
],
"summary": "Update a policy document requirement",
"description": "Updates an existing document requirement within the specified policy context<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "UpdateDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "Policy ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "documentRequirementId",
"in": "path",
"description": "Document Requirement ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "Optional workspace ID",
"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": "Update document requirement request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentRequirementRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"202": {
"description": "Success. Document requirement updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDocumentRequirementResponseDtoServiceResponse"
}
}
}
},
"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. Policy or document requirement with a given ID does not exist",
"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"
}
}
}
}
}
},
"delete": {
"tags": [
"DocumentRequirement"
],
"summary": "Delete a policy document requirement",
"description": "Deletes an existing document requirement from the specified policy context<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "DeleteDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "Policy ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "documentRequirementId",
"in": "path",
"description": "Document requirement ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "Optional workspace ID",
"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": {
"202": {
"description": "Success. Document requirement deleted"
},
"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. Policy or document requirement with a given ID does not exist",
"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/v2/policies/{entityPolicyId}/document-requirements/{documentRequirementId}/revert": {
"put": {
"tags": [
"DocumentRequirement"
],
"summary": "Revert a policy document requirement changes",
"description": "Reverts changes made to an existing document requirement within the specified workspace context.<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "RevertDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "Policy ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "documentRequirementId",
"in": "path",
"description": "Document requirement ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "Optional workspace ID",
"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": {
"202": {
"description": "Success. Document requirement updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"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. Policy or document requirement with a given ID does not exist",
"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/v2/policies/{entityPolicyId}/e-signature-document-requirements": {
"post": {
"tags": [
"ESignatureDocumentRequirement"
],
"summary": "Create a new policy e-signature document requirement",
"description": "Creates a new e-signature document requirement within the specified policy context<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "CreateESignatureDocumentRequirement",
"parameters": [
{
"name": "entityPolicyId",
"in": "path",
"description": "Policy ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "workspaceId",
"in": "query",
"description": "Optional workspace ID",
"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": "Create e-signature document requirement request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/ESignatureDocumentRequirementRequestDtoServiceRequest"
}
],
"description": "Service request data"
}
}
}
},
"responses": {
"202": {
"description": "Success. E-Signature document requirement created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateESignatureDocumentRequirementResponseDtoServiceResponse"
}
}
}
},
"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. Policy with a given ID does not exist",
"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/v2/policies/{entityPolicyId}/e-signature-document-requirements/{eSignatureDocumentRequirementId}": {
"put": {
"tags": [
"ESignatureDocumentRequirement"
],
"summary": "Update a e-signature policy document requirement",
"description": "Updates an existing e-signature document requirement within the specified policy context<br /><br /><b>Required permissions:</b><br />Following permissions are required: PolicyConfigurationEdit",
"operationId": "UpdateESignatureDocumentRequirement",
# --- truncated at 32 KB (356 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-policycommand-v2-0-openapi.json