Skip to content

KYC (Know Your Customer) (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

Create Profile From Company Report

Request

Imports a company business report into the system as a profile for compliance purposes.

Security
bearerToken
Query
languagestring^[a-zA-Z]{2}$

Report Language - The JSON structure of the Report is language invariant, but field content will return as the given language, where available.

Default "en"
templatestring

Parameter to request a Templated Company Report. A Template adds/reduces sections of the Credit Report depending on your subscription. Do not include this parameter if you have not been given a template to use.

Default "full"
includeIndicatorsboolean

Optional parameter flag to include indicators or not.

Default true
customDatastring or null

Additional Report Parameters e.g. German Report Reason Code value is de_reason_code::1 . Use /reportcustomdata/{country} endpoint to see all values.

reportSectionsstring

Optional parameter to get specific sections of report instead of entire report.

languageFallbackboolean

Optional parameter flag to request a report with default language.

Default false
callRefstring or null

Call Reference

Default null
Bodyapplication/json
profileNamestringrequired

Name of the profile.

companyIdstringrequired

The primary Company identifier that is used to uniquely identify all companies across Creditsafes Universe and Partner Network.

internalIdstring or null

Internal Id of the profile

curl -i -X POST \
  'https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/profiles/businesses/import?language=en&template=full&includeIndicators=true&customData=string&reportSections=string&languageFallback=false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "profileName": "string",
    "companyId": "string",
    "internalId": "string"
  }'

Responses

Accepted

Bodyapplication/json
correlationIdstring(UUID)
kycResponseobject
reportobject(CreditsafeGlobalDataReportsCompanyReportResponse)
Response
application/json
{ "correlationId": "string", "kycResponse": { "id": "string", "profileUrl": "string" }, "report": { "correlationId": "string", "failedSections": [], "report": {}, "companyId": "string", "dateOfOrder": "2019-08-24T14:15:22Z", "language": "string", "userId": 0 } }

Request

Uses the name and type provided by the user to create a profile.

Security
bearerToken
Bodyapplication/json
namestring or nullrequired

The name of the profile being created.
This MUST be unique across your profiles.

typestring or nullrequired

The profile type to be created. This will effect searches later for validations.
i.e. Not being able to apply certain datasets (Example - State Owned Enterprises) to an Individual profile. Ensure the correct type is applied for intended search.

Enum"trust""individual""soleTrader""company""plc""partnership""otherEntity"
Example: "trust"
internalIdstring or null

Internal ID of the profile, this MUST be unique across your profiles.

assignedToIdinteger or null

Creditsafe Id of the user to assign the profile to.

kycReviewOnstring or null

The date to which the profile should be reviewed.
Format YYYY-MM-DD
Validates when the date changes and is either current or in the future.

statusstring or null

Status of the profile.

Enum"new""approved""declined""pending""cancelled""referred""closed""approvedReviewDue"
riskRatingstring or null

Risk rating of the profile.

Enum"notApplicable""veryLow""low""medium""high""veryHigh"
kycCommentsstring or null

Free text field for users to highlight key information to other users.
Maximum characters allowed is 250

detailsobject

Please note the required property in this object.

curl -i -X POST \
  https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/profiles \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "type": "trust",
    "internalId": "string",
    "assignedToId": 0,
    "kycReviewOn": "string",
    "status": "new",
    "riskRating": "notApplicable",
    "kycComments": "string",
    "details": {
      "legalName": "Creditsafe Ltd",
      "tradingName": null,
      "aliases": null,
      "activity": "62409",
      "description": "Example Free Text",
      "contactName": null,
      "email": "example@creditsafe.com",
      "website": "www.creditsafe.com",
      "telephone": null,
      "turnover": {
        "currencyCode": "eur",
        "amount": 0
      },
      "assetsUnderManagement": {
        "currencyCode": "eur",
        "amount": 0
      },
      "organizationNumber": "12345678",
      "internalContact": null,
      "internalEmail": null,
      "dateOfBirth": "2024-03-25",
      "countryCode": "GB",
      "vatNo": "GB12345678",
      "isListedOnExchange": null,
      "exchangeName": null
    }
  }'

Responses

Created

Bodyapplication/json
idstring(uuid)

Id of the Profile

namestring

Name of the Profile

riskRatingstring

Risk rating given to profile (notApplicable, veryLow, low, medium, high, veryHigh)

statusstring

Status of the profile (new, approved, declined, pending, cancelled, referred, closed, approvedReviewDue)

typestring

Type of the profile (trust, individual, soleTrader, company, plc, partnership, otherEntity)

internalIdstring or null

Internal Id given to profile by customer

assignedToIdinteger or null

Id of the user assigned to the profile

assignedTostring or null

Name of the user assigned to the profile

safeNumberstring or null

safe number of the business linked to the profile

companyIdstring or null

company id of the business linked to the profile

formationDatestring or null(date)

Formation date of the business linked to the profile

createdAtstring(date-time)

Profile created time

createdByIdinteger(int32)

Id of the user who created the profile

createdBystring

Name of the user who created the profile

modifiedAtstring or null(date-time)

Profile last updated time

modifiedByIdinteger or null(int32)

Id of the user who last modified the profile

modifiedBystring or null

Name of the user who last modified the profile

kycApprovedAtstring or null(date-time)

Date when the profile got approved

kycReviewOnstring or null(date)

Date when profile is to be reviewed

kycStatusUpdatedOnstring or null(date-time)

Date when the profile status was last updated

kycCommentsstring or null

Profile comments

noteCountinteger(int32)

Count of notes associated with profile

attachmentCountinteger(int32)

Count of attachments associated with profile

keyPartyCountinteger(int32)

Count of key parties associated with profile

uboCountinteger(int32)

Count of UBOs associated with profile

openAlertCountinteger(int32)

Count of Open Alerts

modeOfCreationstring

Mode of profile creation (manual, import)

importStatusstring or null

Status of profile creation (submitted, preprocessed, validated, queued, inProgress, processed, completed, partiallyCompleted, failed)

isLockedboolean

Value indicating whether the profile is locked

detailsobject
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "riskRating": "string", "status": "string", "type": "string", "internalId": "string", "assignedToId": 0, "assignedTo": "string", "safeNumber": "string", "companyId": "string", "formationDate": "2019-08-24", "createdAt": "2019-08-24T14:15:22Z", "createdById": 0, "createdBy": "string", "modifiedAt": "2019-08-24T14:15:22Z", "modifiedById": 0, "modifiedBy": "string", "kycApprovedAt": "2019-08-24T14:15:22Z", "kycReviewOn": "2019-08-24", "kycStatusUpdatedOn": "2019-08-24T14:15:22Z", "kycComments": "string", "noteCount": 0, "attachmentCount": 0, "keyPartyCount": 0, "uboCount": 0, "openAlertCount": 0, "modeOfCreation": "string", "importStatus": "string", "isLocked": true, "details": { "profileId": "faebe71b-2bf8-4bdb-9b67-258e4d6aa00a", "legalName": "string", "tradingName": "string", "aliases": [], "activity": "string", "description": "string", "contactName": "string", "email": "string", "website": "string", "telephone": "string", "turnover": {}, "assetsUnderManagement": {}, "dateOfBirth": "2019-08-24", "countryCode": "string", "vatNo": "string", "isListedOnExchange": true, "exchangeName": "string", "organizationNumber": "string", "internalContact": "string", "internalEmail": "string", "internationalScore": "string", "createdAt": "2019-08-24T14:15:22Z", "createdById": 0, "createdBy": "string", "modifiedAt": "2019-08-24T14:15:22Z", "modifiedById": 0, "modifiedBy": "string", "noteCount": 0, "attachmentCount": 0 } }

Request

Returns a list of profiles ordered by modified date.

Security
bearerToken
Query
pageinteger

Starting page number.

Default 1
pageSizeinteger

Specifies the number of items to be displayed per page. Allowed values are between 1 and 100.

searchTermstring

A search term to filter by. The search term will be matched against names, and internal ids containing the search term.

assigneesinteger(int32)

The ids of assigned users to filter by.

kycReviewAfterstring(date)

Filters results based on profiles with a kyc review date after this date.

kycReviewBeforestring(date)

Filters results based on profiles with a kyc review date after this date.

riskRatingsArray of strings

The risk ratings to filter by. Available values: notApplicable, veryLow, low, medium, high, veryHigh

sortOrderstring

The order in which the items should be sorted. Available values: asc, desc

sortBystring

The field by which the items should be sorted. Available values: modifiedAt, name

statusesArray of strings

The statuses to filter by. Available values: new, approved, declined, pending, cancelled, referred, closed, approvedReviewDue

curl -i -X GET \
  'https://connect.sandbox.creditsafe.com/v1/compliance/kyc-protect/profiles?page=1&pageSize=0&searchTerm=string&assignees=0&kycReviewAfter=2019-08-24&kycReviewBefore=2019-08-24&riskRatings=string&sortOrder=string&sortBy=string&statuses=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
itemsArray of objects
totalSizenumber
correlationIdstring

A unique ID assigned to this request.

Response
application/json
{ "items": [ {} ], "totalSize": 0, "correlationId": "string" }

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

Searches

Endpoint to review performed searches for businesses or individuals, including retrieving search results and downloading reports.

Operations

Compliance Alerts

Endpoints to manage and retrieve compliance alerts related to companies via a connectId.

Production Release Date

11th February 2026

Operations