Discover Couper

Couper is a lightweight API gateway for developers. It reduces the complexity of the core application code by adding access control, observability and service connectivity on a separate architectural component.

HTTP Request Routing / Forwarding

Couper is a proxy component forwarding requests and responses bidirectionally between clients and upstream services. Create virtual endpoints and configure the upstream URLs based on the original client request.

Example: Proxy API Requests
Example: Request Sequences

Custom Requests and Responses

Couper is more than a proxy component as it lets you define custom requests to any remote or upstream service. You can also send custom responses back to the client.

Example: Custom Requests
Example: Multiple Requests
Example: Static Responses

Request / Response Manipulation

Couper lets you decide which headers and path parameters you want to send to the upstream service and which headers you want to send back to the client.

Example: Path Parameters
Example: Query Parameters
Example: Sending JSON Content
Example: Sending Form Content

Access Control

Couper acts as a centralized access control layer that is easy to configure. It offers Basic Authentication, JWT signing, validation, and header passing as well as SAML and OAuth 2.0 Client Credentials.

Example: JWT Access Control
Example: Sending JWT Claims Upstream
Example: Creating JWT
Example: Single-Sign-On with SAML
Example: OAuth2 Client Credentials
Example: OIDC

Configurable Service Connectivity

Couper helps you to overcome the challenges associated with distributed computing. Fight unreliable networks and long latencies by configuring your timeouts and connection pools.

Example: Backend Configuration

Upstream Validation & CORS

Couper secures your communication by validating upstream requests and responses against an OpenAPI 3 schema. CORS behaviour can also be configured.

Example: Backend Validation

SPA & Web Serving

Couper comes with a good old web server that serves static files on the clients’ demand and allows you to easily handle SPA bootstrap document serving.

Example: Simple File Serving
Example: SPA Serving

Error Handling

Couper offers uniform error handling across different back-end services and lets you send your own project-related HTML errors. You can also create custom errors.

Example: Error Handling for Access Controls
Documentation: Errors

Easy Configuration & Deployment

Couper pays special attention to developer experience: we have chosen HCL as an easily understandable configuration language. Besides, we support you with the tools you require but also give you the freedom you need.

Example: Kubernetes configuration
Example: Using docker-compose
Example: Linking Docker Containers
Example: Environment Variables
Get the Couper Extension from the Visual Studio Marketplace

Observability

Couper offers standard logs with request context IDs for analysis and monitoring and provides a health check for Couper. Further monitoring can be achieved with enabled metrics and our Grafana dashboard.

Example: Custom Logging
Documentation: LoggingDocumentation: Metrics

Try Couper

Visit the example repository to learn about Couper's features in detail. If you prefer a quick dive in, have a look at our getting started tutorial.

Get Started