openapi: 3.2.0 info: title: Helix Account API version: 3.0.0 description: Helix Public API (no customer KYC/IDV). **This spec covers all of Helix 3.x and is subject to change at any time.** servers: - url: https://sandbox-api.helix.q2.com description: Sandbox server - url: https://api.helix.q2.com description: Production server security: - basicAuth: [] tags: - name: Account description: Endpoints for the account object paths: /account/close: post: tags: - Account summary: Close an account description: Close an account. If the account balance is greater than $0 or any interest is owed on the account those amounts are calculated and a transaction is implicitly created with the sum of those amounts being credited into the given `closeToAccountId`. That transaction's `tag` property is also assigned the value in the `transactionTag` property (if specified). externalDocs: url: https://docs.helix.q2.com/reference/accountclose operationId: accountClose requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' closeToAccountId: allOf: - description: "The Helix-assigned ID for the account to receive remaining funds. This can be the accountId of an \naccount or the externalAccountId of an \nexternalAccount. \n**Notes:** `closeToAccountId` is required if the account has a balance or earns interest. \nTo close to a petty cash account, use the Helix Admin Console or the \nBulk Account Close Process.\n" - $ref: '#/components/schemas/HelixId' transactionTag: allOf: - description: A program-wide unique identifier that is to be associated with the transaction created to move any funds out of the account being closed. - $ref: '#/components/schemas/TagProperty' closeReason: type: string enum: - Fraud - Never funded - BSA reasons - Relationship ended - Deceased - Other - Consolidating Bank Accounts - re-CIP - Risk-Related - Member Requested - Negative Balance (Reopen Eligible) - Negative Balance (Reopen Ineligible) - ID Theft - Account Take Over - Dormant description: "The following values are not enabled by default and require additional configuration. Contact the Helix Support team for more information.\n \n- `re-CIP`\n- `Risk-Related`\n- `Member Requested`\n- `Negative Balance (Reopen Eligible)`\n- `Negative Balance (Reopen Ineligible)`\n- `ID Theft`\n- `Account Take Over`\n- `Dormant`\n" closeReasonNotes: type: string maxLength: 255 description: Required if `closeReason` is `Other` responses: '200': description: The account closure and transaction (if applicable) details content: application/json: schema: $ref: '#/components/schemas/AccountClose200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/create: post: tags: - Account summary: Create an account description: Create a new account for a customer. See account object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/accountcreate operationId: accountCreate requestBody: required: true content: application/json: schema: type: object required: - customerId - name - productId properties: customerId: allOf: - description: The Helix-assigned ID for the customer who owns the account. For business accounts, this is the `customerId` of the business entity. - $ref: '#/components/schemas/HelixId' name: type: string maxLength: 50 productId: $ref: '#/components/schemas/HelixId' targetDate: type: string format: date-time example: '2000-07-04T00:00:00.000+00:00' isclosable: type: boolean category: type: string maxLength: 50 subcategory: type: string maxLength: 50 tag: $ref: '#/components/schemas/TagProperty' recurringContributionType: type: string enum: - None - BiWeekly - Monthly recurringContributionAmount: type: number format: decimal recurringContributionFromExternalAccountId: $ref: '#/components/schemas/HelixId' recurringContributionStartDate: $ref: '#/components/schemas/DateTimeProperty' recurringContributionEndDate: $ref: '#/components/schemas/DateTimeProperty' customField1: type: string maxLength: 50 customField2: type: string maxLength: 50 customField3: type: string maxLength: 50 customField4: type: string maxLength: 50 customField5: type: string maxLength: 50 accountMinimumBalance: type: number format: decimal requestingCustomerId: allOf: - description: The Helix-assigned unique ID for the customer requesting to open the account. Only used when opening a business account. - $ref: '#/components/schemas/HelixId' accountNumber: type: string maxLength: 50 pattern: ^[0-9]{1,50}$ description: If none specified, Helix will automatically assign an account number. **Note:** Custom account numbers requires approval from Q2 and your bank partner. Custom account numbers must be numeric. legalName1: type: string maxLength: 100 legalName2: $ref: '#/components/schemas/LegalName' responses: '200': description: An envelope whose data node is a account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/get/{customerId}/{accountId}: get: tags: - Account summary: Get an account description: Retrieve a single account for the given `customerId` and `accountId`. externalDocs: url: https://docs.helix.q2.com/reference/accountget operationId: accountGet parameters: - $ref: '#/components/parameters/CustomerIdPath' - name: accountId in: path required: true schema: $ref: '#/components/schemas/HelixId' responses: '200': description: An account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/getByTag/{customerId}/{tag}: get: tags: - Account summary: Get an account via tag description: Retrieve a single account for the given `customerId` and `tag`. externalDocs: url: https://docs.helix.q2.com/reference/accountgetbytag operationId: accountGetByTag parameters: - $ref: '#/components/parameters/CustomerIdPath' - $ref: '#/components/parameters/TagPath' responses: '200': description: An envelope whose data node is a account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/list/{customerId}: get: tags: - Account summary: List accounts description: Retrieve all accounts for the given `customerId`. Accounts with `status=Closed` may disappear from this list after a period of time no shorter than 32 days. externalDocs: url: https://docs.helix.q2.com/reference/accountlist operationId: accountList parameters: - $ref: '#/components/parameters/CustomerIdPath' responses: '200': description: An array of account objects content: application/json: schema: $ref: '#/components/schemas/AccountArray200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/lock: post: tags: - Account summary: Lock an account description: Lock an account. Most locks can be reversed by calling /account/unlock. Please check the /account/unlock documentation to see which lock scenarios can be subsequently unlocked. Will apply a lockTypeCode of `CST` or `SYS` on success and the account will be locked, meaning no funds transfers can take place. externalDocs: url: https://docs.helix.q2.com/reference/accountlock operationId: accountLock requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - lockTypeCode - lockReasonTypeCode properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' lockTypeCode: type: string enum: - CST - SYS description: '- `CST`: Customer Locked - `SYS`: System Locked ' lockReasonTypeCode: type: string enum: - UNK - FRD - ADM - TMP - FRZ - SUS - CO - RTN - REC - DED - DOR description: '- `UNK`: Unknown - `FRD`: Fraud investigation - `ADM`: Administrative - `TMP`: Temporary - `FRZ`: Freeze - `SUS`: Suspected fraud - `CO`: Credits only - `RTN`: Return risk - `REC`: Recovery - `DED`: Deceased - `DOR`: Dormant ' accountLockClassificationCode: type: - string - 'null' maxLength: 10 description: An optional program-configured classification code for the lock. Must be a value from the configured list for the program. responses: '200': description: An envelope whose data node is a account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/unlock: post: tags: - Account summary: Unlock an account description: 'The following matrix details when this call will succeed or fail | Current lockTypeCode | Current lockReasonTypeCode | Result | | -------------------- | -------------------------- | ------ | | `CST` | `UNK` - Unknown | Success | | `CST` | `TMP` - Temporary | Success | | `CST` | `FRZ` - Freeze | Success | | `CST` | `ADM` - Administrative | Success | | `CST` | `SUS` - Suspected fraud | Success | | `CST` | `CO` - Credits only | Success | | `CST` | `RTN` - Return risk | Success | | `CST` | `REC` - Recovery | Success | | `CST` | `DED` - Deceased | Success | | `CST` | `DOR` - Dormant | Success | | `CST` | `FRD` - Fraud investigation | Fail - Fraud investigation lock can not be unlocked by CST | | `SYS` | `TMP`, `FRD`, `FRZ`, `ADM`, `SUS`, `CO` | Fail - SYS lock type cannot be unlocked by CST | The account will have a `lockTypeCode` of `UNL` upon successful completion of this call. The account is unlocked and ready for transfers to take place.' externalDocs: url: https://docs.helix.q2.com/reference/accountunlock operationId: accountUnlock requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' responses: '200': description: An envelope whose data node is a account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' /account/update: post: tags: - Account summary: Update an account description: See account object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/accountupdate operationId: accountUpdate requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - name properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' name: type: string maxLength: 50 productId: allOf: - description: '**Note:**`productId` updates are not real-time in the production environment. Changes may be delayed by up to 24 hours.' - $ref: '#/components/schemas/HelixId' targetAmount: type: number format: decimal targetDate: $ref: '#/components/schemas/DateTimeProperty' category: type: string maxLength: 50 subcategory: type: string maxLength: 50 tag: $ref: '#/components/schemas/TagProperty' recurringContributionType: $ref: '#/components/schemas/RecurringContributionType' recurringContributionAmount: type: number format: decimal recurringContributionFromExternalAccountId: $ref: '#/components/schemas/HelixId' recurringContributionStartDate: $ref: '#/components/schemas/DateTimeProperty' recurringContributionEndDate: $ref: '#/components/schemas/DateTimeProperty' customField1: type: string maxLength: 50 customField2: type: string maxLength: 50 customField3: type: string maxLength: 50 customField4: type: string maxLength: 50 customField5: type: string maxLength: 50 accountMinimumBalance: type: number format: decimal responses: '200': description: An envelope whose data node is a account object content: application/json: schema: $ref: '#/components/schemas/AccountObject200Response' '400': $ref: '#/paths/~1card~1lock/post/responses/400' '401': $ref: '#/paths/~1card~1lock/post/responses/401' '404': $ref: '#/paths/~1card~1lock/post/responses/404' '405': $ref: '#/paths/~1card~1lock/post/responses/405' '429': $ref: '#/paths/~1card~1lock/post/responses/429' components: schemas: LegalName: type: string maxLength: 100 CardObject200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: accounts: type: array items: type: object properties: accountBalance: type: number format: decimal accountId: $ref: '#/components/schemas/HelixId' accountNumberMasked: type: string availableBalance: type: number format: decimal balanceLastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' cardPriority: $ref: '#/components/schemas/CardPriority' customerId: $ref: '#/components/schemas/HelixId' lastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' name: type: string pendingBalance: type: number format: decimal status: $ref: '#/components/schemas/AccountObject200Response/allOf/1/properties/data/properties/status' tag: $ref: '#/components/schemas/TagProperty' type: $ref: '#/components/schemas/AccountObject200Response/allOf/1/properties/data/properties/type' archivedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' binId: $ref: '#/components/schemas/HelixId' cardCarrierMessage: type: string description: 'Identifier used uniquely by various card production facilities for mapping card configurations. ' cardDesignIdentificationNumber: type: string description: 'Identifier used uniquely by various card production facilities for mapping card configurations. ' cardHolderCustomerId: $ref: '#/components/schemas/HelixId' cardId: $ref: '#/components/schemas/HelixId' cardNumberMasked: type: string cardVendorUniqueData: type: string description: 'Identifier used uniquely by various card production facilities for mapping card configurations. ' createdDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' customerId: $ref: '#/components/schemas/HelixId' deniedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' digitalWalletTokens: type: array items: type: object properties: device: type: object properties: deviceId: type: string deviceIpAddress: type: string deviceLanguageCode: type: string deviceLocation: type: string deviceName: type: string deviceNumber: type: string deviceType: type: string enum: - Card - MobilePhone - Tablet - Watch - MobileDevice - FashionAccessory - HomeAppliance - KeyFob - MediaOrGamingDevice - MobileDeviceAccessory - PCOrLaptop - Vehicle - UnknownOther isDeviceProvisioned: type: boolean panReferenceId: type: string token: type: string tokenReferenceId: type: string tokenRequestorId: type: string enum: - '40010030273' - '40010075001' - '40010043095' - '40010075338' tokenRequestorName: type: string enum: - ApplePay - GooglePay - SamsungPay - VisaCheckout tokenStatus: type: string enum: - ActiveForPayment - Initiated - SuspendedTemporarily - DeactivatedPermanently tokenType: type: string enum: - Card on file - Secure element - Cloud based payment/HCE - E-Commerce Enabler walletInformation: type: object properties: panSource: type: string enum: - KeyEntered - OnFile - MobileBankingApp walletAccountId: type: string walletEmailAddressHashed: type: string walletProviderDeviceScore: type: string walletProviderReasonCodes: type: string walletProviderRiskAssessmentType: type: string enum: - Approved - ApprovedConditionally - NotApproved walletProviderRiskAssessmentVersion: type: string expireMonth: $ref: '#/components/schemas/MonthProperty' expireYear: $ref: '#/components/schemas/YearProperty' expiredDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' firstName: type: string isDigitalOnly: type: boolean isDualIssuanceSinglePAN: type: boolean isPINSet: type: boolean lastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' lastName: type: string lockReasonTypeCode: type: string enum: - UNK - STL - LST - FRD - DMG - ADM - TMP - PIN lockTypeCode: type: string enum: - UNL - CST - SYS middleName: type: string nameOnCard: type: string nickName: type: string photoImageId: type: string description: 'Identifier used uniquely by various card production facilities for mapping card configurations. ' preferredName: type: string primaryAccountId: $ref: '#/components/schemas/HelixId' qualifierCode: $ref: '#/components/schemas/CardQualifierCode' reissuedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' renewalOverride: $ref: '#/components/schemas/RenewalOverride' renewalOverrideReason: type: string requestedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' status: type: string enum: - Initiated - Pending - PendingVerification - Verified - Denied - Expired - Archived - Reissued - Hotlisted - ReissuedPendingVerification - AutoReissuedPendingVerification tag: $ref: '#/components/schemas/TagProperty' typeCode: type: string enum: - DBT vendorTypeCode: $ref: '#/components/schemas/CardVendorTypeCode' verifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' AccountObject200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: accessTypeCode: type: string enum: - FULL - AUTHSIGNER - RDONLY - NONE accountBalance: type: number format: decimal accountId: $ref: '#/components/schemas/HelixId' accountMinimumBalance: type: number format: decimal accountNumber: type: string accountNumberMasked: type: string availableBalance: type: number format: decimal balanceLastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' category: type: string maxLength: 50 closedAmount: type: number format: decimal closedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' closedReason: $ref: '#/components/schemas/CloseReason' closedReasonNotes: $ref: '#/components/schemas/CloseReasonNotes' createdDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' customField1: type: string maxLength: 50 customField2: type: string maxLength: 50 customField3: type: string maxLength: 50 customField4: type: string maxLength: 50 customField5: type: string maxLength: 50 customerId: $ref: '#/components/schemas/HelixId' customerPriority: $ref: '#/components/schemas/HelixId' externalProgramTag: type: string firstDepositDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' globalAccountAccessEnabled: type: boolean interestTransferFkId: $ref: '#/components/schemas/HelixId' isCloseable: type: boolean isJointAccount: type: boolean isLocked: type: boolean isPrimary: type: boolean isPrimaryCustomer: type: boolean lastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' legalName1: $ref: '#/components/schemas/LegalName' legalName2: $ref: '#/components/schemas/LegalName' lockReasonTypeCode: $ref: '#/components/schemas/AccountLockReasonTypeCode' lockTypeCode: $ref: '#/components/schemas/CardObject200Response/allOf/1/properties/data/properties/lockTypeCode' accountLockClassificationCode: type: - string - 'null' maxLength: 10 description: Program-configured classification code associated with the account lock. accountLockClassificationCodeDescription: type: - string - 'null' description: Human-readable description of the accountLockClassificationCode. maturityTypeCode: type: string name: type: string pendingBalance: type: number format: decimal primaryCustomerId: $ref: '#/components/schemas/HelixId' productId: $ref: '#/components/schemas/HelixId' recurringContributionAmount: type: number format: decimal recurringContributionEndDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' recurringContributionFromExternalAccountId: $ref: '#/components/schemas/HelixId' recurringContributionNextDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' recurringContributionStartDate: $ref: '#/components/schemas/DateTimeProperty' recurringContributionType: $ref: '#/components/schemas/RecurringContributionType' regDWithdrawalCount: type: integer format: int32 minimum: 0 routingNumber: type: string routingNumberMasked: type: string sourceLinks: type: array items: type: object deprecated: true properties: creditSetting: type: number format: decimal customerId: $ref: '#/components/schemas/HelixId' debitSetting: type: number format: decimal isCreditAutoTransferEnabled: type: boolean isDebitAutoTransferEnabled: type: boolean linkOptionTypeCode: type: string enum: - OVRPRTAMT - OVRPRTMLT - OVRSECPCT - OVRSECFIX description: '- `OVRPRTAMT`: Auto-transfer exact amount of withdrawal - `OVRPRTMLT`: Auto-transfer to the nearest multiple of `debitSetting` to cover withdrawal amount - `OVRSECPCT`: Allow lending up to `debitSetting` percentage of security account funds - `OVRSECFIX`: Allow lending up to fixed amount of `debitSetting` ' linkTypeCode: type: string enum: - OVRPRT - OVRSEC description: '- `OVRPRT`: Overdraft protention - `OVRSEC`: Overdraft security ' sourceAccountId: $ref: '#/components/schemas/HelixId' targetAccountId: $ref: '#/components/schemas/HelixId' deprecated: true status: type: string enum: - Open - Closed - PendingOpen - PendingClosed subCategory: type: string tag: $ref: '#/components/schemas/TagProperty' targetAmount: type: number format: decimal targetDate: $ref: '#/components/schemas/DateTimeProperty' targetLinks: type: array items: $ref: '#/components/schemas/AccountObject200Response/allOf/1/properties/data/properties/sourceLinks/items' deprecated: true targetMetDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' targetMetPercent: type: number format: decimal totalCustomers: $ref: '#/components/schemas/HelixId' type: type: string enum: - Checking - Savings - ForBenefitOf - Prepaid - Time Deposit - Business Checking - Business Savings CloseReason: type: string enum: - Fraud - Never funded - BSA reasons - Relationship ended - Deceased - Other - Consolidating Bank Accounts - re-CIP - Risk-Related - Member Requested - Negative Balance (Reopen Eligible) - Negative Balance (Reopen Ineligible) - ID Theft - Account Take Over - Dormant description: 'The following values are not enabled by default and must be enabled by Q2: `Consolidating Bank Accounts`, `re-CIP`, `Risk-Related`, `Member Requested`, `Negative Balance (Reopen Eligible)`, `Negative Balance (Reopen Ineligible)`, `ID Theft`, `Account Take Over`, `Dormant` ' CardArray200Response: allOf: - type: object properties: errors: type: array items: {} example: [] requestId: type: string example: 1249a3bf-aca1-40dd-9fba-2a3193550c39 status: type: integer enum: - 200 throttle: type: object properties: periodEndsAt: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' periodLengthInSeconds: $ref: '#/components/schemas/HelixId' periodRequestLimit: $ref: '#/components/schemas/HelixId' requestsRemainingInPeriod: $ref: '#/components/schemas/HelixId' warningThreshold: type: number format: decimal example: 0.2 - type: object properties: data: type: array items: $ref: '#/components/schemas/CardObject200Response/allOf/1/properties/data' CustomerSetLastContact200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: array items: type: object properties: customerId: $ref: '#/components/schemas/HelixId' dormancyStatus: type: string enum: - Active - Inactive - Dormant lastContactDate: type: string format: date-time example: '2021-01-07T19:00:59.761-06:00' lastContactType: $ref: '#/components/schemas/LastContactType' AccountClose200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' closeToAccountId: $ref: '#/components/schemas/HelixId' transactionId: type: integer format: int64 minimum: 1 transactionTag: $ref: '#/components/schemas/TagProperty' closingBalanceAmount: type: number format: decimal interestPaidAmount: type: number format: decimal totalClosingAmount: type: number format: decimal isClosedToExternalAccount: type: boolean AccountLockReasonTypeCode: type: string enum: - UNK - FRD - ADM - TMP - FRZ - SUS - CO - RTN - REC - DED - DOR description: '- `UNK`: Unknown - `FRD`: Fraud investigation - `ADM`: Administrative - `TMP`: Temporary - `FRZ`: Freeze - `SUS`: Suspected fraud - `CO`: Credits only - `RTN`: Return risk - `REC`: Recovery - `DED`: Deceased - `DOR`: Dormant ' CloseReasonNotes: type: string maxLength: 255 description: Required if `closeReason` is `Other` TagProperty: type: string maxLength: 50 HelixId: type: integer format: int32 minimum: 1 RecurringContributionType: type: string enum: - None - BiWeekly - Monthly DateTimeProperty: type: string format: date-time example: '2000-07-04T00:00:00.000+00:00' AccountArray200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: array items: $ref: '#/components/schemas/AccountObject200Response/allOf/1/properties/data' parameters: TagPath: name: tag in: path required: true schema: $ref: '#/components/schemas/TagProperty' CustomerIdPath: name: customerId in: path required: true schema: $ref: '#/components/schemas/HelixId' securitySchemes: basicAuth: type: http scheme: basic x-samples-languages: - curl - node - python - csharp - ruby - go - java - kotlin - php x-provenance: method: searched source: https://docs.helix.q2.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.helix.q2.com/reference/accountaddentitlement.md - https://docs.helix.q2.com/reference/accountbeneficiaryadd.md - https://docs.helix.q2.com/reference/accountbeneficiaryedit.md - https://docs.helix.q2.com/reference/accountbeneficiaryget.md - https://docs.helix.q2.com/reference/accountbeneficiarylist.md - https://docs.helix.q2.com/reference/accountbeneficiaryremove.md - https://docs.helix.q2.com/reference/accountbeneficiaryreplace.md - https://docs.helix.q2.com/reference/accountclose.md - https://docs.helix.q2.com/reference/accountcreate.md - https://docs.helix.q2.com/reference/accounteditentitlement.md - https://docs.helix.q2.com/reference/accountget.md - https://docs.helix.q2.com/reference/accountgetbytag.md - https://docs.helix.q2.com/reference/accountlimitdelete.md - https://docs.helix.q2.com/reference/accountlimitlist.md - https://docs.helix.q2.com/reference/accountlimitset.md - https://docs.helix.q2.com/reference/accountlist.md - https://docs.helix.q2.com/reference/accountlistentitlements.md - https://docs.helix.q2.com/reference/accountlock.md - https://docs.helix.q2.com/reference/accountplacehold.md - https://docs.helix.q2.com/reference/accountreleasehold.md - https://docs.helix.q2.com/reference/accountremoveentitlement.md - https://docs.helix.q2.com/reference/accountstoppaycreatecheckstoppay.md - https://docs.helix.q2.com/reference/accountstoppayexpire.md - https://docs.helix.q2.com/reference/accountstoppaylist.md - https://docs.helix.q2.com/reference/accountunlock.md - https://docs.helix.q2.com/reference/accountupdate.md - https://docs.helix.q2.com/reference/bankdocumentdownload.md - https://docs.helix.q2.com/reference/bankdocumentlist.md - https://docs.helix.q2.com/reference/cardaddaccount.md - https://docs.helix.q2.com/reference/cardarchive.md - https://docs.helix.q2.com/reference/cardcontrolarchive.md - https://docs.helix.q2.com/reference/cardcontrolarchivebytag.md - https://docs.helix.q2.com/reference/cardcontrolcreate.md - https://docs.helix.q2.com/reference/cardcontrolget.md - https://docs.helix.q2.com/reference/cardcontrolgetbytag.md - https://docs.helix.q2.com/reference/cardcreatedigital.md - https://docs.helix.q2.com/reference/cardfraudtextalertget.md - https://docs.helix.q2.com/reference/cardfraudtextalertoptout.md - https://docs.helix.q2.com/reference/cardget.md - https://docs.helix.q2.com/reference/cardgetbytag.md - https://docs.helix.q2.com/reference/cardhotlist.md - https://docs.helix.q2.com/reference/cardinitiate.md - https://docs.helix.q2.com/reference/cardlimitget.md - https://docs.helix.q2.com/reference/cardlimitoverride.md - https://docs.helix.q2.com/reference/cardlimitreset.md - https://docs.helix.q2.com/reference/cardlimittemporaryoverride.md - https://docs.helix.q2.com/reference/cardlist.md - https://docs.helix.q2.com/reference/cardlock.md - https://docs.helix.q2.com/reference/cardmockadminfalconfraud.md - https://docs.helix.q2.com/reference/cardmockdeclinepurchaseauthorize.md - https://docs.helix.q2.com/reference/cardmockdepositpurchasereturn.md - https://docs.helix.q2.com/reference/cardmockdepositpurchasereturnreversal.md - https://docs.helix.q2.com/reference/cardmockwithdrawalcardcash.md - https://docs.helix.q2.com/reference/cardmockwithdrawalpurchaseauthorize.md - https://docs.helix.q2.com/reference/cardmockwithdrawalpurchasecomplete.md - https://docs.helix.q2.com/reference/cardorderphysical.md - https://docs.helix.q2.com/reference/cardprovisionapplepay.md - https://docs.helix.q2.com/reference/cardprovisioncarddetail.md - https://docs.helix.q2.com/reference/cardprovisiongooglepay.md - https://docs.helix.q2.com/reference/cardreissue.md - https://docs.helix.q2.com/reference/cardremoveaccount.md - https://docs.helix.q2.com/reference/cardrenewaloverride.md - https://docs.helix.q2.com/reference/cardreprioritizeaccount.md - https://docs.helix.q2.com/reference/cardresetpin.md - https://docs.helix.q2.com/reference/cardriskfactorget.md - https://docs.helix.q2.com/reference/cardriskfactorset.md - https://docs.helix.q2.com/reference/cardunlock.md - https://docs.helix.q2.com/reference/cardupdate.md - https://docs.helix.q2.com/reference/cardverify.md - https://docs.helix.q2.com/reference/cardverifybycvv.md - https://docs.helix.q2.com/reference/customeranswerlist.md - https://docs.helix.q2.com/reference/customeranswerpost.md - https://docs.helix.q2.com/reference/customerarchive.md - https://docs.helix.q2.com/reference/customerbeneficiaryaccountassignmentlist.md - https://docs.helix.q2.com/reference/customerbeneficiarycreate.md - https://docs.helix.q2.com/reference/customerbeneficiarydeactivate.md - https://docs.helix.q2.com/reference/customerbeneficiaryget.md - https://docs.helix.q2.com/reference/customerbeneficiarylist.md - https://docs.helix.q2.com/reference/customerbeneficiaryupdate.md - https://docs.helix.q2.com/reference/customercreate.md - https://docs.helix.q2.com/reference/customercreatebusiness.md - https://docs.helix.q2.com/reference/customercreatebusinessapplication.md - https://docs.helix.q2.com/reference/customerdocumentget.md - https://docs.helix.q2.com/reference/customerdocumentlist.md - https://docs.helix.q2.com/reference/customerdocumentupdatestatus.md - https://docs.helix.q2.com/reference/customerdocumentupload.md - https://docs.helix.q2.com/reference/customergeneratetoken.md - https://docs.helix.q2.com/reference/customerget.md - https://docs.helix.q2.com/reference/customergetbyemail.md - https://docs.helix.q2.com/reference/customergetbytag.md - https://docs.helix.q2.com/reference/customerlist.md - https://docs.helix.q2.com/reference/customernote.md - https://docs.helix.q2.com/reference/customernoteslist.md - https://docs.helix.q2.com/reference/customerrelationshiparchive.md - https://docs.helix.q2.com/reference/customerrelationshipcreate.md - https://docs.helix.q2.com/reference/customerrelationshiplist.md - https://docs.helix.q2.com/reference/customerrelationshipupdate.md - https://docs.helix.q2.com/reference/customerrelationshipupdateprimarycontact.md - https://docs.helix.q2.com/reference/customersearch.md - https://docs.helix.q2.com/reference/customersecurityanswerslist.md - https://docs.helix.q2.com/reference/customersetlastcontact.md - https://docs.helix.q2.com/reference/customerupdate.md - https://docs.helix.q2.com/reference/customerupdateaddress-2.md - https://docs.helix.q2.com/reference/externalaccountarchive.md - https://docs.helix.q2.com/reference/externalaccountcreate.md - https://docs.helix.q2.com/reference/externalaccountdocumentupload.md - https://docs.helix.q2.com/reference/externalaccountget.md - https://docs.helix.q2.com/reference/externalaccountgetbytag.md - https://docs.helix.q2.com/reference/externalaccountinitiate.md - https://docs.helix.q2.com/reference/externalaccountlist.md - https://docs.helix.q2.com/reference/externalaccountlock.md - https://docs.helix.q2.com/reference/externalaccountresendverification.md - https://docs.helix.q2.com/reference/externalaccountunlock.md - https://docs.helix.q2.com/reference/externalaccountupdate.md - https://docs.helix.q2.com/reference/externalaccountverify.md - https://docs.helix.q2.com/reference/feeconfiglist.md - https://docs.helix.q2.com/reference/feeget.md - https://docs.helix.q2.com/reference/feegetbycustomertag.md - https://docs.helix.q2.com/reference/programget.md - https://docs.helix.q2.com/reference/programlistaccountholds.md - https://docs.helix.q2.com/reference/programlistindustryclassificationcodes.md - https://docs.helix.q2.com/reference/programquestionslist.md - https://docs.helix.q2.com/reference/statementdownload.md - https://docs.helix.q2.com/reference/statementget.md - https://docs.helix.q2.com/reference/statementlist.md - https://docs.helix.q2.com/reference/statementsearch.md - https://docs.helix.q2.com/reference/transactioncreatefee.md - https://docs.helix.q2.com/reference/transactionget.md - https://docs.helix.q2.com/reference/transactiongetbytag.md - https://docs.helix.q2.com/reference/transactionlist.md - https://docs.helix.q2.com/reference/transactionsetavailabledate.md - https://docs.helix.q2.com/reference/transactionsetstatus.md - https://docs.helix.q2.com/reference/transactionwireget.md - https://docs.helix.q2.com/reference/transferachoriginationcreate.md - https://docs.helix.q2.com/reference/transfercreate.md - https://docs.helix.q2.com/reference/transfervoid.md - https://docs.helix.q2.com/reference/transferwirecreate-2.md merge: pages: 137 deduped: 1427 conflicts_kept_first: 0