Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi":"3.1.0","info":{"title":"Payment Hub Api 2.0","version":"1.0"},"paths":{"/createTransfer":{"post":{"tags":["Transfers"],"summary":"Create Transfer","description":"> 👍 Availability\n>\n>Some of the field descriptions for this endpoint reference FedNow or Fedwire, which are future capabilities not yet available for clients.\n\nUse the Create Transfer endpoint to move funds between a source account and a destination account. You can use an active account link that was created by <a href=\"ref:paymenthub_post_createexternalaccountlink\" target=\"_blank\">Create External Account Link</a> or create a new one via the request.\n\nFor card transfers, the referenced external debit card link must have a validation status of `\"PASSED\"` before it can be used for transfers.\n\nFor new transfers: Omit the `returnDetails` field.\nFor payment returns: Include the `returnDetails` field with the original transaction reference.\nWhen `returnDetails` is present, the request initiates a return of the original transfer.","operationId":"paymenthub_post_createtransfer","parameters":[{"name":"x-gft-idempotency-key","in":"header","required":true,"schema":{"type":"string","format":"uuid4","title":"X-Gft-Idempotency-Key"}},{"name":"Authorization","in":"header","required":true,"description":"Basic authentication token (base64-encoded {apilogin}:{apitranskey} credentials provided by SoFi Tech Solutions)","schema":{"type":"string","pattern":"^Basic [A-Za-z0-9+/]+=*$","example":"Basic eW91cl9hcGlsb2dpbjp5b3VyX2FwaXRyYW5za2V5"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"accountNo":{"type":"string","title":"Accountno","description":"The <<glossary:PRN>> associated with this transfer.\nPattern: PRN\nExample: `\"074103447228\"`"},"paymentMethod":{"description":"Payment network to use for the transfer.\nRail-specific validation: `CARD` requires the `sourceAccount` to be `GALILEO` and `creditOrDebit` to be `DEBIT` or `CREDIT`.\nExample: `\"CARD\"`","type":"string","enum":["ACH","FEDNOW","FEDWIRE","CARD"],"title":"PaymentRails"},"currencyAmount":{"description":"Request-side currency amount. Raises BadRequestException (400) on invalid client input.","properties":{"amount":{"type":"number","examples":[199.32]},"currency":{"type":"string","title":"Currency","description":"Currency code following ISO 4217 standard.\nValidation: Exactly 3 uppercase letters.\nPattern: ^[A-Z]{3}$\nExample: 'USD' (US Dollar), 'EUR' (Euro), 'GBP' (British Pound)","default":"USD","examples":["USD"]}},"type":"object","required":["amount"],"title":"CurrencyAmount"},"creditOrDebit":{"description":"Posting type indicating debit or credit.\n\n- DEBIT: Debit transaction (funds withdrawn)\n- CREDIT: Credit transaction (funds deposited)","type":"string","enum":["DEBIT","CREDIT"],"title":"PostingType"},"sourceAccount":{"description":"Identifies the account's role in the transaction.\n\nIf used as the **sourceAccount**, this is the account being debited. For push transfers (withdrawals), use the\nSoFi Tech Solutions account; for pull transfers (deposits), use the linked external account.\n\nIf used as the **destinationAccount**, this is the account being credited. For push transfers, use the linked\nexternal account; for pull transfers, use the SoFi Tech Solutions account.","properties":{"type":{"description":"Indicates the account category.","enum":["GALILEO_ACCOUNT","EXTERNAL_ACCOUNT_REFERENCE","EXTERNAL_ACCOUNT_LINK_REQUEST","LEGACY"],"title":"AccountType","type":"string"}},"required":["type"],"title":"AccountReferenceBase","type":"object","discriminator":{"propertyName":"type","mapping":{"EXTERNAL_ACCOUNT_LINK_REQUEST":"#/components/schemas/AccountRequest","EXTERNAL_ACCOUNT_REFERENCE":"#/components/schemas/ExternalAccountReference","GALILEO_ACCOUNT":"#/components/schemas/GalileoAccount"}}},"destinationAccount":{"description":"Identifies the account's role in the transaction.\n\nIf used as the **sourceAccount**, this is the account being debited. For push transfers (withdrawals), use the\nSoFi Tech Solutions account; for pull transfers (deposits), use the linked external account.\n\nIf used as the **destinationAccount**, this is the account being credited. For push transfers, use the linked\nexternal account; for pull transfers, use the SoFi Tech Solutions account.","properties":{"type":{"description":"Indicates the account category.","enum":["GALILEO_ACCOUNT","EXTERNAL_ACCOUNT_REFERENCE","EXTERNAL_ACCOUNT_LINK_REQUEST","LEGACY"],"title":"AccountType","type":"string"}},"required":["type"],"title":"AccountReferenceBase","type":"object","discriminator":{"propertyName":"type","mapping":{"EXTERNAL_ACCOUNT_LINK_REQUEST":"#/components/schemas/AccountRequest","EXTERNAL_ACCOUNT_REFERENCE":"#/components/schemas/ExternalAccountReference","GALILEO_ACCOUNT":"#/components/schemas/GalileoAccount"}}},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Externalid","description":"Client-defined identifier for tracking and reconciliation.\nPattern: Alphanumeric string\nExample: `My-Internal-ID-123`"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose","description":"Reason for the transfer.\nPattern: Alphanumeric string\nValidation:\n- Default: Alphanumeric string\n- FEDWIRE: Limited to alphanumeric and special characters: @&/\\'\"\\`~()<>$#%+-={}*|[]^.,?!;:_\nExample: \"`Bill Payment`\""},"remittanceInfo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remittanceinfo","description":"Additional details about the transfer, such as an invoice number.\nPattern: Alphanumeric string\nValidation:\n- Default: Alphanumeric string\n- FEDWIRE: 1-140 characters, limited to alphanumeric and special characters: @&/\\'\"`~()<>$#%+-={}*|[]^.,?!;:_\nExample: \"`Invoice #456-ABC`\""},"returnDetails":{"anyOf":[{"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","description":"Reason code describing why the transaction was returned.\nValidation:\n- FEDNOW: Required. Uses ISO 20022 External Status Reason Codes (pacs.002 StsRsnInf/Rsn/Cd). Must be 1-4 characters. Common codes include AC01 (Incorrect account number), AC03 (Invalid creditor account number), AC04 (Closed account number), AC06 (Blocked account), AC13 (Invalid debtor account type), AC14 (Invalid agent), AC15 (Account details changed), AG01 (Transaction forbidden). Refer to ISO 20022 ExternalCodeSets for the complete list of reason codes.","examples":["AC03","AC04"]},"additionalInfo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additionalinfo","description":"Optional additional context for the return.\nValidation:\n- FEDNOW: Maximum 105 characters. Maps to ISO 20022 pacs.002 StsRsnInf/AddtlInf.","examples":["Account closed by customer request"]},"originalTransactionId":{"type":"string","format":"uuid","title":"Originaltransactionid","description":"Reference to the original transaction being returned (transferId).","examples":["123e4567-e89b-12d3-a456-426614174000"]}},"type":"object","required":["originalTransactionId"],"title":"ReturnDetails","description":"Payment return information for reversing a previous transfer."},{"type":"null"}],"description":"Payment return information. If present, this request initiates a return/reversal of a previous transfer.\n\nWhen provided, the following fields take on return-specific meanings:\n- `currencyAmount`: The amount being returned (supports partial returns, must be less than or equal to the original amount)\n- `sourceAccount`: Account initiating the return.\n- `destinationAccount`: Account receiving the return.\n- `paymentMethod`: Payment rail used for the return.\n\nSee `ReturnDetails` class documentation for additional return fields and requirements."},"destinationEntities":{"anyOf":[{"properties":{"instructedAgent":{"anyOf":[{"properties":{"memberId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memberid","description":"Clearing system member identification number. Required if bic is not provided.\nFor US banks: 9-digit ABA/RTN. For foreign banks: local clearing code.\nWhen provided without clearingSystemId, defaults to USABA."},"clearingSystemId":{"anyOf":[{"type":"string","enum":["USABA"],"title":"ClearingSystemId"},{"type":"null"}],"description":"Identifies the clearing system for the memberId.\nOnly applicable when memberId is provided. Defaults to USABA if omitted."},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic","description":"SWIFT/BIC code of the financial institution.\nExactly 8 or 11 characters. Required if memberId is not provided."},"lei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lei","description":"Legal Entity Identifier. 20-character alphanumeric code."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Financial institution name. Max 140 characters."},"address":{"anyOf":[{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line1","description":"First line of the address.\nPattern:\n- Default: 1-105 characters with at least one non-whitespace character\n- FEDWIRE: 1-105 characters, limited to alphanumeric and special characters","examples":["123 sesame street"]},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line2","description":"Second line of the address (apartment, suite, etc.).\nPattern:\n- Default: 1-35 characters with at least one non-whitespace character\n- FEDWIRE: 1-35 characters, limited to alphanumeric and special characters","examples":["apt 4321"]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City name.\nPattern:\n- Default: 1-35 characters with at least one non-whitespace character\n- FEDWIRE: 1-35 characters, limited to alphanumeric and special characters","examples":["Brooklyn"]},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"State or province code.\nPattern:\n- Default: 2-35 characters with at least one non-whitespace character. For US addresses, typically 2-letter state code (e.g., 'NY', 'CA')\n- FEDWIRE: 2-35 characters, limited to alphanumeric and special characters","examples":["NY"]},"zipCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode","description":"Postal code or ZIP code.\nPattern:\n- Default: 1-15 characters with at least one non-whitespace character. For US addresses, typically 5-digit ZIP code (e.g., '11201')\n- FEDWIRE: 1-15 characters, limited to alphanumeric and special characters","examples":["11201"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Country code following ISO 3166-1 alpha-2 format.\nPattern: Exactly 2 uppercase letters.\nExamples: 'US' (United States), 'MX' (Mexico)","examples":["US","MX"]}},"type":"object","title":"RequestAddress"},{"type":"null"}],"description":"Financial institution address (bank location, not account owner)."}},"type":"object","title":"FinancialAgentRequest","description":"Financial institution involved in the transfer"},{"type":"null"}],"description":"The financial institution receiving the wire on FedWire.\nFor FedWire: clearingSystemId must be USABA and memberId must be a valid 9-digit ABA/RTN."},"intermediaryAgent1":{"anyOf":[{"properties":{"memberId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memberid","description":"Clearing system member identification number. Required if bic is not provided.\nFor US banks: 9-digit ABA/RTN. For foreign banks: local clearing code.\nWhen provided without clearingSystemId, defaults to USABA."},"clearingSystemId":{"anyOf":[{"type":"string","enum":["USABA"],"title":"ClearingSystemId"},{"type":"null"}],"description":"Identifies the clearing system for the memberId.\nOnly applicable when memberId is provided. Defaults to USABA if omitted."},"bic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bic","description":"SWIFT/BIC code of the financial institution.\nExactly 8 or 11 characters. Required if memberId is not provided."},"lei":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lei","description":"Legal Entity Identifier. 20-character alphanumeric code."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Financial institution name. Max 140 characters."},"address":{"anyOf":[{"properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line1","description":"First line of the address.\nPattern:\n- Default: 1-105 characters with at least one non-whitespace character\n- FEDWIRE: 1-105 characters, limited to alphanumeric and special characters","examples":["123 sesame street"]},"line2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Line2","description":"Second line of the address (apartment, suite, etc.).\nPattern:\n- Default: 1-35 characters with at least one non-whitespace character\n- FEDWIRE: 1-35 characters, limited to alphanumeric and special characters","examples":["apt 4321"]},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"City name.\nPattern:\n- Default: 1-35 characters with at least one non-whitespace character\n- FEDWIRE: 1-35 characters, limited to alphanumeric and special characters","examples":["Brooklyn"]},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"State or province code.\nPattern:\n- Default: 2-35 characters with at least one non-whitespace character. For US addresses, typically 2-letter state code (e.g., 'NY', 'CA')\n- FEDWIRE: 2-35 characters, limited to alphanumeric and special characters","examples":["NY"]},"zipCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zipcode","description":"Postal code or ZIP code.\nPattern:\n- Default: 1-15 characters with at least one non-whitespace character. For US addresses, typically 5-digit ZIP code (e.g., '11201')\n- FEDWIRE: 1-15 characters, limited to alphanumeric and special characters","examples":["11201"]},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"Country code following ISO 3166-1 alpha-2 format.\nPattern: Exactly 2 uppercase letters.\nExamples: 'US' (United States), 'MX' (Mexico)","examples":["US","MX"]}},"type":"object","title":"RequestAddress"},{"type":"null"}],"description":"Financial institution address (bank location, not account owner)."}},"type":"object","title":"FinancialAgentRequest","description":"Financial institution involved in the transfer"},{"type":"null"}],"description":"Intermediary/correspondent bank in the SWIFT chain.\nAt least bic or memberId required. When present, instructedAgent is required."},"intermediaryAccount1":{"anyOf":[{"properties":{"number":{"type":"string","title":"Number","description":"Account number or IBAN."},"type":{"description":"Type of account number.\n- IBAN: International Bank Account Number, validated per ISO 13616\n- ACCOUNT_NUMBER: Standard account identifier (default when omitted)","default":"ACCOUNT_NUMBER","type":"string","enum":["IBAN","ACCOUNT_NUMBER"],"title":"AccountNumberType"}},"type":"object","required":["number"],"title":"AccountIdentification","description":"Account identification — account number or IBAN."},{"type":"null"}],"description":"Correspondent account at the intermediary bank.\nThe account the sending bank holds AT the intermediary (not the beneficiary's account)."}},"type":"object","title":"DestinationEntitiesRequest","description":"Agent routing for international wire transfers.\n\nOnly allowed for outbound international FedWire transfers.\nWhen intermediaryAgent1 is present, instructedAgent is required."},{"type":"null"}],"description":"Agent routing for outbound international FedWire transfers.\nContains the instructed agent (receiving FI on FedWire) and optional intermediary/correspondent bank in the payment chain.\nValidation:\n- Only allowed for outbound international FedWire transfers\n- When intermediaryAgent1 is present, instructedAgent is required\n- FedWire instructedAgent: clearingSystemId must be USABA, memberId must be valid ABA/RTN"},"isCrossBorder":{"type":"boolean","title":"Iscrossborder","description":"Indicates whether this is a cross-border (international) transfer.\nCurrently supported for FEDWIRE only.","default":false}},"type":"object","required":["accountNo","paymentMethod","currencyAmount","creditOrDebit","sourceAccount","destinationAccount","apiLogin","apiTransKey","providerId"],"title":"CreateTransferRequest","description":"Create a new payment transfer OR return a previous transfer.\n\nFor new transfers: Omit the `returnDetails` field.\nFor payment returns: Include the `returnDetails` field with the original transaction reference.\n\nWhen `returnDetails` is present, the request initiates a return of the original transfer.\nSee `ReturnDetails` class documentation for field meanings and return-specific behavior.\n\n**Character Set Restrictions for FEDWIRE and FEDNOW rails:**\n\nAll free-text fields (e.g. `purpose`, `remittanceInfo`, address fields, owner names, `bankName`)\nmust conform to the payment rail's character set when using FEDWIRE or FEDNOW:\n\n- **FEDWIRE**: Alphanumeric characters and special characters: @&/\\'\"` ~()<>$#%+-={}*|[]^.,?!;:_\n- **FEDNOW**: FedNow Service Character Set — alphanumeric, space, all printable ASCII special\n characters (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~), and extended Latin characters (U+00C0–U+00FF)"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"transferId":{"type":"string","title":"Transferid","description":"Unique identifier assigned to the newly created transfer."}},"type":"object","required":["transferId"],"title":"CreateTransferResponse"},"examples":{"response":{"value":"{\n \"transferId\": \"890e4567-e89b-12d3-a456-426614174222\"\n}"}}}}},"400":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}},"description":"Bad Request"},"401":{"description":"No valid API credentials provided.","content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}}},"403":{"description":"The provided API credential does not allow this operation.","content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}}},"404":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}}},"500":{"content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}},"description":"Internal Server Error"},"502":{"description":"Bad Gateway.","content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}}},"503":{"description":"Service Unavailable.","content":{"application/json":{"schema":{"properties":{"error":{"description":"Provides additional information about the error.","properties":{"code":{"description":"Identifier for the error. Possible values:","type":"string","enum":["INTERNAL_SERVICE_ERROR","VALIDATION_ERROR","BAD_REQUEST","CONCURRENT_IDEMPOTENT_REQUEST","ORIGINAL_TRANSACTION_NOT_COMPLETED","NOT_FOUND","TOO_MANY_RTNS","INVALID_LIMIT","INVALID_PAGE_TOKEN","RESOURCE_LIMIT_EXCEEDED","ME_NOT_CONFIGURED","ME_NOT_ENABLED","ME_PROGRAM_MISCONFIGURED"],"title":"ErrorCode"},"message":{"type":"string","title":"Message","description":"Short description of the error."},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Contains details about the error when available. For example, which fields has validations problems or which action fails."}},"type":"object","required":["code","message"],"title":"ErrorInfo"}},"type":"object","required":["error"],"title":"ErrorResponse"}}}}}}},"/listTransfers":{"post":{"tags":["Transfers"],"summary":"List Transfers","description":"Use the List Transfer endpoint to get incoming and outgoing transfers attached to the provided account_no.All transfers created by <a href=\"ref:payhub_post_createTransfer\" target=\"_blank\">Create Transfer</a> will be returned as outgoing transfers.","operationId":"paymenthub_post_listtransfers","requestBody":{"content":{"application/json":{"schema":{"properties":{"accountNo":{"type":"string","title":"Accountno","description":"All transfers associated with this <<glossary:PRN>>.\nPattern: PRN\nExample: `074103447228`"},"filters":{"description":"Filters the list of transfers by direction, payment method, and status.","properties":{"direction":{"anyOf":[{"type":"string","enum":["IN","OUT"],"title":"Direction","description":"Direction of the transfer relative to the specified account.\n\n- IN: The specified account is the destination account of the transfer\n- OUT: The specified account is the source account of the transfer\n\nNote: Direction indicates transfer flow, but actual fund movement depends on the debit/credit indicator. For example, an incoming debit or outgoing credit may both result in funds leaving the specified account."},{"type":"null"}],"description":"Filters the list to include only incoming or outgoing transfers relative to the specified account.\nExample: `OUT`"},"paymentMethod":{"anyOf":[{"type":"string","enum":["ACH","FEDNOW","FEDWIRE","CARD"],"title":"PaymentRails"},{"type":"null"}],"description":"Filters the list by the payment network used for the transfer relative to the specified account.\nExample: `ACH`"},"status":{"anyOf":[{"type":"string","enum":["CREATED","IN PROGRESS","COMPLETED","FAILED","PENDING REVIEW","SENT","ACCEPTED WITHOUT POST","BLOCKED","REJECTED","REQUESTED","REQUEST APPROVED","REQUEST REJECTED"],"title":"TransferStatus","description":"Status of the transaction.\n\n**For FedNow and FedWire transactions:**\n\n- CREATED: Initial state for transactions after creation via API call.\n- SENT: Outbound-only state indicating payment message (pacs.008 or pacs.004) successfully published to the payment network, awaiting pacs.002 status report.\n- IN PROGRESS: Transaction is being processed.\n- COMPLETED: Terminal success state. Payment network confirmed successful settlement via pacs.002 with ACSC or ACCC status.\n- FAILED: Terminal failure state. Transaction rejected by payment network or receiving FI initially.\n\n**For FedNow transactions only:**\n\n- ACCEPTED WITHOUT POST: Special intermediate state for outbound payments. Received pacs.002 with ACWP status - funds have settled but receiving Financial Institution requires additional investigation time before posting.\n- BLOCKED: Terminal state for outbound payments previously in ACCEPTED WITHOUT POST. Receiving FI sent pacs.002 with BLCK status - funds are blocked and will not be posted.\n- REJECTED: Terminal state for outbound payments previously in ACCEPTED WITHOUT POST. Received pacs.002 with RJCT status after investigation - funds must be returned via new pacs.004.\n- REQUESTED: Return has been requested (FedNow returns only).\n- REQUEST APPROVED: Return request has been approved (FedNow returns only).\n- REQUEST REJECTED: Return request has been rejected (FedNow returns only)."},{"type":"null"}],"description":"Filters the list by the current status of the transfers.\nExample: `COMPLETED`"}},"type":"object","title":"GetTransferFilters"},"dateFrom":{"type":"string","title":"Datefrom","description":"Start date for the transaction query. Defaults to the past 30 days from the current date.\nPattern: YYYY-MM-DD or ISO 8601 date-time\nExample: `\"2025-07-13\"`","examples":["2025-07-12","2025-07-12 16:20:00","2022-05-03T12:24:37-07:00"]},"dateTo":{"type":"string","title":"Dateto","description":"End date for the transaction query. Defaults to the current date and time.\nPattern: YYYY-MM-DD or ISO 8601 datetime\nExample: `\"2025-08-13\"`","examples":["2025-07-12","2025-07-12 16:20:00","2022-05-03T12:24:37-07:00"]},"limit":{"type":"integer","title":"Limit","description":"Maximum number of transfers to return in the response.\nPattern: Integer, max 15\nExample: 15","examples":[1,12,15]},"page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page","description":"Pass the `nextPage` token from a previous response to fetch the subsequent page.\nPattern: Alphanumeric token\nExample: `\"NO34BNT04TV234N6V274692376G32NNFNNF7988247923865017061N\"`","examples":["NO34BNT04TV234N6V274692376G32NNFNNF7988247923865017061N"]}},"type":"object","required":["accountNo","apiLogin","apiTransKey","providerId"],"title":"ListTransfersRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"nextPage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextpage","description":"Token used to retrieve the next page of results. This field is null if there are no more results."},"data":{"items":{"properties":{"transferId":{"type":"string","title":"Tran
# --- truncated at 32 KB (434 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sofi-technologies/refs/heads/main/openapi/sofi-technologies-payment-hub-api-openapi.json