Skip to main content

Suspend an Account

Overview

You can suspend a financial account for various risk management use cases not addressed by spend rules or velocity controls. Suspending a financial account does the following:

  • Declines authorizations on all associated payment cards
  • Blocks issuance or re-issuance of payment cards

Suspending a financial account works by adding a PROGRAM_OWNER_INITIATED_SUSPENSION financial account attribute. To automate your integration, you can subscribe to financial account attribute events. This will notify you when a specific financial account attribute is added or removed, so you can trigger your suspension workflow.

Suspend financial account

Use the following mutation to suspend a financial account:

SuspendFinancialAccount
Query
mutation suspendFinancialAccount($input: SuspendFinancialAccountInput!) {
suspendFinancialAccount(input: $input) {
... on FinancialAccount {
id
accountStatus
accountAttributes
financialAccountAttributesWithReason {
attribute
reason
}
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "id": "FINANCIAL_ACCOUNT_ID",
    "memo": "suspension requested",
    "suspensionReason": "ACCOUNT_HOLDER_REQUEST"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"suspendFinancialAccount": {
"id": "FINANCIAL_ACCOUNT_ID",
"accountStatus": "SUSPENDED",
"accountAttributes": [
"PROGRAM_OWNER_INITIATED_SUSPENSION"
],
"financialAccountAttributesWithReason": [
{
"attribute": "PROGRAM_OWNER_INITIATED_SUSPENSION",
"reason": "PROGRAM_OWNER_INITIATED_SUSPENSION_REASON_ACCOUNT_HOLDER_REQUEST"
}
]
}
},
"extensions": {
"requestId": "REQUEST_ID",
"rateLimit": {
"cost": 11
}
}
}

Remove account suspension

info

Other financial account attributes may exist on an account that could prevent it from moving to an ACTIVE status.

After a financial account is reviewed, you can remove the PROGRAM_OWNER_INITIATED_SUSPENSION financial account attribute from the account using the following mutation. Removing this financial account attribute resumes authorizations and allows payment card issuance:

UnsuspendFinancialAccount
Query
mutation unsuspendFinancialAccount($input: UnsuspendFinancialAccountInput!) {
unsuspendFinancialAccount(input: $input) {
... on FinancialAccount {
id
accountStatus
accountAttributes
financialAccountAttributesWithReason {
attribute
reason
}
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "id": "FINANCIAL_ACCOUNT_ID",
    "memo": "unsuspension requested"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"unsuspendFinancialAccount": {
"id": "FINANCIAL_ACCOUNT_ID",
"accountStatus": "ACTIVE",
"accountAttributes": [],
"financialAccountAttributesWithReason": []
}
},
"extensions": {
"requestId": "REQUEST_ID",
"rateLimit": {
"cost": 11
}
}
}

Find financial account status and attributes

important

Highnote strongly recommends not exposing fraud or risk-related accountAttributes to account holders, because this information can facilitate further risky behavior.

Use the following query to find account status and attributes:

GetFinancialAccount
Query
query GetFinancialAccount($id: ID!) {
node(id: $id) {
__typename
... on FinancialAccount {
id
name
accountStatus
accountAttributes
financialAccountAttributesWithReason {
attribute
reason
}
updatedAt
createdAt
}
}
}
Variables
{
"id": "FINANCIAL_ACCOUNT_ID"
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"node": {
"id": "FINANCIAL_ACCOUNT_ID",
"accountStatus": "SUSPENDED",
"accountAttributes": [
"PROGRAM_OWNER_INITIATED_SUSPENSION"
],
"financialAccountAttributesWithReason": [
{
"attribute": "PROGRAM_OWNER_INITIATED_SUSPENSION",
"reason": "PROGRAM_OWNER_INITIATED_SUSPENSION_REASON_ACCOUNT_HOLDER_REQUEST"
}
],
"globalNotes": {
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": false
},
"edges": [
{
"node": {
"message": "test suspension again",
"primaryEntity": {
"__typename": "FinancialAccount"
},
"aggregateEntity": {
"__typename": "USPersonAccountHolder"
}
}
},
{
"node": {
"message": "test unsuspension",
"primaryEntity": {
"__typename": "FinancialAccount"
},
"aggregateEntity": {
"__typename": "USPersonAccountHolder"
}
}
}
]
}
}
}
}