Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.1",
"info": {
"title": "Fenergo Nebula Screening Command",
"description": "**Screening Command API**:\n\n<br> Screening Command API screens clients and their associated parties for adverse media, PEP and sanctions. Use Screening Command API to perform the screening action and Screening Query API to retrieve screening results. \n\n<br> **Screening Command API provides**:<br><ul><li> The ability to screen Individual and Company Legal Entities.<li> The ability to trigger asynchronous screening requests to different providers.<li> The ability to screen multiple entities in a single request.",
"version": "3.0"
},
"servers": [
{
"url": "/screeningcommand"
}
],
"paths": {
"/api/v3/batch": {
"post": {
"tags": [
"Batch"
],
"summary": "Create a new screening batch to screen one or more entities",
"description": "<ul>\r\n <li>This method creates a screening batch that triggers asynchronous requests to different screening providers.</li>\r\n <li>This batch ID can be used in the Screening Query Api to check the status of the request and to get the screening results.</li>\r\n <li>The method returns the batch ID created in the system.</li>\r\n <li>For Individuals, the mandatory fields are; tenant + fullName + type OR tenant + firstName + lastName + type.</li>\r\n <li>For Company’s, the mandatory fields are tenant + type + LEName.</li>\r\n <li>If providers is null the batch will be created with the active providers.</li>\r\n <li>If configuration set is null the batch will be created for the specified provider with the default configuration set.</li>\r\n <li>Otherwise the batch will be created with the providers and configuration sets specified in the request.</li>\r\n</ul><br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningCreate, ScreeningAccess",
"operationId": "CreateBatchV3",
"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": "The Create Batch request",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/CreateBatchDtoV3ServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Success. Batch created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchCreatedDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"500": {
"description": "Internal server error"
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions"
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/complete": {
"put": {
"tags": [
"Batch"
],
"summary": "Complete an existing screening batch",
"description": "<ul>\r\n <li>This method is used to complete an existing batch</li>\r\n <li>All providers must have status 'Search Complete' or 'Return Failed'</li>\r\n <li>All matches must be resolved</li>\r\n</ul><br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "CompleteBatchV3",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the existing batch to be completed",
"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": {
"202": {
"description": "Accepted. The request to complete the batch has been accepted"
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/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. The batch couldn't be found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal server error"
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions"
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/matches": {
"put": {
"tags": [
"Batch"
],
"summary": "Update a list of matches in a batch",
"description": "\nThis method is used to update the status, reason and comments of a list of matches.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "UpdateMatchesV3",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the batch",
"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": "The request with the list of matches to be updated",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateEntityMatchesDtoListServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Accepted. The request to update the list of matches has been accepted"
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"500": {
"description": "Internal server error"
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions"
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/entity/{entityId}/updatemateriality": {
"put": {
"tags": [
"Batch"
],
"summary": "Update the materiality assessment of an Entity's related party in ongoing screening",
"description": "\nThis method is used to update the materiality assessment of an Entity's related party.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "UpdateMaterialityAssessmentV3",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the ongoing screening batch",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "The ID of the entity in the batch",
"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": "The request with the related party to be updated and the set of values for the materiality assessment",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateMaterialityAssessmentDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Accepted. The request to update the materiality assessment has been accepted"
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"500": {
"description": "Internal server error"
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions"
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/entity/{entityId}": {
"put": {
"tags": [
"Batch"
],
"summary": "Updates an existing Screening Batch Entity with the data supplied in the request body",
"description": "\nThis method is used to update the data of an existing Screening Batch Entity.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "UpdateBatchEntityV3",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the batch",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "The ID of the entity in the batch",
"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": "The request with the new data to be updated",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateBatchEntityDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Accepted. The request to update the batch entity has been accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions",
"content": {
"application/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. The batch or entity couldn't be found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"415": {
"description": "Unsupported media type. The request has an unsupported media type",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/entity/{entityId}/escalatematerialitytask": {
"put": {
"tags": [
"Batch"
],
"summary": "Escalates a materiality assessment task to second-line review.",
"description": "Allows a first-line user to escalate a screening and materiality assessment task when it cannot be completed.\r\nThe escalation notifies a target team and/or user and includes a comment.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "EscalateMaterialityAssessmentTask",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the batch",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "The ID of the entity in the batch",
"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": "The escalation details including team, user, and comment",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/EscalateMaterialityAssessmentTaskDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Accepted. The request to escalate the entity has been accepted"
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions",
"content": {
"application/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. The batch or entity couldn't be found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/entity/{entityId}/deescalatematerialitytask": {
"put": {
"tags": [
"Batch"
],
"summary": "De-escalates a materiality assessment task.",
"description": "De-escalates a materiality assessment task for the given entity.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "DeEscalateMaterialityAssessmentTask",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the batch",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "The ID of the entity in the batch",
"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": {
"202": {
"description": "Accepted. The request to de-escalate the entity has been accepted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"403": {
"description": "Forbidden. The feature is disabled or the user lacks the necessary permissions",
"content": {
"application/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. The batch or entity couldn't be found",
"type": "Error",
"errorCode": "Error Code"
}
]
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceResponse"
}
}
}
},
"401": {
"description": "User is not authorized to perform this request",
"content": {
"application/json": {
"example": {
"message": "Unauthorized"
}
}
}
},
"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/v3/batch/{id}/entity/{entityId}/documents/upload-url": {
"post": {
"tags": [
"Batch"
],
"summary": "Initiates an entity document upload by returning a pre-signed URL.",
"description": "Registers a document reference on the entity and returns a pre-signed URL for the client to upload the file directly to storage.\r\nAn optional idempotency key can be supplied to prevent duplicate document registrations.<br /><br /><b>Required permissions:</b><br />Following permissions are required: ScreeningEdit, ScreeningAccess",
"operationId": "GenerateEntityDocumentUploadUrl",
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the batch",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "entityId",
"in": "path",
"description": "The ID of the entity in the batch",
"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": "Document metadata including file name, type, and optional idempotency key",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/UploadEntityDocumentDtoServiceRequest"
}
]
}
}
}
},
"responses": {
"202": {
"description": "Accepted. Returns the document ID and pre-signed upload URL",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadEntityDocumentResponseDtoServiceResponse"
}
}
}
},
"400": {
"description": "Bad request. The request has missing/invalid values",
"content": {
"application/json": {
# --- truncated at 32 KB (344 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-screeningcommand-v3-0-openapi.json