Operations 4
Documentation
Documentation
https://docs.hifi.com/guides/quickstart
APIReference
https://docs.hifi.com/api-reference
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hifi-account-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Hifi Account API
version: 2.0.0
description: API documentation for Hifi
servers:
- url: https://production.hifibridge.com
description: Production server
- url: https://sandbox.hifibridge.com
description: Sandbox server
security:
- bearerAuth: []
tags:
- name: Account
description: Account endpoints
paths:
/v2/users/{userId}/accounts:
post:
summary: Create an account
description: 'Create an onramp or offramp account for different account types by providing your bank account information.
'
tags:
- Account
parameters:
- $ref: '#/components/parameters/UserIdPathParameter'
requestBody:
$ref: '#/components/requestBodies/CreateAccountBody'
responses:
'200':
$ref: '#/components/responses/CreateAccountResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
get:
summary: List all accounts
description: List all accounts associated with a user under your organization.
tags:
- Account
parameters:
- $ref: '#/components/parameters/UserIdPathParameter'
- $ref: '#/components/parameters/AccountRailOptionalParameter'
- $ref: '#/components/parameters/AccountTypeOptionalParameter'
- $ref: '#/components/parameters/CurrencyAnyOptionalParameter'
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/CreatedBeforeParameter'
- $ref: '#/components/parameters/CreatedAfterParameter'
responses:
'200':
$ref: '#/components/responses/GetAllAccountsResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
/v2/users/{userId}/accounts/{accountId}:
get:
summary: Retrieve an account
description: Get an existing onramp or offramp account detail.
tags:
- Account
parameters:
- $ref: '#/components/parameters/UserIdPathParameter'
- $ref: '#/components/parameters/AccountIdPathParameter'
responses:
'200':
$ref: '#/components/responses/GetAccountResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
delete:
summary: Delete an account
description: Delete an existing onramp or offramp account.
tags:
- Account
parameters:
- $ref: '#/components/parameters/UserIdPathParameter'
- $ref: '#/components/parameters/AccountIdPathParameter'
responses:
'200':
$ref: '#/components/responses/DeleteAccountResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'404':
$ref: '#/components/responses/NotFoundResponse'
'500':
$ref: '#/components/responses/InternalServerErrorResponse'
components:
schemas:
CreateNigeriaGlobalNetworkAccountBusiness:
type: object
title: Nigeria Global Network Business Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- nigeriaGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkBusinessAccountHolder'
nigeriaGlobalNetwork:
type: object
description: Nigeria Global Network account.
$ref: '#/components/schemas/NigeriaGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- nigeriaGlobalNetwork
CreateAccount:
type: object
title: Account
properties:
rail:
type: string
enum:
- onramp
- offramp
type:
$ref: '#/components/schemas/AccountTypeEnum'
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/AccountHolder'
us:
type: object
description: US account.
$ref: '#/components/schemas/UsAccount'
brazil:
type: object
description: Brazil account.
$ref: '#/components/schemas/BrazilAccount'
colombia:
type: object
description: Colombia account.
$ref: '#/components/schemas/ColombiaAccount'
argentina:
type: object
description: Argentina account.
$ref: '#/components/schemas/ArgentinaAccount'
mexico:
type: object
description: Mexico account.
$ref: '#/components/schemas/MexicoAccount'
africa:
type: object
description: Africa account.
$ref: '#/components/schemas/AfricaAccount'
brazilGlobalNetwork:
type: object
description: Brazil Global Network account.
$ref: '#/components/schemas/BrazilGlobalNetworkAccount'
nigeriaGlobalNetwork:
type: object
description: Nigeria Global Network account.
$ref: '#/components/schemas/NigeriaGlobalNetworkAccount'
mexicoGlobalNetwork:
type: object
description: Mexico Global Network account.
$ref: '#/components/schemas/MexicoGlobalNetworkAccount'
hongKongGlobalNetwork:
type: object
description: Hong Kong Global Network account.
$ref: '#/components/schemas/HongKongGlobalNetworkAccount'
singaporeGlobalNetwork:
type: object
description: Singapore Global Network account.
$ref: '#/components/schemas/SingaporeGlobalNetworkAccount'
required:
- rail
- type
CreateSingaporeGlobalNetworkAccountIndividual:
type: object
title: Singapore Global Network Individual Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- singaporeGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkIndividualAccountHolder'
singaporeGlobalNetwork:
type: object
description: Singapore Global Network account.
$ref: '#/components/schemas/SingaporeGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- singaporeGlobalNetwork
DeleteAccountObject:
type: object
properties:
status:
type: string
message:
type: string
GlobalNetworkIndividualAccountHolder:
type: object
description: account holder information.
properties:
name:
type: string
description: Full name of the account holder
type:
type: string
enum:
- individual
description: Type of account holder
address:
type: object
properties:
city:
type: string
country:
type: string
postalCode:
type: string
addressLine1:
type: string
addressLine2:
type: string
stateProvinceRegion:
type: string
required:
- city
- country
- postalCode
- addressLine1
- stateProvinceRegion
dateOfBirth:
type: string
format: date
description: Date of birth in YYYY-MM-DD format
idNumber:
type: string
description: Government issued ID number
nationality:
type: string
description: Three-letter country code (ISO 3166-1 alpha-3)
required:
- name
- type
- address
- dateOfBirth
- idNumber
- nationality
ColombiaAccount:
type: object
title: Account Info
properties:
bankName:
type: string
description: 'The name of the bank where the account is held. Required if `bankCode` is not provided.
'
enum:
- MOVII
- Banco de Bogotá
- Banco Popular
- Banco Corpbanca ITAU
- Bancolombia
- Citibank
- Banco GNB Sudameris
- BBVA
- ITAU
- Scotiabank Colpatria
- Banco de Occidente
- Bancoldex
- Banco Caja Social
- Banco Agrario
- Jpmorgan Corporacion Financier
- BNP PARIBAS
- Davivienda
- Banco AVVillas
- Banco W
- Banco Procredit Colombia
- Bancamia
- Inversora Pichincha S.A.
- Bancoomeva
- Banco Falabella S.A.
- Banco Finandina S.A.
- Banco Santander Negocios
- Banco Cooperativo Coopcentral
- Serfinanza S.A
- LULO BANK SA
- Banco JP Morgan
- Compensar
- Gestion y Contacto S.A.
- Fedecajas
- Simple S.A.
- Enlace Operativo
- Corp. Financiera Colombiana
- Financiera Juriscoop
- Rappi
- Coop. Financiera de Antioquia
- Cotrafa Cooperativa Financiera
- Confiar Cooperativa Financiera
- Giros y Finanzas
- COLTEFINANCIERA
- Banco OLD Mutual
- NEQUI
- DECEVAL
- Daviplata
- Banco Credifinanciera
- Financiera Dann (IRIS)
- DGCPTN
bankCode:
type: string
description: 'The bank code of the bank where the account is held. Required if `bankName` is not provided. If provided, this will take precedence over `bankName`.
'
accountNumber:
type: string
description: 'The account number of the account.
'
accountType:
type: string
enum:
- checking
- savings
description: 'The type of account.
'
currency:
type: string
enum:
- cop
description: 'The currency of the account.
'
required:
- accountNumber
- accountType
- currency
AccountObject:
type: object
properties:
accountId:
type: string
userId:
type: string
createdAt:
type: string
format: date-time
accountType:
type: string
accountNumber:
type: string
routingNumber:
type: string
bankName:
type: string
isValid:
type: boolean
reason:
type: string
rail:
type: object
properties:
currency:
type: string
railType:
type: string
paymentRail:
type: string
AccountTypeEnum:
type: string
description: The type of account.
enum:
- us
- brazil
- colombia
- argentina
- mexico
- africa
- brazilGlobalNetwork
- nigeriaGlobalNetwork
- mexicoGlobalNetwork
- hongKongGlobalNetwork
- chinaGlobalNetwork
- singaporeGlobalNetwork
BrazilAccount:
type: object
title: Account Info
properties:
pixKey:
type: string
description: 'The PIX key of the account.
'
currency:
type: string
enum:
- brl
description: 'The currency of the account.
'
required:
- pixKey
- currency
UsAccount:
type: object
title: Account Info
properties:
transferType:
type: string
enum:
- ach
- wire
- swift
description: 'The type of transfer this account facilitates. `rtp` will come shortly.
'
accountType:
type: string
enum:
- Checking
- Savings
description: 'The type of account.
'
accountNumber:
type: string
description: 'The account number of the account.
'
routingNumber:
type: string
description: 'The routing number of the account.
'
iban:
type: string
description: 'Only one of `accountNumber` or `iban` can be provided.
'
swiftCode:
type: string
description: 'The SWIFT code of the bank where the account is held. Required if `transferType` is `swift`.
'
bankName:
type: string
description: 'The name of the bank where the account is held.
'
bankAddress:
type: object
description: Address of the bank.
$ref: '#/components/schemas/Address'
currency:
type: string
enum:
- usd
description: 'The currency of the account.
'
required:
- transferType
- accountType
- bankName
- currency
CreateMexicoAccount:
type: object
title: Mexico Offramp Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- mexico
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/AccountHolder'
mexico:
type: object
description: Mexico account.
$ref: '#/components/schemas/MexicoAccount'
required:
- rail
- type
- accountHolder
- mexico
NigeriaGlobalNetworkAccount:
type: object
title: Nigeria Global Network Account
properties:
bankName:
type: string
description: Bank name for the account
accountNumber:
type: string
description: Bank account number
currency:
type: string
enum:
- ngn
description: The currency for the account
required:
- currency
UsAccountHolder:
type: object
title: Account Holder
properties:
type:
type: string
enum:
- individual
- business
name:
type: string
description: 'The name of the account holder.
`individual`: first name and last name seperated by space.
`business`: legal name of the business.
'
address:
type: object
description: Address of the accountHolder.
$ref: '#/components/schemas/Address'
required:
- type
- name
- address
MexicoGlobalNetworkAccount:
type: object
title: Mexico Global Network Account
properties:
speiClabe:
type: string
description: SPEI CLABE number for the account
currency:
type: string
enum:
- mxn
description: The currency for the account
required:
- currency
SingaporeGlobalNetworkAccount:
type: object
title: Singapore Global Network Account
properties:
bankName:
type: string
description: Bank name for the account
accountNumber:
type: string
description: Bank account number
swiftCode:
type: string
description: Bank code
currency:
type: string
enum:
- usd
- sgd
description: The currency for the account
required:
- currency
ColombiaAccountHolder:
type: object
title: Account Holder
properties:
type:
type: string
enum:
- individual
- business
name:
type: string
description: 'The name of the account holder.
`individual`: first name and last name seperated by space.
`business`: legal name of the business.
'
email:
type: string
format: email
phone:
type: string
address:
type: object
description: Address of the accountHolder.
$ref: '#/components/schemas/Address'
idType:
type: string
enum:
- CC
- CE
- NIT
- PASS
- PEP
description: 'The type of ID document provided by the account holder.
`CC`: Citizenship ID
`CE`: Foreign ID
`NIT`: National ID
`PASS`: Passport
`PEP`: Special Stay Permit
'
idNumber:
type: string
description: 'The ID number of the account holder.
'
required:
- type
- name
- email
- idType
- idNumber
CreateMexicoGlobalNetworkAccountBusiness:
type: object
title: Mexico Global Network Business Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- mexicoGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkBusinessAccountHolder'
mexicoGlobalNetwork:
type: object
description: Mexico Global Network account.
$ref: '#/components/schemas/MexicoGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- mexicoGlobalNetwork
CreateAfricaOnrampAccount:
type: object
title: Africa Onramp Account
properties:
rail:
type: string
enum:
- onramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- africa
africa:
type: object
description: Africa account.
$ref: '#/components/schemas/AfricaAccount'
required:
- rail
- type
- africa
CreateChinaGlobalNetworkAccountBusiness:
type: object
title: China Global Network Business Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- chinaGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkBusinessAccountHolder'
chinaGlobalNetwork:
type: object
description: China Global Network account.
$ref: '#/components/schemas/ChinaGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- chinaGlobalNetwork
UsAccountObject:
type: object
title: Account Object (US)
properties:
id:
type: string
description: Account ID
userId:
type: string
description: User ID
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
accountHolder:
$ref: '#/components/schemas/UsAccountHolder'
isValid:
type: boolean
description: Indicates if the account is valid
reason:
type: string
description: Reason for invalidity, if applicable
us:
type: object
properties:
accountType:
type: string
enum:
- Checking
- Savings
description: 'The type of account.
'
accountNumber:
type: string
description: 'The account number of the account.
'
routingNumber:
type: string
description: 'The routing number of the account.
'
iban:
type: string
description: 'Only one of `accountNumber` or `iban` can be provided.
'
swiftCode:
type: string
description: 'The SWIFT code of the bank where the account is held. Required if `transferType` is `swift`.
'
bankName:
type: string
description: 'The name of the bank where the account is held.
'
bankAddress:
type: object
description: Address of the bank. Required if `transferType` is `swift`.
$ref: '#/components/schemas/Address'
currency:
type: string
enum:
- usd
description: 'The currency of the account.
'
rail:
type: object
properties:
currency:
type: string
enum:
- usd
description: 'The currency of the account.
'
railType:
type: string
enum:
- offramp
paymentRail:
type: string
InternalServerError:
type: object
properties:
error:
type: string
example: Unexpected error happened
CreateArgentinaAccount:
type: object
title: Argentina Offramp Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- argentina
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/AccountHolder'
argentina:
type: object
description: Argentina account.
$ref: '#/components/schemas/ArgentinaAccount'
required:
- rail
- type
- accountHolder
- argentina
CreateUsAccount:
type: object
title: US Offramp Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- us
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/UsAccountHolder'
us:
type: object
description: US account.
$ref: '#/components/schemas/UsAccount'
required:
- rail
- type
- accountHolder
- us
AccountHolder:
type: object
title: Account Holder
properties:
type:
type: string
enum:
- individual
- business
name:
type: string
description: 'The name of the account holder.
`individual`: first name and last name seperated by space.
`business`: legal name of the business.
'
email:
type: string
format: email
phone:
type: string
address:
type: object
description: Address of the accountHolder.
$ref: '#/components/schemas/Address'
idType:
type: string
enum:
- CC
- CE
- NIT
- PASS
- PEP
description: 'The type of ID document provided by the account holder.
`CC`: Citizenship ID
`CE`: Foreign ID
`NIT`: National ID
`PASS`: Passport
`PEP`: Special Stay Permit
'
idNumber:
type: string
description: 'The ID number of the account holder.
'
required:
- type
- name
CreateMexicoGlobalNetworkAccountIndividual:
type: object
title: Mexico Global Network Individual Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- mexicoGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkIndividualAccountHolder'
mexicoGlobalNetwork:
type: object
description: Mexico Global Network account.
$ref: '#/components/schemas/MexicoGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- mexicoGlobalNetwork
Address:
type: object
properties:
addressLine1:
type: string
addressLine2:
type: string
city:
type: string
stateProvinceRegion:
type: string
description: "The second part of the [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2). This must be provided if the country has subdivisions.\n\nAn ISO 3166-2 code consists of two parts, separated by a hyphen (`-`):\n 1. The first part is the ISO 3166-1 alpha-2 code of the country (e.g., `US`, `CA`, `BR`);\n 2. The second part is a string of up to three alphanumeric characters representing a specific subdivision (e.g., state, province). This is typically based on national standards or developed by ISO.\n\n Only provide the second part of the code (e.g., `CA` for California in `US-CA`, or `SP` for São Paulo in `BR-SP`).\n"
postalCode:
type: string
description: Must be supplied for countries that use postal codes.
country:
type: string
description: Three-letter alpha-3 country code as defined in the [ISO 3166-1 spec](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3).
required:
- addressLine1
- city
- stateProvinceRegion
- postalCode
- country
AfricaAccountHolder:
type: object
title: Account Holder
properties:
type:
type: string
enum:
- individual
- business
name:
type: string
description: 'The name of the account holder.
`individual`: first name and last name seperated by space.
`business`: legal name of the business.
'
email:
type: string
format: email
phone:
type: string
address:
type: object
description: Address of the accountHolder.
$ref: '#/components/schemas/Address'
idType:
type: string
enum:
- CC
- CE
- NIT
- PASS
- PEP
description: 'The type of ID document provided by the account holder.
`CC`: Citizenship ID
`CE`: Foreign ID
`NIT`: National ID
`PASS`: Passport
`PEP`: Special Stay Permit
'
idNumber:
type: string
description: 'The ID number of the account holder.
'
required:
- type
- name
- phone
ChinaGlobalNetworkAccount:
type: object
title: China Global Network Account
properties:
bankName:
type: string
description: Bank name for the account
accountNumber:
type: string
description: Bank account number
swiftCode:
type: string
description: Bank code
currency:
type: string
enum:
- usd
- cny
description: The currency for the account
required:
- currency
CreateHongKongGlobalNetworkAccountIndividual:
type: object
title: Hong Kong Global Network Individual Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- hongKongGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkIndividualAccountHolder'
hongKongGlobalNetwork:
type: object
description: Hong Kong Global Network account.
$ref: '#/components/schemas/HongKongGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- hongKongGlobalNetwork
CreateChinaGlobalNetworkAccountIndividual:
type: object
title: China Global Network Individual Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- chinaGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkIndividualAccountHolder'
chinaGlobalNetwork:
type: object
description: China Global Network account.
$ref: '#/components/schemas/ChinaGlobalNetworkAccount'
required:
- rail
- type
- accountHolder
- chinaGlobalNetwork
CreateBrazilGlobalNetworkAccountIndividual:
type: object
title: Brazil Global Network Individual Account
properties:
rail:
type: string
enum:
- offramp
type:
type: string
description: 'The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.
'
enum:
- brazilGlobalNetwork
accountHolder:
type: object
description: account holder information.
$ref: '#/components/schemas/GlobalNetworkIndividualAccountHolder'
brazilGlobalNetwork:
type: object
descriptio
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hifi/refs/heads/main/openapi/hifi-account-api-openapi.yml