openapi: 3.2.0
info:
title: Helix Customer Document 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 Document
description: Endpoints for the customerDocument object
paths:
/customerDocument/get/{customerId}/{documentId}:
get:
tags:
- Customer Document
summary: Get a customer document
description: Retrieve a customer document by the given `customerId` and `documentId`.
externalDocs:
url: https://docs.helix.q2.com/reference/customerdocumentget
operationId: customerDocumentGet
parameters:
- $ref: '#/components/parameters/CustomerIdPath'
- $ref: '#/components/parameters/DocumentIdPath'
responses:
'200':
description: An envelope whose data node is a customerDocument object
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDocumentObject200Response'
'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'
/customerDocument/list/{customerId}:
get:
tags:
- Customer Document
summary: List customer documents
description: Retrieve all documents for the given `customerId`.
externalDocs:
url: https://docs.helix.q2.com/reference/customerdocumentlist
operationId: customerDocumentList
parameters:
- $ref: '#/components/parameters/CustomerIdPath'
responses:
'200':
description: An array of customerDocument objects
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDocumentArray200Response'
'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'
/customerDocument/updateStatus:
post:
tags:
- Customer Document
summary: Update customer document status
description: Update the status of a customer document by the given `customerId` and `documentId`.
externalDocs:
url: https://docs.helix.q2.com/reference/customerdocumentupdatestatus
operationId: customerDocumentUpdateStatus
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- customerId
- documentId
- customerDocumentStatusType
properties:
customerId:
$ref: '#/components/schemas/HelixId'
documentId:
$ref: '#/components/schemas/HelixId'
customerDocumentStatusType:
$ref: '#/components/schemas/CustomerDocumentUpdateStatus200Response/allOf/1/properties/data/properties/customerDocumentStatusType'
responses:
'200':
description: The `customerId`, `documentId`, and `customerDocumentStatusType`
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDocumentUpdateStatus200Response'
'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'
/customerDocument/upload:
post:
tags:
- Customer Document
summary: Upload a customer document
description: Upload a document on behalf of a customer. See customerDocument object definition for parameter details.
externalDocs:
url: https://docs.helix.q2.com/reference/customerdocumentupload
operationId: customerDocumentUpload
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- customerId
- documentType
- reasonType
- documentName
- documentContent
properties:
customerId:
$ref: '#/components/schemas/HelixId'
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
documentContent:
type: string
format: byte
writeOnly: true
documentName:
type: string
maxLength: 50
documentType:
type: string
enum:
- DriversLicense
- UtilityBill
- BankStatement
- NameChangeAffidavit
- WrittenStatementOfUnauthorizedDebit
- Unspecified
- VerificationSummary
- DisputeDocumentation
- HoldNotice
- DriversLicenseBack
- PassportFront
- PassportBack
- UnspecifiedIdCardFront
- UnspecifiedIdCardBack
- SelfPortrait
- DBAStatementOfFiling
- FictitiousBusinessName
- BusinessLicenseShowingCurrent
- AttestationDocument
- CertificateOfPartnership
- PartnershipAgreement
- ProofOfAddress
- ArticlesOfOrganization
- CertificateOfFormation
- CertificateOfOrganization
- SecretaryOfStateRegistration
- ProofOfGoodStanding
- CorporateAuthorization
- EINLetter
- ArticlesOfIncorporation
- Charter
- TrustDocuments
- CurrentSecretaryOfStateRegistration
- CourtDocuments
- TrustCertificate
- BirthCertificate
- SocialSecurityCardFront
- SocialSecurityCardBack
- SchoolIDFront
- SchoolIDBack
- DeathCertificate
- PowerOfAttorney
- ProofOfAuthorization
reasonType:
type: string
enum:
- NameChange
- AddressChange
- RequestForNewExternalAccount
- Unspecified
- ManualReview
- ReturnOnTransaction
- VerificationSummary
- DisputeDocumentation
- HoldPlaced
- AutomatedReview
- Remediation Document
tag:
$ref: '#/components/schemas/TagProperty'
responses:
'200':
description: An envelope whose data node is a customerDocument object
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerDocumentObject200Response'
'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:
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'
CustomerDocumentUploadRequest:
type: object
required:
- customerId
- documentType
- reasonType
- documentName
- documentContent
properties:
customerId:
$ref: '#/components/schemas/HelixId'
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
documentContent:
type: string
format: byte
writeOnly: true
documentName:
type: string
maxLength: 50
documentType:
type: string
enum:
- DriversLicense
- UtilityBill
- BankStatement
- NameChangeAffidavit
- WrittenStatementOfUnauthorizedDebit
- Unspecified
- VerificationSummary
- DisputeDocumentation
- HoldNotice
- DriversLicenseBack
- PassportFront
- PassportBack
- UnspecifiedIdCardFront
- UnspecifiedIdCardBack
- SelfPortrait
- DBAStatementOfFiling
- FictitiousBusinessName
- BusinessLicenseShowingCurrent
- AttestationDocument
- CertificateOfPartnership
- PartnershipAgreement
- ProofOfAddress
- ArticlesOfOrganization
- CertificateOfFormation
- CertificateOfOrganization
- SecretaryOfStateRegistration
- ProofOfGoodStanding
- CorporateAuthorization
- EINLetter
- ArticlesOfIncorporation
- Charter
- TrustDocuments
- CurrentSecretaryOfStateRegistration
- CourtDocuments
- TrustCertificate
- BirthCertificate
- SocialSecurityCardFront
- SocialSecurityCardBack
- SchoolIDFront
- SchoolIDBack
- DeathCertificate
- PowerOfAttorney
- ProofOfAuthorization
reasonType:
type: string
enum:
- NameChange
- AddressChange
- RequestForNewExternalAccount
- Unspecified
- ManualReview
- ReturnOnTransaction
- VerificationSummary
- DisputeDocumentation
- HoldPlaced
- AutomatedReview
- Remediation Document
tag:
$ref: '#/components/schemas/TagProperty'
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'
CustomerDocumentUpdateStatus200Response:
allOf:
- $ref: '#/components/schemas/CardArray200Response/allOf/0'
- type: object
properties:
data:
type: object
properties:
customerId:
$ref: '#/components/schemas/HelixId'
documentId:
$ref: '#/components/schemas/HelixId'
customerDocumentStatusType:
type: string
enum:
- InReview
- Accepted
- Rejected
CustomerDocumentArray200Response:
allOf:
- $ref: '#/components/schemas/CardArray200Response/allOf/0'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CustomerDocumentObject200Response/allOf/1/properties/data'
CustomerDocumentObject200Response:
allOf:
- $ref: '#/components/schemas/CardArray200Response/allOf/0'
- type: object
properties:
data:
allOf:
- type: object
properties:
documentId:
$ref: '#/components/schemas/HelixId'
downloadUrl:
type: string
- $ref: '#/components/schemas/CustomerDocumentUploadRequest'
TagProperty:
type: string
maxLength: 50
HelixId:
type: integer
format: int32
minimum: 1
parameters:
DocumentIdPath:
name: documentId
in: path
required: true
schema:
$ref: '#/components/schemas/HelixId'
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