### Get an account and positions using a customer's information Source: https://finxact.io/docs/tutorials This tutorial guides you through a three-step process to find a customer using their available information (name, TIN, email, or phone number), retrieve their accounts, and access the details of a specific account and its positions. ```APIDOC ## GET /core/v1/customer ### Description Retrieves customer information based on provided query parameters. ### Method GET ### Endpoint /core/v1/customer ### Parameters #### Query Parameters - **customerGroup** (string) - Required - The ID of the customer group. - **customerId** (string) - Required - The ID of the customer. ## POST /core/v1/customer/find ### Description Finds a customer based on available information. ### Method POST ### Endpoint /core/v1/customer/find ## POST /core/v1/customer/organization/find ### Description Finds an organization customer based on available information. ### Method POST ### Endpoint /core/v1/customer/organization/find ## GET /core/v2/acct_bk/{acctId} ### Description Retrieves account and position details for a given account ID. ### Method GET ### Endpoint /core/v2/acct_bk/{acctId} ### Parameters #### Path Parameters - **acctId** (string) - Required - The ID of the account. ``` -------------------------------- ### Example .txt Batch Transactions Source: https://finxact.io/docs/document-detail/document/batch-transaction-processing This example demonstrates the structure for a .txt file containing multiple transactions with different transaction codes. ```json [ { "trnCode": "146", "mode": 2, "network": "CORE", "entries": [ { "acctGroup": 1, "posnAcctNbr": "000000000013", "trnAmt": 3000.00 }, { "trnAmt": 3000.00 } ] }, { "trnCode": "145", "mode": 2, "network": "CORE", "entries": [ { "acctGroup": 1, "posnAcctNbr": "000000000027", "trnAmt": 33.00 }, { "trnAmt": 33.00 } ] } ] ``` -------------------------------- ### Initial Savings Position Debit Example Source: https://finxact.io/docs/tutorials/detail-page/configure-a-high-yield-savings-interest-component-using-the-actualactual-calculation-method This example shows how to post an initial debit to a savings position. It's a simplified method for demonstration purposes. ```JSON { "mode": 2, "trnCode": "139", "entries": [ { "acctGroup": "{{.CBCCAccountGroup}}", "acctNbr": "{{.CBCCAccountNumber}}", "trnAmt": 8000.00, "isDr": false }, { "trnAmt": 8000.00, "isDr": true } ] } ``` -------------------------------- ### Filter Component Names by Minimum Value Source: https://finxact.io/docs/document-detail/document/queries Specify the start of a range to get all component names equal to or greater than the starting value. This example includes all components starting with M or greater. ```http GET {{.path_root}}/model/v1/componentInt/M~/1 ``` -------------------------------- ### Example Transaction Code Configuration Source: https://finxact.io/docs/document-detail/document/dispute-provisional-debit Configuration for the dispute-provDr process, specifying the process name, type, and transaction code. This setup is crucial for distinguishing provisional credit reversals from standard disputes. ```json { "procName": "dispute-provDr", "procType": 1, "trnCode": "310" } ``` -------------------------------- ### List Incoming Batch Files API Call Source: https://finxact.io/docs/document-detail/document/batch-transaction-processing Example of an HTTP GET request to list files in the incoming batch directory. This helps verify successful upload. ```http GET /core/v1/file/list/batch/in HTTP/1.1 Host: localhost:8080 ``` -------------------------------- ### Example Transaction Code Configuration Source: https://finxact.io/docs/document-detail/document/dispute-provisional-credit Configure the dispute-provCr process name, type, and transaction code in the EFT network transaction code setup. Ensure the process type matches 'Customer Credit to GL Debit'. ```json { "procName": "dispute-provCr", "procType": 2, "trnCode": "309" } ``` -------------------------------- ### Retrieve First Page with Keyset Pagination Data Source: https://finxact.io/docs/document-detail/document/pagination-ordering-and-limits-filters When an API call returns a large dataset, the response includes a `next` attribute, which is a pointer to the next page. This example shows a GET request and its response containing transaction data and the `next` pointer. ```http GET {{.path_root}}/model/v1/posn_dep?filter.q=acctGroup=1 ``` ```json { "limit": 1000, "next": "eyJLZXlzIjpbIl9JZCJdLCJWYWxzIjpbIjRqN1BoSV8wU3RQX2lGLS0tVmVGLUNvLSJdLCJPcCI6Ilx1MDAzZT0ifQ==", "data": [ { "_Id": "4j666ETHjtiazV---V5F-Co-", "acctGroup": 1, "acctNbr": "000000000013", "assetClass": 1, "assetId": "USD", "bal": 250098.64, "nextPosnCalDtm": "2022-07-01T03:59:59Z", "posnAcctNbr": "000000000013", "posnName": "Platinum Checking", "posnNbr": 1, "tmZoneCode": "usnyc", "_uLog": "4jHlkYdUWP1iFV--0kqF-Co-", "_uDtm": "2022-06-02T04:00:10.912925088Z", "_vn": 10, "_flags": 0, "_schVn": 0, "_cLogRef": "4j666ERO8xbqUk----5F----", "_uLogRef": "4jHlkXSbPG0g2----F1F----", "_class": "posn_dep", "acctgSeg": { "deptId": "350", "vertical": "01" }, ... } ``` -------------------------------- ### Example Report List Response Source: https://finxact.io/docs/document-detail/document/view-standard-reports-and-extracts This JSON response shows an example of available reports, including their metadata and file details for both PDF and CSV formats. ```json { "data": [ { "uri": "reports/dda1-20250801073000.pdf", "name": "dda1-20250801073000.pdf", "modDt": "2025-08-01T12:00:51.372102469Z", "size": 52150, "isDir": false, "meta": { "name": "dda1-20250801073000.pdf", "props": { "createDate": "2025-08-01T12:00:53Z", "fromDate": "", "glDate": "", "reportName": "dda1", "toDate": "", "user": "" } } }, { "uri": "reports/dda1-20250801073000.csv", "name": "dda1-20250801073000.csv", "modDt": "2025-08-01T12:00:51.372102469Z", "size": 146, "isDir": false, "meta": { "name": "dda1-20250801073000.csv", "props": { "createDate": "2025-08-01T12:00:52Z", "fromDate": "2025-07-30", "glDate": "", "reportName": "dda1", "toDate": "2025-08-01", "user": "" } } } ] } ``` -------------------------------- ### Example POST Request Endpoint for DDA1 Report in PDF Format Source: https://finxact.io/docs/document-detail/document/generate-standard-reports-and-extracts This example shows how to request the DDA1 report in PDF format by appending the ?format=pdf query parameter to the endpoint. ```http POST /core/v1/reports/dda1?format=pdf ``` -------------------------------- ### ACH Return File Example with NOC Source: https://finxact.io/docs/document-detail/document/notification-of-change-noc-ach-file-details This example demonstrates an ACH return file containing a Notification of Change (NOC) for an incorrect transaction code, resulting in a C05 change reason code. ```plaintext 99 1 2 3 4 5 6 7 8 9 10 101 05100003300531129162108251818E094101FRB Richmond Finxact Bank 5225Banktopia C 121000248 CORACH Trans 210825 1053112910000001 626223704400000000000021 0000000000IndvId Alice Bardeux 001053112910000029 798C05223704400001322 0531129137 053112910000029 82250000020022370440000000000000000000000000121000248 053112910000001 9000001000001000000020022370440000000000000000000000000 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 ``` -------------------------------- ### Example Script Initialization Information Source: https://finxact.io/docs/document-detail/document/node.js-websocket-connection-script Displays key connection parameters upon script startup, providing transparency into the host, token, topic, and the constructed subscription URI. ```text Host: example-host Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... Topic: model.v1.party_person.create Subscription URI: wss://example-host/websocket?authtoken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...&topicBindings=model.v1.party_person.create ``` -------------------------------- ### Net Off Balance Data Example Source: https://finxact.io/docs/document-detail/document/loan-payoff-quote Example of how to specify related balances to net off from the payoff calculation. This is useful for reducing the final payoff amount by an escrow position balance or other sub-balances. ```json { "netOffBalData": [ { "subBalName": "subsidy", "posnAcctNbr": "00000000001302" } ] } ``` -------------------------------- ### Get Order Details Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders Example of a GET request to retrieve details for a specific order using its ID. This is useful for verifying order information after creation. ```json GET core/v1/order/{{.lnDisbOrderId}} ``` -------------------------------- ### Configure the product Source: https://finxact.io/docs/tutorials/detail-page/configure-finxact-to-perform-an-analysis-and-charg Sets up the Business Basics (B3001) product, including its associated analysis component. ```APIDOC ## POST model/v1/prod_bk ### Description Configures the Business Basics (B3001) product, enabling excess transaction analysis. ### Method POST ### Endpoint model/v1/prod_bk ### Request Body ```json { "assetClass": 1, "assetId": "USD", "components": [ { "componentName": "Excess_trn_analysis", "componentClass": "componentAnalysis", "version": 1 } ], "desc": "Business Basics checking", "glCat": 2, "glSetCode": "BusSavgreat100k", "ifxAcctType": "DDA", "isFedExempt": false, "isRegD": false, "isStateExempt": false, "name": "B3001", "posnClass": "posn_dep", "prodGroup": "DDA", "prodSubType": "Business", "prodType": "Deposit", "stmtFreq": "0MEA", "stmtStartDtmOpt": 0 } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Create Account/Position Source: https://finxact.io/docs/tutorials/detail-page/override-configuration-values-with-the-transaction-code-trncode-injection-point Sets up a new account or position, specifying product details and accounting segments. Ensure 'prodName' and 'acctGroup' are correctly set. ```json { "prodName": "P2001", "acct_bk": { "name": "Personal Savings Account", "openDtm": "2019-09-20T16:21:00.584Z", "acctGroup": 1, "acctTitle": "Katie Smith", "acctType": "Single", "isBrokered": false, "tmZoneCode": "usnyc", "signedDocs": [ { "version": "1.0.0", "signedDtm": "2019-08-02T23:00:00Z", "signedBy": { "name": "Katie Smith" } } ] }, "posn_depDtl": [ { "posn_dep": { "ccyCode": "USD", "acctgSeg": { "deptId": "350", "vertical": "01" } } } ] } ``` -------------------------------- ### Get Check Register Response Source: https://finxact.io/docs/document-detail/document/direct-checksend-a-check Example response when retrieving check details from the check register using a GET request. Includes status, dates, and associated IDs. ```json GET model/v1/chkRegister { "chkAmt": 200.00, "chkDate": "2022-10-25", "chkNbr": 1001, "chkStatus": [ { "status": 1, "statusDtm": "2022-10-25T06:25:10.627Z" } ], "drawnOn": { "drawnPosnId": "4K7qx_kbTgc------81Fk---” }, "expireDtm": "2023-10-25T03:59:59Z", "isStopped": false, "orderId": "4m4cp2Gp7-v1Jk---1uF-8w-", "posnId": "4lRp1X44EU9MIk---YLF-Co-", "_uLog": "4m4dVK3avjwpcV---1TF-2V-", "_cDtm": "2022-10-25T20:22:21.236997887Z", "_uDtm": "2022-10-25T20:22:21.236997887Z", "_vn": 0, "_flags": 0, "_schVn": 0, "_cLogRef": "4m4dVK2821l6A----1TF----", "_cLog": "4m4dVK3avjwpcV---1TF-2V-" } ``` -------------------------------- ### Get Checking Product Details Source: https://finxact.io/docs/tutorials/detail-page/configure-automatic-zero-balance-closure-for-a-checking-product-using-api Use this GET call to retrieve the current details of a specific checking product, such as 'chkFirst'. You will need the '_vn' (version number) from the response for subsequent update operations. ```bash GET /model/v1/prod_bk/chkFirst ``` -------------------------------- ### Example Prior Check Range Response Source: https://finxact.io/docs/tutorials/detail-page/order-a-checkbook This is an example of the expected JSON response when querying the check assignment endpoint. It shows the start and end numbers of a previous check order. ```json { "_Id": "57aFE7dHg47zvjyYgZiDI2Ss", "endNbr": 150, "posnId": "4yZiJP2REUCHPcneFiYuqRMq", "startNbr": 100, "_uLog": "57aFE7dHg47zvjyYgZj0n6LD", "_cDtm": "2026-04-22T03:41:58.412742738Z", "_uDtm": "2026-04-22T03:41:58.412742738Z", "_vn": 0, "_flags": 0, "_schVn": 1, "_cLogRef": "57aFE7RJwa2GAC_UnLBtfBvp" } ``` -------------------------------- ### Filter Component Names by Starting Letter Source: https://finxact.io/docs/document-detail/document/queries Filter component names by a range starting with a specific letter. This example returns component names beginning with A, B, or C (letters before D). ```http GET {{.path_root}}/model/v1/componentInt/A~D/1 ``` -------------------------------- ### Get Transaction Status Source: https://finxact.io/docs/tutorials/detail-page/monitor-for-regulation-d-violation-events This is an example of an endpoint to retrieve the status of transactions. It is used in the process of monitoring financial activities. ```HTTP GET model/v1/trnStat ``` -------------------------------- ### Create Multi-Position Account Source: https://finxact.io/docs/document-detail?docId=the-finxact-api&docType=document This example demonstrates creating a multi-position account using the core API. If any position creation fails, the entire request fails, ensuring atomicity. ```bash POST /core/v1/acct_bk ``` -------------------------------- ### Check for Open Batch using Finxact API Source: https://finxact.io/docs/document-detail/document/finxact-pro-starter-prompts Use the GET /model/v1/batch endpoint with a filter to find batches that have started but not ended. ```http GET /model/v1/batch?filter.q=endDtm IS NULL ``` -------------------------------- ### Configure Business Basics Product Source: https://finxact.io/docs/tutorials/detail-page/configure-finxact-to-perform-an-analysis-and-charg Create and configure the Business Basics checking product (B3001) by attaching the previously configured analysis component. This involves a POST request to the /model/v1/prod_bk endpoint with detailed product and component information. ```json { "assetClass": 1, "assetId": "USD", "components": [ { "componentName": "Excess_trn_analysis", "componentClass": "componentAnalysis", "version": 1 } ], "desc": "Business Basics checking", "glCat": 2, "glSetCode": "BusSavgreat100k", "ifxAcctType": "DDA", "isFedExempt": false, "isRegD": false, "isStateExempt": false, "name": "B3001", "posnClass": "posn_dep", "prodGroup": "DDA", "prodSubType": "Business", "prodType": "Deposit", "stmtFreq": "0MEA", "stmtStartDtmOpt": 0 } ``` -------------------------------- ### Create Account and Position Source: https://finxact.io/docs/tutorials/detail-page/correct-an-overlooked-rate-change-and-adjust-accruals Link a new account and position to an existing customer and product. This setup allows for initial interest accrual based on the current rate matrix. ```JSON { "customer": { "customerId": "{{.violetSchmidtCustomerId}}", "customerGroup": "{{.violetSchmidtCustomerGroup}}" }, "newAccounts": [ { "Acct": { "acct_bk": { "desc": "Personal Accts", "openDtm": "{{.openDtm}}", "acctGroup": 1, "acctType": "Single", "acctTitle": "Violet Schmidt Personal Accounts", "isBrokered": false, "tmZoneCode": "usnyc", "stmtFreq": "0MAE" }, "posn_depDtl": [ { "prodName": "{{.prodName}}", "posn_dep": { "ccyCode": "USD", "acctgSeg": { "deptId": "350", "vertical": "01" } } } ] }, "acctPartyRel": { "relType": "1", "partyRelDesc": "Primary" } } ] } ``` -------------------------------- ### API Request to Retrieve Tax-Benefit Plan Source: https://finxact.io/docs/tutorials/detail-page/set-up-processing-for-tax-benefit-plan-inherited-iras Example GET request to retrieve details of a specific tax-benefit plan using its ID. ```http GET /core/v1/usTbp?_Id=52Wjirshp9bh5Pproo9JUlR8 ``` -------------------------------- ### Get Recent Position Transaction History Source: https://finxact.io/docs/document-detail/document/account-and-position-history Retrieve recent monetary transaction history for a specific position, starting from the position's opening date. ```http GET /core/v2/trnHistRecent/{posnId} ``` -------------------------------- ### API Request Body for Batch Onboarding Source: https://finxact.io/docs/document-detail/document/batchonboardingfile-process-an-onboarding-file The POST /core/v1/batchOnboarding/postBatchOnboardingFile API requires the 'fileName' property. Use 'isSync' for immediate processing or 'runDtm' for scheduled execution. Both properties are mandatory. ```json { "fileName": "batch/in/batchOnboardingExample.json", "isSync": true, "runDtm": "2026-05-27T10:00:00Z" } ``` -------------------------------- ### Get All Events in Date-Time Range API Query Source: https://finxact.io/docs/document-detail/document/system-health-check-apis Retrieve all events that fall within a specified date and time range. The range is inclusive of the start time and exclusive of the end time. ```http GET {{.path_root}}/model/v1/eventCtxt?filter.q=createDtm >= '2022-01-18T00:00:00Z' and createDtm <='2022-01-18T01:00:00Z'/code> ``` -------------------------------- ### Report Configuration Response Example Source: https://finxact.io/docs/tutorials/detail-page/add-a-report-to-the-system-event-calendar-using-api This JSON response shows the configuration for the 'sda1' report, detailing its parameters, types, and whether they are required. Use this to identify necessary arguments for scheduling. ```json { "name": "sda1", "id": "1", "description": "New SDA Accounts by Opening Date and Product", "params": [ { "name": "fropendate", "valueType": "timestamp", "order": 1, "isRequired": true }, { "name": "toopendate", "valueType": "timestamp", "order": 2, "isRequired": true }, { "name": "procdate", "valueType": "timestamp", "order": 3, "isRequired": true } } ``` -------------------------------- ### Customer Creation Request with Addresses Source: https://finxact.io/docs/document-detail/document/customer-onboarding-overview This example demonstrates how to include an addresses array in a customer creation request, specifying details for a primary residence and a vacation home. ```json { "addresses": [ { "addrType": 2, "label": "Home", "street": "847 Whispering Pines Drive", "city": "Branson", "region": "MO", "postCode": "65616", "cntry": "US", "isTaxAddr": true, "isPreferred": true, "verifyDtm": "2025-09-25T17:09:00Z", "yrsAddr": 4, "geoLoc": { "lat": 36.6435, "lon": -93.2185 } }, { "addrType": 5, "label": "Vacation home", "city": "Fort Walton Beach", "cntry": "US", "postCode": "32548", "region": "FL", "street": "229 Pelican Bay Drive", "validFromDtm": "2025-10-01T04:00:00Z", "validToDtm": "2026-03-01T04:59:59Z" } ] } ``` -------------------------------- ### Example Request Body (Report and Additional Extracts) Source: https://finxact.io/docs/document-detail/document/generate-the-gl-set-position-loan-balancing-report-on-demand Use this request body to generate the GL Set Position Loan Balancing report along with specified extract files. Ensure 'isGenerateFile' is set to true and 'fileFmt' lists the desired formats. ```json { "glJrnlDate": "2026-03-15", "runDtm": "2026-03-23T16:30:00Z" "isGenerateFile": true, "fileFmt": "POSNSETBALLNSUM+POSNSETBALLNDTL" } ``` -------------------------------- ### Confirm SCRA Start Event Source: https://finxact.io/docs/tutorials/detail-page/update-customers-us-service-member-status-to-active-duty-status-using-api This GET request retrieves calendar events for a specific position ID. It's used to confirm the creation of the 'startSCRA' event after updating active duty dates. ```bash GET/model/v1/posnCalendar?posnId={_Id} ``` -------------------------------- ### Set Custom Page Limit Source: https://finxact.io/docs/document-detail/document/pagination-ordering-and-limits-filters Override the default 1,000 record limit per page by adding the `filter.limit` parameter to your GET request. This example retrieves only the first 100 transaction records. ```http GET {{.path_root}}/model/v1/trn?filter.limit=100 ``` -------------------------------- ### Create Customer Source: https://finxact.io/docs/tutorials/detail-page/configure-a-high-yield-savings-interest-component-using-the-actual365-calculation-method Creates a new customer record. This example includes details for setting customer variables from the response, which are used in subsequent calls. ```JSON { "party_person": { "ageBracket": "6", "birthDate": "1958-01-01", "citizenCntry": "US", "contactPref": "4", "cntry": "US", "education": "5", "employmentStatus": "1", "ethnicity": "0", "firstName": "Louise", "gender": "2", "govtIds": [ { "cntry": "US", "docType": "3", "verifyDtm": "2020-02-20T21:45:33.444Z" } ], "incBracket": "0", "lastName": "Payne", "maritalStatus": "1", "nbrInHhold": 1, "occupation": "0", "preferredLanguage": "en-US", "tin": "111-22-3335", "tinType": "0", "emails": [ { "emailType": 1, "data": "louisepayne@gmail.com" } ], "phones": [ { "data": "123-123-2345" } ] } } ``` -------------------------------- ### Process Onboarding File Source: https://finxact.io/docs/document-detail/document/batchonboardingfile-process-an-onboarding-file This API endpoint processes an onboarding file, onboarding customer and account records from a JSON batch file. It requires both `fileName` and `runDtm` properties in the request body. `isSync` can be set to true for immediate processing. ```APIDOC ## POST /core/v1/batchOnboarding/postBatchOnboardingFile ### Description Processes an onboarding file to onboard customer and account records from a JSON batch file. Supports immediate processing or scheduling for a future date-time. ### Method POST ### Endpoint /core/v1/batchOnboarding/postBatchOnboardingFile ### Parameters #### Request Body - **fileName** (string) - Required - The name and path to the designated repository location of the batch file. - **isSync** (boolean) - Optional - If true, the batch is processed immediately. Defaults to false. - **runDtm** (string) - Required - The specific future date-time for processing the batch. This property is required even when `isSync` is true. ### Request Example ```json { "fileName": "batch/in/batchOnboardingExample.json", "isSync": true, "runDtm": "2026-05-27T10:00:00Z" } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the status of the batch processing. - **message** (string) - A message providing details about the batch processing result. #### Response Example ```json { "status": "success", "message": "Batch onboarding initiated successfully." } ``` ``` -------------------------------- ### Filter Service Information Messages by Date Source: https://finxact.io/docs/document-detail/document/fedwireext-broadcast-messagesreports-andstatements Use a date filter in the GET /model/v1/svcInfoMsg request to limit the number of service information messages returned. This example retrieves messages created on or after September 13, 2023. ```http GET/model/v1/svcInfoMsg?filter.q=createDtm>='2023-09-13T00:00:00Z' ``` -------------------------------- ### Account Group Expression Example Source: https://finxact.io/docs/document-detail/document/multi-bank-transaction-code-related-configurations This expression dynamically determines the appropriate GL account group based on the presence of the 'finInst' accounting segment. Use this when transitioning to a multi-bank setup with multiple GL account groups. ```json "acctGroupExpr": "if(posn[0].acctgSeg.finInst!= null){4} else {2}" ``` -------------------------------- ### HTTP Header Information Example Source: https://finxact.io/docs/document-detail/document/message-request-msgrq Demonstrates how all HTTP header information is stored within a single string. This is useful for inspecting raw request headers. ```text "http": "X-Request-Id: 169e0a523aa561190fe866b72a52401d\r\nX-Forwarded-For: 52.4.165.99\r\nX-Forwarded-Port: 443\r\nContent-Length: 604\r\nClient_id: b11194ddf7608b7a91fa4e327ef27d76c918e16e20262b7d4458d05da34ca440\r\nContent-Type: application/json\r\nX-Amzn-Trace-Id: Root=1-61bc23e7-4236374f103527855d146b9b\r\nX-Real-Ip: 52.4.165.99\r\nX-Forwarded-Host: 211616.dev-10.finxact.io\r\nX-Scheme: https\r\nX-Original-Forwarded-For: 34.198.218.200, 10.0.3.212\r\nAccept: application/json\r\nX-Forwarded-Proto: https\r\nAccept-Encoding: gzip" ``` -------------------------------- ### Validate Commercial Loan Account Setup Source: https://finxact.io/docs/tutorials/detail-page/set-up-a-commercial-loan Retrieve the booked loan account details to verify all setup parameters, including product configuration, credit limit, collateral linkage, and borrower details. This confirms the account is ready for servicing. ```http GET /core/v2/acct_bk/{{commercialLoanAcctId}} ``` -------------------------------- ### Get Loan Amortization Schedule Source: https://finxact.io/docs/document-detail/document/the-core-uses-loan-amortization-inputs-and-factors Calculates an installment loan's amortization schedule and cash flow using provided inputs and factors. The calculation is iterative and relies on payment periods defined by the payment offset. ```APIDOC ## GET core/v1/amortize ### Description Retrieves the amortization schedule and cash flow for an installment loan. ### Method GET ### Endpoint /core/v1/amortize ### Parameters #### Query Parameters - **pmtOffset** (integer) - Required - The payment offset defining the loan's payment periods. ### Response #### Success Response (200) - **amortizationSchedule** (object) - The calculated amortization schedule. - **cashFlows** (object) - The calculated lifetime cash flows. ``` -------------------------------- ### Response for Listing Batch Files Source: https://finxact.io/docs/document-detail/document/batch-transaction-processing Example JSON response when listing files in the incoming batch directory, confirming the uploaded file's presence and details. ```json { "data": [ { "uri": "batch/in/batch_post_json_sample.txt", "name": "batch_post_json_sample.txt", "modDt": "2022-10-23T01:21:06.69958Z", "size": 564, "isDir": false, "meta": { "name": "batch_post_json_sample.txt", "props": { "createDate": "2022-10-22T21:21:06-04:00", "user": "" } } } ] } ``` -------------------------------- ### Fetch Historical Events via HTTP Source: https://finxact.io/docs/document-detail/document/event-proxy-troubleshooting Example of fetching historical events using HTTP GET requests. It includes setting up Axios, logger, authentication headers, and query parameters for filtering events based on a timestamp. ```javascript const axios = require('axios'); const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [new winston.transports.Console()], }); const CLIENT_ID = '{clientID}'; const CLIENT_SECRET = '{clientSecret}'; const USER_ID = 'name'; const USER_ROLE = 'developer'; const BASE_URL = 'https://{environmentID}.{region}.finxact.io'; async function fetchHistoricalEvents(fromEventDtm) { try { const params = { 'filter.q': `_cDtm>="${fromEventDtm}" ``` ```javascript }; const headers = { 'Content-Type': 'application/json', client_id: CLIENT_ID, secret: CLIENT_SECRET, 'Fnx-Header': JSON.stringify({ identity: { userID: USER_ID, userRoles: [USER_ROLE] } }), }; const response = await axios.get(`${BASE_URL}/model/v1/party_person`, { params, headers }); if (response.data && Array.isArray(response.data.data)) { ``` -------------------------------- ### Create Test Loan Position and Link Account Source: https://finxact.io/docs/tutorials/detail-page/set-up-a-deferred-cost-for-a-loan-product Use this request body to onboard a customer and link their installment loan under a specific product. Ensure the `customerId` is correctly substituted. ```json { "customer": { "customerId": "{{customerId}}", "customerGroup": "2" }, "newAccounts": [ { "acct": { "prodName": "LN_Personal", "acct_bk": { "name": "12M Personal Loan", "acctGroup": 1, "acctTitle": "Austin Payne - Personal Loan", "isBrokered": false, "tmZoneCode": "usnyc" }, "posn_lnDtl": [ { "posn_ln": { "ccyCode": "USD", "glCat": 1, "crLimit": 50000, "acctgSeg": { "deptId": "350", "vertical": "01" } } } ] }, "acctPartyRel": { "relType": "1" } } ] } ``` -------------------------------- ### Example Request Body (Report and Additional Extracts) Source: https://finxact.io/docs/document-detail/document/generate-the-gl-set-position-deposit-balancing-report-on-demand Use this request body to generate the GL Set Position Deposit Balancing report along with associated extract files. Specify the desired file formats using the 'fileFmt' property. ```json { "glJrnlDate": "2026-03-15", "runDtm": "2026-03-23T16:30:00Z" "isGenerateFile": true, "fileFmt": "POSNSETBALDEPSUM+POSNSETBALDEPDTL" } ``` -------------------------------- ### Download a File Source: https://finxact.io/docs/document-detail/document/manage-files-using-apis Use GET to download a file from a specified path. The path determines the file to be retrieved. ```shell GET {{.path_root}}/core/v1/file/download/{path} ``` -------------------------------- ### Get All Party Groups Source: https://finxact.io/docs/tutorials/detail-page/add-remove-or-move-a-customer-in-a-party-group This GET request retrieves a list of all defined party groups and their members. ```HTTP GET core/v1/partyGroup ``` -------------------------------- ### Create Loan Product Source: https://finxact.io/docs/tutorials/detail-page/configure-a-late-charge-for-a-loan-product Use this POST request to create the loan product. This configuration links the fee and repayment components, and specifies GL set usage. Ensure component names and versions match your setup. ```json { "name": "standard_loan_product", "version": 1, "desc": "Standard Loan Product", "posnClass": "posn_ln", "prodType": "Loan", "prodSubType": "Personal", "prodGroup": "Instalment", "glCat": 1, "glSetCode": "loansGlSet", "ccyCode": "USD", "ifxAcctType": "ILA", "avlStartDtm": "2024-01-01T00:00:00Z", "components": [ { "componentClass": "componentFee", "componentName": "LN_Fees", "version": 1 }, { "componentClass": "componentInt", "componentName": "Installment_Interest_Variable", "version": 1 }, { "componentClass": "componentRepay", "componentName": "InstallLoan_Repay", "version": 1 } ] } ``` -------------------------------- ### Get Loan Details Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders This GET request retrieves the details of a loan, including any associated auto payment instructions. ```APIDOC ## GET model/v1/posn_ln/{loanId} ### Description This GET request retrieves the details of a loan, including any associated auto payment instructions. ### Method GET ### Endpoint model/v1/posn_ln/{{.dsLnId}} ### Parameters #### Path Parameters - **loanId** (string) - Required - The ID of the loan to retrieve. ``` -------------------------------- ### Create a Rate Index Source: https://finxact.io/docs/tutorials/detail-page/set-up-an-adjustable-rate-mortgage-arm Use this POST request to create a new rate index. This index will serve as a benchmark for interest rate adjustments on ARM loans. ```bash POST /core/v1/rateIndex { "name": "Banktopia_ARM_Index" } ``` -------------------------------- ### Onboard Secured Loan by Linking Account Source: https://finxact.io/docs/tutorials/detail-page/onboard-a-secured-loan-using-gold-and-silver-as-collateral Initiates the onboarding of a secured loan by linking a customer account. This is a key step in the loan origination process. ```JSON { "customer": { "customerGroup": "2" } } ``` -------------------------------- ### Example POST Request Endpoint for DDA1 Report Source: https://finxact.io/docs/document-detail/document/generate-standard-reports-and-extracts An example of the POST request endpoint for generating the DDA1 report. ```http POST /core/v1/reports/dda1 ``` -------------------------------- ### Create Account and Position Source: https://finxact.io/docs/tutorials/detail-page/configure-a-money-market-interest-component-using-the-actualactual-calculation-method Send a request to create a customer account and link it to a single position under a specified product. This call includes post-request scripts to set variables from the response, such as account number and group, for subsequent use. ```json { "customer": { "customerId": "{{.MaMcustomerId}}", "customerGroup": "{{.MaMcustomerGroup}}" }, "newAccounts": [ { "Acct": { "acct_bk": { "desc": "Money Market Business", "acctGroup": 1, "acctType": "LLC", "acctTitle": "Movies and More", "isBrokered": false, "tmZoneCode": "usnyc", "stmtFreq": "0MEA" }, "posn_depDtl": [ { "prodName": "B2500", "posn_dep": { "ccyCode": "USD", "acctgSeg": { "deptId": "350", "vertical": "01" } } } ] }, "acctPartyRel": { "relType": "20", "partyRelDesc": "Limited Liability Company" } } ] } ``` -------------------------------- ### Get Order Details Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders This GET request is used to view details regarding a specific order, such as a recurring collection order. ```APIDOC ## GET core/v1/order/{orderId} ### Description This GET request is used to view details regarding a specific order, such as a recurring collection order. ### Method GET ### Endpoint core/v1/order/{{.mtgOrderId}} ### Parameters #### Path Parameters - **orderId** (string) - Required - The ID of the order to retrieve. ``` -------------------------------- ### Get Book Transfer Order Details Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders This GET request allows you to retrieve the details of a book transfer order using its ID. ```APIDOC ## GET core/v1/order/{orderId} ### Description Retrieves the details of a book transfer order. ### Method GET ### Endpoint core/v1/order/{{.btOrderId}} ### Parameters #### Path Parameters - **orderId** (string) - Required - The ID of the book transfer order to retrieve. ``` -------------------------------- ### Add Product Program Source: https://finxact.io/docs/tutorials/detail-page/configure-a-relationship-rewards-program-with-the-finxact-api Create the main product program that defines the relationship rewards program. Specify the program name and optional start/end dates. ```json { "prodProgram": "SavplusCDReward" } ``` -------------------------------- ### Get Loan Repayment Details Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders This GET request retrieves the repayment details of a loan, including information about automatically set payments. ```APIDOC ## GET model/v1/posn_lnRepay/{loanId} ### Description This GET request retrieves the repayment details of a loan, including information about automatically set payments. ### Method GET ### Endpoint model/v1/posn_lnRepay/{{.dsLnId}} ### Parameters #### Path Parameters - **loanId** (string) - Required - The ID of the loan to retrieve. ``` -------------------------------- ### Get Product Information Source: https://finxact.io/docs/tutorials/detail-page/set-up-orders Retrieve information for a pre-existing product, such as the MTG product. This is useful for understanding product configurations. ```json { "assetClass": 1, "assetId": "USD", "ccyCode": "USD", "desc": "Mortgage Product", "fundTerm": "30", "glCat": 1, "glSetCode": "MortgagePrd", "ifxAcctType": "EQU", "isBumpEnabled": false, "isRegD": true, "name": "JOMORTGAGE", "posnClass": "posn_ln", "prodGroup": "MTG", "prodSubType": "Personal", "prodType": "Loan", "stmtFreq": "0MAE" } ``` -------------------------------- ### TypeScript Class Example Source: https://finxact.io/docs/document-detail/document/get-started-with-finxacts-typescript Demonstrates the basic structure and usage of a class in TypeScript, including a constructor and a method to return object information. ```typescript class PartyPersonInfoRecord { constructor(name, age) { this.name = name; this.age = age; } returnPartyPersonInfo() { return `${this.name} is ${this.age} years old.`; } } let john:Person = new PartyPersonInfoRecord("John", 30); console.log(john.returnPartyPersonInfo()); // Output: "John is 30 years old." ``` -------------------------------- ### Get Open Exceptions API Request Source: https://finxact.io/docs/document-detail/document/finxact-pro-starter-prompts This snippet shows a GET request to the /core/v1/openExceptions endpoint to retrieve a list of open exceptions. ```bash GET /core/v1/openExceptions ``` -------------------------------- ### KeepAlive Event Example Source: https://finxact.io/docs/document-detail/document/connecting-to-the-event-proxy An example of a KeepAlive message sent by the Event Proxy to confirm connection health. These messages do not require acknowledgment. ```text Event ID: d22bbeca-244a-40c5-98af-b6bcd70f6b06 Event: /keepalive Message: None ACK MSG ID d22bbeca-244a-40c5-98af-b6bcd70f6b06 ``` -------------------------------- ### Create CD Product Configuration Source: https://finxact.io/docs/tutorials/detail-page/set-up-an-automatic-disbursement-cd-product This endpoint is used to configure the details of a new CD product, such as interest rates, terms, and other product-specific attributes. ```APIDOC ## POST model/v1/prod_bk ### Description Configures the details of a new Certificate of Deposit (CD) product. ### Method POST ### Endpoint model/v1/prod_bk ### Request Body ```json { "assetClass": 1, "assetId": "USD", "avlStartDtm": "2022-01-01T05:00:00Z", "ccyCode": "USD", "components": [ { "componentClass": "componentInt", "componentName": "3M_CD_Personal_Int", "version": 1 }, { "componentClass": "componentTd", "componentName": "3M_CD_Personal", "version": 1 } ], "desc": "3 Month Personal CD", "fundTerm": "3D", "glCat": 2, "glSetCode": "CDless100k", "ifxAcctType": "CDA", "isBumpEnabled": true, "isRateGuaranteed": true, "isRegD": true, "name": "P3003", "prodGroup": "CD", "prodSubType": "Personal", "prodType": "Deposit", "stmtFreq": "1M", "stmtStartDtmOpt": 0, "_uLog": "4jS1fWlMoJWH-F----iF-FF-", "_cDtm": "2022-06-10T12:38:23.6492066Z", "_uDtm": "2022-06-10T12:38:23.6492066Z", "_vn": 0, "_flags": 0 } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Construct WebSocket URI and Run Connection Source: https://finxact.io/docs/document-detail/document/python-websocket-connection-script This section shows how to obtain an authentication token, construct the WebSocket URI with the token and topic bindings, print connection details, and then run the asynchronous receive function. The `urllib.parse.quote` function is used to properly encode the topic string for the URI. ```python token = get_token() URI = WS_URL + "?authtoken=" + token + "&topicBindings=" + urllib.parse.quote(TOPIC) print("\n") print("Host: ", HOST) print("Token: ", token) print("Topic: ", TOPIC) print("Subscription URI: ", URI) print("") asyncio.get_event_loop().run_until_complete(receive(URI)) ``` -------------------------------- ### Get File ID for FIDM Data Source: https://finxact.io/docs/tutorials/detail-page/process-fidm-files-using-finxact-apis Retrieve the file ID by sending a GET request to the /model/v1/fileMetaData endpoint with the inquiry file name. ```bash GET /model/v1/fileMetaData?filter.q=name="FIDM_STATEINQSampleAPI.txt" ``` -------------------------------- ### Configure File-Level Origination Instructions (ACH) Source: https://finxact.io/docs/document-detail/document/corporate-origination-instructions Use file-level instructions to support file recognition and enforce file-level limits, such as a maximum debit amount per file. Set 'isFileInstr' to true. ```json { "originInstr": { "drLimit": 10000000.00, //Banktopia's debit limit "isBatchSettle": true, "isFileInstr": true, //File instruction indicator "isNetSettle": false, "isOriginThreadId": false, "isPrefunded": true, "isSameDayOptIn": false, "network": "ACH", "orderTypeEligible": "0", "origin": { "finInstAba": "053112916" //Banktopia's ABA number }, "originPartyId": "{{.abcPartyId}}", //ABC's party_org._Id TGUID "posnId": "{{.abcPosnId}}" //ABC's settlement posnId TGUID } } ``` -------------------------------- ### Nominal Interest Rate Example Source: https://finxact.io/docs/tutorials/detail-page/defer-interest-accrual-on-a-loan-position This is an example of the nominal interest rate returned in the response when verifying the current interest rate for a loan position. ```json "nomRate": 6.90000 ``` -------------------------------- ### Create Customer Account Source: https://finxact.io/docs/tutorials/detail-page/create-rewards-with-the-trn-postpost-injection-point This request creates a new customer account with specified details, including product name and account settings. ```json { "customer": { "customerId": "{{.steveSmithCustomerId}}", "customerGroup": "{{.steveSmithCustomerGroup}}" }, "newAccounts": [ { "Acct": { "prodName": "CHK-1002", "acct_bk": { "desc": "Rewards Checking", "acctGroup": 3, "acctType" : "Single", "acctTitle": "Steve Smith", "isBrokered": false, "tmZoneCode": "usnyc", "stmtFreq": "0MAE" }, "posn_depDtl": [ { "prodName": "CHK-1002", "posn_dep": { "ccyCode": "USD", "acctgSeg": { "Company": "100", "Custodian": "100", "Product": "1003", "Region": "100" } } } ] }, "acctPartyRel": { "relType": "1", "partyRelDesc": "Primary" } } ] } ``` -------------------------------- ### Configure depPlcmtSvcFileGen Event Source: https://finxact.io/docs/document-detail/document/deposit-placement-service-configuration Example configuration for a depPlcmtSvcFileGen event. Use svcName to match the service plan and fileFmt to specify the desired file format. The eventFreq defines the generation schedule. ```json { "args": [ { "key": "svcName", "val": "ICS" }, { "key": "fileFmt", "val": "ICS_CUST" } ], "eventFreq": "1BT11:45PM", "eventType": "depPlcmtSvcFileGen", "isScheduled": false, "name": "depPlcmtSvc_ICS_CUST" } ```