openapi: 3.2.0 info: title: Helix Customer 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: Customer Beneficiary description: Endpoints for the customerBeneficiary object paths: /customerBeneficiary/accountAssignment/list/{customerId}/{customerBeneficiaryId}: get: tags: - Customer Beneficiary summary: List account assignments for a customer beneficiary description: Retrieve all beneficiaries for the given `customerId`. operationId: customerBeneficiaryAccountAssignmentList parameters: - name: customerId in: path required: true schema: type: integer format: int32 minimum: 1 - name: customerBeneficiaryId in: path required: true schema: type: integer format: int32 minimum: 1 responses: '200': description: An envelope whose data node is a CustomerBeneficiaryAccountAssignmentList object. content: application/json: schema: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: $ref: '#/components/schemas/CustomerBeneficiaryAccountAssignmentList' '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' /customerBeneficiary/create: post: tags: - Customer Beneficiary summary: Create a customer beneficiary description: See customerBeneficiary object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/customerbeneficiarycreate operationId: customerBeneficiaryCreate requestBody: required: true content: application/json: schema: type: object required: - customerId properties: customerId: $ref: '#/components/schemas/HelixId' firstName: $ref: '#/components/schemas/BeneficiaryLastName' middleName: $ref: '#/components/schemas/BeneficiaryLastName' lastName: type: string maxLength: 50 birthDate: $ref: '#/components/schemas/DateTimeProperty' taxId: $ref: '#/components/schemas/TaxId' addressLine1: type: string maxLength: 100 addressLine2: $ref: '#/components/schemas/AddressLine' addressLine3: $ref: '#/components/schemas/AddressLine' addressLine4: $ref: '#/components/schemas/AddressLine' city: type: string maxLength: 50 state: $ref: '#/components/schemas/FormationState' postalCode: type: string maxLength: 9 country: type: string maxLength: 50 legalName1: type: string maxLength: 100 legalName2: $ref: '#/components/schemas/BeneficiaryLegalName' distributionDescription: type: string maxLength: 50 emailAddress: type: string maxLength: 256 phoneNumber: type: string maxLength: 15 beneficiaryType: $ref: '#/components/schemas/BeneficiaryType' taxIdType: $ref: '#/components/schemas/TaxIdType' responses: '200': description: An envelope whose data node is a customerBeneficiary object content: application/json: schema: $ref: '#/components/schemas/CustomerBeneficiaryObject200Response' '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' /customerBeneficiary/deactivate: post: tags: - Customer Beneficiary summary: Deactivate a customer beneficiary description: Deactivate a customer beneficiary by the given `customerId` and `customerBeneficiaryId`. externalDocs: url: https://docs.helix.q2.com/reference/customerbeneficiarydeactivate operationId: customerBeneficiaryDeactivate requestBody: required: true content: application/json: schema: type: object required: - customerId - customerBeneficiaryId properties: customerId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' responses: '200': description: A `customerId` and `customerBeneficiaryId` content: application/json: schema: $ref: '#/components/schemas/CustomerBeneficiaryDeactivate200Response' '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' /customerBeneficiary/get/{customerId}/{customerBeneficiaryId}: get: tags: - Customer Beneficiary summary: Get a customer beneficiary description: Retrieve customer beneficiary information by the given `customerId` and `customerBeneficiaryId`. externalDocs: url: https://docs.helix.q2.com/reference/customerbeneficiaryget operationId: customerBeneficiaryGet parameters: - $ref: '#/components/parameters/CustomerIdPath' - name: customerBeneficiaryId in: path required: true schema: $ref: '#/components/schemas/HelixId' responses: '200': description: An envelope whose data node is a customerBeneficiary object content: application/json: schema: $ref: '#/components/schemas/CustomerBeneficiaryObject200Response' '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' /customerBeneficiary/list/{customerId}: get: tags: - Customer Beneficiary summary: List customer beneficiaries description: List all beneficiaries for a given customer externalDocs: url: https://docs.helix.q2.com/reference/customerbeneficiarylist operationId: customerBeneficiaryList parameters: - $ref: '#/components/parameters/CustomerIdPath' responses: '200': description: An array of customerBeneficiary objects content: application/json: schema: $ref: '#/components/schemas/CustomerBeneficiaryArray200Response' '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' /customerBeneficiary/update: post: tags: - Customer Beneficiary summary: Update a customer beneficiary description: See customerBeneficiary object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/customerbeneficiaryupdate operationId: customerBeneficiaryUpdate requestBody: required: true content: application/json: schema: type: object required: - customerId - customerBeneficiaryId properties: customerId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' firstName: $ref: '#/components/schemas/BeneficiaryLastName' middleName: $ref: '#/components/schemas/BeneficiaryLastName' lastName: $ref: '#/components/schemas/BeneficiaryLastName' birthDate: $ref: '#/components/schemas/DateTimeProperty' taxId: $ref: '#/components/schemas/TaxId' addressLine1: $ref: '#/components/schemas/AddressLine' addressLine2: $ref: '#/components/schemas/AddressLine' addressLine3: $ref: '#/components/schemas/AddressLine' addressLine4: $ref: '#/components/schemas/AddressLine' city: $ref: '#/components/schemas/CityProperty' state: $ref: '#/components/schemas/FormationState' postalCode: $ref: '#/components/schemas/PostalCode' country: $ref: '#/components/schemas/CountryProperty' legalName1: $ref: '#/components/schemas/BeneficiaryLegalName' legalName2: $ref: '#/components/schemas/BeneficiaryLegalName' distributionDescription: $ref: '#/components/schemas/DistributionDescription' emailAddress: type: string maxLength: 256 phoneNumber: type: string maxLength: 15 beneficiaryType: $ref: '#/components/schemas/BeneficiaryType' taxIdType: $ref: '#/components/schemas/TaxIdType' responses: '200': description: An envelope whose data node is a customerBeneficiary object content: application/json: schema: $ref: '#/components/schemas/CustomerBeneficiaryObject200Response' '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: CityProperty: type: string maxLength: 50 TaxIdType: type: string enum: - SSN - EIN - ITIN CustomerBeneficiaryAccountAssignmentList: type: object properties: customerId: type: - integer - 'null' format: int32 customerBeneficiaryId: type: - integer - 'null' format: int32 accountAssignments: type: - array - 'null' items: $ref: '#/components/schemas/CustomerBeneficiaryAccountAssignment' 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' CustomerBeneficiaryArray200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: array items: $ref: '#/components/schemas/CustomerBeneficiaryObject200Response/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' CustomerBeneficiaryDeactivate200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' customerBeneficiaryId: $ref: '#/components/schemas/HelixId' BeneficiaryLastName: type: string maxLength: 50 CustomerBeneficiaryObject200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: addressLine1: type: string addressLine2: type: string addressLine3: type: string addressLine4: type: string birthDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' city: type: string country: type: string customerBeneficiaryId: $ref: '#/components/schemas/HelixId' customerId: $ref: '#/components/schemas/HelixId' distributionDescription: type: string emailAddress: type: string firstName: type: string isActive: type: boolean lastModifiedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' lastName: type: string legalName1: type: string maxLength: 100 legalName2: type: string maxLength: 100 middleName: type: string phoneNumber: type: string postalCode: type: string state: $ref: '#/components/schemas/FormationState' taxId: $ref: '#/components/schemas/TaxId' taxIdMasked: type: string beneficiaryType: $ref: '#/components/schemas/BeneficiaryType' taxIdType: $ref: '#/components/schemas/TaxIdType' PostalCode: type: string maxLength: 9 HelixId: type: integer format: int32 minimum: 1 DistributionDescription: type: string maxLength: 50 FormationState: type: string maxLength: 2 TaxId: type: string maxLength: 30 description: No formatting (no dashes, spaces, etc). CustomerBeneficiaryAccountAssignment: type: object properties: accountId: type: - integer - 'null' format: int32 accountLegalName1: type: - string - 'null' accountLegalName2: type: - string - 'null' accountName: type: - string - 'null' accountNumberMasked: type: - string - 'null' accountType: type: - string - 'null' beneficiaryPosition: type: - integer - 'null' format: int32 distributionDescription: type: - string - 'null' distributionPercentage: type: - integer - 'null' format: int32 distributionType: type: - string - 'null' effectiveDate: type: - string - 'null' format: date-time isActive: type: - boolean - 'null' DateTimeProperty: type: string format: date-time example: '2000-07-04T00:00:00.000+00:00' BeneficiaryLegalName: type: string maxLength: 100 AddressLine: type: string maxLength: 100 CountryProperty: type: string maxLength: 50 BeneficiaryType: type: - string - 'null' description: 'The type of beneficiary. Accepted values: Individual, Trust, Estate, Charity, NonProfit, Other' enum: - Individual - Trust - Estate - Charity - NonProfit - Other parameters: 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