Multi-tenant SaaS, API marketplace, metered billing

Een platform dat zichzelf verkoopt en zichzelf factureert.

Geen losse applicatie maar een tenant-based wind asset platform met self-service, API keys, usage tracking en een billing engine. Elke actie is meetbaar, herleidbaar en factureerbaar.

Tenant SaaS

1 organisatie, 1 scope

API keys

per scope, per limiet

Metered

elke call telt

Audit

100% herleidbaar

1. Multi-tenant organisaties

Elke klant krijgt een eigen tenant. Alles in het systeem hangt aan een OrganizationId.

Organization
  Id
  Name
  Type
  BillingPlanId
  Status
  Created

2. Self-service registratie

Partijen registreren zichzelf via een publiek endpoint.

POST /api/public/register
1Registreren
2E-mail verificatie
3Organisatie aanmaken
4Billing plan kiezen
5API toegang activeren
6API keys genereren

3. API keys per organisatie

Iedere API key is gebonden aan één organisatie, met eigen scopes en limieten.

ApiKey

  • Id
  • OrganizationId
  • Name
  • PublicKey
  • SecretHash
  • Status
  • AllowedScopes
  • RateLimit
  • Expires
  • Created
  • LastUsed
Authorization: Bearer sk_live_xxxxx

4. Data-isolatie

Iedere query filtert automatisch op tenant. Klant A kan nooit data van klant B zien.

WHERE OrganizationId = CurrentOrganizationId

Afgedwongen op API laag, service laag én database laag. Geen kruising mogelijk.

5. Alles billable

Elke actie wordt geclassificeerd als billable unit. Wat je niet meet, kun je niet verkopen.

API callWebhook deliveryData importSensor updateRealtime streamRapportageExportAI analyseGebruikerAssetGB opslagHistorische data

6. Usage tracking engine

Elke request wordt gelogd met de exacte kosten. Een complete kassabon per call.

ApiUsage

  • Id
  • OrganizationId
  • ApiKeyId
  • Endpoint
  • Method
  • Timestamp
  • DurationMs
  • StatusCode
  • BytesIn
  • BytesOut
  • BillableUnits
  • PricePerUnit
  • TotalAmount

7. Billing engine

Per API-call

100.000 requests voor €29, 1 miljoen voor €199

Per asset

€2 per turbine per maand

Per meetpunt

€0,001 per measurement

Per realtime stream

€25 per actieve stream

Per opslag

€0,10 per GB

8. Facturatie-model

De usage engine voedt periodiek het facturatie-model.

InvoiceInvoiceLineUsageSummarySubscriptionPaymentCreditBalance
InvoiceLine
  Description
  Quantity
  UnitPrice
  Total
  UsagePeriod

9. Developer portal

Externe partijen beheren zichzelf. Geen ticket nodig om een sleutel te draaien.

Dashboard
API Keys
Usage
Billing
Webhooks
Logs
Docs

10. Rate limiting

Misbruik wordt voorkomen door per API key configureerbare limieten.

100

requests per minuut

1.000

requests per uur

11. Audit trail

Iedere mutatie laat een spoor achter. Compliance en forensisch onderzoek worden triviaal.

AuditLog
  User
  Organization
  ApiKey
  Action
  Endpoint
  Entity
  OldValue
  NewValue
  IP
  Timestamp

12. Event-driven

Domain events maken latere uitbreidingen triviaal: AI, analytics, fraud detection, realtime dashboards, billing.

api.requestedmeasurement.receivedalert.createdinvoice.generatedsubscription.changed

Technische stack

Backend

ASP.NET Core, PostgreSQL of SQL Server, TimescaleDB, Redis, Azure Service Bus, Azure Functions.

API Gateway

Azure API Management, Kong, Traefik of Tyk voor keys, throttling, quota, logging en monetization.

Auth

OAuth2 client credentials voor servers, korte tokens voor portal sessies.

Observability

Per request audit trail, gestructureerde logs, metrics en tracing.

Wat je hier bouwt

A multi-tenant energy & asset intelligence platform with API monetization and usage-based billing.

Wat begint bij windturbines schaalt naar zonneparken, batterijen, marinas, vastgoed, IoT assets, utilities en smart cities. Dit soort platformen worden waardevol zodra de data centraal staat, anderen afhankelijk worden van jouw API en billing volledig is ingebakken.