openapi: 3.2.0 info: title: Helix Account Beneficiary 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 Beneficiary description: Endpoints for the accountBeneficiary object paths: /accountBeneficiary/add: post: tags: - Account Beneficiary summary: Add account beneficiary description: Add a beneficiary to an account. See accountBeneficiary object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiaryadd operationId: accountBeneficiaryAdd requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - customerBeneficiaryId properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' distributionDescription: type: string beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. Must be between 0 and 100. distributionType: $ref: '#/components/schemas/DistributionType' responses: '200': description: A confirmation the beneficiary has been added to the account content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryAddEditRemove200Response' '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' /accountBeneficiary/edit: post: tags: - Account Beneficiary summary: Edit account beneficiary description: Edit a beneficiary designation for a given account. See accountBeneficiary object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiaryedit operationId: accountBeneficiaryEdit requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - customerBeneficiaryId properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' distributionDescription: type: string isActive: type: boolean beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. Must be between 0 and 100. distributionType: $ref: '#/components/schemas/DistributionType' responses: '200': description: A confirmation the beneficiary has been added to the account content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryAddEditRemove200Response' '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' /accountBeneficiary/get/{customerId}/{accountId}/{customerBeneficiaryId}: get: tags: - Account Beneficiary summary: Get an account beneficiary description: Get a beneficiary for a given account externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiaryget operationId: accountBeneficiaryGet parameters: - $ref: '#/components/parameters/CustomerIdPath' - $ref: '#/components/parameters/AccountIdPath' - name: customerBeneficiaryId in: path required: true schema: $ref: '#/components/schemas/HelixId' responses: '200': description: An envelope whose data node is a accountBeneficiary object content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryObject200Response' '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' /accountBeneficiary/list/{customerId}/{accountId}: get: tags: - Account Beneficiary summary: List account beneficiaries description: List all beneficiaries for a given account externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiarylist operationId: accountBeneficiaryList parameters: - $ref: '#/components/parameters/CustomerIdPath' - $ref: '#/components/parameters/AccountIdPath' responses: '200': description: An array of accountBeneficiary objects content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryArray200Response' '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' /accountBeneficiary/remove: post: tags: - Account Beneficiary summary: Remove account beneficiary description: Remove a beneficiary designation for a given account externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiaryremove operationId: accountBeneficiaryRemove requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - customerBeneficiaryId properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' responses: '200': description: A confirmation the beneficiary has been removed from the account content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryAddEditRemove200Response' '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' /accountBeneficiary/replace: post: tags: - Account Beneficiary summary: Replace account beneficiary collection description: Replaces the entire set of beneficiaries for the given customer and account with the collection provided. Saving an empty collection deactivates all existing active beneficiaries. See accountBeneficiary object definition for parameter details. Use of this endpoint requires enhanced account beneficiaries to be enabled. externalDocs: url: https://docs.helix.q2.com/reference/accountbeneficiarysavecollection operationId: accountBeneficiaryReplace requestBody: required: true content: application/json: schema: type: object required: - customerId - accountId - accountBeneficiaries properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' accountBeneficiaries: type: array description: The complete set of beneficiaries to save for the account. Replaces all existing beneficiaries. Pass an empty array to deactivate all existing beneficiaries. items: type: object required: - customerBeneficiaryId properties: customerBeneficiaryId: $ref: '#/components/schemas/HelixId' beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. Must be between 0 and 100. The sum of all percentages within a given beneficiaryPosition may not exceed 100. distributionDescription: type: - string - 'null' description: Free-form description of the distribution. At least one of distributionPercentage or distributionDescription must be provided. distributionType: $ref: '#/components/schemas/DistributionType' responses: '200': description: An envelope whose data node contains the saved account beneficiary collection content: application/json: schema: $ref: '#/components/schemas/AccountBeneficiaryReplace200Response' '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: DateTimeProperty: type: string format: date-time example: '2000-07-04T00:00:00.000+00:00' AccountBeneficiaryObject200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: accountId: $ref: '#/components/schemas/HelixId' accountLegalName1: type: string accountLegalName2: type: string accountName: type: string accountNumber: type: string accountNumberMasked: type: string addressLine1: type: string addressLine2: type: string addressLine3: type: string addressLine4: type: string birthDate: $ref: '#/components/schemas/DateTimeProperty' city: type: string country: type: string customerBeneficiaryId: $ref: '#/components/schemas/HelixId' customerId: $ref: '#/components/schemas/HelixId' distributionDescription: type: string firstName: type: string isActive: type: boolean lastName: type: string middleName: type: string postalCode: type: string state: type: string taxIdMasked: type: string beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. Must be between 0 and 100. distributionType: $ref: '#/components/schemas/DistributionType' 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' AccountBeneficiaryArray200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: array items: $ref: '#/components/schemas/AccountBeneficiaryObject200Response/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' AccountBeneficiaryReplace200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' accountBeneficiaries: type: array items: type: object properties: customerBeneficiaryId: $ref: '#/components/schemas/HelixId' beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. distributionDescription: type: - string - 'null' description: Free-form description of the distribution. distributionType: $ref: '#/components/schemas/DistributionType' isActive: type: boolean DistributionType: type: - string - 'null' description: 'The method used to distribute the account balance to this beneficiary. Accepted values: Percentage, DescriptionOnly' enum: - Percentage - DescriptionOnly AccountBeneficiaryAddEditRemove200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' distributionDescription: type: string isActive: type: boolean beneficiaryPosition: type: - integer - 'null' description: Position or order of this beneficiary on the account. distributionPercentage: type: - integer - 'null' minimum: 0 maximum: 100 description: Whole-number percentage of the account balance to distribute to this beneficiary. Must be between 0 and 100. distributionType: $ref: '#/components/schemas/DistributionType' HelixId: type: integer format: int32 minimum: 1 parameters: CustomerIdPath: name: customerId in: path required: true schema: $ref: '#/components/schemas/HelixId' AccountIdPath: name: accountId 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