Reference
TypeScript Types
Every type is exported from Finmarks. You can import them alongside the query functions, or import types only for annotation without shipping any runtime code.
import type {
Entity,
EntityIndex,
Category,
CategoryInfo,
LogoVariant,
LogoUrls,
Regulator,
EntityStatus,
CountryCode,
SearchOptions,
FilterOptions,
} from '@finmarks/finmarks';Entity
The core record for a fintech entity.
interface Entity {
// Required fields
id: string;
name: string;
short_name: string;
categories: Category[];
brand_color: string;
country: CountryCode;
status: EntityStatus;
logos: LogoUrls;
// Optional fields — omitted entirely when empty
legal_name?: string;
founded?: number;
regulated_by?: Regulator[];
ifsc_prefix?: string;
upi_handles?: string[];
fip_id?: string | null;
fiu_id?: string | null;
aa_id?: string | null;
website?: string;
acquired_by?: string;
tags?: string[];
}Optional fields are omitted entirely when empty, so
'ifsc_prefix' in entityis a meaningful check. Nullable identifiers (fip_id,fiu_id) usenullto signal "checked but unverified" vs. absent meaning "nobody has looked".
LogoUrls
type LogoUrls = Partial<Record<LogoVariant, string>>;
type LogoVariant =
| 'full'
| 'icon'
| 'mono_dark'
| 'mono_light';EntityStatus
type EntityStatus = 'active' | 'acquired' | 'defunct' | 'rebranded';CountryCode / Regulator
type CountryCode = 'IN' | 'US' | 'GB' | 'SG' | 'AE';
type Regulator =
| 'RBI' | 'SEBI' | 'IRDAI' | 'NPCI'
| 'PFRDA' | 'IFSCA' | 'MCA' | 'None';FilterOptions / SearchOptions
interface FilterOptions {
includeInactive?: boolean; // default true
}
interface SearchOptions extends FilterOptions {
limit?: number;
categories?: Category | Category[];
}