How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SoFi Tech Solutions Payment Hub API 2.0

Money movement over instant-payment rails, with external account linking. The contract declares ISO 20022 message types by name - pacs.008 and pacs.004 outbound, pacs.002 status reports, and the ISO 20022 External Status Reason Codes for FedNow returns - which makes it one of the few contracts in the catalog that states its own market standard rather than claiming it on a marketing page.

SoFi Tech Solutions Payment Hub API 2.0 is one of 11 APIs that SoFi Technologies publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Fintech, Payments, Banking, Card Issuing, and Banking as a Service. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 11 operations across 11 paths, organized into 2 resource areas, and defines 129 schemas. It is described by OpenAPI 3.1.0, at version 1.0.

Requests are made against a single base URL, {corename}.payment-hub.{env}.gpsrv.com/payment-hub/1.0/.

11 operations 11 paths 129 schemas 11 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0
Base URL
https://{corename}.payment-hub.{env}.gpsrv.com/payment-hub/1.0/
Resource Areas
2

Paths & Operations 11

Across 11 paths, the API surfaces 11 operations — 11 POST. They span 2 resource areas: Transfers, External Account Links. Each is listed below with its method, path, parameters, and response codes.

Transfers 4
POST
/createTransfer
Create Transfer
paymenthub_post_createtransfer 2 params body → 200400401403404409422429
POST
/listTransfers
List Transfers
paymenthub_post_listtransfers 1 param body → 200400401403422429500502
POST
/getTransfer
Get Transfer
paymenthub_post_gettransfer 1 param body → 200400401403404422429500
POST
/cancelTransfer
Cancel Transfer
paymenthub_post_canceltransfer 1 param body → 200400401403404409422429
External Account Links 7
POST
/createExternalAccountLink
Create External Account Link
paymenthub_post_createexternalaccountlink 2 params body → 200400401403404409422429
POST
/loadExternalAccountLinks
Load External Account Links
paymenthub_post_loadexternalaccountlinks 2 params body → 200400401403404409422429
POST
/modifyExternalAccountLink
Modify External Account Link
paymenthub_post_modifyexternalaccountlink 1 param body → 200400401403404422429500
POST
/getExternalAccountLink
Get External Account Link
paymenthub_post_getexternalaccountlink 1 param body → 200400401403404422429500
POST
/listExternalAccountLinks
List External Account Links
paymenthub_post_listexternalaccountlinks 1 param body → 200400401403404422429500
POST
/removeExternalAccountLink
Remove External Account Links
paymenthub_post_removeexternalaccountlink 1 param body → 200400401403404422429500
POST
/getExternalAccountLinkAccess
Get External Account Link Access
paymenthub_post_getexternalaccountlinkaccess 1 param body → 200400401403404409422429

Schemas 129

The contract defines 129 schemas that model the data the API accepts and returns. The most detailed are GetTransferResponse (20 properties), CreateTransferRequest (12 properties), LegacyExternalAccount (7 properties), FinancialAgentRequest (6 properties). Each schema is shown below with its type and property counts.

AccessIntegration
string
AccessTokenType
string
AccountIdentification
object
Account identification — account number or IBAN.
2 properties 1 required
AccountNumberType
string
AccountRequest
ApiIntegration
object
5 properties 1 required
BalanceStatus
string
BankAccountDetails
BankAccountDetailsResponse
BankDepositType
string
CancelTransferRequest
object
2 properties 2 required
CancelTransferResponse
object
2 properties 2 required
CardAccountDetails
CardAccountDetailsResponse
CardNetwork
string
CardNetworkDetails
object
6 properties
CardType
string
ClearingSystemId
string
ConsumerAccountOwner
ConsumerAccountOwnerResponse
ConsumerIdentification
CorporateAccountOwner
CorporateAccountOwnerResponse
CorporateIdentification
CreateExternalAccountLinkRequest
object
5 properties 4 required
CreateExternalAccountLinkResponse
object
1 property 1 required
CreateTransferRequest
object
Create a new payment transfer OR return a previous transfer. For new transfers: Omit the returnDetails field. For payment returns: Include the returnDetails fi…
12 properties 6 required
CreateTransferResponse
object
1 property 1 required
CurrencyAmount
object
Request-side currency amount. Raises BadRequestException (400) on invalid client input.
2 properties 1 required
CurrencyAmountResponse
object
Response-side currency amount. Raises InternalServiceException (500) on invalid persisted data — bad values in response construction reflect server-side data i…
2 properties 1 required
CurrencyAmountStatus
object
3 properties
DestinationEntities
object
Destination side entities - entities and agents involved in receiving the transfer
2 properties
DestinationEntitiesRequest
object
Agent routing for international wire transfers. Only allowed for outbound international FedWire transfers. When intermediaryAgent1 is present, instructedAgent…
3 properties
Direction
string
Direction of the transfer relative to the specified account. - IN: The specified account is the destination account of the transfer - OUT: The specified accoun…
ErrorCode
string
ErrorInfo
object
3 properties 2 required
ErrorResponse
object
1 property 1 required
ExternalAccountDetails
ExternalAccountLinkCardValidationResponse
ExternalAccountLinkClientValidationResponse
ExternalAccountLinkFinicityValidationResponse
ExternalAccountLinkLegacyValidationResponse
ExternalAccountLinkMicroEntryValidationResponse
ExternalAccountLinkNoValidationResponse
ExternalAccountLinkStatus
string
ExternalAccountLinkValidation
object
3 properties
ExternalAccountReference
ExternalAccountReferenceResponse
FedNowRailInformation
FedwireRailInformation
FinancialAgent
object
Financial institution involved in originating the transfer
6 properties
FinancialAgentRequest
object
Financial institution involved in the transfer
6 properties
FinicityIntegration
object
3 properties 1 required
GalileoAccount
GalileoAccountOwner
GalileoAccountOwnerResponse
GalileoAccountResponse
GalileoFailureDetails
GetExternalAccountLinkAccessRequest
object
2 properties 1 required
GetExternalAccountLinkAccessResponse
object
3 properties 3 required
GetExternalAccountLinkRequest
object
3 properties 2 required
GetExternalAccountLinkResponse
object
6 properties 4 required
GetRoutingNumberDetailsRequest
object
3 properties
GetRoutingNumberDetailsResponse
object
3 properties
GetTransferFilters
object
3 properties
GetTransferRequest
object
2 properties 2 required
GetTransferResponse
object
20 properties 10 required
HTTPValidationError
object
1 property
IntegrationType
string
LegacyExternalAccount
object
7 properties
ListExternalAccountLinksRequest
object
3 properties 1 required
ListExternalAccountLinksResponse
object
2 properties 1 required
ListTransfersRequest
object
6 properties 1 required
ListTransfersResponse
object
2 properties 2 required
LoadApiIntegration
object
4 properties 1 required
LoadExternalAccountLinksRequest
object
3 properties 2 required
LoadExternalAccountLinksResponse
object
3 properties 2 required
MessageDetails
object
2 properties 2 required
ModifiableExternalAccountLinkValidation
object
2 properties
ModifiableExternalAccountOwner
object
4 properties
ModifiableExternalBankAccountDetails
ModifiableExternalCardAccountDetails
ModifyExternalAccountLinkRequest
object
6 properties 2 required
ModifyExternalAccountLinkResponse
object
1 property 1 required
NetworkFailureDetails
NetworkReferenceIdType
string
OtherIdentification
object
Other identification for the first or third party entity.
1 property 1 required
OwnershipType
string
Party
object
Entity involved in a transfer
3 properties
PaymentRailInfo
object
3 properties 2 required
PaymentRailServiceType
string
PaymentRailType
string
PaymentRails
string
PaymentType
string
- RETURN: Funds sent back to the originator to reverse a specific transaction - CUSTOMER CREDIT TRANSFER: A standard payment initiated by the customer to a thi…
PostingType
string
Posting type indicating debit or credit. - DEBIT: Debit transaction (funds withdrawn) - CREDIT: Credit transaction (funds deposited)
RailStatus
string
RemoveExternalAccountLinkRequest
object
2 properties 2 required
RemoveExternalAccountLinkResponse
object
1 property 1 required
RequestAddress
object
6 properties
ResponseAddress
object
6 properties
ReturnDetails
object
Payment return information for reversing a previous transfer.
3 properties 1 required
RoutingInfo
object
3 properties 3 required
RoutingInfoType
string
RoutingNumberDetails
object
3 properties 2 required
SourceEntities
object
Source side entities - entities and agents involved in originating the transfer
3 properties
TokenDetails
object
3 properties 2 required
TransferHistoryData
object
4 properties 3 required
TransferStatus
string
Status of the transaction. For FedNow and FedWire transactions: - CREATED: Initial state for transactions after creation via API call. - SENT: Outbound-only st…
ValidateExternalAccountLinkRequest
object
4 properties 4 required
ValidateExternalAccountLinkResponse
object
6 properties 4 required
ValidationError
object
3 properties 3 required
ValidationStatus
string
ValidationType
string
AccountReferenceBase
object
Identifies the account's role in the transaction. If used as the sourceAccount, this is the account being debited. For push transfers (withdrawals), use the So…
1 property 1 required
AccountReferenceResponseBase
object
1 property 1 required
AccountDetailsBaseRequest
object
Card or bank details for the external account.
1 property 1 required
AccountDetailsBaseResponse
object
Card or bank details for the linked external account.
1 property 1 required
AccountOwnerBase
object
Owner information for the external account.
3 properties 1 required
ValidationResponseBase
object
Validation details for the linked external account.
3 properties 2 required
AccountOwnerResponseBase
object
Owner information for the linked external account.
3 properties 2 required
RailInformationBase
object
Contains payment rail specific information
1 property 1 required
FailureDetailsBase
object
Contains failure details with different rejection sources
1 property 1 required
IdentificationBase
object
Identity information for the first or third party entity
2 properties 1 required
ModifiableAccountDetailsBase
object
Base class for modifiable account details
1 property 1 required
AccountType
string
AccountDetailsType
string
Type of external account being linked.
OwnerEntityType
string
RejectSource
string
IdentificationType
string
Discriminator for entity identification type

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sofi-technologies-payment-hub-api-openapi.json Raw ↑

Other APIs SoFi Technologies publishes across the network.

SoFi Tech Solutions Program API
SoFi Tech Solutions Dispute API 3.0
SoFi Tech Solutions Dispute API 2.0
SoFi Tech Solutions Loan API
SoFi Tech Solutions Risk API 2.0
SoFi Tech Solutions Risk API 1.0
SoFi Tech Solutions Public Config API
SoFi Tech Solutions Events API
SoFi Tech Solutions Auth API
SoFi Tech Solutions External Trans API
Where this information came from

This is an independent, third-party profile of SoFi Tech Solutions Payment Hub API 2.0, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.