Skip to content

KYC Compliance (1.0.0)

KYC (Know Your Customer) enables you to make better-informed risk management decisions by utilizing our comprehensive business information. This service is designed for both Know Your Business operations and AML (Anti-Money Laundering) screening features.

The application ensures that you can conduct due diligence on customers and suppliers alike, identify key parties, verify individual identity details globally, and screen against international sanctions, regulatory enforcements, PEP (Politically Exposed Persons) lists, and potential adverse media.

Download OpenAPI description
Languages
Servers
Sandbox server

https://connect.sandbox.creditsafe.com/v1/

Production server

https://connect.creditsafe.com/v1/

Authentication

Endpoints to authenticate and generate an authentication token for secure access to the API.

Operations

Administrator Resources

Endpoints for managing administrative tasks, such as user roles, currency codes, country codes and profile document types.

Operations

Audit

Endpoints to retrieve audit logs and track activity related to profiles, searches, and monitoring actions.

Operations

Profile Management

Endpoints to create, retrieve, and manage profiles.

Operations

Profile Updates

Endpoints to update existing profiles with new information, such as addresses, notes, or attachments.

Operations

Profile Key Parties

Endpoints to manage key parties associated with a profile, such as directors, shareholders, or UBOs.

Operations

Profile Business / Individual Details

Endpoints to retrieve detailed information about businesses or individuals associated with a profile.

Operations

AML Screening - Profile Management

Endpoints to manage AML screening profiles, including creating, updating, and retrieving screening results.

Operations

AML Screening - Businesses

Endpoints to perform AML screening for businesses, including risk assessments and compliance checks.

Operations

AML Screening - Individuals

Endpoints to perform AML screening for individuals, including identity verification and risk assessments.

Operations

AML Bulk Screening

Endpoints to perform bulk AML screenings for multiple businesses or individuals in a single request.

Operations

AML Monitoring Management

Endpoints to set up and manage ongoing AML monitoring for profiles, including receiving alerts for changes or risks.

Operations

Async AML

Endpoints to return asynchronous AML jobs, such as bulk screenings or monitoring tasks.

Operations

Batch Uploads

Endpoints to upload and process batch files for profiles or searches, including retrying failed uploads and downloading error reports.

Operations

Global Monitoring

Endpoints to monitor changes to company information globally, including event rules and notifications.

Operations

Reporting

Endpoints to generate and retrieve reports, including compliance reports and risk assessments.

Operations

Request

Fetches the available criteria for a specified report type.
This endpoint is a prerequisite for creating a report and provides the valid fields that can populate the criteria property in the POST /reports request.

Use this to retrieve a list of valid fields for the report type before proceeding with report creation.

Security
bearerToken
Path
typestringrequired

The type of report for which criteria are requested. Supported values:

- amlAlert: Criteria for Anti-Money Laundering alerts.
- audit: Criteria for audit-related reports.

Enum"amlAlert""audit"
curl -i -X GET \
  'https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/reports/criteria/{type}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Success

Bodyapplication/json
additionalPropertiesobject

Additional fields applicable to the specific report type. These may vary depending on whether the report type is amlAlert or audit. Nested arrays and objects are supported for complex criteria.

correlationIdstring

Unique identifier for tracking the request, useful for debugging and tracing.

Response
application/json
{ "fromDate": { "isRequired": true, "type": "string", "format": "yyyy-mm-dd", "description": "Cannot be a future date", "acceptableValues": null }, "toDate": { "isRequired": true, "type": "string", "format": "yyyy-mm-dd", "description": "Should fall after fromDate, results will be fetched excluding the provided to date", "acceptableValues": null }, "hitDecisions": { "isRequired": false, "type": "array[string]", "format": null, "description": "Decisions made on hits. Multiple values are acceptable", "acceptableValues": [ … ] }, "hasHits": { "isRequired": false, "type": "boolean", "format": null, "description": "Indicates if there are any hits.", "acceptableValues": [ … ] } }

Request

Uses the user-provided information to create a compliance report.

The criteria property in the request body must be populated using the fields returned by the GET /criteria/{type} endpoint.

Ensure you first retrieve the criteria for the desired report type using the GET /criteria/{type} endpoint before making this request.

Security
bearerToken
Bodyapplication/json

Request body containing the report type, file name, and criteria details for creating a compliance report.
The criteria field must adhere to the schema provided by the GET /criteria/{type} endpoint.

typestring or null

Type of the report (e.g., amlAlert or audit).

fileNamestring or null

File name for the report to be created. This must be unique.

criteriaobject

The criteria used to create the report. These fields should match those provided by the GET /criteria/{type} endpoint.

curl -i -X POST \
  https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/reports \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "string",
    "fileName": "string",
    "criteria": {
      "additionalProperties": {}
    }
  }'

Responses

Success

Bodyapplication/json
idstring(uuid)

Unique identifier for the report, generated when the report is created.

fileNamestring

The name of the report file, as specified during creation or generated automatically.

statusstring

Current processing status of the report. Indicates the lifecycle stage, such as:
- submitted: The report request has been submitted.
- queued: The report is waiting to be processed.
- inProgress: The report is currently being generated.
- completed: The report has been successfully created.
- failed: The report generation encountered an error.

Enum"submitted""queued""inProgress""completed""failed"
typestring

Type of the report, determining the data and format of the results. Supported values:
- amlAlert: Report for Anti-Money Laundering alerts.
- audit: Report for audit-related compliance checks.

Enum"amlAlert""audit"
createdAtstring(date-time)

The timestamp when the report was initially created.

createdByIdinteger(int32)

The unique identifier of the user who initiated the creation of the report.

createdByUserstring

The username or identifier of the user who created the report.

modifiedAtstring(date-time)

The timestamp of the last modification made to the report, if applicable.

criteriaobject

The criteria used to generate the report, reflecting the filters and parameters applied during its creation.

The structure of the criteria object depends on the report type (amlAlert or audit). Some properties may be nested in arrays or objects.

expiresAtstring or null(date-time)

The expiration timestamp for the report, after which it may no longer be accessible.

correlationIdstring

Unique identifier for tracking the request, useful for debugging and tracing.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "fileName": "string", "status": "submitted", "type": "amlAlert", "createdAt": "2019-08-24T14:15:22Z", "createdById": 0, "createdByUser": "string", "modifiedAt": "2019-08-24T14:15:22Z", "criteria": { "fromDate": "2019-08-24", "toDate": "2019-08-24", "property1": {}, "property2": {} }, "expiresAt": "2019-08-24T14:15:22Z", "correlationId": "string" }

Request

Fetches the details of a single compliance report identified by its unique reportId.

This endpoint allows users to retrieve the full metadata and status of a specific report, including its creation details, criteria, and expiration timeline.

Use this endpoint to inspect or verify the information of an existing report, or to confirm its current status (e.g., inProgress, completed, failed).

Ensure that the reportId provided corresponds to an existing report in the system.

Security
bearerToken
Path
reportIdstring(uuid)required

The unique identifier of the report to be retrieved. Must be a valid UUID that corresponds to an existing report in the system.

curl -i -X GET \
  'https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/reports/{reportId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Success

Bodyapplication/json
idstring(uuid)

Unique identifier for the report, generated when the report is created.

fileNamestring

The name of the report file, as specified during creation or generated automatically.

statusstring

Current processing status of the report. Indicates the lifecycle stage, such as:
- submitted: The report request has been submitted.
- queued: The report is waiting to be processed.
- inProgress: The report is currently being generated.
- completed: The report has been successfully created.
- failed: The report generation encountered an error.

Enum"submitted""queued""inProgress""completed""failed"
typestring

Type of the report, determining the data and format of the results. Supported values:
- amlAlert: Report for Anti-Money Laundering alerts.
- audit: Report for audit-related compliance checks.

Enum"amlAlert""audit"
createdAtstring(date-time)

The timestamp when the report was initially created.

createdByIdinteger(int32)

The unique identifier of the user who initiated the creation of the report.

createdByUserstring

The username or identifier of the user who created the report.

modifiedAtstring(date-time)

The timestamp of the last modification made to the report, if applicable.

criteriaobject

The criteria used to generate the report, reflecting the filters and parameters applied during its creation.

The structure of the criteria object depends on the report type (amlAlert or audit). Some properties may be nested in arrays or objects.

expiresAtstring or null(date-time)

The expiration timestamp for the report, after which it may no longer be accessible.

correlationIdstring

Unique identifier for tracking the request, useful for debugging and tracing.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "fileName": "string", "status": "submitted", "type": "amlAlert", "createdAt": "2019-08-24T14:15:22Z", "createdById": 0, "createdByUser": "string", "modifiedAt": "2019-08-24T14:15:22Z", "criteria": { "fromDate": "2019-08-24", "toDate": "2019-08-24", "property1": {}, "property2": {} }, "expiresAt": "2019-08-24T14:15:22Z", "correlationId": "string" }