SDKs and APIs

SAPL provides multiple ways to connect applications to a Policy Decision Point (PDP).

APIs

  • HTTP and RSocket API: Network APIs for any programming language. HTTP uses JSON over REST; RSocket uses protobuf over persistent TCP or Unix domain sockets for high-throughput workloads. Both offer the same five operations.
  • Java API: A reactive API based on Project Reactor for embedding a PDP directly in Java applications or connecting to a remote PDP server via HTTP or RSocket.

Framework SDKs

  • Spring: Annotation-driven and filter-based authorization for Spring Security and Spring WebFlux.
  • NestJS: Guards and decorators for NestJS applications.
  • Django: Decorators for Django views and services.
  • Flask: Decorators for Flask routes and services.
  • FastAPI: Decorators for FastAPI endpoints with async and streaming support.
  • Tornado: Decorators for Tornado handlers with async and streaming support.
  • FastMCP: Middleware and per-component authorization for MCP servers.
  • .NET: Attributes and customizers for ASP.NET Core applications.

All SDKs and APIs expose the same authorization semantics: single subscriptions (streaming and one-shot) and multi-subscriptions (streaming and one-shot batch).