Skip to main content
← All capabilities
Available now

Platform capability · App SDK

Describe your app once and publish it to the platform

Register features, events, permissions, AI tools and infrastructure needs in one app declaration

The app declaration is a YAML file. It lists the app’s features, quotas, protected resources, audit event types, notification templates, events and the event topics it owns, GDPR endpoints, settings and the infrastructure it needs. Publishing checks the file and sends each part to the platform service that owns it.

Built in

What you get

  • The app declaration is a YAML file, checked against a strict, versioned definition
  • Events: an app declares the events it sends and receives, and the code that sends and delivers them is generated
  • GDPR: the app declares its endpoints for export, erasure and consent
  • Plans and features declared by the app, with overrides for each customer
  • Infrastructure: the databases, queues and storage the app needs
  • Usage reporting for metered billing
  • App runtimes for building apps on the platform: `egav-app-sdk` (Python) and `@egav/app-sdk` (TypeScript)
  • API client SDKs for calling the platform from any stack: Python, TypeScript, Go, Rust and PHP
  • Shared base classes for data models, data access and services, and an app factory
  • Shared clients for sign-in, permissions, configuration, audit and notifications
  • Unit and integration test suites for the runtime and client SDKs
  • Permission and audit catalogs are updated from the app declaration on publishing
  • The platform checks every publish, and the published catalogs can be read through the API
  • Each event has a versioned definition, referenced from the app declaration
Under the hood

How it works

One declaration file describes the app to the platform

The app declaration lists the events, protected resources, features, settings and infrastructure the app uses. Publishing checks the file and registers each part with the platform service that owns it.

A declaration with errors is rejected

App declarations are checked against a strict definition written in JSON Schema. Unknown keys are rejected, required fields must be present and a version is mandatory. A declaration with errors cannot be published to production.

Shared base classes and service clients

The base model gives each record an ID, timestamps, soft delete and audit fields. The base data-access class gives you lists with search, paging and sorting, plus get, create, update, soft delete and restore. The base service gives you transaction handling, rate limiting and logging. The client libraries for sign-in, permissions, configuration, audit and notifications handle the calls between services. You build on these and do not write them again.

Want a deeper walkthrough of App SDK?

A solution architect will demo the live service against your domain model.

Get a deployment assessment