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