Accounts
Open an account
6 min
cr provides a number of different types of accounts, including check and savings, certificates of deposit (cds or time deposit accounts), and more to open any kind of account you must have a valid product id for the type of account you want to open, and a customer id (onboarded customer record id) for the account holder note that the account holder must have at least one address and phone number in their customer record, and their ofac status must be clear in addition, the classification of the customer must match the configured classification for the product for example, only business customers can be added to a business product in this tutorial, you'll learn how to ✅ open a customer master account if you are new to account management we recommend you read the accounts documentation before starting this tutorial the tutorial assumes you have a knowledge of apis and how they work refer to structure for more details the tutorial uses this api endpoint api description open a deposit account opens a deposit account for a customer the tutorial uses these webhooks webhook description core account opened a new account was opened before you begin make sure you have quickstart partner id customer id (only available once the customer is onboard a customer ) cos product types and ids (defines the type of account being opened) important we highly recommend you include an idempotency key in your request header to provide duplicate protection in the event of a failure read more about idempotency keys register the relevant webhook events to receive the webhook events for this tutorial both partner accounts need to accounts, cards and payment events each specific webhook event type once you are registered, the event objects are sent to the registered urls the event object contains a list of resource identifiers used to download details on each event open an account this tutorial shows you how to create a deposit account in this scenario, you'll open an account for jerry penn, a customer who you successfully onboarded closed accounts can only be re opened by the cr ops teams to re open an account please open a support ticket https //crossriver service now\ com/csm?id=cos sandbox request form\&sys id=713de878c300b5105d3eafdc7a013184\&sysparm category=df09f2623310c2906b697d934d5c7b4a to open an account call post /v1/dda/accounts for this call, some open a deposit account are required post /core/v1/dda/accounts request curl location 'https //sandbox crbcos com/core/v1/dda/accounts' \\ \ header 'idempotency key 025aaf3e 87e5 46e6 ba60 2071c3a69be8' \\ \ header 'content type application/json' \\ \ header 'authorization bearer \<token>' \\ \ data '{ "customerid" "53c34cf0 4cd2 4768 937b b30000dffdca", "productid" "83bed086 8182 4151 a1e3 af5b01362783", "title" "jerry penn", "statementaddress" { "street1" "12 main st", "city" "new york", "state" "ny", "postalcode" "10001", "countrycode" "us" } } a successful api call returns a json response with the details of the new account post /core/v1/dda/accounts response { "accountnumber" "2819503463", "status" "active", "accounttype" "deposit", "ledgertype" "passthrough", "classification" "personal", "producttype" "checking", "productid" "83bed086 8182 4151 a1e3 af5b01362783", "title" "jerry penn", "currentbalance" 0, "holdamount" 0, "transactioncount" 0, "availablebalance" 0, "creditlimit" 0, "overdraftfundingenabled" false, "overdraftfundingthreshold" 0, "currency" "usd", "customerid" "53c34cf0 4cd2 4768 937b b30000dffdca", "statementaddress" { "street1" "12 main st", "city" "new york", "state" "ny", "postalcode" "10001", "countrycode" "us" }, "openedat" "2025 06 18t09 41 00 9073289 04 00", "lastmaintenanceat" "2025 06 18t09 41 00 9073289 04 00", "partnerid" "cd9c12f4 7691 424a b38b af5b0134c611", "lastmodifiedat" "2025 06 18t09 41 00 9073289 04 00" } the accountnumber field provides the account number for the new account in the response example, the account is classified as personal because the user configured the product classification as personal the account classification always matches the configured product classification the account status is automatically updated to active , and is immediately available for use this triggers the core account opened event core account opened event details { "id" "259cdbca 6a89 4af8 a50e ada3010fb13f", "eventname" "core account opened", "status" "pending", "partnerid" "cd9c12f4 7691 424a b38b af5b0134c611", "createdat" "2025 06 18t09 41 00 9073289 05 00", "resources" \[ "core/v1/dda/accounts/2819503463" ], "details" \[] }