Skip to content
Last updated

Case message types

This page describes the submission data structure and accepted values for each message submission type supported by the Submit a Message endpoint.

  • Structured responses: Use the case subType appended with _SUBMISSION (e.g., DEPOSIT_SANCTION_HIT_SUBMISSION, RECIPIENT_LOCATION_HIT_SUBMISSION).
  • Free text responses: Use FREEFORM.

Supported submission types

Submission typeDescriptionValid for case sub-types
FREEFORMFree-text message for general communication.All
DEPOSIT_SANCTION_HIT_SUBMISSIONSubmit entity information for deposit sanction hit cases.DEPOSIT_SANCTION_HIT
RECIPIENT_SANCTION_HIT_SUBMISSIONSubmit entity information for recipient sanction hit cases.RECIPIENT_SANCTION_HIT
REFERENCE_SANCTION_HIT_SUBMISSIONSubmit entity information for reference sanction hit cases.REFERENCE_SANCTION_HIT
REFERENCE_LOCATION_HIT_SUBMISSIONSubmit location-related information for reference location hit cases.REFERENCE_LOCATION_HIT
RECIPIENT_LOCATION_HIT_SUBMISSIONSubmit location-related information for recipient location hit cases.RECIPIENT_LOCATION_HIT

Entity types for sanction hit submissions

Sanction hit submissions support different entity types depending on the submission type:

Entity typeDEPOSITRECIPIENTREFERENCE
individualYesYesYes
organisationYesYesYes
vesselNoNoYes
multipleNoNoYes
otherNoNoYes

FREEFORM

Free-text message for general communication on a case. Use this to provide additional context, ask questions, or share documentation references.

Prerequisites:

  • Case must not be in RESOLVED or FAILED status
Request Fields
typestring

Required. Must be FREEFORM

submissionData.freeTextstring

Required. The free-text message to submit. Minimum length: 1 character. Maximum length: 10,000 characters.

submissionData exampleA JSON string
{
  "type": "FREEFORM",
  "submissionData": {
    "freeText": "Following up on the requested documentation. We have verified the recipient identity through our internal KYC process."
  }
}

DEPOSIT_SANCTION_HIT_SUBMISSION

Submit entity information for deposit sanction hit cases. The deposit sanction hit occurs when a depositor's details match against sanctions screening.

Valid entity types: individual or organisation (exactly one required)

Deposit Individual

Submit information about an individual depositor.

Request Fields
typestring

Required. Must be DEPOSIT_SANCTION_HIT_SUBMISSION

submissionData.individual.namestring

Required. Full name of the individual. Maximum length: 255 characters.

submissionData.individual.dobstring

Date of birth. Accepted formats: DD/MM/YYYY or YYYY-MM-DD. Maximum length: 10 characters.

submissionData.individual.nationalitystring

Nationality of the individual. Maximum length: 100 characters.

submissionData exampleA JSON string
{
  "type": "DEPOSIT_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "individual": {
      "name": "Maria Garcia Rodriguez",
      "dob": "12/05/1988",
      "nationality": "Spanish"
    }
  }
}

Deposit Organisation

Submit information about an organisation depositor.

Request Fields
typestring

Required. Must be DEPOSIT_SANCTION_HIT_SUBMISSION

submissionData.organisation.namestring

Required. Name of the organisation. Maximum length: 255 characters.

submissionData.organisation.streetAddressstring

Required. Street address of the organisation. Maximum length: 500 characters.

submissionData.organisation.citystring

Required. City where the organisation is located. Maximum length: 100 characters.

submissionData.organisation.postCodestring

Required. Postal code of the organisation's address. Maximum length: 20 characters.

submissionData.organisation.countryIso3string

Required. ISO 3166-1 alpha-3 country code. Exactly 3 uppercase letters. Pattern: ^[A-Z]{3}$. Example: GBR, USA, DEU.

submissionData.organisation.natureOfBusinessstring

Description of the organisation's business activities. Maximum length: 500 characters.

submissionData.organisation.websitestring

Organisation's website URL. Must be a valid URI format. Maximum length: 500 characters.

submissionData exampleA JSON string
{
  "type": "DEPOSIT_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "organisation": {
      "name": "Tech Solutions Europe S.A.",
      "streetAddress": "Av. de la Liberté 25",
      "city": "Luxembourg",
      "postCode": "1931",
      "countryIso3": "LUX",
      "natureOfBusiness": "Software Development",
      "website": "https://www.techsolutions-eu.com"
    }
  }
}

RECIPIENT_SANCTION_HIT_SUBMISSION

Submit entity information for recipient sanction hit cases. The recipient sanction hit occurs when a recipient's details match against sanctions screening.

Valid entity types: individual or organisation (exactly one required)

Recipient Individual

Submit information about an individual recipient.

Request Fields
typestring

Required. Must be RECIPIENT_SANCTION_HIT_SUBMISSION

submissionData.individual.namestring

Required. Full name of the individual. Maximum length: 255 characters.

submissionData.individual.countryOfResidenceIso3string

Required. ISO 3166-1 alpha-3 country code for country of residence. Exactly 3 uppercase letters. Pattern: ^[A-Z]{3}$. Example: GBR, SGP, USA.

submissionData.individual.dobstring

Date of birth. Accepted formats: DD/MM/YYYY or YYYY-MM-DD. Maximum length: 10 characters.

submissionData.individual.nationalitystring

Nationality of the individual. Maximum length: 100 characters.

submissionData exampleA JSON string
{
  "type": "RECIPIENT_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "individual": {
      "name": "Li Wei Chen",
      "countryOfResidenceIso3": "SGP",
      "dob": "03/11/1982",
      "nationality": "Singaporean"
    }
  }
}

Recipient Organisation

Submit information about an organisation recipient.

Request Fields
typestring

Required. Must be RECIPIENT_SANCTION_HIT_SUBMISSION

submissionData.organisation.namestring

Required. Name of the organisation. Maximum length: 255 characters.

submissionData.organisation.streetAddressstring

Required. Street address of the organisation. Maximum length: 500 characters.

submissionData.organisation.citystring

Required. City where the organisation is located. Maximum length: 100 characters.

submissionData.organisation.postCodestring

Required. Postal code of the organisation's address. Maximum length: 20 characters.

submissionData.organisation.countryIso3string

Required. ISO 3166-1 alpha-3 country code. Exactly 3 uppercase letters. Pattern: ^[A-Z]{3}$.

submissionData.organisation.natureOfBusinessstring

Description of the organisation's business activities. Maximum length: 500 characters.

submissionData.organisation.websitestring

Organisation's website URL. Must be a valid URI format. Maximum length: 500 characters.

submissionData exampleA JSON string
{
  "type": "RECIPIENT_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "organisation": {
      "name": "Pacific Rim Trading Co.",
      "streetAddress": "88 Marina Boulevard",
      "city": "Singapore",
      "postCode": "018984",
      "countryIso3": "SGP",
      "natureOfBusiness": "Commodities Trading"
    }
  }
}

REFERENCE_SANCTION_HIT_SUBMISSION

Submit entity information for reference sanction hit cases. The reference sanction hit occurs when a payment reference or memo field matches against sanctions screening.

Valid entity types: individual, organisation, vessel, multiple, or other (exactly one required)

Important

For individual submissions, countryOfResidenceIso3 is REQUIRED.

Reference Individual

Submit information about an individual referenced in the payment.

Request Fields
typestring

Required. Must be REFERENCE_SANCTION_HIT_SUBMISSION

submissionData.individual.namestring

Required. Full name of the individual. Maximum length: 255 characters.

submissionData.individual.countryOfResidenceIso3string

Required. ISO 3166-1 alpha-3 country code for country of residence. Exactly 3 uppercase letters. Pattern: ^[A-Z]{3}$.

submissionData.individual.dobstring

Date of birth. Accepted formats: DD/MM/YYYY or YYYY-MM-DD. Maximum length: 10 characters.

submissionData.individual.nationalitystring

Nationality of the individual. Maximum length: 100 characters.

submissionData exampleA JSON string
{
  "type": "REFERENCE_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "individual": {
      "name": "Robert Downy Jr",
      "countryOfResidenceIso3": "EGY",
      "dob": "22/08/1975",
      "nationality": "Egyptian"
    }
  }
}

Reference Organisation

Submit information about an organisation referenced in the payment.

Request Fields
typestring

Required. Must be REFERENCE_SANCTION_HIT_SUBMISSION

submissionData.organisation.namestring

Required. Name of the organisation. Maximum length: 255 characters.

submissionData.organisation.streetAddressstring

Required. Street address of the organisation. Maximum length: 500 characters.

submissionData.organisation.citystring

Required. City where the organisation is located. Maximum length: 100 characters.

submissionData.organisation.postCodestring

Required. Postal code of the organisation's address. Maximum length: 20 characters.

submissionData.organisation.countryIso3string

Required. ISO 3166-1 alpha-3 country code. Exactly 3 uppercase letters. Pattern: ^[A-Z]{3}$.

submissionData.organisation.natureOfBusinessstring

Description of the organisation's business activities. Maximum length: 500 characters.

submissionData.organisation.websitestring

Organisation's website URL. Must be a valid URI format. Maximum length: 500 characters.

submissionData exampleA JSON string
{
  "type": "REFERENCE_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "organisation": {
      "name": "Global Trading Partners LLC",
      "streetAddress": "1500 Commerce Street, Suite 400",
      "city": "Dubai",
      "postCode": "00000",
      "countryIso3": "ARE",
      "natureOfBusiness": "Import/Export Trading",
      "website": "https://www.globaltrading-partners.com"
    }
  }
}

Reference Vessel

Submit information about a vessel referenced in the payment.

Request Fields
typestring

Required. Must be REFERENCE_SANCTION_HIT_SUBMISSION

submissionData.vessel.vesselImoNumberstring

Required. International Maritime Organization (IMO) number of the vessel. IMO numbers are 7-digit identifiers. Maximum length: 20 characters. Pattern: ^(IMO)?\s?\d{7}$. Examples: 9074729, IMO 9074729.

submissionData exampleA JSON string
{
  "type": "REFERENCE_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "vessel": {
      "vesselImoNumber": "9074729"
    }
  }
}

Reference Multiple

Submit information when multiple entities are involved in the payment reference. Use this when the payment involves a consortium, group payment arrangement, or multiple beneficiaries.

Request Fields
typestring

Required. Must be REFERENCE_SANCTION_HIT_SUBMISSION

submissionData.multiple.explanationstring

Required. Explanation describing the multiple entities involved. Should include details about all parties and their relationship. Maximum length: 2,000 characters.

submissionData exampleA JSON string
{
  "type": "REFERENCE_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "multiple": {
      "explanation": "This payment reference involves a consortium of three companies: Alpha Corp (USA), Beta Ltd (UK), and Gamma GmbH (Germany). The payment is for a joint infrastructure project where funds are distributed proportionally: 40% to Alpha Corp, 35% to Beta Ltd, and 25% to Gamma GmbH."
    }
  }
}

Reference Other

Submit information for entity types not covered by standard categories. Use this for government entities, NGOs, trusts, or other special entity types.

Request Fields
typestring

Required. Must be REFERENCE_SANCTION_HIT_SUBMISSION

submissionData.other.explanationstring

Required. Free-form explanation describing the entity. Should include the entity type, registration details, and any relevant compliance information. Maximum length: 2,000 characters.

submissionData exampleA JSON string
{
  "type": "REFERENCE_SANCTION_HIT_SUBMISSION",
  "submissionData": {
    "other": {
      "explanation": "The payment reference relates to a charitable foundation registered with the UN. The Foundation for Educational Development (FED) is a non-profit organization established in 2010, registered under Swiss law with headquarters in Geneva. Registration number: CH-660.0.000.000-1."
    }
  }
}

REFERENCE_LOCATION_HIT_SUBMISSION

Submit location-related information for reference location hit cases. This occurs when a payment reference triggers a location-based compliance check.

Request Fields
typestring

Required. Must be REFERENCE_LOCATION_HIT_SUBMISSION

submissionData.other.relatedToLocationstring

Required. Explanation of how the reference is related to the flagged location. Maximum length: 2,000 characters.

submissionData.other.paymentExplanationstring

Required. Explanation of the purpose of the payment. Describe what goods or services are being paid for. Maximum length: 2,000 characters.

submissionData.other.locationstring

Required. The specific location being addressed. Maximum length: 255 characters.

submissionData.other.referenceDescriptionstring

Required. Description of the payment reference that triggered the location hit. Maximum length: 2,000 characters.

submissionData exampleA JSON string
{
  "type": "REFERENCE_LOCATION_HIT_SUBMISSION",
  "submissionData": {
    "other": {
      "relatedToLocation": "The payment reference mentions Crimea due to historical business operations that were fully wound down in 2014.",
      "paymentExplanation": "Current payment is for consulting services rendered in London, UK.",
      "location": "Crimea, Ukraine",
      "referenceDescription": "Invoice CRM-2026-0042 - Consulting services for Q2 2026. The CRM prefix is a legacy system identifier."
    }
  }
}

RECIPIENT_LOCATION_HIT_SUBMISSION

Submit location-related information for recipient location hit cases. This occurs when a recipient's location triggers a compliance check.

Request Fields
typestring

Required. Must be RECIPIENT_LOCATION_HIT_SUBMISSION

submissionData.other.relatedToLocationstring

Required. Explanation of how the recipient is related to the flagged location. Maximum length: 2,000 characters.

submissionData.other.paymentExplanationstring

Required. Explanation of the purpose of the payment. Maximum length: 2,000 characters.

submissionData.other.locationstring

Required. The specific location being addressed. Maximum length: 255 characters.

submissionData.other.businessWebsitestring

Website of the recipient's business (optional). Must be a valid URI format. Maximum length: 500 characters.

submissionData exampleA JSON string
{
  "type": "RECIPIENT_LOCATION_HIT_SUBMISSION",
  "submissionData": {
    "other": {
      "relatedToLocation": "Recipient company has a branch registration in the flagged jurisdiction for administrative purposes only.",
      "paymentExplanation": "Payment for software licenses delivered electronically. Recipient's operational headquarters are in Dublin, Ireland.",
      "location": "Minsk, Belarus",
      "businessWebsite": "https://www.recipient-software.ie"
    }
  }
}

Error responses

Validation errors (400 Bad Request)

Returned when required fields are missing or invalid.

{
  "error": "BAD_REQUEST",
  "message": "Validation failed for request body",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/12345678/messages",
  "errors": [
    {
      "field": "submissionData.individual.name",
      "message": "name is required for individual submission"
    }
  ]
}

Missing countryOfResidenceIso3 (422 Unprocessable Entity)

Returned when countryOfResidenceIso3 is missing for recipient or reference individual submissions.

{
  "error": "UNPROCESSABLE_ENTITY",
  "message": "countryOfResidenceIso3 is required for recipient individual",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/12345678/messages"
}

Submission type mismatch (422 Unprocessable Entity)

Returned when the submission type doesn't match the case sub-type.

{
  "error": "UNPROCESSABLE_ENTITY",
  "message": "Submission type DEPOSIT_SANCTION_HIT_SUBMISSION is not valid for case sub-type RECIPIENT_SANCTION_HIT",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/12345678/messages"
}

Invalid entity type for submission (422 Unprocessable Entity)

Returned when using an entity type not supported by the submission type (e.g., vessel for deposit sanction hit).

{
  "error": "UNPROCESSABLE_ENTITY",
  "message": "Vessel submission is only valid for REFERENCE_SANCTION_HIT_SUBMISSION",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/12345678/messages"
}

Case not found (404 Not Found)

Returned when the case ID doesn't exist.

{
  "error": "RESOURCE_NOT_FOUND",
  "message": "Case with id 99999999 not found",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/99999999/messages"
}

Case in invalid status (409 Conflict)

Returned when attempting to submit a message to a case in RESOLVED or FAILED status.

{
  "error": "CONFLICT",
  "message": "Cannot submit message: case is in RESOLVED status",
  "timestamp": "2026-08-03T10:30:00.000Z",
  "path": "/public/v2/cases/12345678/messages"
}