# epilot dev center > Developer documentation for epilot, the energy XRM: a cloud-native SaaS platform for energy suppliers, grid operators and service providers in the German energy market. Covers the REST APIs, TypeScript SDK, CLI, Apps and every platform capability. epilot is a cloud-native SaaS platform (energy XRM) designed for energy suppliers and service providers in the German energy market. The platform provides: - **Entity Management**: Flexible data modeling with schemas for contacts, products, orders, opportunities, and custom entities - **Journey Builder**: Visual designer for customer onboarding journeys, self-service portals, and multi-step forms - **Workflow Engine**: Configurable workflows for business process automation with task management and SLA tracking - **Automation Engine**: Rule-based automation for entity mapping, document generation, and integrations - **Portal Framework**: Customer (ECP) and installer portals with granular permissions and self-service capabilities - **Messaging Hub**: Centralized email and messaging with templates and shared inboxes - **Integration Toolkit**: Pre-built connectors for SAP, Wilken, and other ERP/billing systems - **REST APIs & SDK**: Comprehensive APIs for all platform capabilities with TypeScript SDK - **Document Generation**: Template-based document creation with variable support - **Pricing & Product Catalog**: Flexible product management with tiered pricing and availability rules - **AI Features**: AI-powered copilot for entity management, messaging, and workflow automation - **Apps & Marketplace**: Extensibility platform for third-party and custom applications This documentation covers all aspects of the epilot platform for developers, administrators, and integration partners. ## Instructions for LLM agents - Every documentation page is available as raw markdown by appending `.md` to its URL without the trailing slash (e.g. `https://docs.epilot.io/docs/intro.md`). The links below point at those markdown versions. Prefer them over the HTML pages. - The complete documentation in a single file: https://docs.epilot.io/llms-full.txt. Smaller per-section files are listed under "Documentation sets". - REST API contracts are published as raw OpenAPI specs (see the APIs section below). Use the spec, not the HTML API reference pages, which render client-side. - Official TypeScript SDK: `@epilot/sdk` on npm, plus per-API clients (e.g. `@epilot/entity-client`, `@epilot/pricing-client`). Check the npm registry for current versions instead of relying on memorized ones. ## APIs - [Access Token API](https://docs.api.epilot.io/access-token.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/access-token/ - [User API](https://docs.api.epilot.io/user.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/user/ - [Organization API](https://docs.api.epilot.io/organization-v2.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/organization/ - [Entity API](https://docs.api.epilot.io/entity.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/entity/ - [Purpose API](https://docs.api.epilot.io/purpose.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/purpose/ - [Batch API](https://docs.api.epilot.io/batch.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/batch/ - [Submission API](https://docs.api.epilot.io/submission-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/submission/ - [Pricing API](https://docs.api.epilot.io/pricing-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/pricing/ - [Dashboard API](https://docs.api.epilot.io/dashboard.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/dashboard/ - [Query API](https://docs.api.epilot.io/query.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/query/ - [Webhooks API](https://docs.api.epilot.io/webhooks.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/webhooks/ - [Permissions API](https://docs.api.epilot.io/permissions.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/permissions/ - [Email Settings API](https://docs.api.epilot.io/email-settings.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/email-settings/ - [Message API](https://docs.api.epilot.io/message.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/message/ - [File API](https://docs.api.epilot.io/file.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/file/ - [Journey API](https://docs.api.epilot.io/journey-config.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/journey/ - [Address Suggestions API](https://docs.api.epilot.io/address-suggestions-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/address-suggestions/ - [Document API](https://docs.api.epilot.io/document.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/document/ - [Automation API](https://docs.api.epilot.io/automation.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/automation/ - [Entity Mapping API](https://docs.api.epilot.io/entity-mapping-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/entity-mapping/ - [Template Variables API](https://docs.api.epilot.io/template-variables.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/template-variables/ - [Portal API](https://docs.api.epilot.io/customer-portal.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/customer-portal/ - [Metering API](https://docs.api.epilot.io/metering.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/metering/ - [Billing API](https://docs.api.epilot.io/billing.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/billing/ - [Email Template API](https://docs.api.epilot.io/email-template.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/email-template/ - [Workflow Definition API](https://docs.api.epilot.io/workflows-definition.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/workflow-definition/ - [Workflow Execution API](https://docs.api.epilot.io/workflows-execution.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/workflow-execution/ - [Notes API](https://docs.api.epilot.io/notes.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/notes/ - [Consent API](https://docs.api.epilot.io/consent.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/consent/ - [Partner API](https://docs.api.epilot.io/partner-directory-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/partner/ - [Notification API](https://docs.api.epilot.io/svc-notification-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/notification/ - [Blueprint Manifest API](https://docs.api.epilot.io/blueprint-manifest.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/blueprints/ - [Snapshot API](https://docs.api.epilot.io/snapshot-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/snapshot/ - [Design API](https://docs.api.epilot.io/design-builder-api.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/design/ - [Product API](https://docs.api.epilot.io/product.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/product/ - [Customer API](https://docs.api.epilot.io/customer.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/customer/ - [Opportunity API](https://docs.api.epilot.io/opportunity.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/opportunity/ - [Order API](https://docs.api.epilot.io/order.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/order/ - [Kanban API](https://docs.api.epilot.io/kanban.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/kanban/ - [Validation Rules API](https://docs.api.epilot.io/validation-rules.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/validation-rules/ - [Integration Toolkit API](https://docs.api.epilot.io/erp-integration.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/erp-integration/ - [Environments API](https://docs.api.epilot.io/environments.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/environments/ - [Event Catalog API](https://docs.api.epilot.io/event-catalog.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/event-catalog/ - [Targeting API](https://docs.api.epilot.io/targeting.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/targeting/ - [App API](https://docs.api.epilot.io/app.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/app/ - [Audit Log API](https://docs.api.epilot.io/audit-log.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/audit-logs/ - [Data Governance API](https://docs.api.epilot.io/data-governance.yaml): OpenAPI spec. Human-readable reference: https://docs.epilot.io/api/data-governance/ ## Overview - [Overview](https://docs.epilot.io/docs/intro.md): Developer documentation for epilot, the energy XRM: architecture, entities, authentication, automation, journeys, portals, integrations, APIs and SDK. ## Apps - [Overview](https://docs.epilot.io/docs/apps.md): Build Apps that extend epilot — custom UI in entity pages, journeys and portals, plus server-side functions for flows. - [App Manifest](https://docs.epilot.io/docs/apps/app-manifest.md): manifest.json is the declarative source of truth for your entire app. It lives in the root of your app repository, is updated by the CLI, and every epilot app deploy syncs the platform to exactly what it declares — components and functions not in the manifest are removed from the deployed version. - [App Options](https://docs.epilot.io/docs/apps/app-options.md): App Options are the settings an organization fills in when installing your app — API URLs, feature toggles, credentials. You declare them once, at the top level of the manifest, and every part of your app reads from the same set of values: components, functions, the API Proxy and Portal Extension hooks. - [App Surfaces](https://docs.epilot.io/docs/apps/app-surfaces.md): App Surfaces are specific locations within the epilot platform where your custom app can be embedded. Each surface type provides a different context and set of capabilities, allowing you to extend epilot's functionality in targeted ways. - [App CLI](https://docs.epilot.io/docs/apps/cli.md): The epilot CLI is the primary way to build, validate and deploy apps. Everything it does is driven by your manifest.json — commands scaffold code, keep the manifest in sync, and push the result to the platform. - [API Proxy](https://docs.epilot.io/docs/apps/components/api-proxy.md): API Proxy components let your app call external APIs without exposing credentials to the browser. The proxy runs server-side — API keys, OAuth tokens, and secrets never reach the client. - [Custom Workflow Action](https://docs.epilot.io/docs/apps/components/custom-action.md): Extend epilot's automation capabilities with custom actions that integrate seamlessly into the platform's workflow engine. - [Journey Blocks](https://docs.epilot.io/docs/apps/components/custom-journey-block.md): Create custom interactive components for epilot's Journey Builder - [Custom Page](https://docs.epilot.io/docs/apps/components/custom-page.md): Add full, standalone pages to the epilot 360 portal with your own routes, navigation items, and sub-page support. - [External Product Catalog](https://docs.epilot.io/docs/apps/components/external-product-catalog.md): Integrate an external product catalog with epilot by adding an External Product Catalog component to your App and configuring its hooks in the component editor. - [Overview](https://docs.epilot.io/docs/apps/components/overview.md): Components are the building blocks of every epilot App. Each component type extends a specific part of the platform, such as entity pages, journeys, portals or flows. - [Portal Extensions](https://docs.epilot.io/docs/apps/components/portal-extension.md): Extend epilot portals with custom functionality and third-party integrations, from seamless links to hooks for data retrieval, validation and export. - [Permissions](https://docs.epilot.io/docs/apps/configure-permissions.md): Learn how to configure permissions your App requires to function properly. When building an app for the epilot platform, you may need to request specific permissions to access certain features or data. This guide will help you understand how to configure these permissions effectively. - [Development Mode](https://docs.epilot.io/docs/apps/development-mode.md): Learn how to run the App in development now to get changes reflected live. - [Deploying & Updating](https://docs.epilot.io/docs/apps/functions/deploy-and-update.md): Add, deploy and update App functions with the epilot CLI: scaffold workflow or scheduled functions, deploy them and learn how updates reach installations. - [Overview](https://docs.epilot.io/docs/apps/functions/overview.md): Functions are server-side JavaScript that runs inside epilot — no infrastructure of your own, no exposed endpoints, no credentials in the browser. You write a handler, declare it in your app's manifest, deploy with the CLI, and epilot executes it in a secured sandbox on your behalf. - [Scheduled Functions](https://docs.epilot.io/docs/apps/functions/scheduled-functions.md): A function with type: "scheduled" runs automatically on a cron schedule — once per installation. If ten organizations install your app, your function runs ten times per tick, each run isolated to one organization's data, options and permissions. - [Workflow Functions](https://docs.epilot.io/docs/apps/functions/workflow-functions.md): A function with type a CUSTOMFLOWACTION component is the org-facing contract — its name appears in the flow builder's action picker, it carries the optional per-flow config UI — and its configuration references the function that runs: - [Writing Functions](https://docs.epilot.io/docs/apps/functions/writing-functions.md): Every function is a single JavaScript file that declares a top-level handler: - [Developer Sandbox](https://docs.epilot.io/docs/apps/getting-started/developer-sandbox.md): Your safe space to experiment, build, and perfect your epilot App - [Private vs. Public Apps](https://docs.epilot.io/docs/apps/getting-started/private-vs-public.md): Understanding the difference between private and public apps on epilot - [Quick Start](https://docs.epilot.io/docs/apps/getting-started/quick-start.md): Your journey from developer account to published app - [How to build a custom Journey block](https://docs.epilot.io/docs/apps/how-to-guides/build-a-custom-jb.md): Step-by-step guide to building a custom Journey block as an epilot App: a block that shows the address entered in the journey as a marker on an OpenStreetMap map. - [Publishing Requirements](https://docs.epilot.io/docs/apps/publishing/requirements.md): Detailed publishing requirements are being finalized. Check back soon for the complete guide. - [Verification Process](https://docs.epilot.io/docs/apps/publishing/verification-process.md): The verification process is a critical step in the app development lifecycle. It ensures that your app meets the quality and security standards required for public release on the epilot platform. This guide outlines the steps you'll take to request a review and prepare your app for the marketplace. - [Versioning](https://docs.epilot.io/docs/apps/versioning.md): Learn how to clone the version of an epilot app. ## Agent Toolkit & MCP - [Overview](https://docs.epilot.io/docs/agent-toolkit.md): The Agent Toolkit for epilot: the epilot plugin (skills) and the epilot MCP server, and when to use which. - [MCP server reference](https://docs.epilot.io/docs/agent-toolkit/mcp-server.md): Every tool exposed by the epilot MCP server at mcp.epilot.io, with access requirements and example prompts, plus how the server handles your data. - [Setup](https://docs.epilot.io/docs/agent-toolkit/setup.md): Install the epilot plugin or connect the epilot MCP server in Claude, ChatGPT, Codex, and other MCP clients, including the administrator steps. ## Architecture - [API First](https://docs.epilot.io/docs/architecture/api-first.md): As a core engineering principle, epilot designs API contracts before implementation. - [Continuous Delivery](https://docs.epilot.io/docs/architecture/continuous-delivery.md): epilot ships over 200 production deployments per week using trunk-based development and automated pipelines. Every merge to main triggers a deployment through staging to production, gated by end-to-end tests. - [Design System](https://docs.epilot.io/docs/architecture/design-system.md): Volt UI is epilot's design system — a tree-shakeable component library for React built on Radix UI primitives and Tailwind CSS v4. - [Microfrontends](https://docs.epilot.io/docs/architecture/microfrontends.md): The epilot 360 portal consists of multiple frontend microservices orchestrated by single-spa. - [Open Source](https://docs.epilot.io/docs/architecture/open-source.md): epilot builds on open source and actively gives back. Our product codebase depends on millions of lines of open source code, and we contribute tools, libraries, and SDKs to the community under permissive licenses. - [Tech Stack & Architecture](https://docs.epilot.io/docs/architecture/overview.md): epilot is a multi-tenant SaaS platform for energy suppliers, municipal utilities, grid operators, and solution providers. It provides a 360° energy XRM (extended relationship management) to digitize sales, service, and grid processes end-to-end. - [Serverless](https://docs.epilot.io/docs/architecture/serverless.md): epilot runs on serverless architecture: fully managed, self-scaling cloud services instead of self-managed containers or virtual machines. ## SDK - [Client Usage](https://docs.epilot.io/docs/sdk/client-usage.md): The SDK gives you three ways to call epilot APIs, from simplest to most flexible. - [Access Token API](https://docs.epilot.io/docs/sdk/clients/access-token.md): TypeScript SDK client for the epilot Access Token API: usage with @epilot/sdk, all operations and schemas. - [Address API](https://docs.epilot.io/docs/sdk/clients/address.md): TypeScript SDK client for the epilot Address API: usage with @epilot/sdk, all operations and schemas. - [Address Suggestions API](https://docs.epilot.io/docs/sdk/clients/address-suggestions.md): TypeScript SDK client for the epilot Address Suggestions API: usage with @epilot/sdk, all operations and schemas. - [AI Agents API - OpenAPI 3.0](https://docs.epilot.io/docs/sdk/clients/ai-agents.md): TypeScript SDK client for the epilot AI Agents API - OpenAPI 3.0: usage with @epilot/sdk, all operations and schemas. - [App API](https://docs.epilot.io/docs/sdk/clients/app.md): TypeScript SDK client for the epilot App API: usage with @epilot/sdk, all operations and schemas. - [Audit Log](https://docs.epilot.io/docs/sdk/clients/audit-logs.md): TypeScript SDK client for the epilot Audit Log: usage with @epilot/sdk, all operations and schemas. - [Automation API](https://docs.epilot.io/docs/sdk/clients/automation.md): TypeScript SDK client for the epilot Automation API: usage with @epilot/sdk, all operations and schemas. - [Billing API](https://docs.epilot.io/docs/sdk/clients/billing.md): TypeScript SDK client for the epilot Billing API: usage with @epilot/sdk, all operations and schemas. - [Blueprint Manifest API](https://docs.epilot.io/docs/sdk/clients/blueprint-manifest.md): TypeScript SDK client for the epilot Blueprint Manifest API: usage with @epilot/sdk, all operations and schemas. - [Consent API](https://docs.epilot.io/docs/sdk/clients/consent.md): TypeScript SDK client for the epilot Consent API: usage with @epilot/sdk, all operations and schemas. - [Portal API](https://docs.epilot.io/docs/sdk/clients/customer-portal.md): TypeScript SDK client for the epilot Portal API: usage with @epilot/sdk, all operations and schemas. - [Dashboard API](https://docs.epilot.io/docs/sdk/clients/dashboard.md): TypeScript SDK client for the epilot Dashboard API: usage with @epilot/sdk, all operations and schemas. - [Data Governance API](https://docs.epilot.io/docs/sdk/clients/data-governance.md): TypeScript SDK client for the epilot Data Governance API: usage with @epilot/sdk, all operations and schemas. - [Deduplication API](https://docs.epilot.io/docs/sdk/clients/deduplication.md): TypeScript SDK client for the epilot Deduplication API: usage with @epilot/sdk, all operations and schemas. - [Design Builder API v2](https://docs.epilot.io/docs/sdk/clients/design.md): TypeScript SDK client for the epilot Design Builder API v2: usage with @epilot/sdk, all operations and schemas. - [Document API](https://docs.epilot.io/docs/sdk/clients/document.md): TypeScript SDK client for the epilot Document API: usage with @epilot/sdk, all operations and schemas. - [Messaging Settings API](https://docs.epilot.io/docs/sdk/clients/email-settings.md): TypeScript SDK client for the epilot Messaging Settings API: usage with @epilot/sdk, all operations and schemas. - [Email template API](https://docs.epilot.io/docs/sdk/clients/email-template.md): TypeScript SDK client for the epilot Email template API: usage with @epilot/sdk, all operations and schemas. - [Entity API](https://docs.epilot.io/docs/sdk/clients/entity.md): TypeScript SDK client for the epilot Entity API: usage with @epilot/sdk, all operations and schemas. - [Entity Mapping API](https://docs.epilot.io/docs/sdk/clients/entity-mapping.md): TypeScript SDK client for the epilot Entity Mapping API: usage with @epilot/sdk, all operations and schemas. - [Environments API](https://docs.epilot.io/docs/sdk/clients/environments.md): TypeScript SDK client for the epilot Environments API: usage with @epilot/sdk, all operations and schemas. - [ERP Integration API](https://docs.epilot.io/docs/sdk/clients/erp-integration.md): TypeScript SDK client for the epilot ERP Integration API: usage with @epilot/sdk, all operations and schemas. - [ Event Catalog API](https://docs.epilot.io/docs/sdk/clients/event-catalog.md): TypeScript SDK client for the epilot Event Catalog API: usage with @epilot/sdk, all operations and schemas. - [File API](https://docs.epilot.io/docs/sdk/clients/file.md): TypeScript SDK client for the epilot File API: usage with @epilot/sdk, all operations and schemas. - [Iban API](https://docs.epilot.io/docs/sdk/clients/iban.md): TypeScript SDK client for the epilot Iban API: usage with @epilot/sdk, all operations and schemas. - [Journey API](https://docs.epilot.io/docs/sdk/clients/journey.md): TypeScript SDK client for the epilot Journey API: usage with @epilot/sdk, all operations and schemas. - [Kanban API](https://docs.epilot.io/docs/sdk/clients/kanban.md): TypeScript SDK client for the epilot Kanban API: usage with @epilot/sdk, all operations and schemas. - [Message API](https://docs.epilot.io/docs/sdk/clients/message.md): TypeScript SDK client for the epilot Message API: usage with @epilot/sdk, all operations and schemas. - [Metering API](https://docs.epilot.io/docs/sdk/clients/metering.md): TypeScript SDK client for the epilot Metering API: usage with @epilot/sdk, all operations and schemas. - [Notes API](https://docs.epilot.io/docs/sdk/clients/notes.md): TypeScript SDK client for the epilot Notes API: usage with @epilot/sdk, all operations and schemas. - [Notification API](https://docs.epilot.io/docs/sdk/clients/notification.md): TypeScript SDK client for the epilot Notification API: usage with @epilot/sdk, all operations and schemas. - [Organization API](https://docs.epilot.io/docs/sdk/clients/organization.md): TypeScript SDK client for the epilot Organization API: usage with @epilot/sdk, all operations and schemas. - [Partner Directory API](https://docs.epilot.io/docs/sdk/clients/partner-directory.md): TypeScript SDK client for the epilot Partner Directory API: usage with @epilot/sdk, all operations and schemas. - [Permissions API](https://docs.epilot.io/docs/sdk/clients/permissions.md): TypeScript SDK client for the epilot Permissions API: usage with @epilot/sdk, all operations and schemas. - [Pricing API](https://docs.epilot.io/docs/sdk/clients/pricing.md): TypeScript SDK client for the epilot Pricing API: usage with @epilot/sdk, all operations and schemas. - [Pricing Tier API](https://docs.epilot.io/docs/sdk/clients/pricing-tier.md): TypeScript SDK client for the epilot Pricing Tier API: usage with @epilot/sdk, all operations and schemas. - [Purpose API](https://docs.epilot.io/docs/sdk/clients/purpose.md): TypeScript SDK client for the epilot Purpose API: usage with @epilot/sdk, all operations and schemas. - [Sandbox API](https://docs.epilot.io/docs/sdk/clients/sandbox.md): TypeScript SDK client for the epilot Sandbox API: usage with @epilot/sdk, all operations and schemas. - [Submission API](https://docs.epilot.io/docs/sdk/clients/submission.md): TypeScript SDK client for the epilot Submission API: usage with @epilot/sdk, all operations and schemas. - [Targeting API](https://docs.epilot.io/docs/sdk/clients/targeting.md): TypeScript SDK client for the epilot Targeting API: usage with @epilot/sdk, all operations and schemas. - [Template Variables API](https://docs.epilot.io/docs/sdk/clients/template-variables.md): TypeScript SDK client for the epilot Template Variables API: usage with @epilot/sdk, all operations and schemas. - [User API](https://docs.epilot.io/docs/sdk/clients/user.md): TypeScript SDK client for the epilot User API: usage with @epilot/sdk, all operations and schemas. - [Validation Rules API](https://docs.epilot.io/docs/sdk/clients/validation-rules.md): TypeScript SDK client for the epilot Validation Rules API: usage with @epilot/sdk, all operations and schemas. - [Webhooks](https://docs.epilot.io/docs/sdk/clients/webhooks.md): TypeScript SDK client for the epilot Webhooks: usage with @epilot/sdk, all operations and schemas. - [Workflows Executions](https://docs.epilot.io/docs/sdk/clients/workflow.md): TypeScript SDK client for the epilot Workflows Executions: usage with @epilot/sdk, all operations and schemas. - [Workflows Definitions](https://docs.epilot.io/docs/sdk/clients/workflow-definition.md): TypeScript SDK client for the epilot Workflows Definitions: usage with @epilot/sdk, all operations and schemas. - [Built-in Middleware](https://docs.epilot.io/docs/sdk/large-response.md): The SDK includes middleware that handles common production concerns automatically. Both features are enabled by default. No configuration needed for most use cases. - [Overrides & Custom APIs](https://docs.epilot.io/docs/sdk/overrides.md): Override built-in API specs or register entirely new APIs via .epilot/sdk-overrides.json. Get updated types and operations immediately, without waiting for an SDK release. - [Overview](https://docs.epilot.io/docs/sdk/overview.md): @epilot/sdk is the official TypeScript SDK for epilot: one package with 30+ fully typed API clients. Install it, get started and import only the clients you need. - [Types](https://docs.epilot.io/docs/sdk/types.md): Every API client exports TypeScript types generated directly from its OpenAPI spec. No manual type definitions to maintain. Types are always in sync with the API. ## AI - [AI in epilot](https://docs.epilot.io/docs/ai/overview.md): epilot embeds AI directly into the workflows energy companies use every day -- messaging, entity management, search, and process automation. Rather than a standalone chatbot, every AI feature operates within existing platform screens, augmenting the work users already do. ## Auth & Security - [Access Tokens](https://docs.epilot.io/docs/auth/access-tokens.md): Authorize epilot API calls with Access Tokens: create, restrict (read-only or anonymized), use and revoke tokens for integrations and scripts. - [PII Anonymization](https://docs.epilot.io/docs/auth/anonymization.md): epilot can mask personal data (PII) in API responses so AI assistants, analytics and integrations get the shape and relations of your data without personal identifiers. - [Authentication](https://docs.epilot.io/docs/auth/authentication.md): epilot APIs use bearer tokens for authentication. All requests must include a valid token in the Authorization header: - [Authorization](https://docs.epilot.io/docs/auth/authorization.md): The epilot application uses standard OAuth 2.0 tokens (JWT) for authorization. - [Grant Actions Reference](https://docs.epilot.io/docs/auth/grant-actions.md): Complete reference of all permission grant actions supported by the epilot permissions system. See Permissions for concepts and evaluation rules. - [Multi-Factor Authentication](https://docs.epilot.io/docs/auth/mfa.md): MFA adds a second verification step after password login, significantly reducing the risk of account compromise from stolen credentials. - [Passkeys (WebAuthn)](https://docs.epilot.io/docs/auth/passkeys.md): Passkeys allow users to sign in to epilot 360 using biometrics (fingerprint, face recognition) or hardware security keys, with no password or OTP required. epilot's passkey support is built on the FIDO2 / WebAuthn standard. - [Passwordless Login](https://docs.epilot.io/docs/auth/passwordless.md): Passwordless login removes the need for a password entirely. Users authenticate via a secure sign-in link or one-time code sent to their email address. - [Permissions](https://docs.epilot.io/docs/auth/permissions.md): epilot permissions use role-based access control (RBAC) with attribute-based conditions, inspired by AWS IAM policies, for fine-grained control by role, resource and attribute. - [Security Architecture](https://docs.epilot.io/docs/auth/security.md): epilot runs on AWS with security enforced at every layer: multi-tenant isolation, authentication, authorization, encryption, and API protection. - [Token Types](https://docs.epilot.io/docs/auth/token-types.md): epilot uses three token types for authentication. Choose the right one for your integration: ## Entities - [Attributes](https://docs.epilot.io/docs/entities/attributes.md): Attributes are the fields of an entity schema. Each one appears as a table column and as an editable field in the entity detail view. Reference of attribute types and properties. - [Capabilities](https://docs.epilot.io/docs/entities/capabilities.md): Capabilities extend entity views with extra functionality, such as tabs, attribute groups or action buttons, defined on a schema through UI hooks. - [Changesets & Edit Modes](https://docs.epilot.io/docs/entities/changesets.md): Configurable attribute edit modes for pending updates that wait for ERP confirmation or human approval - [Core Entities](https://docs.epilot.io/docs/entities/core-entities.md): epilot ships with a set of built-in entity schemas that model common business objects. This page lists all core schemas with their descriptions, relationship diagram, and links to API docs. - [Entity API](https://docs.epilot.io/docs/entities/entity-api.md): The Entity API is the primary data layer for epilot business objects, with sub-APIs for schemas, CRUD, search, relations and activity. - [Entity Tables](https://docs.epilot.io/docs/entities/entity-tables.md): Entity tables list the entities of a schema with full-text search, attribute filters, sorting, saved views and bulk import and export. - [Flexible Entities](https://docs.epilot.io/docs/entities/flexible-entities.md): Everything in epilot is an entity: contacts, orders, products, contracts, meters, files and more. Entities are flexible JSON objects backed by user-definable schemas. - [Relations](https://docs.epilot.io/docs/entities/relations.md): Relations link entities to each other across epilot, regardless of schema. Covers the relation data structure, references, hydration and relation attributes. - [Taxonomies](https://docs.epilot.io/docs/entities/taxonomies.md): Taxonomies are epilot's labeling and classification system for entities, relations and files, managed through the Label Builder. ## Data Governance - [Overview](https://docs.epilot.io/docs/data-governance/overview.md): The Data Governance module provides automated and manual contact deletion based on configurable policies. Define which contacts qualify for deletion using saved views and advanced filters, schedule recurring cleanup jobs, or trigger one-off deletions on demand. ## Environments & Secrets - [Environments & Secrets](https://docs.epilot.io/docs/environments/environments-secrets.md): Environments & Secrets is an organization-level key-value store for configuration and credentials that you reference anywhere with {{ env.variable_key }} syntax. ## Journeys - [Content-Security-Policy (CSP)](https://docs.epilot.io/docs/journeys/content-security-policy.md): Content Security Policy (CSP) is a feature that helps to prevent or minimize the risk of certain types of security threats. It consists of a series of instructions from a website to a browser, which instruct the browser to place restrictions on the things that the code comprising the site is allowed to do. Read more - [Custom CSS](https://docs.epilot.io/docs/journeys/custom-css.md): Custom CSS lets you style journeys beyond the standard Design Builder settings. Override design tokens, target specific components, and match your exact brand requirements. - [Design Builder](https://docs.epilot.io/docs/journeys/design-builder.md): The Design Builder is the visual theming tool in epilot for customizing the look and feel of customer-facing journeys. It lets you configure brand colors, typography, logos, component-level design tokens, and more — all without writing code. For advanced styling, you can also write Custom CSS directly within the Design Builder. - [Embedding Journeys](https://docs.epilot.io/docs/journeys/embedding.md): Embed any epilot journey on your website using a script tag. The embed script loads the journey by its ID and renders it in an iframe on your page. - [Integrating GIS Data](https://docs.epilot.io/docs/journeys/integrate-gis-data.md): Address suggestion files are typically uploaded through the Journey Builder UI, but you can automate this process using the epilot APIs. This guide covers programmatic integration of GIS (Geo Information System) data — uploading address CSV files and attaching them to journeys for address autocomplete functionality. - [Journey Builder](https://docs.epilot.io/docs/journeys/journey-builder.md): The Journey Builder is a WYSIWYG editor for creating end-customer and partner journeys from steps and blocks, and for embedding them and handling submissions. - [Journey Launcher](https://docs.epilot.io/docs/journeys/journey-launcher.md): The Journey Launcher allows journeys to share a common start screen. When embedded in a client web page, the journey launcher allows the user to select from various journeys shown as tabs. The first step of each journey is shown whenever the corresponding journey tab is selected. - [Post Qualification Journey](https://docs.epilot.io/docs/journeys/post-qualification.md): A post-qualification journey collects additional information about a lead captured by another journey, via a link sent to the contact by email. - [Journey Embed SDK](https://docs.epilot.io/docs/journeys/sdk.md): The Journey Embed SDK is a chainable JavaScript API for rendering epilot Journeys. One SDK, two backends: - [Submissions](https://docs.epilot.io/docs/journeys/submissions.md): Submissions are entities that store raw data collected from journeys or other external sources, created through the Submission API. - [Web Components](https://docs.epilot.io/docs/journeys/web-components.md): Web Components allow you to embed epilot Journeys directly into your website as native custom HTML elements. Unlike iframes, Web Components run within the page itself using the Shadow DOM, which keeps styles and scripts encapsulated while offering faster performance, better accessibility, and tighter integration with your host application. ## UI Design - [Concorde Design tokens](https://docs.epilot.io/docs/ui-design/concorde-design-tokens.md): Reference of Concorde design tokens: the CSS variables for colors, typography, shadows, layout and blocks that style epilot Journeys built with the open-source Concorde library. - [Concorde HTML Layout Overview](https://docs.epilot.io/docs/ui-design/concorde-html-structure.md): Concorde HTML Layout Overview: Maintained Classes & ID format