Skip to main content

epilot SDK

[GitHub] [npm]

tip

Every epilot API ships with a typed TypeScript client. Full types and IntelliSense out of the box.

info

Not using TypeScript? All epilot APIs are published with standard OpenAPI definitions. You can generate a typed client in any language using tools like openapi-generator, Speakeasy, or Kiota.

Install​

npm i @epilot/sdk axios openapi-client-axios

@epilot/sdk is the official TypeScript SDK for the epilot platform. One package, 30+ API clients, full type safety.

  • Typed operations: every endpoint has typed params and responses, generated from OpenAPI specs
  • Tree-shakeable: import only the APIs you use; unused clients never touch your bundle
  • Lazy-loaded: API specs are loaded on first use, not at import time
  • Batteries included: automatic retries, large response handling, and auth management out of the box
  • Just an axios client: every client is a standard axios instance with typed methods from openapi-client-axios. Interceptors, defaults, and all other axios features work as expected.

Quick start​

import { epilot } from '@epilot/sdk'

// Authorize once, all clients pick up the token
epilot.authorize(() => '<my-bearer-token>')

// Call any API with full type safety and auto-complete
const { data: entity } = await epilot.entity.createEntity(
{ slug: 'contact' },
{ first_name: 'John', last_name: 'Doe' },
)

const { data: file } = await epilot.file.getFile({ id: 'file-123' })

const { data: executions } = await epilot.workflow.getExecutions()

Each operation is forwarded to a lazy singleton. The spec is loaded and the client initialized on first use, then cached.

Only import what you need​

For smaller bundles, use tree-shakeable subpath imports:

import { entity, authorize } from '@epilot/sdk/entity'

authorize(entity, () => '<my-bearer-token>')
const { data } = await entity.getEntity({ slug: 'contact', id: '123' })

See Client Usage for all import patterns.

Available APIs​

APIImportReference
epilot.accessToken@epilot/sdk/access-tokenSDK · API
epilot.addressSuggestions@epilot/sdk/address-suggestionsSDK · API
epilot.app@epilot/sdk/appSDK · API
epilot.auditLogs@epilot/sdk/audit-logsSDK · API
epilot.automation@epilot/sdk/automationSDK · API
epilot.billing@epilot/sdk/billingSDK · API
epilot.blueprintManifest@epilot/sdk/blueprint-manifestSDK · API
epilot.consent@epilot/sdk/consentSDK · API
epilot.customerPortal@epilot/sdk/customer-portalSDK · API
epilot.dashboard@epilot/sdk/dashboardSDK · API
epilot.design@epilot/sdk/designSDK · API
epilot.document@epilot/sdk/documentSDK · API
epilot.emailSettings@epilot/sdk/email-settingsSDK · API
epilot.emailTemplate@epilot/sdk/email-templateSDK · API
epilot.entity@epilot/sdk/entitySDK · API
epilot.entityMapping@epilot/sdk/entity-mappingSDK · API
epilot.environments@epilot/sdk/environmentsSDK · API
epilot.erpIntegration@epilot/sdk/erp-integrationSDK · API
epilot.eventCatalog@epilot/sdk/event-catalogSDK · API
epilot.file@epilot/sdk/fileSDK · API
epilot.journey@epilot/sdk/journeySDK · API
epilot.kanban@epilot/sdk/kanbanSDK · API
epilot.message@epilot/sdk/messageSDK · API
epilot.metering@epilot/sdk/meteringSDK · API
epilot.notes@epilot/sdk/notesSDK · API
epilot.notification@epilot/sdk/notificationSDK · API
epilot.organization@epilot/sdk/organizationSDK · API
epilot.partnerDirectory@epilot/sdk/partner-directorySDK · API
epilot.permissions@epilot/sdk/permissionsSDK · API
epilot.pricing@epilot/sdk/pricingSDK · API
epilot.purpose@epilot/sdk/purposeSDK · API
epilot.submission@epilot/sdk/submissionSDK · API
epilot.targeting@epilot/sdk/targetingSDK · API
epilot.templateVariables@epilot/sdk/template-variablesSDK · API
epilot.user@epilot/sdk/userSDK · API
epilot.validationRules@epilot/sdk/validation-rulesSDK · API
epilot.webhooks@epilot/sdk/webhooksSDK · API
epilot.workflow@epilot/sdk/workflowSDK · API
epilot.workflowDefinition@epilot/sdk/workflow-definitionSDK · API