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