Services

The service layer provides typed methods for every Alviere Hive API operation the SDK supports. Each service is created via a factory method on AlviereCore. Underlying request/response schemas are documented at apidocs.alviere.com.

const core = new AlviereCore({ jwt });

const accounts = core.createAccountsService();
const payments = core.createPaymentsService();
const instruments = core.createPaymentInstrumentsService();
const wallets = core.createWalletsService();
const bankInfo = core.createBankInfoService();
const legalTexts = core.createLegalTextsService();
const auth = core.createAuthGateway();

AccountsApiService

core.createAccountsService() → AccountsApiService

Account operations

Method Parameters Returns
createAccount(data) AccountRequest Promise<AccountResponse>
getAccount(accountUuid) string Promise<AccountResponse>
updateAccount(accountUuid, data) string, AccountUpdateRequest Promise<AccountResponse>
deleteAccount(accountUuid) string Promise<void>
listAccounts(params?) AccountListParams? Promise<AccountListResponse>
activateAccount(accountUuid) string Promise<void>
deactivateAccount(accountUuid) string Promise<void>
manageOnboarding(accountUuid, action) string, OnboardingAction Promise<void>

Address operations

Method Parameters Returns
createAddress(accountUuid, data) string, AddressRequest Promise<AddressResponse>
getAddresses(accountUuid, params?) string, AddressListParams? Promise<AddressListResponse>
updateAddress(accountUuid, addressUuid, data) string, string, AddressUpdateRequest Promise<AddressResponse>
deleteAddress(accountUuid, addressUuid) string, string Promise<void>

Dossier operations

Dossiers are KYC/AML document submissions associated with an account.

Method Parameters Returns HTTP verb
createDossier(accountUuid, data) string, DossierRequest Promise<DossierResponse> POST
getDossiers(accountUuid, params?) string, DossierListParams? Promise<DossierListResponse> GET
getDossier(accountUuid, dossierUuid) string, string Promise<DossierResponse> GET
updateDossier(accountUuid, dossierUuid, data) string, string, DossierUpdateRequest Promise<DossierResponse> PUT
replaceDossier(accountUuid, dossierUuid, data) string, string, DossierReplaceRequest Promise<DossierResponse> PATCH
deleteDossier(accountUuid, dossierUuid) string, string Promise<void> DELETE

Dossier verb semantics: updateDossier sends a PUT (full replacement of dossier documents). replaceDossier sends a PATCH (partial update). The names are counterintuitive relative to REST conventions — use replaceDossier when you only need to update a subset of documents.


PaymentProcessor

core.createPaymentsService() → PaymentProcessor

Handles card and bank account linking. Methods with WithValidation run client-side field validation (via Validator) before the API call; without it, validation is skipped and errors surface as API responses.

Card

Method Parameters Returns
processAddCard(accountUuid, request) string, AddCardRequest Promise<AddCardResponse>
validateRequest(request) AddCardRequest void (throws on invalid)
processAddCardWithValidation(accountUuid, request) string, AddCardRequest Promise<AddCardResponse>

Bank account

Method Parameters Returns
processAddBankAccount(accountUuid, request) string, AddBankAccountRequest Promise<AddBankAccountResponse>
validateBankAccountRequest(request) AddBankAccountRequest void (throws on invalid)
processAddBankAccountWithValidation(accountUuid, request) string, AddBankAccountRequest Promise<AddBankAccountResponse>
processGetBankAccounts(accountUuid) string Promise<GetBankAccountsResponse>
processDeleteBankAccount(accountUuid, uuid) string, string Promise<void>
processUpdateBankAccount(accountUuid, uuid, request) string, string, UpdateBankAccountRequest Promise<GetBankAccountsResponse>

The validate* methods on PaymentProcessor throw on invalid input. This differs from the Validator utility, whose methods return an error string. See Utilities — Validator for the distinction.

Card payloads that include sensitive fields (PAN, CVV) are encrypted automatically when publicCertificate and publicCertificateId are configured.


PaymentInstrumentsApiService

core.createPaymentInstrumentsService() → PaymentInstrumentsApiService

Method Parameters Returns
createPaymentInstrument(data) PaymentInstrumentRequest Promise<PaymentInstrumentResponse>
getPaymentInstrument(paymentInstrumentUuid) string Promise<PaymentInstrumentResponse>
deletePaymentInstrument(paymentInstrumentUuid) string Promise<void>
debitFunds(data) DebitFundsRequest Promise<DebitFundsResponse>
listCards(accountUuid, params?) string, CardListParams? Promise<CardListResponse>

WalletsApiService

core.createWalletsService() → WalletsApiService

Method Parameters Returns
listWallets(accountUuid, params?) string, WalletListParams? Promise<WalletListResponse>
loadFunds(walletUuid, params) string, LoadFundsRequest Promise<WalletTransactionResponse>

Only listWallets and loadFunds are implemented in this version. Additional wallet operations (get, withdraw, send, transfer, credit) are in active development and will be documented when they land.


BankInfoApiService

core.createBankInfoService() → BankInfoApiService

Method Parameters Returns
getBankInfo(routingNumber) string Promise<BankInfoResponse>

Resolves ACH routing number metadata (bank name, address) before initiating a bank account link.


LegalTextsApiService

core.createLegalTextsService() → LegalTextsApiService

Method Parameters Returns
getLegalTexts(type, version?) string, string? Promise<LegalTextsResponse>

Retrieves compliance and legal disclosures. version selects a specific revision; omit to get the latest.


AuthGateway

core.createAuthGateway() → AuthGateway

Method Parameters Returns
generateScopedToken(data) GenerateScopedTokenRequest Promise<ScopedTokenResponse>

The lower-level gateway behind AlviereCore.generateScopedToken(). Use core.generateScopedToken(accountUuid) in most cases — it handles updating the internal JWT automatically.