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

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
matchedField
string

JSON path in the submitted transaction/customer payload where the matched value was found — tells you which field the hit is on (for example the counterparty, account-holder, or usage field). Look up the value in the payload you submitted.

ExamplemasterData.counterpartyData.name
listSource
string

Data provider the matched list entry originates from.

ExampleDow Jones
matchScore
number (double)

Match score for this hit on a 0-100 scale (higher means a closer match).

Example100.0
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
matchedName
string

Name of the matched list entity (the watchlist record's primary name). Personal data.

ExampleJohn Doe
aliases
Array of string

Alternative names recorded for the matched entity (AKA / also-known-as and native-script names). The name that actually triggered the match may be an alias rather than the primary name. Personal data.

Example[ "Johnny Doe", "J. Doe" ]
string
countries
Array of string

Countries associated with the matched entity (nationality, residence, or registration geography), as recorded by the data provider.

Example[ "GB", "US" ]
string
datesOfBirth
Array of string

Dates of birth recorded for the matched entity. Sensitive personal data — see Data protection.

Example[ "1975-04-12" ]
string
identifiers
Array of object (ScreeningHitIdentifier)

Identity documents / identifiers recorded for the matched entity (national ID, passport, company registration number, etc.). Sensitive personal data — see Data protection.

object

An identity document or identifier recorded for a matched screening entity.

type
string

Kind of identifier (for example national ID, passport, or company registration number).

ExamplePASSPORT
value
string

The identifier value. Sensitive personal data.

ExampleX1234567
note
string

Additional context on the identifier, such as the specific document type when type is generic (for example SIREN, NIT, or passport).

ExampleDocument Type: SIREN
profileNotes
Array of string

Narrative notes recorded on the matched entity by the data provider — the list classification notes plus the provider's free-text profile narrative (for example adverse-media summaries or sanctions-listing details). May be lengthy. Personal data.

Example[ "Listed for involvement in sanctions evasion." ]
string
sources
Array of object (ScreeningHitSource)

Source references for the matched entity (data-provider source links).

object

A source reference for a matched screening entity.

type
string

The kind of source reference.

ExampleSOURCE
url
string

Link to the source record, when the reference is a URL.

Examplehttps://example.org/list/entry/123
note
string

Source citation text, when the reference is textual rather than a plain link.

ExampleOFAC SDN list, 25-Feb-2022
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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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

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

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
matchedField
string

JSON path in the submitted transaction/customer payload where the matched value was found — tells you which field the hit is on (for example the counterparty, account-holder, or usage field). Look up the value in the payload you submitted.

ExamplemasterData.counterpartyData.name
listSource
string

Data provider the matched list entry originates from.

ExampleDow Jones
matchScore
number (double)

Match score for this hit on a 0-100 scale (higher means a closer match).

Example100.0
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
matchedName
string

Name of the matched list entity (the watchlist record's primary name). Personal data.

ExampleJohn Doe
aliases
Array of string

Alternative names recorded for the matched entity (AKA / also-known-as and native-script names). The name that actually triggered the match may be an alias rather than the primary name. Personal data.

Example[ "Johnny Doe", "J. Doe" ]
string
countries
Array of string

Countries associated with the matched entity (nationality, residence, or registration geography), as recorded by the data provider.

Example[ "GB", "US" ]
string
datesOfBirth
Array of string

Dates of birth recorded for the matched entity. Sensitive personal data — see Data protection.

Example[ "1975-04-12" ]
string
identifiers
Array of object (ScreeningHitIdentifier)

Identity documents / identifiers recorded for the matched entity (national ID, passport, company registration number, etc.). Sensitive personal data — see Data protection.

object

An identity document or identifier recorded for a matched screening entity.

type
string

Kind of identifier (for example national ID, passport, or company registration number).

ExamplePASSPORT
value
string

The identifier value. Sensitive personal data.

ExampleX1234567
note
string

Additional context on the identifier, such as the specific document type when type is generic (for example SIREN, NIT, or passport).

ExampleDocument Type: SIREN
profileNotes
Array of string

Narrative notes recorded on the matched entity by the data provider — the list classification notes plus the provider's free-text profile narrative (for example adverse-media summaries or sanctions-listing details). May be lengthy. Personal data.

Example[ "Listed for involvement in sanctions evasion." ]
string
sources
Array of object (ScreeningHitSource)

Source references for the matched entity (data-provider source links).

object

A source reference for a matched screening entity.

type
string

The kind of source reference.

ExampleSOURCE
url
string

Link to the source record, when the reference is a URL.

Examplehttps://example.org/list/entry/123
note
string

Source citation text, when the reference is textual rather than a plain link.

ExampleOFAC SDN list, 25-Feb-2022
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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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). Aggregation rules additionally include relatedCaseIds — the case IDs of the other transactions that contributed to the rule firing; each can be re-read via GET /v1/transaction-checks/{caseId}. Rules that provide relatedCaseIds include Volume Risk, Frequency of Changes, Dormant Account Activation, Account-Based Frequency, Suspicious Average Ticket Size, Account-Based Volume Increase/Decrease, Counter Party Volume, and Unusual Counter Party Based Frequency. See the "Retrieve case results via the API" knowledge base article for the authoritative per-rule field reference.

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

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