Variable internalEventsConst
internalEvents: {
"account.depositMemo.hidden": {
data: TObject<{ name: TUnion<[TString, TNull]> }>;
description: "Deposit memo hidden";
subject: "deposit-bank-memo";
};
"account.depositMemo.unhidden": {
data: TObject<{ name: TUnion<[TString, TNull]> }>;
description: "Deposit memo unhidden";
subject: "deposit-bank-memo";
};
"account.victorAccount.created": {
data: TObject<{ name: TString }>;
description: "Victor account registered";
subject: "victor-account";
};
"account.victorAccount.deleted": {
data: TObject<{ name: TString }>;
description: "Victor account deleted";
subject: "victor-account";
};
"account.victorAccount.updated": {
data: TObject<{ name: TString }>;
description: "Victor account updated";
subject: "victor-account";
};
"account.virtualAccount.hidden": {
data: TObject<{ id: TString }>;
description: "Virtual account hidden";
subject: "virtual-account";
};
"account.virtualAccount.unhidden": {
data: TObject<{ id: TString }>;
description: "Virtual account unhidden";
subject: "virtual-account";
};
"account.virtualAccountProvider.renamed": {
data: TObject<{ name: TString; previousName: TString }>;
description: "Virtual account provider renamed";
subject: "virtual-account-provider";
};
"auth.adminRole.created": {
data: TObject<{ name: TString }>;
description: "Admin role created";
subject: "admin-role";
};
"auth.adminRole.deleted": {
data: TObject<{ name: TString }>;
description: "Admin role deleted";
subject: "admin-role";
};
"auth.adminRole.permissionsChanged": {
data: TObject<{ name: TString }>;
description: "Admin role permissions changed";
subject: "admin-role";
};
"auth.adminRole.renamed": {
data: TObject<{ name: TString; previousName: TString }>;
description: "Admin role renamed";
subject: "admin-role";
};
"auth.adminRole.updated": {
data: TObject<{ name: TString }>;
description: "Admin role description updated";
subject: "admin-role";
};
"auth.adminUser.loggedOut": {
data: TObject<{ name: TString }>;
description: "Signed out";
subject: "admin-user";
};
"auth.adminUser.passkeyAdded": {
data: TObject<{ name: TString }>;
description: "Passkey added";
subject: "admin-user";
};
"auth.adminUser.roleChanged": {
data: TObject<
{
name: TString;
previousRoleId: TUnion<[TString, TNull]>;
roleId: TUnion<[TString, TNull]>;
},
>;
description: "Admin user role changed";
subject: "admin-user";
};
"auth.adminUser.statusChanged": {
data: TObject<
{
name: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
},
>;
description: "Admin user status changed";
subject: "admin-user";
};
"auth.dashboardInvite.created": {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team member invited";
subject: "dashboard-invite";
};
"auth.dashboardInvite.revoked": {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team invite revoked";
subject: "dashboard-invite";
};
"auth.dashboardMember.added": {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team member added";
subject: "dashboard-user";
};
"auth.dashboardMember.removed": {
data: TObject<{ name: TString }>;
description: "Team member removed";
subject: "dashboard-user";
};
"auth.dashboardMember.roleChanged": {
data: TObject<
{
name: TString;
previousRoleId: TUnion<[TString, TNull]>;
roleId: TUnion<[TString, TNull]>;
},
>;
description: "Team member role changed";
subject: "dashboard-user";
};
"auth.dashboardMember.statusChanged": {
data: TObject<
{
name: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
},
>;
description: "Team member status changed";
subject: "dashboard-user";
};
"auth.dashboardRole.created": {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role created";
subject: "dashboard-role";
};
"auth.dashboardRole.deleted": {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role deleted";
subject: "dashboard-role";
};
"auth.dashboardRole.permissionsChanged": {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role permissions changed";
subject: "dashboard-role";
};
"auth.dashboardRole.renamed": {
data: TObject<
{ name: TString; previousName: TString; roleSetId: TString },
>;
description: "Dashboard role renamed";
subject: "dashboard-role";
};
"auth.dashboardRole.updated": {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role updated";
subject: "dashboard-role";
};
"auth.dashboardRoleSet.assigned": {
data: TObject<
{
name: TString;
previousRoleSetId: TUnion<[TString, TNull]>;
roleSetId: TString;
},
>;
description: "Dashboard role set assigned";
subject: "dashboard-role-set";
};
"auth.dashboardRoleSet.created": {
data: TObject<{ name: TString }>;
description: "Dashboard role set created";
subject: "dashboard-role-set";
};
"auth.dashboardRoleSet.deleted": {
data: TObject<{ name: TString }>;
description: "Dashboard role set deleted";
subject: "dashboard-role-set";
};
"auth.dashboardRoleSet.renamed": {
data: TObject<{ name: TString; previousName: TString }>;
description: "Dashboard role set renamed";
subject: "dashboard-role-set";
};
"auth.dashboardRoleSet.updated": {
data: TObject<{ name: TString }>;
description: "Dashboard role set updated";
subject: "dashboard-role-set";
};
"auth.dashboardSsoConnection.created": {
data: TObject<{ name: TString }>;
description: "SSO connection created";
subject: "dashboard-sso-connection";
};
"auth.dashboardSsoConnection.deleted": {
data: TObject<{ name: TString }>;
description: "SSO connection deleted";
subject: "dashboard-sso-connection";
};
"auth.dashboardSsoConnection.updated": {
data: TObject<{ name: TString }>;
description: "SSO connection updated";
subject: "dashboard-sso-connection";
};
"auth.dashboardSsoConnection.verified": {
data: TObject<{ name: TString }>;
description: "SSO connection verified";
subject: "dashboard-sso-connection";
};
"auth.dashboardUser.emailPreferencesUpdated": {
data: TObject<{ name: TString }>;
description: "Email preferences updated";
subject: "dashboard-user";
};
"auth.dashboardUser.mfaReplaced": {
data: TObject<{ name: TString }>;
description: "Authenticator app replaced";
subject: "dashboard-user";
};
"auth.dashboardUser.passkeyAdded": {
data: TObject<{ name: TString }>;
description: "Passkey added";
subject: "dashboard-user";
};
"auth.dashboardUser.passkeyRemoved": {
data: TObject<{ name: TString }>;
description: "Passkey removed";
subject: "dashboard-user";
};
"auth.dashboardUser.passwordChanged": {
data: TObject<{ name: TString }>;
description: "Password changed";
subject: "dashboard-user";
};
"auth.dashboardUser.passwordSignInRestored": {
data: TObject<{ name: TString; unlinked: TArray<TString> }>;
description: "Password sign-in restored";
subject: "dashboard-user";
};
"auth.dashboardUser.renamed": {
data: TObject<{ name: TString }>;
description: "Team member renamed";
subject: "dashboard-user";
};
"auth.dashboardUser.signedOutEverywhere": {
data: TObject<{ name: TString }>;
description: "Signed out everywhere";
subject: "dashboard-user";
};
"auth.email.sent": {
data: TObject<
{
audience: TString;
inviteId: TString;
kind: TLiteral<"DASHBOARD_INVITE">;
recipient: TString;
source: TLiteral<"DASHBOARD_INVITE">;
subject: TString;
workspaceName: TString;
},
>;
description: "Dashboard invite emailed";
subject: "dashboard-invite";
};
"backoffice.achBatch.created": {
data: TObject<{ id: TString }>;
description: "ACH batch created";
subject: "ach-batch";
};
"backoffice.achBatch.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"PROCESSED">,
TLiteral<"DELETED">,
],
>;
},
>;
description: "ACH batch status changed";
subject: "ach-batch";
};
"backoffice.achFile.created": {
data: TObject<{ id: TString }>;
description: "ACH file created";
subject: "ach-file";
};
"backoffice.achFile.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
description: "ACH file status changed";
subject: "ach-file";
};
"backoffice.aiPriseProfile.updated": {
data: TObject<
{
aipriseProfileId: TString;
clientReferenceId: TOptional<TString>;
countryCode: TOptional<TString>;
eventType: TString;
name: TOptional<TString>;
previousResult: TOptional<
TUnion<
[
TLiteral<"APPROVED">,
TLiteral<"DECLINED">,
TLiteral<"REVIEW">,
TLiteral<"UNKNOWN">,
TLiteral<"DEACTIVATED">,
],
>,
>;
profileKind: TUnion<[TLiteral<"BUSINESS">, TLiteral<"USER">]>;
reason: TOptional<TString>;
reasonCode: TOptional<TString>;
result: TOptional<
TUnion<
[
TLiteral<"APPROVED">,
TLiteral<"DECLINED">,
TLiteral<"REVIEW">,
TLiteral<"UNKNOWN">,
TLiteral<"DEACTIVATED">,
],
>,
>;
runStatus: TOptional<
TUnion<
[
TLiteral<"NOT_STARTED">,
TLiteral<"RUNNING">,
TLiteral<"PENDING">,
TLiteral<"FAILED">,
TLiteral<"COMPLETED">,
],
>,
>;
},
>;
description: "AiPrise profile updated";
subject: "aiprise-profile";
};
"backoffice.backfill.started": {
data: TObject<
{
backfill: TUnion<
[
TLiteral<"solanaAccountTransactionSync">,
TLiteral<"solanaParsedEvents">,
TLiteral<"victorTransactions">,
TLiteral<"wireEmailInbox">,
],
>;
},
>;
description: "Backfill started";
subject: "backfill-run";
};
"backoffice.bankInternalTransfer.created": {
data: TObject<{ id: TString }>;
description: "Bank internal transfer created";
subject: "bank-internal-transfer";
};
"backoffice.bankInternalTransfer.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"COMPLETED">, TLiteral<"FAILED">],
>;
},
>;
description: "Bank internal transfer status changed";
subject: "bank-internal-transfer";
};
"backoffice.bankTransaction.created": {
data: TObject<
{
amount: TString;
bankId: TString;
description: TString;
id: TString;
type: TUnion<[TLiteral<"CREDIT">, TLiteral<"DEBIT">]>;
},
>;
description: "Bank transaction recorded";
subject: "bank-transaction";
};
"backoffice.bankTransaction.reconciled": {
data: TObject<
{
keys: TArray<
TUnion<
[
TLiteral<"ACH_BATCH">,
TLiteral<"BANK_INTERNAL_TRANSFER">,
TLiteral<"DEPOSIT">,
TLiteral<"DEPOSIT_IDS">,
TLiteral<"DEPOSIT_RETURN">,
TLiteral<"GREENDOT_BATCH">,
TLiteral<"MANUAL_MINT">,
],
>,
>;
},
>;
description: "Bank transaction reconciled";
subject: "bank-transaction";
};
"backoffice.globalMaintenance.disabled": {
data: TObject<{}>;
description: "Global maintenance turned off";
subject: "maintenance-flag";
};
"backoffice.globalMaintenance.enabled": {
data: TObject<{}>;
description: "Global maintenance turned on";
subject: "maintenance-flag";
};
"backoffice.greendotSettlementFile.created": {
data: TObject<
{
key: TString;
kind: TUnion<
[TLiteral<"ADVICE_OF_CREDIT">, TLiteral<"TRANSMISSION_DETAIL">],
>;
size: TNumber;
versionId: TString;
},
>;
description: "Green Dot settlement file received";
subject: "greendot-settlement-file";
};
"backoffice.maintenance.disabled": {
data: TObject<{ name: TString }>;
description: "Service maintenance turned off";
subject: "maintenance-flag";
};
"backoffice.maintenance.enabled": {
data: TObject<{ name: TString }>;
description: "Service maintenance turned on";
subject: "maintenance-flag";
};
"backoffice.manualMint.created": {
data: TObject<{ id: TString }>;
description: "Manual mint created";
subject: "manual-mint";
};
"backoffice.manualMint.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
],
>;
},
>;
description: "Manual mint status changed";
subject: "manual-mint";
};
"backoffice.recurringFee.escalated": {
data: TObject<
{
amount: TString;
currency: TString;
customerId: TString;
customerName: TString;
failedAttempts: TArray<
TObject<
{
failedAt: TString;
feeTransferId: TString;
signature: TUnion<[TString, TNull]>;
},
>,
>;
invoiceId: TString;
invoiceNumber: TString;
periodKey: TString;
sourceAccountId: TString;
sourceAccountName: TUnion<[TString, TNull]>;
},
>;
description: "Recurring fee charge escalated";
subject: "recurring-fee-invoice";
};
"backoffice.recurringFee.unbilled": {
data: TObject<
{
failed: TArray<
TObject<
{
customerId: TString;
periodKey: TString;
reason: TOptional<TString>;
},
>,
>;
pastDue: TArray<
TObject<
{
customerId: TString;
periodKey: TString;
reason: TOptional<TString>;
},
>,
>;
periodKey: TString;
},
>;
description: "Recurring fee months left unbilled";
subject: "recurring-fee-period";
};
"backoffice.report.runRequested": {
data: TObject<{ name: TString; reportId: TString }>;
description: "Report run requested";
subject: "report-run";
};
"backoffice.temporalSchedule.created": {
data: TObject<{ name: TString }>;
description: "Schedule created";
subject: "temporal-schedule";
};
"backoffice.temporalSchedule.paused": {
data: TObject<{ name: TString }>;
description: "Schedule paused";
subject: "temporal-schedule";
};
"backoffice.temporalSchedule.resumed": {
data: TObject<{ name: TString }>;
description: "Schedule resumed";
subject: "temporal-schedule";
};
"backoffice.temporalSchedule.triggered": {
data: TObject<{ name: TString }>;
description: "Schedule run started";
subject: "temporal-schedule";
};
"backoffice.temporalSchedule.updated": {
data: TObject<{ name: TString }>;
description: "Schedule updated";
subject: "temporal-schedule";
};
"backoffice.wireBatch.created": {
data: TObject<{ id: TString }>;
description: "Wire batch created";
subject: "wire-batch";
};
"backoffice.wireBatch.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"SUBMITTED">,
TLiteral<"DELETED">,
],
>;
},
>;
description: "Wire batch status changed";
subject: "wire-batch";
};
"backoffice.wireEmail.reconciled": {
data: TObject<
{
bankTransactionId: TString;
ffcMemo: TOptional<TString>;
wireEmailId: TString;
},
>;
description: "Wire email reconciled";
subject: "wire-email";
};
"backoffice.wireFile.created": {
data: TObject<{ id: TString }>;
description: "Wire file created";
subject: "wire-file";
};
"backoffice.wireFile.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
description: "Wire file status changed";
subject: "wire-file";
};
"bank.bank.instructionsUpdated": {
data: TObject<{ name: TString }>;
description: "Bank deposit instructions updated";
subject: "bank";
};
"bank.bank.logoUpdated": {
data: TObject<
{
name: TString;
variant: TUnion<[TLiteral<"light">, TLiteral<"dark">]>;
},
>;
description: "Bank logo updated";
subject: "bank";
};
"bank.bank.updated": {
data: TObject<{ name: TString }>;
description: "Bank updated";
subject: "bank";
};
"bank.bankAccount.created": {
data: TObject<{ id: TString }>;
description: "Bank account registered";
subject: "bank-account";
};
"bank.bankAccount.deleted": {
data: TObject<{ id: TString }>;
description: "Bank account retired";
subject: "bank-account";
};
"bank.bankAccount.statusChanged": {
data: TObject<
{
id: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"CLOSED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"CLOSED">]>;
},
>;
description: "Bank account status changed";
subject: "bank-account";
};
"bank.bankAccount.updated": {
data: TObject<{ id: TString }>;
description: "Bank account updated";
subject: "bank-account";
};
"bank.document.created": {
data: TObject<{ bankId: TString; key: TString }>;
description: "Bank document added";
subject: "bank-document";
};
"bank.document.deleted": {
data: TObject<{ bankId: TString; key: TString }>;
description: "Bank document deleted";
subject: "bank-document";
};
"bank.document.folderCreated": {
data: TObject<{ bankId: TString; name: TString }>;
description: "Bank folder created";
subject: "bank-document";
};
"bank.document.folderDeleted": {
data: TObject<{ bankId: TString; name: TString }>;
description: "Bank folder deleted";
subject: "bank-document";
};
"bank.program.created": {
data: TObject<{ name: TString }>;
description: "Program created";
subject: "program";
};
"bank.program.customerGranted": {
data: TObject<{ customerId: TString; name: TString }>;
description: "Program granted to customer";
subject: "program";
};
"bank.program.customerRevoked": {
data: TObject<{ customerId: TString; name: TString }>;
description: "Program revoked from customer";
subject: "program";
};
"bank.program.deleted": {
data: TObject<{ name: TString }>;
description: "Program deleted";
subject: "program";
};
"bank.program.paused": {
data: TObject<{ name: TString }>;
description: "Program paused";
subject: "program";
};
"bank.program.resumed": {
data: TObject<{ name: TString }>;
description: "Program resumed";
subject: "program";
};
"bank.program.updated": {
data: TObject<{ name: TString }>;
description: "Program updated";
subject: "program";
};
"card.card.activated": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card activated";
subject: "girasol-card";
};
"card.card.blocked": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card blocked";
subject: "girasol-card";
};
"card.card.created": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card created";
subject: "girasol-card";
};
"card.card.detailsRevealed": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card details revealed";
subject: "girasol-card";
};
"card.card.frozen": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card frozen";
subject: "girasol-card";
};
"card.card.unfrozen": {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card unfrozen";
subject: "girasol-card";
};
"card.cardAccount.balanceAdjusted": {
data: TObject<
{
adjustmentType: TUnion<[TLiteral<"CASH_IN">, TLiteral<"CASH_OUT">]>;
girasolTransactionId: TString;
name: TString;
},
>;
description: "Card account balance adjusted";
subject: "girasol-card-account";
};
"card.cardAccount.created": {
data: TObject<{ name: TString }>;
description: "Card account created";
subject: "girasol-card-account";
};
"card.cardAccount.frozen": {
data: TObject<{ name: TString }>;
description: "Card account frozen";
subject: "girasol-card-account";
};
"card.cardAccount.unfrozen": {
data: TObject<{ name: TString }>;
description: "Card account unfrozen";
subject: "girasol-card-account";
};
"custody.backofficeWallet.created": {
data: TObject<{ name: TString }>;
description: "Backoffice wallet created";
subject: "backoffice-wallet";
};
"custody.backofficeWallet.deleted": {
data: TObject<{ name: TString }>;
description: "Backoffice wallet deleted";
subject: "backoffice-wallet";
};
"custody.backofficeWallet.updated": {
data: TObject<{ name: TString }>;
description: "Backoffice wallet updated";
subject: "backoffice-wallet";
};
"custody.custodialWallet.created": {
data: TObject<{ name: TString }>;
description: "Customer wallet created";
subject: "utila-custodial-wallet";
};
"custody.custodialWallet.deleted": {
data: TObject<{ name: TString }>;
description: "Customer wallet deleted";
subject: "utila-custodial-wallet";
};
"custody.custodialWallet.restored": {
data: TObject<{ name: TString }>;
description: "Customer wallet restored";
subject: "utila-custodial-wallet";
};
"custody.sweepWallet.addressDeleted": {
data: TObject<{ address: TString; chain: TString; name: TString }>;
description: "Deposit wallet address hidden";
subject: "utila-sweep-wallet";
};
"custody.sweepWallet.addressRestored": {
data: TObject<{ address: TString; chain: TString; name: TString }>;
description: "Deposit wallet address restored";
subject: "utila-sweep-wallet";
};
"custody.sweepWallet.created": {
data: TObject<{ name: TString }>;
description: "Deposit wallet created";
subject: "utila-sweep-wallet";
};
"custody.sweepWallet.deleted": {
data: TObject<{ name: TString }>;
description: "Deposit wallet deleted";
subject: "utila-sweep-wallet";
};
"custody.sweepWallet.linked": {
data: TObject<{ name: TString }>;
description: "Deposit wallet linked";
subject: "utila-sweep-wallet";
};
"custody.sweepWallet.restored": {
data: TObject<{ name: TString }>;
description: "Deposit wallet restored";
subject: "utila-sweep-wallet";
};
"custody.utilaVault.created": {
data: TObject<{ name: TString }>;
description: "Utila vault created";
subject: "utila-vault";
};
"custody.utilaVault.deleted": {
data: TObject<{ name: TString }>;
description: "Utila vault deleted";
subject: "utila-vault";
};
"custody.utilaVault.signingChecked": {
data: TObject<
{
name: TString;
previousSigningStatus: TUnion<
[
TLiteral<"UNCONFIGURED">,
TLiteral<"PROVISIONED">,
TLiteral<"AWAITING_APPROVAL">,
TLiteral<"SIGNING">,
TLiteral<"FAILED">,
],
>;
signingStatus: TUnion<
[
TLiteral<"UNCONFIGURED">,
TLiteral<"PROVISIONED">,
TLiteral<"AWAITING_APPROVAL">,
TLiteral<"SIGNING">,
TLiteral<"FAILED">,
],
>;
},
>;
description: "Utila vault cosigner checked";
subject: "utila-vault";
};
"custody.utilaVault.updated": {
data: TObject<{ name: TString }>;
description: "Utila vault updated";
subject: "utila-vault";
};
"customer.allowedOrigin.created": {
data: TObject<{ name: TString }>;
description: "Allowed origin added";
subject: "customer-origin";
};
"customer.allowedOrigin.deleted": {
data: TObject<{ name: TString }>;
description: "Allowed origin removed";
subject: "customer-origin";
};
"customer.allowedOrigin.updated": {
data: TObject<{ name: TString }>;
description: "Allowed origin changed";
subject: "customer-origin";
};
"customer.apiKey.created": {
data: TObject<{ name: TString }>;
description: "API key created";
subject: "customer-api-key";
};
"customer.apiKey.deleted": {
data: TObject<{ name: TString }>;
description: "API key deleted";
subject: "customer-api-key";
};
"customer.apiKey.renamed": {
data: TObject<{ name: TString; previousName: TString }>;
description: "API key renamed";
subject: "customer-api-key";
};
"customer.apiKey.rotated": {
data: TObject<{ name: TString; replacedApiKeyId: TString }>;
description: "API key rotated";
subject: "customer-api-key";
};
"customer.application.handoverRetried": {
data: TObject<{ name: TString }>;
description: "Application handover retried";
subject: "customer-application";
};
"customer.application.sessionRenewed": {
data: TObject<{ name: TString }>;
description: "Application session renewed";
subject: "customer-application";
};
"customer.application.statusUpdated": {
data: TObject<
{
applicationId: TString;
customerId: TUnion<[TString, TNull]>;
name: TString;
status: TUnion<
[
TLiteral<"SUBMITTED">,
TLiteral<"INFO_REQUESTED">,
TLiteral<"DECLINED">,
TLiteral<"APPROVED">,
],
>;
workspaceId: TString;
},
>;
description: "Customer application status changed";
subject: "customer-application";
};
"customer.customer.deleted": {
data: TObject<{ name: TString }>;
description: "Customer deleted";
subject: "customer";
};
"customer.customer.statusUpdated": {
data: TObject<
{
name: TString;
previousStatus: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"ACTIVE">,
TLiteral<"FAILED">,
TLiteral<"DISABLED">,
],
>;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"ACTIVE">,
TLiteral<"FAILED">,
TLiteral<"DISABLED">,
],
>;
},
>;
description: "Customer status changed";
subject: "customer";
};
"customer.customer.updated": {
data: TObject<{ name: TString }>;
description: "Customer details updated";
subject: "customer";
};
"customer.document.created": {
data: TObject<{ customerId: TString; key: TString }>;
description: "Customer document added";
subject: "customer-document";
};
"customer.document.deleted": {
data: TObject<{ customerId: TString; key: TString }>;
description: "Customer document deleted";
subject: "customer-document";
};
"customer.documentFolder.created": {
data: TObject<{ name: TString }>;
description: "Customer document folder created";
subject: "customer-document";
};
"customer.documentFolder.deleted": {
data: TObject<{ name: TString }>;
description: "Customer document folder deleted";
subject: "customer-document";
};
"customer.feeTransfer.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"CANCELLED">,
],
>;
},
>;
description: "Fee transfer status changed";
subject: "fee-transfer";
};
"customer.internalEmailSubscriber.added": {
data: TObject<{ adminUserId: TString }>;
description: "CFX staff added to customer emails";
subject: "customer";
};
"customer.internalEmailSubscriber.removed": {
data: TObject<{ adminUserId: TString }>;
description: "CFX staff removed from customer emails";
subject: "customer";
};
"customer.logo.deleted": {
data: TObject<{ name: TString }>;
description: "Customer logo removed";
subject: "customer";
};
"customer.logo.updated": {
data: TObject<{ name: TString }>;
description: "Customer logo updated";
subject: "customer";
};
"customer.notificationPreferences.updated": {
data: TObject<
{
channels: TArray<
TUnion<[TLiteral<"email">, TLiteral<"slack">, TLiteral<"sms">]>,
>;
},
>;
description: "Notification preferences updated";
subject: "customer";
};
"customer.recurringFee.invoiceIssued": {
data: TObject<{ invoiceId: TString; termsVersion: TInteger }>;
description: "Recurring fee invoice issued";
subject: "recurring-fee-invoice";
};
"customer.recurringFee.paid": {
data: TObject<{ feeTransferId: TString; invoiceId: TString }>;
description: "Recurring fee invoice paid";
subject: "recurring-fee-invoice";
};
"customer.recurringFee.paused": {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee paused";
subject: "customer";
};
"customer.recurringFee.removed": {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee removed";
subject: "customer";
};
"customer.recurringFee.resumed": {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee resumed";
subject: "customer";
};
"customer.recurringFee.set": {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee set";
subject: "customer";
};
"customer.shortUrl.deleted": {
data: TObject<{ id: TString }>;
description: "Short link deleted";
subject: "short-url";
};
"customer.verificationTemplate.created": {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template created";
subject: "verification-template";
};
"customer.verificationTemplate.deleted": {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template deleted";
subject: "verification-template";
};
"customer.verificationTemplate.updated": {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template changed";
subject: "verification-template";
};
"deposit.cashDepositRetailer.hidden": {
data: TObject<{ name: TString; retailerId: TString }>;
description: "Cash deposit retailer hidden";
subject: "cash-deposit-retailer";
};
"deposit.cashDepositRetailer.unhidden": {
data: TObject<{ name: TString; retailerId: TString }>;
description: "Cash deposit retailer unhidden";
subject: "cash-deposit-retailer";
};
"entity.organization.aiPriseRerunRequested": {
data: TObject<{ workflowId: TString }>;
description: "AiPrise decision re-run requested";
subject: "organization";
};
"entity.relatedPersonDocument.deleted": {
data: TObject<{ relatedPersonId: TString; type: TString }>;
description: "Related person document deleted";
subject: "related-person-document";
};
"entity.relatedPersonDocument.uploaded": {
data: TObject<{ relatedPersonId: TString; type: TString }>;
description: "Related person document uploaded";
subject: "related-person-document";
};
"evmProgram.upgrade.autoExecuted": {
data: TObject<
{
chainId: TNumber;
operationId: TString;
proxy: TString;
release: TString;
walletTransactionId: TString;
},
>;
description: "EVM program upgrade executed by the timelock sweep";
subject: "evm-program";
};
"ledger.account.withdrawal.created": {
data: TObject<{ id: TString }>;
description: "Ledger account withdrawal created";
subject: "ledger-account-withdrawal";
};
"ledger.account.withdrawal.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Ledger account withdrawal status changed";
subject: "ledger-account-withdrawal";
};
"mintfx.authority.created": {
data: TObject<{ signature: TString }>;
description: "MintFX authority created";
subject: "mintfx-authority";
};
"mintfx.authority.destroyed": {
data: TObject<{ signature: TString }>;
description: "MintFX authority destroyed";
subject: "mintfx-authority";
};
"mintfx.authority.sendTimedOut": {
data: TObject<
{
operation: TUnion<
[TLiteral<"create">, TLiteral<"update">, TLiteral<"destroy">],
>;
signature: TString;
},
>;
description: "MintFX authority send timed out";
subject: "mintfx-authority";
};
"mintfx.authority.updated": {
data: TObject<{ signature: TString }>;
description: "MintFX authority updated";
subject: "mintfx-authority";
};
"mintfx.token.metadataSendTimedOut": {
data: TObject<{ name: TString; signature: TString }>;
description: "Token metadata send timed out";
subject: "mintfx-token";
};
"mintfx.token.metadataSet": {
data: TObject<{ name: TString; signature: TString }>;
description: "Token metadata set";
subject: "mintfx-token";
};
"notification.emailTemplate.activated": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template activated";
subject: "email-template";
};
"notification.emailTemplate.deactivated": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template switched off";
subject: "email-template";
};
"notification.emailTemplate.draftDiscarded": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template draft discarded";
subject: "email-template";
};
"notification.emailTemplate.draftSaved": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template draft saved";
subject: "email-template";
};
"notification.emailTemplate.testSent": {
data: TObject<{ name: TString; version: TInteger }>;
description: "Email template test sent";
subject: "email-template";
};
"notification.smsTemplate.activated": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template activated";
subject: "sms-template";
};
"notification.smsTemplate.disabled": {
data: TObject<{ name: TString }>;
description: "SMS template disabled";
subject: "sms-template";
};
"notification.smsTemplate.draftDiscarded": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template draft discarded";
subject: "sms-template";
};
"notification.smsTemplate.draftSaved": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template draft saved";
subject: "sms-template";
};
"notification.smsTemplate.enabled": {
data: TObject<{ name: TString }>;
description: "SMS template enabled";
subject: "sms-template";
};
"notification.smsTemplate.reset": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template reset to default";
subject: "sms-template";
};
"notification.smsTemplate.rolledBack": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template rolled back";
subject: "sms-template";
};
"notification.smsTemplate.testSent": {
data: TObject<{ name: TString; version: TInteger }>;
description: "SMS template test sent";
subject: "sms-template";
};
"product.activationRule.created": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Activation rule created";
subject: "product-activation-rule";
};
"product.activationRule.deleted": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Activation rule deleted";
subject: "product-activation-rule";
};
"product.activationRule.updated": {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Activation rule updated";
subject: "product-activation-rule";
};
"product.feeRule.created": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Fee rule created";
subject: "product-fee-rule";
};
"product.feeRule.deleted": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Fee rule deleted";
subject: "product-fee-rule";
};
"product.feeRule.updated": {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Fee rule updated";
subject: "product-fee-rule";
};
"product.limitRule.created": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Limit rule created";
subject: "product-limit-rule";
};
"product.limitRule.deleted": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Limit rule deleted";
subject: "product-limit-rule";
};
"product.limitRule.updated": {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Limit rule updated";
subject: "product-limit-rule";
};
"product.product.updated": {
data: TObject<{ name: TString }>;
description: "Product updated";
subject: "product";
};
"product.route.created": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Route created";
subject: "product-route";
};
"product.route.deleted": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Route deleted";
subject: "product-route";
};
"product.route.updated": {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Route updated";
subject: "product-route";
};
"product.vendor.created": {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Vendor created";
subject: "product-vendor";
};
"product.vendor.updated": {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Vendor updated";
subject: "product-vendor";
};
"program.authorityRecreate.requested": {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "MintFX authority recreate requested";
subject: "solana-program";
};
"program.bufferClose.requested": {
data: TObject<
{
bufferAddress: TString;
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "Program buffer close requested";
subject: "solana-program";
};
"program.deploy.requested": {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
releaseTag: TString;
workflowId: TString;
},
>;
description: "Program deploy requested";
subject: "solana-program";
};
"program.rentSweep.requested": {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "Program rent sweep requested";
subject: "solana-program";
};
"redemption.redemption.created": {
data: TObject<{ id: TString }>;
description: "Redemption created";
subject: "redemption";
};
"redemption.redemption.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Redemption status changed";
subject: "redemption";
};
"slack.customerSlackBotChannel.created": {
data: TObject<
{ customerSlackBotInstallationId: TString; name: TString },
>;
description: "Slack channel added";
subject: "customer-slack-bot-channel";
};
"slack.customerSlackBotChannel.deleted": {
data: TObject<
{ customerSlackBotInstallationId: TString; name: TString },
>;
description: "Slack channel removed";
subject: "customer-slack-bot-channel";
};
"slack.customerSlackBotInstallation.created": {
data: TObject<{ id: TString }>;
description: "Slack connected";
subject: "customer-slack-bot-installation";
};
"slack.customerSlackBotInstallation.deleted": {
data: TObject<{ id: TString }>;
description: "Slack disconnected";
subject: "customer-slack-bot-installation";
};
"slack.internalSlackChannel.created": {
data: TObject<{ name: TString }>;
description: "Internal Slack channel added";
subject: "internal-slack-channel";
};
"slack.internalSlackChannel.deleted": {
data: TObject<{ name: TString }>;
description: "Internal Slack channel removed";
subject: "internal-slack-channel";
};
"slack.internalSlackChannel.updated": {
data: TObject<{ name: TString }>;
description: "Internal Slack channel changed";
subject: "internal-slack-channel";
};
"slack.slackBotInstallation.created": {
data: TObject<{ id: TString }>;
description: "CFX Slack bot installed";
subject: "slack-bot-installation";
};
"slack.slackBotInstallation.deleted": {
data: TObject<{ id: TString }>;
description: "CFX Slack bot uninstalled";
subject: "slack-bot-installation";
};
"slack.slackTemplate.activated": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template activated";
subject: "slack-template";
};
"slack.slackTemplate.disabled": {
data: TObject<{ name: TString }>;
description: "Slack template disabled";
subject: "slack-template";
};
"slack.slackTemplate.draftDiscarded": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template draft discarded";
subject: "slack-template";
};
"slack.slackTemplate.draftSaved": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template draft saved";
subject: "slack-template";
};
"slack.slackTemplate.enabled": {
data: TObject<{ name: TString }>;
description: "Slack template enabled";
subject: "slack-template";
};
"slack.slackTemplate.reset": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template reset to default";
subject: "slack-template";
};
"slack.slackTemplate.rolledBack": {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template rolled back";
subject: "slack-template";
};
"slack.templateTest.requested": {
data: TObject<
{
sampleCase: TObject<
{
axes: TRecord<"^.*$", TString>;
optionalVariables: TUnion<[TLiteral<"present">, TLiteral<"absent">]>;
},
>;
templateId: TString;
version: TOptional<TInteger>;
},
>;
description: "Slack template test posted";
subject: "slack-template";
};
"token.chain.created": {
data: TObject<{ name: TString }>;
description: "Chain created";
subject: "chain";
};
"token.chain.deleted": {
data: TObject<{ name: TString }>;
description: "Chain deleted";
subject: "chain";
};
"token.chain.updated": {
data: TObject<{ name: TString }>;
description: "Chain updated";
subject: "chain";
};
"token.token.created": {
data: TObject<{ name: TString }>;
description: "Token created";
subject: "token";
};
"token.token.deleted": {
data: TObject<{ name: TString }>;
description: "Token deleted";
subject: "token";
};
"token.token.updated": {
data: TObject<{ name: TString }>;
description: "Token updated";
subject: "token";
};
"transaction.metadata.updated": {
data: TObject<{ id: TString }>;
description: "Transaction details updated";
subject: "transaction";
};
"transaction.metadataFile.created": {
data: TObject<{ name: TString; transactionId: TString }>;
description: "Transaction file attached";
subject: "transaction-metadata-file";
};
"transaction.metadataFile.deleted": {
data: TObject<{ name: TString; transactionId: TString }>;
description: "Transaction file deleted";
subject: "transaction-metadata-file";
};
"transaction.transaction.hidden": {
data: TObject<{ transactionIds: TArray<TString> }>;
description: "Transactions hidden";
subject: "transaction-hide-group";
};
"transaction.transaction.unhidden": {
data: TObject<{ transactionIds: TArray<TString> }>;
description: "Transactions unhidden";
subject: "transaction-hide-group";
};
"transaction.transaction.updated": {
data: TObject<
{
bankId: TOptional<TString>;
customerId: TString;
transactionIds: TArray<TString>;
},
>;
description: "Transactions updated";
subject: "customer-transactions";
};
"withdrawal.positivePayDecision.decided": {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay decision made";
subject: "positive-pay-decision";
};
"withdrawal.positivePayDecision.requestConfirmed": {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay request confirmed";
subject: "positive-pay-decision";
};
"withdrawal.positivePayDecision.undone": {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay decision undone";
subject: "positive-pay-decision";
};
"withdrawal.positivePayFile.resendRequested": {
data: TObject<{ workflowId: TString }>;
description: "Positive pay file resend requested";
subject: "positive-pay-file";
};
"withdrawal.positivePayFile.sendRequested": {
data: TObject<{ businessDate: TString }>;
description: "Positive pay file send requested";
subject: "positive-pay-run";
};
"withdrawal.withdrawal.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Withdrawal status changed";
subject: "withdrawal";
};
} = ...
Type Declaration
-
Readonlyaccount.depositMemo.hidden: {
data: TObject<{ name: TUnion<[TString, TNull]> }>;
description: "Deposit memo hidden";
subject: "deposit-bank-memo";
}
-
Readonlyaccount.depositMemo.unhidden: {
data: TObject<{ name: TUnion<[TString, TNull]> }>;
description: "Deposit memo unhidden";
subject: "deposit-bank-memo";
}
-
Readonlyaccount.victorAccount.created: {
data: TObject<{ name: TString }>;
description: "Victor account registered";
subject: "victor-account";
}
-
Readonlyaccount.victorAccount.deleted: {
data: TObject<{ name: TString }>;
description: "Victor account deleted";
subject: "victor-account";
}
-
Readonlyaccount.victorAccount.updated: {
data: TObject<{ name: TString }>;
description: "Victor account updated";
subject: "victor-account";
}
-
Readonlyaccount.virtualAccount.hidden: {
data: TObject<{ id: TString }>;
description: "Virtual account hidden";
subject: "virtual-account";
}
-
Readonlyaccount.virtualAccount.unhidden: {
data: TObject<{ id: TString }>;
description: "Virtual account unhidden";
subject: "virtual-account";
}
-
Readonlyaccount.virtualAccountProvider.renamed: {
data: TObject<{ name: TString; previousName: TString }>;
description: "Virtual account provider renamed";
subject: "virtual-account-provider";
}
-
Readonlyauth.adminRole.created: {
data: TObject<{ name: TString }>;
description: "Admin role created";
subject: "admin-role";
}
-
Readonlyauth.adminRole.deleted: {
data: TObject<{ name: TString }>;
description: "Admin role deleted";
subject: "admin-role";
}
-
Readonlyauth.adminRole.permissionsChanged: {
data: TObject<{ name: TString }>;
description: "Admin role permissions changed";
subject: "admin-role";
}
-
Readonlyauth.adminRole.renamed: {
data: TObject<{ name: TString; previousName: TString }>;
description: "Admin role renamed";
subject: "admin-role";
}
-
Readonlyauth.adminRole.updated: {
data: TObject<{ name: TString }>;
description: "Admin role description updated";
subject: "admin-role";
}
-
Readonlyauth.adminUser.loggedOut: {
data: TObject<{ name: TString }>;
description: "Signed out";
subject: "admin-user";
}
-
Readonlyauth.adminUser.passkeyAdded: {
data: TObject<{ name: TString }>;
description: "Passkey added";
subject: "admin-user";
}
-
Readonlyauth.adminUser.roleChanged: {
data: TObject<
{
name: TString;
previousRoleId: TUnion<[TString, TNull]>;
roleId: TUnion<[TString, TNull]>;
},
>;
description: "Admin user role changed";
subject: "admin-user";
}
-
Readonlyauth.adminUser.statusChanged: {
data: TObject<
{
name: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
},
>;
description: "Admin user status changed";
subject: "admin-user";
}
-
Readonlyauth.dashboardInvite.created: {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team member invited";
subject: "dashboard-invite";
}
-
Readonlyauth.dashboardInvite.revoked: {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team invite revoked";
subject: "dashboard-invite";
}
-
Readonlyauth.dashboardMember.added: {
data: TObject<{ name: TString; roleId: TString }>;
description: "Team member added";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardMember.removed: {
data: TObject<{ name: TString }>;
description: "Team member removed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardMember.roleChanged: {
data: TObject<
{
name: TString;
previousRoleId: TUnion<[TString, TNull]>;
roleId: TUnion<[TString, TNull]>;
},
>;
description: "Team member role changed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardMember.statusChanged: {
data: TObject<
{
name: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"DISABLED">]>;
},
>;
description: "Team member status changed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardRole.created: {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role created";
subject: "dashboard-role";
}
-
Readonlyauth.dashboardRole.deleted: {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role deleted";
subject: "dashboard-role";
}
-
Readonlyauth.dashboardRole.permissionsChanged: {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role permissions changed";
subject: "dashboard-role";
}
-
Readonlyauth.dashboardRole.renamed: {
data: TObject<
{ name: TString; previousName: TString; roleSetId: TString },
>;
description: "Dashboard role renamed";
subject: "dashboard-role";
}
-
Readonlyauth.dashboardRole.updated: {
data: TObject<{ name: TString; roleSetId: TString }>;
description: "Dashboard role updated";
subject: "dashboard-role";
}
-
Readonlyauth.dashboardRoleSet.assigned: {
data: TObject<
{
name: TString;
previousRoleSetId: TUnion<[TString, TNull]>;
roleSetId: TString;
},
>;
description: "Dashboard role set assigned";
subject: "dashboard-role-set";
}
-
Readonlyauth.dashboardRoleSet.created: {
data: TObject<{ name: TString }>;
description: "Dashboard role set created";
subject: "dashboard-role-set";
}
-
Readonlyauth.dashboardRoleSet.deleted: {
data: TObject<{ name: TString }>;
description: "Dashboard role set deleted";
subject: "dashboard-role-set";
}
-
Readonlyauth.dashboardRoleSet.renamed: {
data: TObject<{ name: TString; previousName: TString }>;
description: "Dashboard role set renamed";
subject: "dashboard-role-set";
}
-
Readonlyauth.dashboardRoleSet.updated: {
data: TObject<{ name: TString }>;
description: "Dashboard role set updated";
subject: "dashboard-role-set";
}
-
Readonlyauth.dashboardSsoConnection.created: {
data: TObject<{ name: TString }>;
description: "SSO connection created";
subject: "dashboard-sso-connection";
}
-
Readonlyauth.dashboardSsoConnection.deleted: {
data: TObject<{ name: TString }>;
description: "SSO connection deleted";
subject: "dashboard-sso-connection";
}
-
Readonlyauth.dashboardSsoConnection.updated: {
data: TObject<{ name: TString }>;
description: "SSO connection updated";
subject: "dashboard-sso-connection";
}
-
Readonlyauth.dashboardSsoConnection.verified: {
data: TObject<{ name: TString }>;
description: "SSO connection verified";
subject: "dashboard-sso-connection";
}
-
Readonlyauth.dashboardUser.emailPreferencesUpdated: {
data: TObject<{ name: TString }>;
description: "Email preferences updated";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.mfaReplaced: {
data: TObject<{ name: TString }>;
description: "Authenticator app replaced";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.passkeyAdded: {
data: TObject<{ name: TString }>;
description: "Passkey added";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.passkeyRemoved: {
data: TObject<{ name: TString }>;
description: "Passkey removed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.passwordChanged: {
data: TObject<{ name: TString }>;
description: "Password changed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.passwordSignInRestored: {
data: TObject<{ name: TString; unlinked: TArray<TString> }>;
description: "Password sign-in restored";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.renamed: {
data: TObject<{ name: TString }>;
description: "Team member renamed";
subject: "dashboard-user";
}
-
Readonlyauth.dashboardUser.signedOutEverywhere: {
data: TObject<{ name: TString }>;
description: "Signed out everywhere";
subject: "dashboard-user";
}
-
Readonlyauth.email.sent: {
data: TObject<
{
audience: TString;
inviteId: TString;
kind: TLiteral<"DASHBOARD_INVITE">;
recipient: TString;
source: TLiteral<"DASHBOARD_INVITE">;
subject: TString;
workspaceName: TString;
},
>;
description: "Dashboard invite emailed";
subject: "dashboard-invite";
}
-
Readonlybackoffice.achBatch.created: {
data: TObject<{ id: TString }>;
description: "ACH batch created";
subject: "ach-batch";
}
-
Readonlybackoffice.achBatch.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"PROCESSED">,
TLiteral<"DELETED">,
],
>;
},
>;
description: "ACH batch status changed";
subject: "ach-batch";
}
-
Readonlybackoffice.achFile.created: {
data: TObject<{ id: TString }>;
description: "ACH file created";
subject: "ach-file";
}
-
Readonlybackoffice.achFile.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
description: "ACH file status changed";
subject: "ach-file";
}
-
Readonlybackoffice.aiPriseProfile.updated: {
data: TObject<
{
aipriseProfileId: TString;
clientReferenceId: TOptional<TString>;
countryCode: TOptional<TString>;
eventType: TString;
name: TOptional<TString>;
previousResult: TOptional<
TUnion<
[
TLiteral<"APPROVED">,
TLiteral<"DECLINED">,
TLiteral<"REVIEW">,
TLiteral<"UNKNOWN">,
TLiteral<"DEACTIVATED">,
],
>,
>;
profileKind: TUnion<[TLiteral<"BUSINESS">, TLiteral<"USER">]>;
reason: TOptional<TString>;
reasonCode: TOptional<TString>;
result: TOptional<
TUnion<
[
TLiteral<"APPROVED">,
TLiteral<"DECLINED">,
TLiteral<"REVIEW">,
TLiteral<"UNKNOWN">,
TLiteral<"DEACTIVATED">,
],
>,
>;
runStatus: TOptional<
TUnion<
[
TLiteral<"NOT_STARTED">,
TLiteral<"RUNNING">,
TLiteral<"PENDING">,
TLiteral<"FAILED">,
TLiteral<"COMPLETED">,
],
>,
>;
},
>;
description: "AiPrise profile updated";
subject: "aiprise-profile";
}
-
Readonlybackoffice.backfill.started: {
data: TObject<
{
backfill: TUnion<
[
TLiteral<"solanaAccountTransactionSync">,
TLiteral<"solanaParsedEvents">,
TLiteral<"victorTransactions">,
TLiteral<"wireEmailInbox">,
],
>;
},
>;
description: "Backfill started";
subject: "backfill-run";
}
-
Readonlybackoffice.bankInternalTransfer.created: {
data: TObject<{ id: TString }>;
description: "Bank internal transfer created";
subject: "bank-internal-transfer";
}
-
Readonlybackoffice.bankInternalTransfer.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"COMPLETED">, TLiteral<"FAILED">],
>;
},
>;
description: "Bank internal transfer status changed";
subject: "bank-internal-transfer";
}
-
Readonlybackoffice.bankTransaction.created: {
data: TObject<
{
amount: TString;
bankId: TString;
description: TString;
id: TString;
type: TUnion<[TLiteral<"CREDIT">, TLiteral<"DEBIT">]>;
},
>;
description: "Bank transaction recorded";
subject: "bank-transaction";
}
-
Readonlybackoffice.bankTransaction.reconciled: {
data: TObject<
{
keys: TArray<
TUnion<
[
TLiteral<"ACH_BATCH">,
TLiteral<"BANK_INTERNAL_TRANSFER">,
TLiteral<"DEPOSIT">,
TLiteral<"DEPOSIT_IDS">,
TLiteral<"DEPOSIT_RETURN">,
TLiteral<"GREENDOT_BATCH">,
TLiteral<"MANUAL_MINT">,
],
>,
>;
},
>;
description: "Bank transaction reconciled";
subject: "bank-transaction";
}
-
Readonlybackoffice.globalMaintenance.disabled: {
data: TObject<{}>;
description: "Global maintenance turned off";
subject: "maintenance-flag";
}
-
Readonlybackoffice.globalMaintenance.enabled: {
data: TObject<{}>;
description: "Global maintenance turned on";
subject: "maintenance-flag";
}
-
Readonlybackoffice.greendotSettlementFile.created: {
data: TObject<
{
key: TString;
kind: TUnion<
[TLiteral<"ADVICE_OF_CREDIT">, TLiteral<"TRANSMISSION_DETAIL">],
>;
size: TNumber;
versionId: TString;
},
>;
description: "Green Dot settlement file received";
subject: "greendot-settlement-file";
}
-
Readonlybackoffice.maintenance.disabled: {
data: TObject<{ name: TString }>;
description: "Service maintenance turned off";
subject: "maintenance-flag";
}
-
Readonlybackoffice.maintenance.enabled: {
data: TObject<{ name: TString }>;
description: "Service maintenance turned on";
subject: "maintenance-flag";
}
-
Readonlybackoffice.manualMint.created: {
data: TObject<{ id: TString }>;
description: "Manual mint created";
subject: "manual-mint";
}
-
Readonlybackoffice.manualMint.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
],
>;
},
>;
description: "Manual mint status changed";
subject: "manual-mint";
}
-
Readonlybackoffice.recurringFee.escalated: {
data: TObject<
{
amount: TString;
currency: TString;
customerId: TString;
customerName: TString;
failedAttempts: TArray<
TObject<
{
failedAt: TString;
feeTransferId: TString;
signature: TUnion<[TString, TNull]>;
},
>,
>;
invoiceId: TString;
invoiceNumber: TString;
periodKey: TString;
sourceAccountId: TString;
sourceAccountName: TUnion<[TString, TNull]>;
},
>;
description: "Recurring fee charge escalated";
subject: "recurring-fee-invoice";
}
-
Readonlybackoffice.recurringFee.unbilled: {
data: TObject<
{
failed: TArray<
TObject<
{
customerId: TString;
periodKey: TString;
reason: TOptional<TString>;
},
>,
>;
pastDue: TArray<
TObject<
{
customerId: TString;
periodKey: TString;
reason: TOptional<TString>;
},
>,
>;
periodKey: TString;
},
>;
description: "Recurring fee months left unbilled";
subject: "recurring-fee-period";
}
-
Readonlybackoffice.report.runRequested: {
data: TObject<{ name: TString; reportId: TString }>;
description: "Report run requested";
subject: "report-run";
}
-
Readonlybackoffice.temporalSchedule.created: {
data: TObject<{ name: TString }>;
description: "Schedule created";
subject: "temporal-schedule";
}
-
Readonlybackoffice.temporalSchedule.paused: {
data: TObject<{ name: TString }>;
description: "Schedule paused";
subject: "temporal-schedule";
}
-
Readonlybackoffice.temporalSchedule.resumed: {
data: TObject<{ name: TString }>;
description: "Schedule resumed";
subject: "temporal-schedule";
}
-
Readonlybackoffice.temporalSchedule.triggered: {
data: TObject<{ name: TString }>;
description: "Schedule run started";
subject: "temporal-schedule";
}
-
Readonlybackoffice.temporalSchedule.updated: {
data: TObject<{ name: TString }>;
description: "Schedule updated";
subject: "temporal-schedule";
}
-
Readonlybackoffice.wireBatch.created: {
data: TObject<{ id: TString }>;
description: "Wire batch created";
subject: "wire-batch";
}
-
Readonlybackoffice.wireBatch.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"SUBMITTED">,
TLiteral<"DELETED">,
],
>;
},
>;
description: "Wire batch status changed";
subject: "wire-batch";
}
-
Readonlybackoffice.wireEmail.reconciled: {
data: TObject<
{
bankTransactionId: TString;
ffcMemo: TOptional<TString>;
wireEmailId: TString;
},
>;
description: "Wire email reconciled";
subject: "wire-email";
}
-
Readonlybackoffice.wireFile.created: {
data: TObject<{ id: TString }>;
description: "Wire file created";
subject: "wire-file";
}
-
Readonlybackoffice.wireFile.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
description: "Wire file status changed";
subject: "wire-file";
}
-
Readonlybank.bank.instructionsUpdated: {
data: TObject<{ name: TString }>;
description: "Bank deposit instructions updated";
subject: "bank";
}
-
Readonlybank.bank.logoUpdated: {
data: TObject<
{
name: TString;
variant: TUnion<[TLiteral<"light">, TLiteral<"dark">]>;
},
>;
description: "Bank logo updated";
subject: "bank";
}
-
Readonlybank.bank.updated: {
data: TObject<{ name: TString }>;
description: "Bank updated";
subject: "bank";
}
-
Readonlybank.bankAccount.created: {
data: TObject<{ id: TString }>;
description: "Bank account registered";
subject: "bank-account";
}
-
Readonlybank.bankAccount.deleted: {
data: TObject<{ id: TString }>;
description: "Bank account retired";
subject: "bank-account";
}
-
Readonlybank.bankAccount.statusChanged: {
data: TObject<
{
id: TString;
previousStatus: TUnion<[TLiteral<"ACTIVE">, TLiteral<"CLOSED">]>;
status: TUnion<[TLiteral<"ACTIVE">, TLiteral<"CLOSED">]>;
},
>;
description: "Bank account status changed";
subject: "bank-account";
}
-
Readonlybank.bankAccount.updated: {
data: TObject<{ id: TString }>;
description: "Bank account updated";
subject: "bank-account";
}
-
Readonlybank.document.created: {
data: TObject<{ bankId: TString; key: TString }>;
description: "Bank document added";
subject: "bank-document";
}
-
Readonlybank.document.deleted: {
data: TObject<{ bankId: TString; key: TString }>;
description: "Bank document deleted";
subject: "bank-document";
}
-
Readonlybank.document.folderCreated: {
data: TObject<{ bankId: TString; name: TString }>;
description: "Bank folder created";
subject: "bank-document";
}
-
Readonlybank.document.folderDeleted: {
data: TObject<{ bankId: TString; name: TString }>;
description: "Bank folder deleted";
subject: "bank-document";
}
-
Readonlybank.program.created: {
data: TObject<{ name: TString }>;
description: "Program created";
subject: "program";
}
-
Readonlybank.program.customerGranted: {
data: TObject<{ customerId: TString; name: TString }>;
description: "Program granted to customer";
subject: "program";
}
-
Readonlybank.program.customerRevoked: {
data: TObject<{ customerId: TString; name: TString }>;
description: "Program revoked from customer";
subject: "program";
}
-
Readonlybank.program.deleted: {
data: TObject<{ name: TString }>;
description: "Program deleted";
subject: "program";
}
-
Readonlybank.program.paused: {
data: TObject<{ name: TString }>;
description: "Program paused";
subject: "program";
}
-
Readonlybank.program.resumed: {
data: TObject<{ name: TString }>;
description: "Program resumed";
subject: "program";
}
-
Readonlybank.program.updated: {
data: TObject<{ name: TString }>;
description: "Program updated";
subject: "program";
}
-
Readonlycard.card.activated: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card activated";
subject: "girasol-card";
}
-
Readonlycard.card.blocked: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card blocked";
subject: "girasol-card";
}
-
Readonlycard.card.created: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card created";
subject: "girasol-card";
}
-
Readonlycard.card.detailsRevealed: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card details revealed";
subject: "girasol-card";
}
-
Readonlycard.card.frozen: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card frozen";
subject: "girasol-card";
}
-
Readonlycard.card.unfrozen: {
data: TObject<
{
lastFourDigits: TUnion<[TString, TNull]>;
type: TUnion<[TLiteral<"VIRTUAL">, TLiteral<"PHYSICAL">]>;
},
>;
description: "Card unfrozen";
subject: "girasol-card";
}
-
Readonlycard.cardAccount.balanceAdjusted: {
data: TObject<
{
adjustmentType: TUnion<[TLiteral<"CASH_IN">, TLiteral<"CASH_OUT">]>;
girasolTransactionId: TString;
name: TString;
},
>;
description: "Card account balance adjusted";
subject: "girasol-card-account";
}
-
Readonlycard.cardAccount.created: {
data: TObject<{ name: TString }>;
description: "Card account created";
subject: "girasol-card-account";
}
-
Readonlycard.cardAccount.frozen: {
data: TObject<{ name: TString }>;
description: "Card account frozen";
subject: "girasol-card-account";
}
-
Readonlycard.cardAccount.unfrozen: {
data: TObject<{ name: TString }>;
description: "Card account unfrozen";
subject: "girasol-card-account";
}
-
Readonlycustody.backofficeWallet.created: {
data: TObject<{ name: TString }>;
description: "Backoffice wallet created";
subject: "backoffice-wallet";
}
-
Readonlycustody.backofficeWallet.deleted: {
data: TObject<{ name: TString }>;
description: "Backoffice wallet deleted";
subject: "backoffice-wallet";
}
-
Readonlycustody.backofficeWallet.updated: {
data: TObject<{ name: TString }>;
description: "Backoffice wallet updated";
subject: "backoffice-wallet";
}
-
Readonlycustody.custodialWallet.created: {
data: TObject<{ name: TString }>;
description: "Customer wallet created";
subject: "utila-custodial-wallet";
}
-
Readonlycustody.custodialWallet.deleted: {
data: TObject<{ name: TString }>;
description: "Customer wallet deleted";
subject: "utila-custodial-wallet";
}
-
Readonlycustody.custodialWallet.restored: {
data: TObject<{ name: TString }>;
description: "Customer wallet restored";
subject: "utila-custodial-wallet";
}
-
Readonlycustody.sweepWallet.addressDeleted: {
data: TObject<{ address: TString; chain: TString; name: TString }>;
description: "Deposit wallet address hidden";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.sweepWallet.addressRestored: {
data: TObject<{ address: TString; chain: TString; name: TString }>;
description: "Deposit wallet address restored";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.sweepWallet.created: {
data: TObject<{ name: TString }>;
description: "Deposit wallet created";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.sweepWallet.deleted: {
data: TObject<{ name: TString }>;
description: "Deposit wallet deleted";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.sweepWallet.linked: {
data: TObject<{ name: TString }>;
description: "Deposit wallet linked";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.sweepWallet.restored: {
data: TObject<{ name: TString }>;
description: "Deposit wallet restored";
subject: "utila-sweep-wallet";
}
-
Readonlycustody.utilaVault.created: {
data: TObject<{ name: TString }>;
description: "Utila vault created";
subject: "utila-vault";
}
-
Readonlycustody.utilaVault.deleted: {
data: TObject<{ name: TString }>;
description: "Utila vault deleted";
subject: "utila-vault";
}
-
Readonlycustody.utilaVault.signingChecked: {
data: TObject<
{
name: TString;
previousSigningStatus: TUnion<
[
TLiteral<"UNCONFIGURED">,
TLiteral<"PROVISIONED">,
TLiteral<"AWAITING_APPROVAL">,
TLiteral<"SIGNING">,
TLiteral<"FAILED">,
],
>;
signingStatus: TUnion<
[
TLiteral<"UNCONFIGURED">,
TLiteral<"PROVISIONED">,
TLiteral<"AWAITING_APPROVAL">,
TLiteral<"SIGNING">,
TLiteral<"FAILED">,
],
>;
},
>;
description: "Utila vault cosigner checked";
subject: "utila-vault";
}
-
Readonlycustody.utilaVault.updated: {
data: TObject<{ name: TString }>;
description: "Utila vault updated";
subject: "utila-vault";
}
-
Readonlycustomer.allowedOrigin.created: {
data: TObject<{ name: TString }>;
description: "Allowed origin added";
subject: "customer-origin";
}
-
Readonlycustomer.allowedOrigin.deleted: {
data: TObject<{ name: TString }>;
description: "Allowed origin removed";
subject: "customer-origin";
}
-
Readonlycustomer.allowedOrigin.updated: {
data: TObject<{ name: TString }>;
description: "Allowed origin changed";
subject: "customer-origin";
}
-
Readonlycustomer.apiKey.created: {
data: TObject<{ name: TString }>;
description: "API key created";
subject: "customer-api-key";
}
-
Readonlycustomer.apiKey.deleted: {
data: TObject<{ name: TString }>;
description: "API key deleted";
subject: "customer-api-key";
}
-
Readonlycustomer.apiKey.renamed: {
data: TObject<{ name: TString; previousName: TString }>;
description: "API key renamed";
subject: "customer-api-key";
}
-
Readonlycustomer.apiKey.rotated: {
data: TObject<{ name: TString; replacedApiKeyId: TString }>;
description: "API key rotated";
subject: "customer-api-key";
}
-
Readonlycustomer.application.handoverRetried: {
data: TObject<{ name: TString }>;
description: "Application handover retried";
subject: "customer-application";
}
-
Readonlycustomer.application.sessionRenewed: {
data: TObject<{ name: TString }>;
description: "Application session renewed";
subject: "customer-application";
}
-
Readonlycustomer.application.statusUpdated: {
data: TObject<
{
applicationId: TString;
customerId: TUnion<[TString, TNull]>;
name: TString;
status: TUnion<
[
TLiteral<"SUBMITTED">,
TLiteral<"INFO_REQUESTED">,
TLiteral<"DECLINED">,
TLiteral<"APPROVED">,
],
>;
workspaceId: TString;
},
>;
description: "Customer application status changed";
subject: "customer-application";
}
-
Readonlycustomer.customer.deleted: {
data: TObject<{ name: TString }>;
description: "Customer deleted";
subject: "customer";
}
-
Readonlycustomer.customer.statusUpdated: {
data: TObject<
{
name: TString;
previousStatus: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"ACTIVE">,
TLiteral<"FAILED">,
TLiteral<"DISABLED">,
],
>;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"ACTIVE">,
TLiteral<"FAILED">,
TLiteral<"DISABLED">,
],
>;
},
>;
description: "Customer status changed";
subject: "customer";
}
-
Readonlycustomer.customer.updated: {
data: TObject<{ name: TString }>;
description: "Customer details updated";
subject: "customer";
}
-
Readonlycustomer.document.created: {
data: TObject<{ customerId: TString; key: TString }>;
description: "Customer document added";
subject: "customer-document";
}
-
Readonlycustomer.document.deleted: {
data: TObject<{ customerId: TString; key: TString }>;
description: "Customer document deleted";
subject: "customer-document";
}
-
Readonlycustomer.documentFolder.created: {
data: TObject<{ name: TString }>;
description: "Customer document folder created";
subject: "customer-document";
}
-
Readonlycustomer.documentFolder.deleted: {
data: TObject<{ name: TString }>;
description: "Customer document folder deleted";
subject: "customer-document";
}
-
Readonlycustomer.feeTransfer.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"CANCELLED">,
],
>;
},
>;
description: "Fee transfer status changed";
subject: "fee-transfer";
}
-
Readonlycustomer.internalEmailSubscriber.added: {
data: TObject<{ adminUserId: TString }>;
description: "CFX staff added to customer emails";
subject: "customer";
}
-
Readonlycustomer.internalEmailSubscriber.removed: {
data: TObject<{ adminUserId: TString }>;
description: "CFX staff removed from customer emails";
subject: "customer";
}
-
Readonlycustomer.logo.deleted: {
data: TObject<{ name: TString }>;
description: "Customer logo removed";
subject: "customer";
}
-
Readonlycustomer.logo.updated: {
data: TObject<{ name: TString }>;
description: "Customer logo updated";
subject: "customer";
}
-
Readonlycustomer.notificationPreferences.updated: {
data: TObject<
{
channels: TArray<
TUnion<[TLiteral<"email">, TLiteral<"slack">, TLiteral<"sms">]>,
>;
},
>;
description: "Notification preferences updated";
subject: "customer";
}
-
Readonlycustomer.recurringFee.invoiceIssued: {
data: TObject<{ invoiceId: TString; termsVersion: TInteger }>;
description: "Recurring fee invoice issued";
subject: "recurring-fee-invoice";
}
-
Readonlycustomer.recurringFee.paid: {
data: TObject<{ feeTransferId: TString; invoiceId: TString }>;
description: "Recurring fee invoice paid";
subject: "recurring-fee-invoice";
}
-
Readonlycustomer.recurringFee.paused: {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee paused";
subject: "customer";
}
-
Readonlycustomer.recurringFee.removed: {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee removed";
subject: "customer";
}
-
Readonlycustomer.recurringFee.resumed: {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee resumed";
subject: "customer";
}
-
Readonlycustomer.recurringFee.set: {
data: TObject<{ sourceAccountId: TString }>;
description: "Recurring fee set";
subject: "customer";
}
-
Readonlycustomer.shortUrl.deleted: {
data: TObject<{ id: TString }>;
description: "Short link deleted";
subject: "short-url";
}
-
Readonlycustomer.verificationTemplate.created: {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template created";
subject: "verification-template";
}
-
Readonlycustomer.verificationTemplate.deleted: {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template deleted";
subject: "verification-template";
}
-
Readonlycustomer.verificationTemplate.updated: {
data: TObject<
{
type: TUnion<
[
TLiteral<"ORGANIZATION_KYB">,
TLiteral<"ORGANIZATION_DOCUMENT">,
TLiteral<"IDENTITY_AML">,
TLiteral<"IDENTITY_DOCUMENT">,
TLiteral<"RELATED_PERSON_DOCUMENT">,
TLiteral<"PAYMENT_INSTRUMENT_PERSON">,
TLiteral<"PAYMENT_INSTRUMENT_BUSINESS">,
],
>;
},
>;
description: "Verification template changed";
subject: "verification-template";
}
-
Readonlydeposit.cashDepositRetailer.hidden: {
data: TObject<{ name: TString; retailerId: TString }>;
description: "Cash deposit retailer hidden";
subject: "cash-deposit-retailer";
}
-
Readonlydeposit.cashDepositRetailer.unhidden: {
data: TObject<{ name: TString; retailerId: TString }>;
description: "Cash deposit retailer unhidden";
subject: "cash-deposit-retailer";
}
-
Readonlyentity.organization.aiPriseRerunRequested: {
data: TObject<{ workflowId: TString }>;
description: "AiPrise decision re-run requested";
subject: "organization";
}
-
-
-
ReadonlyevmProgram.upgrade.autoExecuted: {
data: TObject<
{
chainId: TNumber;
operationId: TString;
proxy: TString;
release: TString;
walletTransactionId: TString;
},
>;
description: "EVM program upgrade executed by the timelock sweep";
subject: "evm-program";
}
-
Readonlyledger.account.withdrawal.created: {
data: TObject<{ id: TString }>;
description: "Ledger account withdrawal created";
subject: "ledger-account-withdrawal";
}
-
Readonlyledger.account.withdrawal.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Ledger account withdrawal status changed";
subject: "ledger-account-withdrawal";
}
-
Readonlymintfx.authority.created: {
data: TObject<{ signature: TString }>;
description: "MintFX authority created";
subject: "mintfx-authority";
}
-
Readonlymintfx.authority.destroyed: {
data: TObject<{ signature: TString }>;
description: "MintFX authority destroyed";
subject: "mintfx-authority";
}
-
Readonlymintfx.authority.sendTimedOut: {
data: TObject<
{
operation: TUnion<
[TLiteral<"create">, TLiteral<"update">, TLiteral<"destroy">],
>;
signature: TString;
},
>;
description: "MintFX authority send timed out";
subject: "mintfx-authority";
}
-
Readonlymintfx.authority.updated: {
data: TObject<{ signature: TString }>;
description: "MintFX authority updated";
subject: "mintfx-authority";
}
-
-
-
Readonlynotification.emailTemplate.activated: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template activated";
subject: "email-template";
}
-
Readonlynotification.emailTemplate.deactivated: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template switched off";
subject: "email-template";
}
-
Readonlynotification.emailTemplate.draftDiscarded: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template draft discarded";
subject: "email-template";
}
-
Readonlynotification.emailTemplate.draftSaved: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Email template draft saved";
subject: "email-template";
}
-
Readonlynotification.emailTemplate.testSent: {
data: TObject<{ name: TString; version: TInteger }>;
description: "Email template test sent";
subject: "email-template";
}
-
Readonlynotification.smsTemplate.activated: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template activated";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.disabled: {
data: TObject<{ name: TString }>;
description: "SMS template disabled";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.draftDiscarded: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template draft discarded";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.draftSaved: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template draft saved";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.enabled: {
data: TObject<{ name: TString }>;
description: "SMS template enabled";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.reset: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template reset to default";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.rolledBack: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "SMS template rolled back";
subject: "sms-template";
}
-
Readonlynotification.smsTemplate.testSent: {
data: TObject<{ name: TString; version: TInteger }>;
description: "SMS template test sent";
subject: "sms-template";
}
-
Readonlyproduct.activationRule.created: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Activation rule created";
subject: "product-activation-rule";
}
-
Readonlyproduct.activationRule.deleted: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Activation rule deleted";
subject: "product-activation-rule";
}
-
Readonlyproduct.activationRule.updated: {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Activation rule updated";
subject: "product-activation-rule";
}
-
Readonlyproduct.feeRule.created: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Fee rule created";
subject: "product-fee-rule";
}
-
Readonlyproduct.feeRule.deleted: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Fee rule deleted";
subject: "product-fee-rule";
}
-
Readonlyproduct.feeRule.updated: {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Fee rule updated";
subject: "product-fee-rule";
}
-
Readonlyproduct.limitRule.created: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Limit rule created";
subject: "product-limit-rule";
}
-
Readonlyproduct.limitRule.deleted: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Limit rule deleted";
subject: "product-limit-rule";
}
-
Readonlyproduct.limitRule.updated: {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Limit rule updated";
subject: "product-limit-rule";
}
-
Readonlyproduct.product.updated: {
data: TObject<{ name: TString }>;
description: "Product updated";
subject: "product";
}
-
Readonlyproduct.route.created: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Route created";
subject: "product-route";
}
-
Readonlyproduct.route.deleted: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Route deleted";
subject: "product-route";
}
-
Readonlyproduct.route.updated: {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Route updated";
subject: "product-route";
}
-
Readonlyproduct.vendor.created: {
data: TObject<{ name: TString; versionId: TInteger }>;
description: "Vendor created";
subject: "product-vendor";
}
-
Readonlyproduct.vendor.updated: {
data: TObject<
{ name: TString; previousVersionId: TInteger; versionId: TInteger },
>;
description: "Vendor updated";
subject: "product-vendor";
}
-
Readonlyprogram.authorityRecreate.requested: {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "MintFX authority recreate requested";
subject: "solana-program";
}
-
Readonlyprogram.bufferClose.requested: {
data: TObject<
{
bufferAddress: TString;
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "Program buffer close requested";
subject: "solana-program";
}
-
Readonlyprogram.deploy.requested: {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
releaseTag: TString;
workflowId: TString;
},
>;
description: "Program deploy requested";
subject: "solana-program";
}
-
Readonlyprogram.rentSweep.requested: {
data: TObject<
{
name: TString;
network: TUnion<[TLiteral<"devnet">, TLiteral<"mainnet">]>;
workflowId: TString;
},
>;
description: "Program rent sweep requested";
subject: "solana-program";
}
-
Readonlyredemption.redemption.created: {
data: TObject<{ id: TString }>;
description: "Redemption created";
subject: "redemption";
}
-
Readonlyredemption.redemption.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Redemption status changed";
subject: "redemption";
}
-
Readonlyslack.customerSlackBotChannel.created: {
data: TObject<
{ customerSlackBotInstallationId: TString; name: TString },
>;
description: "Slack channel added";
subject: "customer-slack-bot-channel";
}
-
Readonlyslack.customerSlackBotChannel.deleted: {
data: TObject<
{ customerSlackBotInstallationId: TString; name: TString },
>;
description: "Slack channel removed";
subject: "customer-slack-bot-channel";
}
-
Readonlyslack.customerSlackBotInstallation.created: {
data: TObject<{ id: TString }>;
description: "Slack connected";
subject: "customer-slack-bot-installation";
}
-
Readonlyslack.customerSlackBotInstallation.deleted: {
data: TObject<{ id: TString }>;
description: "Slack disconnected";
subject: "customer-slack-bot-installation";
}
-
Readonlyslack.internalSlackChannel.created: {
data: TObject<{ name: TString }>;
description: "Internal Slack channel added";
subject: "internal-slack-channel";
}
-
Readonlyslack.internalSlackChannel.deleted: {
data: TObject<{ name: TString }>;
description: "Internal Slack channel removed";
subject: "internal-slack-channel";
}
-
Readonlyslack.internalSlackChannel.updated: {
data: TObject<{ name: TString }>;
description: "Internal Slack channel changed";
subject: "internal-slack-channel";
}
-
Readonlyslack.slackBotInstallation.created: {
data: TObject<{ id: TString }>;
description: "CFX Slack bot installed";
subject: "slack-bot-installation";
}
-
Readonlyslack.slackBotInstallation.deleted: {
data: TObject<{ id: TString }>;
description: "CFX Slack bot uninstalled";
subject: "slack-bot-installation";
}
-
Readonlyslack.slackTemplate.activated: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template activated";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.disabled: {
data: TObject<{ name: TString }>;
description: "Slack template disabled";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.draftDiscarded: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template draft discarded";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.draftSaved: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template draft saved";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.enabled: {
data: TObject<{ name: TString }>;
description: "Slack template enabled";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.reset: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template reset to default";
subject: "slack-template";
}
-
Readonlyslack.slackTemplate.rolledBack: {
data: TObject<
{
name: TString;
previousVersion: TUnion<[TInteger, TNull]>;
version: TUnion<[TInteger, TNull]>;
},
>;
description: "Slack template rolled back";
subject: "slack-template";
}
-
Readonlyslack.templateTest.requested: {
data: TObject<
{
sampleCase: TObject<
{
axes: TRecord<"^.*$", TString>;
optionalVariables: TUnion<[TLiteral<"present">, TLiteral<"absent">]>;
},
>;
templateId: TString;
version: TOptional<TInteger>;
},
>;
description: "Slack template test posted";
subject: "slack-template";
}
-
Readonlytoken.chain.created: {
data: TObject<{ name: TString }>;
description: "Chain created";
subject: "chain";
}
-
Readonlytoken.chain.deleted: {
data: TObject<{ name: TString }>;
description: "Chain deleted";
subject: "chain";
}
-
Readonlytoken.chain.updated: {
data: TObject<{ name: TString }>;
description: "Chain updated";
subject: "chain";
}
-
Readonlytoken.token.created: {
data: TObject<{ name: TString }>;
description: "Token created";
subject: "token";
}
-
Readonlytoken.token.deleted: {
data: TObject<{ name: TString }>;
description: "Token deleted";
subject: "token";
}
-
Readonlytoken.token.updated: {
data: TObject<{ name: TString }>;
description: "Token updated";
subject: "token";
}
-
-
-
-
Readonlytransaction.transaction.hidden: {
data: TObject<{ transactionIds: TArray<TString> }>;
description: "Transactions hidden";
subject: "transaction-hide-group";
}
-
Readonlytransaction.transaction.unhidden: {
data: TObject<{ transactionIds: TArray<TString> }>;
description: "Transactions unhidden";
subject: "transaction-hide-group";
}
-
Readonlytransaction.transaction.updated: {
data: TObject<
{
bankId: TOptional<TString>;
customerId: TString;
transactionIds: TArray<TString>;
},
>;
description: "Transactions updated";
subject: "customer-transactions";
}
-
Readonlywithdrawal.positivePayDecision.decided: {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay decision made";
subject: "positive-pay-decision";
}
-
Readonlywithdrawal.positivePayDecision.requestConfirmed: {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay request confirmed";
subject: "positive-pay-decision";
}
-
Readonlywithdrawal.positivePayDecision.undone: {
data: TObject<
{
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"APPROVED">, TLiteral<"DENIED">],
>;
},
>;
description: "Positive pay decision undone";
subject: "positive-pay-decision";
}
-
Readonlywithdrawal.positivePayFile.resendRequested: {
data: TObject<{ workflowId: TString }>;
description: "Positive pay file resend requested";
subject: "positive-pay-file";
}
-
Readonlywithdrawal.positivePayFile.sendRequested: {
data: TObject<{ businessDate: TString }>;
description: "Positive pay file send requested";
subject: "positive-pay-run";
}
-
Readonlywithdrawal.withdrawal.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
TLiteral<"RETURNED">,
],
>;
},
>;
description: "Withdrawal status changed";
subject: "withdrawal";
}
The internal event bus taxonomy, assembled from both directions per §8.4: every
adminEventPublisher.publish(...)call site, and the consumer union inbackoffice-api/src/controllers/InternalEventSlackConsumer.ts.Two things this deliberately does NOT copy from the consumer union:
backoffice.bankTransaction.createdsends five fields against a declared{id}, andbackoffice.metcapWireTransaction.updatedsends two. TypeBoxT.Objectis open andpick()returns a non-fresh object, so neither drift was visible.See docs/proposals/EVENT_BUS.md §8.20.4.