Skip to content
Shared platform · Foundation

Common APIs

Services across the group speak a single, versioned interface contract defined schema-first and generated into every language the group uses. It is the reason a team in one company can call a service in another without a meeting, and the reason a breaking change is caught in CI rather than in production.

What it does

Inside the platform

01

Schema-first definitions

The interface is the source of truth; clients and servers are generated from it, in Go, TypeScript and Rust alike.

02

Versioning & compatibility

Compatibility checked in the pipeline, so an incompatible change fails the build rather than a customer.

03

Auth & identity conventions

One authentication and authorisation model across services, rather than a per-team interpretation of it.

04

Generated clients

No hand-written HTTP glue, and no drift between what a service promises and what a client expects.

How it fits together

The shape of the work

How we structure a line-of-business platform

Clients talk to one authenticated API surface; domain services own their data and publish events, so integrating an ERP or MES never means reaching into another service's database.

APPLICATION PLATFORMClientsWeb · MobileField & operator appsAPI & identityREST / GraphQLSSO · RBAC · auditDomain servicesWorkflow · documentsReportingData storesPostgreSQLObject storageEvent busKafka · outbox pattern · replayableERP · MES · CRMExisting systemseventsintegrationOne authenticated edge — no service is reachable directly.
Who builds on it

Used across the group

  • Every service the group runs

Ownership

A shared platform. It has no natural home in any single unit, so the group funds it centrally and the shared engineering bench maintains it. Every company and division draws on the same version.

How we decide what is shared

Building something that needs Common APIs?

Tell us the constraints and we will come back with how this platform would carry them — or say plainly if it would not.