Documentation Index

Fetch the complete documentation index at: https://docs.hawk.ai/llms.txt

Use this file to discover all available pages before exploring further.

Get transaction case

Prev Next
Get
/v1/transaction-checks/{caseId}

Retrieves Hawk-generated AML case statistics by internal case ID. Returns rule execution results, AML decisions, and screening data.

Security
API Key: API_KEY
Header parameter nameapi-key
Path parameters
caseId
string (uuid) Required

Internal Hawk case ID (returned in the original POST /v1/transaction-checks response)

Responses
200

Case found; all data sources returned successfully. The response contains the complete case payload.

Expand All
object
caseId
string (uuid)

Internal Hawk case ID

Example5f8a3b2c-1d4e-4f5a-9b6c-7d8e9f0a1b2c
correlationId
string (uuid)

Correlation ID linking this case to the original request

tenantId
string (uuid)

Tenant identifier

customerId
string

Customer identifier associated with this transaction

accountId
string

Account identifier associated with this case

createdAt
string (date-time)

Timestamp when processing of the case completed (ISO 8601 UTC)

caseStatus
string

Current lifecycle status of the case. One of: OPEN, NOT_OPENED, AUTO_CLOSED

ExampleOPEN
processingStatus
string

Current processing status of the case. One of: new, unsuspicious, relieved, unsubstantiated, opening, machine-review, operator-review, accepted, escalated, sar-filing, sar-filed, reopening, reopened

assignedTo
string

ID of the user the case is assigned to

apiType
string

Type of check that created this case (AMLChecks or CustomerChecks)

ExampleAMLChecks
sourceTags
Array of string

Source tags applied to this case

string
tenantCategory
string

Category assigned to the tenant

decision
object (Decision)

Decision taken on this case

caseStatus
string

Case status at the time of decision. One of: OPEN, NOT_OPENED, AUTO_CLOSED

transactionStatus
string

Transaction status resulting from the decision. One of: proceeded, blocked, unblocked, none

processingStatus
string

Processing status resulting from the decision. One of: new, unsuspicious, relieved, unsubstantiated

decisionType
string

Type of decision taken. One of: complete, incomplete, immediate

statusUpdate
object (StatusUpdate)

Latest transaction status update

transactionStatus
string

Updated transaction status. One of: proceeded, blocked, unblocked, none

processingStatus
string

Updated processing status. One of: new, unsuspicious, relieved, unsubstantiated

decisionType
string

Decision type that triggered the update. One of: complete, incomplete, immediate

operatorAnswer
string

Operator answer associated with the status update

amlStatistics
object (AmlStatistics)

AML-specific case statistics

flow
string

Transaction flow. One of: inbound, outbound

fundsTotalAndCurrency
string

Total funds with currency, currency first (e.g. "EUR 1234.56")

tenantTransactionId
string

Identifier provided by the tenant. Not unique — multiple POSTs with the same value create separate cases. Use caseId to identify a specific case.

transactionStatus
string

Transaction status from AML perspective. One of: proceeded, blocked, unblocked, none

investigationStatus
string

Investigation workflow status. One of: opening, unsuspicious, machine-review, relieved, new, initial-review, waiting-for-operator, operator-review, request-for-information, accepted, escalated, sar-filing, sar-filed, reopening, reopened

transactionResult
string

Transaction result code. One of: FRAUD_SUSPICION, CARD_STOLEN, CARD_LOST, INSUFFICIENT_FUNDS, SUSPICIOUS_MERCHANT_SETUP, INVALID_CVV, INVALID_AVS, USAGE_RESTRICTED, BLOCKED_CASH, IDENTITY_ISSUE, PIN_LIMIT_EXCEEDED, PICKUP_CARD_FRAUD, BLOCKED_ORIGINAL_CREDIT

screeningResults
Array of object (ScreeningResult)

Screening hit types, deduplicated. Retained for backward compatibility; for per-hit detail (list source, match score, matched record, SAN/SCO) use screeningHits.

object

A single screening hit, object-wrapped (mirrors the callback contract) so it can carry additional fields in future.

type
string

Screening hit type. One of: POLITICALLY_EXPOSED_PERSON, SPECIAL_INTEREST_ENTITY, SPECIAL_INTEREST_PERSON, SANCTIONED_ENTITY, SANCTIONED_PERSON, RELATIVE_OR_CLOSE_ASSOCIATE, BLACKLIST_ENTITY, BLACKLIST_PERSON, ADVERSE_MEDIA

ExampleSPECIAL_INTEREST_PERSON
screeningHits
Array of object (ScreeningHit)

Per-hit screening detail, one entry per screening hit on the case.

object

A single screening hit with enriched match detail (matched list record, score, list source, and SAN/SCO classification).

entityId
string

Reference to the matched list entry / record in the source list.

ExampleDJ-1234567
listSource
string

Data provider the matched list entry originates from.

ExampleDOW_JONES
matchScore
number (double)

Match score for this hit (higher means a closer match).

Example0.98
screeningAreas
Array of string

Screening areas the matched entity is listed under (e.g. SANCTIONS, PEP, ADVERSE_MEDIA, OTHER_WATCHLIST).

Example[ "SANCTIONS" ]
string
listNames
Array of string

Names of the source lists the matched entity appears on.

Example[ "OFAC SDN" ]
string
sanctionsOwnership
boolean

Distinguishes SAN from SCO for sanctions hits: true when the match is a Sanctions Control & Ownership (SCO) record, false for a direct sanctions-list (SAN) record.

ExampleFalse
ruleExecutionResults
object (RuleExecutionResults)

Results of rule execution grouped by outcome

openRules
Array of object (RuleResult)

Rules that resulted in an OPEN decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
notOpenRules
Array of object (RuleResult)

Rules that did not result in an OPEN decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
autoClosedRules
Array of object (RuleResult)

Rules that resulted in an AUTO_CLOSED decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
counterparty
object (Counterparty)

Counterparty information for the transaction

bankCountry
string

Country of the counterparty bank (ISO 3166 alpha-2)

notes
Array of object (CaseNote)

Case notes associated with this transaction case

object

A single case note

noteId
string (uuid)

Unique identifier of the note

userId
string

ID of the user who created the note

tenantId
string (uuid)

Tenant identifier

caseId
string (uuid)

Associated case identifier

note
string

Content of the note

createdAt
string (date-time)

Timestamp when the note was created

type
string

Type of the note

subtype
string

Subtype of the note

subtypeRelatedItemId
string

ID of the item related to the subtype

userDetails
object (CaseNoteUserDetails)

Details of the user who created the case note

userId
string

User identifier

email
string

Email address of the user

name
string

Full name of the user

picture
string

URL or reference to the user's profile picture

attachments
Array of object (CaseNoteAttachment)

List of attachments associated with this note

object

An attachment uploaded with a case note

uniqueId
string (uuid)

Unique identifier of the attachment

fileName
string

Name of the attached file

fileSizeInBytes
integer (int64)

Size of the file in bytes

fullFilePath
string

Full file path of the attachment

passwordId
string

Password identifier if the file is encrypted

206

Case found, but one or more data sources (for example screening) were temporarily unavailable, so some fields may be missing. Why: a downstream data source did not respond in time. Recover: retry with exponential backoff until you receive 200.

Expand All
object
caseId
string (uuid)

Internal Hawk case ID

Example5f8a3b2c-1d4e-4f5a-9b6c-7d8e9f0a1b2c
correlationId
string (uuid)

Correlation ID linking this case to the original request

tenantId
string (uuid)

Tenant identifier

customerId
string

Customer identifier associated with this transaction

accountId
string

Account identifier associated with this case

createdAt
string (date-time)

Timestamp when processing of the case completed (ISO 8601 UTC)

caseStatus
string

Current lifecycle status of the case. One of: OPEN, NOT_OPENED, AUTO_CLOSED

ExampleOPEN
processingStatus
string

Current processing status of the case. One of: new, unsuspicious, relieved, unsubstantiated, opening, machine-review, operator-review, accepted, escalated, sar-filing, sar-filed, reopening, reopened

assignedTo
string

ID of the user the case is assigned to

apiType
string

Type of check that created this case (AMLChecks or CustomerChecks)

ExampleAMLChecks
sourceTags
Array of string

Source tags applied to this case

string
tenantCategory
string

Category assigned to the tenant

decision
object (Decision)

Decision taken on this case

caseStatus
string

Case status at the time of decision. One of: OPEN, NOT_OPENED, AUTO_CLOSED

transactionStatus
string

Transaction status resulting from the decision. One of: proceeded, blocked, unblocked, none

processingStatus
string

Processing status resulting from the decision. One of: new, unsuspicious, relieved, unsubstantiated

decisionType
string

Type of decision taken. One of: complete, incomplete, immediate

statusUpdate
object (StatusUpdate)

Latest transaction status update

transactionStatus
string

Updated transaction status. One of: proceeded, blocked, unblocked, none

processingStatus
string

Updated processing status. One of: new, unsuspicious, relieved, unsubstantiated

decisionType
string

Decision type that triggered the update. One of: complete, incomplete, immediate

operatorAnswer
string

Operator answer associated with the status update

amlStatistics
object (AmlStatistics)

AML-specific case statistics

flow
string

Transaction flow. One of: inbound, outbound

fundsTotalAndCurrency
string

Total funds with currency, currency first (e.g. "EUR 1234.56")

tenantTransactionId
string

Identifier provided by the tenant. Not unique — multiple POSTs with the same value create separate cases. Use caseId to identify a specific case.

transactionStatus
string

Transaction status from AML perspective. One of: proceeded, blocked, unblocked, none

investigationStatus
string

Investigation workflow status. One of: opening, unsuspicious, machine-review, relieved, new, initial-review, waiting-for-operator, operator-review, request-for-information, accepted, escalated, sar-filing, sar-filed, reopening, reopened

transactionResult
string

Transaction result code. One of: FRAUD_SUSPICION, CARD_STOLEN, CARD_LOST, INSUFFICIENT_FUNDS, SUSPICIOUS_MERCHANT_SETUP, INVALID_CVV, INVALID_AVS, USAGE_RESTRICTED, BLOCKED_CASH, IDENTITY_ISSUE, PIN_LIMIT_EXCEEDED, PICKUP_CARD_FRAUD, BLOCKED_ORIGINAL_CREDIT

screeningResults
Array of object (ScreeningResult)

Screening hit types, deduplicated. Retained for backward compatibility; for per-hit detail (list source, match score, matched record, SAN/SCO) use screeningHits.

object

A single screening hit, object-wrapped (mirrors the callback contract) so it can carry additional fields in future.

type
string

Screening hit type. One of: POLITICALLY_EXPOSED_PERSON, SPECIAL_INTEREST_ENTITY, SPECIAL_INTEREST_PERSON, SANCTIONED_ENTITY, SANCTIONED_PERSON, RELATIVE_OR_CLOSE_ASSOCIATE, BLACKLIST_ENTITY, BLACKLIST_PERSON, ADVERSE_MEDIA

ExampleSPECIAL_INTEREST_PERSON
screeningHits
Array of object (ScreeningHit)

Per-hit screening detail, one entry per screening hit on the case.

object

A single screening hit with enriched match detail (matched list record, score, list source, and SAN/SCO classification).

entityId
string

Reference to the matched list entry / record in the source list.

ExampleDJ-1234567
listSource
string

Data provider the matched list entry originates from.

ExampleDOW_JONES
matchScore
number (double)

Match score for this hit (higher means a closer match).

Example0.98
screeningAreas
Array of string

Screening areas the matched entity is listed under (e.g. SANCTIONS, PEP, ADVERSE_MEDIA, OTHER_WATCHLIST).

Example[ "SANCTIONS" ]
string
listNames
Array of string

Names of the source lists the matched entity appears on.

Example[ "OFAC SDN" ]
string
sanctionsOwnership
boolean

Distinguishes SAN from SCO for sanctions hits: true when the match is a Sanctions Control & Ownership (SCO) record, false for a direct sanctions-list (SAN) record.

ExampleFalse
ruleExecutionResults
object (RuleExecutionResults)

Results of rule execution grouped by outcome

openRules
Array of object (RuleResult)

Rules that resulted in an OPEN decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
notOpenRules
Array of object (RuleResult)

Rules that did not result in an OPEN decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
autoClosedRules
Array of object (RuleResult)

Rules that resulted in an AUTO_CLOSED decision

object
decisionName
string

Name of the decision

caseStatus
string

Case status resulting from this rule

transactionStatus
string

Transaction status resulting from this rule

processingStatus
string

Processing status resulting from this rule

instanceResults
Array of object (RuleInstanceResult)

Individual rule instance results

object
instanceId
string

Unique identifier of the rule instance

instanceName
string

Human-readable name of the rule instance

blocking
boolean

Whether this rule instance is blocking

value
number (double)

Numeric score or value produced by the rule instance

ruleCategories
Array of string

Categories this rule instance belongs to

string
details
object

Rule-specific result details. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
configuration
object

Rule-specific configuration. Free-form; fields vary by rule (the parent decisionName identifies the rule).

property*
counterparty
object (Counterparty)

Counterparty information for the transaction

bankCountry
string

Country of the counterparty bank (ISO 3166 alpha-2)

notes
Array of object (CaseNote)

Case notes associated with this transaction case

object

A single case note

noteId
string (uuid)

Unique identifier of the note

userId
string

ID of the user who created the note

tenantId
string (uuid)

Tenant identifier

caseId
string (uuid)

Associated case identifier

note
string

Content of the note

createdAt
string (date-time)

Timestamp when the note was created

type
string

Type of the note

subtype
string

Subtype of the note

subtypeRelatedItemId
string

ID of the item related to the subtype

userDetails
object (CaseNoteUserDetails)

Details of the user who created the case note

userId
string

User identifier

email
string

Email address of the user

name
string

Full name of the user

picture
string

URL or reference to the user's profile picture

attachments
Array of object (CaseNoteAttachment)

List of attachments associated with this note

object

An attachment uploaded with a case note

uniqueId
string (uuid)

Unique identifier of the attachment

fileName
string

Name of the attached file

fileSizeInBytes
integer (int64)

Size of the file in bytes

fullFilePath
string

Full file path of the attachment

passwordId
string

Password identifier if the file is encrypted

401

Missing or invalid API key. Why: the api-key header was absent or not valid for this tenant. Recover: send a valid tenant API key in the api-key header.

{
  "errors": [
    "Missing or invalid API key"
  ]
}
object
errors
Array of string

List of error messages

string
404

No transaction case exists for the given caseId. Why: the ID is unknown or belongs to a customer case. Recover: verify the caseId from the original submission response and that you are calling the transaction endpoint.

{
  "errors": [
    "Transaction case not found"
  ]
}
object
errors
Array of string

List of error messages

string
429

Rate limit exceeded. Why: requests exceeded the per-second limit agreed for your tenant (shared with POST/PATCH /v1/transaction-checks). Recover: pause and retry with exponential backoff — for example 1s, 2s, 4s with jitter — and keep overall throughput under the limit.

{
  "errors": [
    "Rate limit exceeded"
  ]
}
object
errors
Array of string

List of error messages

string
500

The case was found but could not be assembled for the response. Why: a transient internal error. Recover: retry with backoff; if it persists, contact Hawk.

{
  "errors": [
    "Failed to detokenize transaction case"
  ]
}
object
errors
Array of string

List of error messages

string