POST
/
accounts
/
{account_id}
/
initiate_closure
Initiate account closure
curl --request POST \
  --url https://api-sandbox.synctera.com/v0/accounts/{account_id}/initiate_closure \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "destination_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "payment_method": "ACH",
  "reason": "BANK_REQUEST_REGULATORY_REASONS",
  "reason_details": "<string>"
}'
{
  "access_status": "ACTIVE",
  "access_status_last_updated_time": "2023-11-07T05:31:56Z",
  "account_closure": {
    "cases": [
      {
        "case_id": "<string>",
        "case_reason": "<string>"
      }
    ],
    "destination_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "payment_method": "ACH",
    "reason": "BANK_REQUEST_REGULATORY_REASONS",
    "reason_details": "<string>",
    "validation_responses": [
      {
        "details": {},
        "message": "Cards decoupled from account",
        "name": "cards",
        "validated": true
      }
    ]
  },
  "account_number": "<string>",
  "account_number_masked": "123*****6789",
  "account_purpose": "This account for the account holder's salary deposit.",
  "account_type": "CHARGE_SECURED",
  "application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "auto_payment_period": 20,
  "balance_ceiling": {
    "balance": 1,
    "linked_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "overflow_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "balance_floor": {
    "balance": 123,
    "linked_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "overdraft_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "balances": [
    {
      "balance": 2399,
      "type": "ACCOUNT_BALANCE"
    }
  ],
  "bank_account_id": "<string>",
  "bank_routing": "<string>",
  "billing_period": {
    "frequency": "ANNUALLY",
    "start_date": "2022-01-01T00:00:00Z"
  },
  "business_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "close_date": "2023-12-25",
  "creation_time": "2023-11-07T05:31:56Z",
  "credit_limit": 2500,
  "currency": "USD",
  "customer_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "customer_type": "BUSINESS",
  "days_past_due": 123,
  "exchange_rate_type": "M, INTERBANK, CUST",
  "fee_product_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "funds_ownership": "BANK",
  "general_ledger_category": "CORE",
  "general_ledger_type": "ACH_SETTLEMENT",
  "grace_period": 21,
  "iban": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "interest_product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "is_account_pool": true,
  "is_ach_enabled": true,
  "is_card_enabled": true,
  "is_eft_ca_enabled": true,
  "is_external_card_enabled": true,
  "is_p2p_enabled": true,
  "is_sar_enabled": true,
  "is_security": true,
  "is_synctera_pay_enabled": true,
  "is_system_auto_pay_enabled": true,
  "is_wire_enabled": true,
  "last_updated_time": "2023-11-07T05:31:56Z",
  "metadata": {},
  "minimum_payment": {
    "min_amount": 123,
    "rate": 123,
    "type": "FULL"
  },
  "nickname": "<string>",
  "open_date": "2023-12-25",
  "overdraft_limit": 1,
  "restrictions": {
    "is_account_out_of_area": true,
    "is_delinquent": true,
    "is_past_due": true,
    "is_revoked": true
  },
  "security": {
    "linked_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "spend_control_ids": [
    "7d943c51-e4ff-4e57-9558-08cab6b963c7"
  ],
  "spending_limits": {
    "day": {
      "amount": 1,
      "transactions": 1
    },
    "description": "<string>",
    "lifetime": {
      "amount": 1,
      "transactions": 1
    },
    "month": {
      "amount": 1,
      "transactions": 1
    },
    "transaction": {
      "amount": 1
    },
    "week": {
      "amount": 1,
      "transactions": 1
    }
  },
  "status": "ACCOUNT_NEVER_ACTIVE",
  "stop_payments": [
    {
      "dispute_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "expires_on": "2023-11-07T05:31:56Z",
      "originator_name": "<string>",
      "stop_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "swift_code": "<string>",
  "tenant": "abcdef_ghijkl"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key. A different key must be used for each request, unless it is a retry.

Example:

"7d943c51-e4ff-4e57-9558-08cab6b963c7"

Path Parameters

account_id
string<uuid>
required

Unique identifier for the account.

Example:

"57826c51-e4ff-4e57-9558-08cab6b963c7"

Body

application/json

Account to close

Account closing details when attempting to close an account and status is being changed to IN_CLOSING.

destination_id
string<uuid>
required

For an ACH payment, this is the external account UUID. For an internal payment, this is the account UUID.

payment_method
enum<string>
required

Payment method for the final payment if the account being closed carries a balance. A BANK_DRAFT payment method is issued by the sponsor bank to the account holder.

Available options:
ACH,
BANK_DRAFT,
INTERNAL_TRANSFER_TO_CUSTOMER_ACCOUNT,
INTERNAL_TRANSFER_TO_INTERNAL_ACCOUNT
reason
enum<string>
required

The enumerated reason for closing the account. This is a required field when closing an account; the given value will be validated against the caller's permissions.

Available options:
BANK_REQUEST_FRAUD,
BANK_REQUEST_INACTIVITY,
BANK_REQUEST_REDEEMED_OR_REINSTATED_REPOSSESSION,
BANK_REQUEST_REGULATORY_REASONS,
CUSTOMER_REQUEST_CREDIT_CARD_LOST_OR_STOLEN,
CUSTOMER_REQUEST_REFINANCE,
CUSTOMER_REQUEST_TRANSFER,
CUSTOMER_REQUEST_VOLUNTARILY_SURRENDERED,
PROGRAM_SHUT_DOWN_BANK,
PROGRAM_SHUT_DOWN_FINTECH
Example:

"BANK_REQUEST_REGULATORY_REASONS"

reason_details
string
required

Additional details about the reason for closing the account

Response

Account to close

access_status
enum<string>

Represents whether a customer has frozen their account. FROZEN is a customer-initiated state meaning that the account will reject all debits, typically used for a lost or stolen card.

Available options:
ACTIVE,
FROZEN
access_status_last_updated_time
string<date-time>

Timestamp of the last modification of the access_status. RFC3339 format.

account_closure
object

Account closing details when attempting to close an account and status is being changed to IN_CLOSING.

account_number
string

Account number

Maximum length: 50
account_number_masked
string

The response will contain the bank fintech ID (3 or 6 digits) plus the last 4 digits, with the digits in between replaced with * characters. Shadow mode account numbers will not be masked.

Maximum length: 50
Example:

"123*****6789"

account_purpose
string

Purpose of the account

Example:

"This account for the account holder's salary deposit."

account_type
enum<string>

The type of the account. In lead mode, this always takes the value of the template. If not specified in shadow mode, CHECKING will be assumed. Below mentioned are the account types:

  • SAVING: Savings account
  • CHECKING: Checking account
  • LINE_OF_CREDIT: Line of Credit account
  • CHARGE_SECURED: Secured Charge account, e.g. for use in a Smart Charge Card offering
  • CHARGE_UNSECURED: (alpha) Unsecured Charge account
  • GENERAL_LEDGER: General Ledger account (alpha - cannot yet be created). In production, these can only be created or updated by a Synctera administrator.
Available options:
CHARGE_SECURED,
CHARGE_UNSECURED,
CHECKING,
GENERAL_LEDGER,
LINE_OF_CREDIT,
SAVING
application_id
string<uuid>

The application ID for this account.

auto_payment_period
integer

The number of days past the billing period to initiate an auto payment. Only applicable for accounts with type CHARGE_SECURED, where the account holder has opted in for auto payment functionality. This value must be lower than or equal the grace_period setting on the account. If this value is 0, the auto payment will happen on the same day as the statement is generated. Auto payment only occurs if regular payments are not received on time.

Required range: 0 <= x <= 28
Example:

20

balance_ceiling
object
balance_floor
object
balances
object[]

A list of balances for account based on different type

bank_account_id
string

Identifier of the bank side account that this account is a part of

bank_routing
string

Bank routing number

Maximum length: 9
billing_period
object

The scheme for determining an account's billing period.

business_ids
string<uuid>[]

A list of the business IDs of the account holders.

close_date
string<date>

The account close date. This is the bank's posting date when the account resource's status was changed to CLOSED or CHARGED_OFF.

creation_time
string<date-time>

Account creation timestamp in RFC3339 format

credit_limit
integer

The credit limit for this line of credit account in cents. Minimum is 0.

Required range: x >= 0
Example:

2500

currency
string

Account currency or account settlement currency. ISO 4217 alphabetic currency code. Default USD

Example:

"USD"

customer_ids
string<uuid>[]

A list of the customer IDs of the account holders.

customer_type
enum<string>

Customer type

Available options:
BUSINESS,
PERSONAL
days_past_due
integer

The number of days since the account went past due on their minimum payments.

exchange_rate_type
string

Exchange rate type

Maximum length: 10
Example:

"M, INTERBANK, CUST"

fee_product_ids
string<uuid>[]

A list of fee account products that the current account associates with.

funds_ownership
enum<string>

An account's funds ownership indicates which organization owns the funds in the account. For example, some GENERAL_LEDGER accounts have funds owned by the bank, even though the account is in the fintech tenant. Fintechs are not able to perform money movement on accounts where the bank or platform owns the funds. This read-only property is determined by the account_type and general_ledger_type.

Available options:
BANK,
FINTECH,
PLATFORM
general_ledger_category
enum<string>

The category of the general ledger account. This read-only property is determined by the general_ledger_type.

Available options:
CORE,
PROFIT_AND_LOSS,
RESERVE,
SETTLEMENT,
SUSPENSE,
TREASURY
general_ledger_type
enum<string>

The type of general ledger account. This is required when creating a general ledger account.

Available options:
ACH_SETTLEMENT,
ACH_SUSPENSE,
ALLOCATED_SUSPENSE,
BANK_DRAFT,
BILLING_EXPENSE,
BILLING_REVENUE,
CARD_AFT_PREFUNDING,
CARD_OCT_SETTLEMENT,
CARD_SETTLEMENT,
CASH_SETTLEMENT,
CASH_SUSPENSE,
CHECK_SETTLEMENT,
DISPUTE_WRITE_OFF_PNL,
EFT_CA_SETTLEMENT,
EFT_CA_SUSPENSE,
EXTERNAL_CARD_AFT_SETTLEMENT,
EXTERNAL_CARD_OCT_SETTLEMENT,
FEDNOW_SETTLEMENT,
FEES,
FRAUD_LOSSES,
FUNDING_ACCOUNTS,
GENERAL_PNL,
INTEREST_PAYOUT,
INTERNATIONAL_WIRE_SETTLEMENT,
LOC_INTEREST_INCOME,
LOC_INVESTOR_PORTFOLIO,
LOC_REPURCHASE,
MONEY_IN_AND_OUT,
NEGATIVE_BALANCE,
NETWORK_ADJUSTMENT,
NETWORK_CHARGEBACK,
NEW_FUNDING_ACCOUNT,
PROVISIONAL_CREDIT_PNL,
RESERVE,
REWARDS,
SYNCTERA_PAY_SUSPENSE,
USC_INTEREST_INCOME,
USC_INVESTOR_PORTFOLIO,
USC_REPURCHASE,
WIRE_SETTLEMENT,
WIRE_SUSPENSE,
WRITE_OFF
grace_period
integer

The number of days past the billing period to allow for payment before it is considered due. This directly infers the due date for a payment. The default will be set to 21 days.

Required range: 21 <= x <= 28
Example:

21

iban
string

International bank account number

Maximum length: 34
id
string<uuid>

Account ID

interest_product_id
string<uuid>

An interest account product that the current account associates with.

is_account_pool
boolean

Account is investment (variable balance) account or a multi-balance account pool. Default false

is_ach_enabled
boolean

A flag to indicate whether ACH transactions are enabled.

is_card_enabled
boolean

A flag to indicate whether card transactions are enabled.

is_eft_ca_enabled
boolean

A flag to indicate whether EFT Canada transactions are enabled.

is_external_card_enabled
boolean

A flag to indicate whether external card transactions are enabled.

is_p2p_enabled
boolean

A flag to indicate whether P2P transactions are enabled.

is_sar_enabled
boolean

A flag to indicate whether SAR generation is enabled.

is_security
boolean

A flag to indicate whether this account is being used as security for another account.

is_synctera_pay_enabled
boolean

A flag to indicate whether Synctera Pay transactions are enabled.

is_system_auto_pay_enabled
boolean

A flag to indicate whether auto pay feature is enabled.

is_wire_enabled
boolean

A flag to indicate whether wire transactions are enabled.

last_updated_time
string<date-time>

Timestamp of the last account modification in RFC3339 format

metadata
object

User provided account metadata

minimum_payment
object

The scheme for calculating the minimum payment due for outstanding balances in a billing period.

nickname
string

User provided account nickname

open_date
string<date>

The account open date. This is the bank's posting date when the account resource was created.

overdraft_limit
integer
deprecated

This field is unused and will be removed in a future API version.

Required range: x >= 0
restrictions
object

Conditions that restrict the use of the account.

security
object
spend_control_ids
string<uuid>[]

List of spend control IDs to control spending for the account

Maximum length: 10
spending_limits
object
deprecated

Account spending limits is unused and has been deprecated. Instead use the spend controls API.

status
enum<string>

The status of the account.

StatusDescriptionTransactable
ACCOUNT_NEVER_ACTIVEAccount was never activated by the customerN
ACCOUNT_NOT_DESIREDA credit account was created for a customer, but the customer did not accept the accountN
ACTIVATED_NOT_DISBURSEDA credit account was created for the customer, but the funds have not been paid out or usedN
ACTIVE_OR_DISBURSEDThe account is active and transactableY
APPLICATION_SUBMITTEDDeprecated statusN
AWAITING_FIXINGAccount is awaiting fixingN
CHARGED_OFFThe account has been charged off and is closedN
CLOSEDAccounts must be zeroed out before being closed. Closed accounts cannot transactN
DELINQUENTSynctera will update a credit account to delinquent if the customer has not paid within their expected billing cycleN
FAILED_KYCWe were unable to verify the identity of the account holder: they have not passed know-your-customer (KYC) checksN
IN_CLOSINGThe account is in the process of being closed. An account with the IN_CLOSING status may only be updated to CLOSED. Updates to other statuses are prohibited.N
RESTRICTEDSynctera will update accounts to restricted of the account holder has not successfully passed KYCN
SUSPENDEDAccount has been suspected of fraudulent activity and is blocked from further transactionsN
Available options:
ACCOUNT_NEVER_ACTIVE,
ACCOUNT_NOT_DESIRED,
ACTIVATED_NOT_DISBURSED,
ACTIVE_OR_DISBURSED,
APPLICATION_SUBMITTED,
AWAITING_FIXING,
CHARGED_OFF,
CLOSED,
DELINQUENT,
FAILED_KYC,
IN_CLOSING,
RESTRICTED,
SUSPENDED
stop_payments
object[]
swift_code
string

SWIFT code

Required string length: 8 - 11
tenant
string

The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.

Example:

"abcdef_ghijkl"