openapi: 3.2.0 info: title: Helix Transfer 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: Transfer description: Endpoints for the transfer object paths: /transfer/achOrigination/create: post: tags: - Transfer summary: Create an ACH-originated debit or credit transaction description: Create an ACH-originated transaction. See transfer object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/transferachoriginationcreate operationId: transferAchOriginationCreate requestBody: required: true content: application/json: schema: type: object required: - accountId - amount - companyEntryDescription - customerId - dFIAccountNumber - direction - isPrenote - isReversal - receiverAccountType - receiverName - recieverFIRoutingNumber - standardEntryClassCode properties: accountId: allOf: - description: The accountId to which funds are being deposited or from which funds are being withdrawn. **Note:** This is not accountNumber. - $ref: '#/components/schemas/HelixId' amount: type: number format: decimal minimum: 0.01 companyEntryDescription: type: string maxLength: 10 customerId: $ref: '#/components/schemas/HelixId' dFIAccountNumber: type: string maxLength: 17 direction: enum: - Credit - Debit effectiveEntryDate: type: string format: date description: If `effectiveEntryDate` is not provided, the transaction will be processed in the next available ACH transfer window. isPrenote: type: boolean isReversal: type: boolean paymentRelatedInformation: type: string maxLength: 80 receiverAccountType: enum: - Checking - Savings - Loan - General Ledger receiverName: type: string maxLength: 22 receiverFIRoutingNumber: type: string maxLength: 9 standardEntryClassCode: type: string maxLength: 3 tag: type: string maxLength: 50 responses: '200': description: An envelope whose data node is a transaction object content: application/json: schema: $ref: '#/components/schemas/TransactionObject200Response' '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' /transfer/create: post: tags: - Transfer summary: Create a transfer description: Transfer funds from one account to another. Results in a new transaction retrievable via the /transaction/* endpoints. See transfer object definition for parameter details. externalDocs: url: https://docs.helix.q2.com/reference/transfercreate operationId: transferCreate requestBody: required: true content: application/json: schema: type: object required: - customerId - fromId - toId - amount properties: amount: type: number format: decimal minimum: 0.01 customerId: $ref: '#/components/schemas/HelixId' description: type: string fromId: $ref: '#/components/schemas/HelixId' isSameDaySettle: type: boolean tag: $ref: '#/components/schemas/TagProperty' toId: $ref: '#/components/schemas/HelixId' toCustomerId: $ref: '#/components/schemas/HelixId' toCustomerTag: $ref: '#/components/schemas/TagProperty' toTransactionTag: $ref: '#/components/schemas/TagProperty' purposeCode: type: string maxLength: 10 pattern: ^[0-9][A-Z][a-z]$ responses: '200': description: An array of transferResponse objects. content: application/json: schema: $ref: '#/components/schemas/TransferCreate200Response' '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' /transfer/void: post: tags: - Transfer summary: Void a transfer description: Void a transfer previously created via /transfer/create. Only transactions with `status=Initiated` may be voided. externalDocs: url: https://docs.helix.q2.com/reference/transfervoid operationId: transferVoid requestBody: required: true content: application/json: schema: required: - customerId properties: customerId: $ref: '#/components/schemas/HelixId' tag: allOf: - description: Required if `transactionId` not present - $ref: '#/components/schemas/TagProperty' transactionId: allOf: - description: Required if `tag` not present - $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' responses: '200': description: An envelope whose data node is a transferResponse object content: application/json: schema: $ref: '#/components/schemas/TransferVoid200Response' '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: TransferVoid200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' masterId: $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' tag: $ref: '#/components/schemas/TagProperty' transactionId: $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' 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' AccountClose200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: customerId: $ref: '#/components/schemas/HelixId' accountId: $ref: '#/components/schemas/HelixId' closeToAccountId: $ref: '#/components/schemas/HelixId' transactionId: type: integer format: int64 minimum: 1 transactionTag: $ref: '#/components/schemas/TagProperty' closingBalanceAmount: type: number format: decimal interestPaidAmount: type: number format: decimal totalClosingAmount: type: number format: decimal isClosedToExternalAccount: type: boolean PurposeCode: type: string maxLength: 10 pattern: ^[0-9][A-Z][a-z]$ TransactionObject200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: object properties: accountId: $ref: '#/components/schemas/HelixId' amount: type: number format: decimal availableDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' cardId: $ref: '#/components/schemas/HelixId' cardMerchantInfo: type: object properties: merchantCity: type: string maxLength: 13 merchantCountryCode: type: string maxLength: 2 merchantGroupcode: type: string maxLength: 6 merchantId: type: string maxLength: 15 merchantLocation: type: string maxLength: 23 merchantStateCode: type: string maxLength: 2 merchantZipCode: type: string maxLength: 9 check: type: object properties: checkAmount: type: number format: decimal checkImages: type: array items: type: object properties: downloadUrl: type: string imageType: type: string enum: - CheckFront - CheckBack - ReturnCheckFront - ReturnCheckBack checkNumber: $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' holdCode: type: string holdCodeDescription: type: string payerAccountNumberMasked: type: string payerInstitutionDescription: type: string payerRoutingNumber: type: string returnReason: type: string returnReasonCode: type: string createdDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' customerId: $ref: '#/components/schemas/HelixId' customField1: type: string depositAvailability: type: object properties: availabilityAmounts: type: array items: type: object properties: availableDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' effectiveAvailableDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' isReleased: type: boolean overrideAvailableDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' releaseAmount: type: number format: decimal releasedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' remainingAmount: type: number format: decimal availabilityCode: type: string totalReleasedAmount: type: number format: decimal totalRemainingAmount: type: number format: decimal description: type: string feeCode: type: string enum: - ACH - DAF - IAF - ICF - NSF - RGD - RTN feeDescription: type: string friendlyDescription: type: string institutionName: type: string isCredit: type: boolean isEarlyDirectDeposit: type: boolean isSameDaySettle: type: boolean masterId: $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' nachaDescription: type: string deprecated: true nachaInfo: type: object properties: companyDiscretionaryData: type: string companyEntryDescription: type: string companyIdentification: type: string companyName: type: string isEarlyDeposit: type: boolean nachaSettledDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' standardEntryClassCode: type: string purposeCode: $ref: '#/components/schemas/PurposeCode' requestingCustomerId: $ref: '#/components/schemas/HelixId' returnCode: type: string runningAccountBalance: type: number format: decimal settledDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' statementDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' status: type: string enum: - Initiated - Pending - Settled - Voided subType: type: string subTypeCode: type: string tag: $ref: '#/components/schemas/TagProperty' transactionCount: $ref: '#/components/schemas/HelixId' transactionId: $ref: '#/components/schemas/AccountClose200Response/allOf/1/properties/data/properties/transactionId' type: type: string typeCode: type: string voidedDate: $ref: '#/components/schemas/CustomerSetLastContact200Response/allOf/1/properties/data/items/properties/lastContactDate' 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' TransferCreate200Response: allOf: - $ref: '#/components/schemas/CardArray200Response/allOf/0' - type: object properties: data: type: array items: $ref: '#/components/schemas/TransferVoid200Response/allOf/1/properties/data' TagProperty: type: string maxLength: 50 HelixId: type: integer format: int32 minimum: 1 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