
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@goatlab/metabase
Advanced tools
A comprehensive TypeScript wrapper for the Metabase API, providing a fluent interface for admin operations, collections, questions, dashboards, and permission management.
npm install @goatlab/metabase
# or
pnpm add @goatlab/metabase
# or
yarn add @goatlab/metabase
import { MetabaseApi } from '@goatlab/metabase'
// Initialize with session token
const api = new MetabaseApi({
baseUrl: 'https://your-metabase-instance.com',
sessionToken: 'your-session-token'
})
// Or initialize with API key (preferred for automation)
const api = new MetabaseApi({
baseUrl: 'https://your-metabase-instance.com',
apiKey: 'your-api-key'
})
// Example: Create a collection
const collectionId = await api.collections.getOrCreate({
collectionName: 'My Reports'
})
// Example: Enable embeddings
await api.admin.enableEmbeddings()
MetabaseApi.waitForMetabase() - Wait for Metabase instance to be readyMetabaseApi.createAdminUser() - Create initial admin userMetabaseApi.loginAdminUser() - Login and get session tokenapi.admin.enableEmbeddings() - Enable embedding functionalityapi.admin.deleteSampleDatabase() - Remove sample databaseapi.admin.disableOnboardingSidebar() - Hide onboarding UIapi.admin.disableTracking() - Disable analytics trackingapi.admin.addDataSource() - Add new database connectionapi.admin.enableActionsInDatasource() - Enable actions for a datasourceapi.admin.createApiKey() - Generate API keysapi.admin.getEmbeddingSecretKey() - Retrieve embedding secretapi.collections.getOrCreate() - Get or create collection by nameapi.collections.delete() - Delete a collectionapi.collections.deleteAll() - Remove all collectionsapi.questions.getOrCreate() - Get or create a questionapi.questions.getOrCreateAccounts() - Create accounts-specific questionapi.dashboards.getOrCreate() - Get or create dashboardapi.groups.create() - Create new permission groupapi.groups.getOrCreate() - Get or create group by nameapi.groups.list() - List all groupsapi.groups.disableAllDatabaseAccess() - Revoke all database permissionsapi.groups.disableAllUsersGroupDatabaseAccess() - Disable default user group accessapi.groups.grantDatabaseAccessByPrefix() - Grant access to databases by name prefixapi.groups.setDatabasePermissionsForGroup() - Set specific database permissionsapi.groups.updatePermissions() - Update group permissionsFAQs
Metabase API wrapper for TypeScript and Node.js
We found that @goatlab/metabase demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.