The Integration API provides programmatic access to Pangolin functionality. It includes OpenAPI documentation via Swagger UI.

Enable Integration API

Update your Pangolin configuration file:
config.yml
flags:
  enable_integration_api: true
If you want to specify a port other than the default 3003, you can do so in the config as well:
config.yml
server:
  integration_port: 3003 # Specify different port

Configure Traefik Routing

Add the following configuration to your dynamic_config.yml to expose the Integration API at https://api.example.com/v1:
dynamic_config.yml
http:
  middlewares:
    redirect-to-https:
      redirectScheme:
        scheme: https

  routers:
    int-api-router-redirect:
      rule: "Host(`api.example.com`)"
      service: int-api-service
      entryPoints:
        - web
      middlewares:
        - redirect-to-https

    int-api-router:
      rule: "Host(`api.example.com`)"
      service: int-api-service
      entryPoints:
        - websecure
      tls:
        certResolver: letsencrypt

  services:
    int-api-service:
      loadBalancer:
        servers:
          - url: "http://pangolin:3003"

Access Documentation

Once configured, access the Swagger UI documentation at:
https://api.example.com/v1/docs
Swagger UI Preview

Swagger UI documentation interface

The Integration API will be accessible at https://api.example.com/v1 for external applications.