Traefik Proxy REST API

The Traefik Proxy REST API exposes runtime configuration and state for every router, service, middleware, and entry point in a running Traefik instance, plus version metadata, raw dynamic configuration, and an anonymized support-dump archive for vendor troubleshooting. Read-only; must be enabled in static configuration and gated behind auth before being exposed.

Documentation

Specifications

Other Resources

OpenAPI Specification

traefik-proxy-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Traefik Proxy REST API
  description: >-
    The Traefik Proxy REST API provides read-only HTTP endpoints for inspecting
    the runtime configuration and state of a running Traefik instance. It
    exposes information about HTTP, TCP, and UDP routers, services, and
    middlewares, as well as entry points, raw dynamic configuration, the
    support-dump archive, and the current Traefik version. The API must be
    enabled in the Traefik static configuration (`api.insecure: true` for
    quick exploration, or by binding the `traefik` entrypoint behind an
    `IngressRoute` with `service: api@internal` for production) and should
    always be secured behind authentication before being exposed publicly.
    All endpoints listed here are mounted under the `/api` path prefix on the
    `traefik` entrypoint (default port 8080).
  version: '3.7'
  contact:
    name: Traefik Labs
    url: https://traefik.io/
  license:
    name: MIT
    url: https://github.com/traefik/traefik/blob/master/LICENSE.md
externalDocs:
  description: Traefik API Documentation
  url: https://doc.traefik.io/traefik/operations/api/
servers:
  - url: http://localhost:8080/api
    description: Default Traefik API endpoint (traefik entrypoint on port 8080)
tags:
  - name: Entrypoints
    description: >-
      Endpoints for listing configured entry points.
  - name: Health
    description: >-
      Health check and ping endpoints for liveness probes.
  - name: HTTP
    description: >-
      Endpoints for inspecting HTTP routers, services, and middlewares.
  - name: Overview
    description: >-
      Overview and version information for the running Traefik instance.
  - name: TCP
    description: >-
      Endpoints for inspecting TCP routers, services, and middlewares.
  - name: UDP
    description: >-
      Endpoints for inspecting UDP routers and services.
paths:
  /version:
    get:
      operationId: getVersion
      summary: Get Traefik Version
      description: >-
        Returns the current version of the running Traefik instance, including
        the version string, codename, and start date.
      tags:
        - Overview
      responses:
        '200':
          description: Version information returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Version'
  /overview:
    get:
      operationId: getOverview
      summary: Get Overview Statistics
      description: >-
        Returns an overview of the current Traefik configuration including
        counts of HTTP, TCP, and UDP routers, services, and middlewares, as well
        as enabled features and provider information.
      tags:
        - Overview
      responses:
        '200':
          description: Overview returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Overview'
  /rawdata:
    get:
      operationId: getRawData
      summary: Get Raw Configuration Data
      description: >-
        Returns the complete raw dynamic configuration data for all routers,
        services, middlewares, and transports currently loaded from all
        providers.
      tags:
        - Overview
      responses:
        '200':
          description: Raw configuration data returned successfully
          content:
            application/json:
              schema:
                type: object
                description: Complete raw configuration data from all providers.
  /entrypoints:
    get:
      operationId: listEntryPoints
      summary: List All Entry Points
      description: >-
        Returns a list of all configured entry points for the Traefik instance,
        including their names, addresses, and transport configuration.
      tags:
        - Entrypoints
      responses:
        '200':
          description: Entry points returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EntryPoint'
  /entrypoints/{name}:
    get:
      operationId: getEntryPoint
      summary: Get a Specific Entry Point
      description: >-
        Returns the configuration of a specific entry point by name.
      tags:
        - Entrypoints
      parameters:
        - name: name
          in: path
          required: true
          description: The name of the entry point.
          schema:
            type: string
      responses:
        '200':
          description: Entry point returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryPoint'
        '404':
          description: Entry point not found
  /http/routers:
    get:
      operationId: listHTTPRouters
      summary: List All HTTP Routers
      description: >-
        Returns a list of all HTTP routers configured in the running Traefik
        instance, including their rules, entry points, middlewares, and service
        assignments.
      tags:
        - HTTP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP routers returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPRouter'
  /http/routers/{name}:
    get:
      operationId: getHTTPRouter
      summary: Get a Specific HTTP Router
      description: >-
        Returns the configuration of a specific HTTP router by its name,
        including the rule, priority, entry points, service, and middlewares.
      tags:
        - HTTP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the HTTP router, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: HTTP router returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPRouter'
        '404':
          description: Router not found
  /http/services:
    get:
      operationId: listHTTPServices
      summary: List All HTTP Services
      description: >-
        Returns a list of all HTTP services configured in the running Traefik
        instance, including their load balancer configuration and server details.
      tags:
        - HTTP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP services returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPService'
  /http/services/{name}:
    get:
      operationId: getHTTPService
      summary: Get a Specific HTTP Service
      description: >-
        Returns the configuration of a specific HTTP service by its name,
        including the load balancer servers and health check status.
      tags:
        - HTTP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the HTTP service, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: HTTP service returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPService'
        '404':
          description: Service not found
  /http/middlewares:
    get:
      operationId: listHTTPMiddlewares
      summary: List All HTTP Middlewares
      description: >-
        Returns a list of all HTTP middlewares configured in the running Traefik
        instance, including their type and configuration details.
      tags:
        - HTTP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP middlewares returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPMiddleware'
  /http/middlewares/{name}:
    get:
      operationId: getHTTPMiddleware
      summary: Get a Specific HTTP Middleware
      description: >-
        Returns the configuration of a specific HTTP middleware by its name.
      tags:
        - HTTP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the HTTP middleware, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: HTTP middleware returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPMiddleware'
        '404':
          description: Middleware not found
  /tcp/routers:
    get:
      operationId: listTCPRouters
      summary: List All TCP Routers
      description: >-
        Returns a list of all TCP routers configured in the running Traefik
        instance.
      tags:
        - TCP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: TCP routers returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TCPRouter'
  /tcp/routers/{name}:
    get:
      operationId: getTCPRouter
      summary: Get a Specific TCP Router
      description: >-
        Returns the configuration of a specific TCP router by its name.
      tags:
        - TCP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the TCP router, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: TCP router returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TCPRouter'
        '404':
          description: Router not found
  /tcp/services:
    get:
      operationId: listTCPServices
      summary: List All TCP Services
      description: >-
        Returns a list of all TCP services configured in the running Traefik
        instance.
      tags:
        - TCP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: TCP services returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TCPService'
  /tcp/services/{name}:
    get:
      operationId: getTCPService
      summary: Get a Specific TCP Service
      description: >-
        Returns the configuration of a specific TCP service by its name.
      tags:
        - TCP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the TCP service, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: TCP service returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TCPService'
        '404':
          description: Service not found
  /tcp/middlewares:
    get:
      operationId: listTCPMiddlewares
      summary: List All TCP Middlewares
      description: >-
        Returns a list of all TCP middlewares configured in the running Traefik
        instance.
      tags:
        - TCP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: TCP middlewares returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TCPMiddleware'
  /tcp/middlewares/{name}:
    get:
      operationId: getTCPMiddleware
      summary: Get a Specific TCP Middleware
      description: >-
        Returns the configuration of a specific TCP middleware by its name.
      tags:
        - TCP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the TCP middleware, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: TCP middleware returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TCPMiddleware'
        '404':
          description: Middleware not found
  /udp/routers:
    get:
      operationId: listUDPRouters
      summary: List All UDP Routers
      description: >-
        Returns a list of all UDP routers configured in the running Traefik
        instance.
      tags:
        - UDP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: UDP routers returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UDPRouter'
  /udp/routers/{name}:
    get:
      operationId: getUDPRouter
      summary: Get a Specific UDP Router
      description: >-
        Returns the configuration of a specific UDP router by its name.
      tags:
        - UDP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the UDP router, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: UDP router returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UDPRouter'
        '404':
          description: Router not found
  /udp/services:
    get:
      operationId: listUDPServices
      summary: List All UDP Services
      description: >-
        Returns a list of all UDP services configured in the running Traefik
        instance.
      tags:
        - UDP
      parameters:
        - $ref: '#/components/parameters/search'
        - $ref: '#/components/parameters/status'
        - $ref: '#/components/parameters/per_page'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: UDP services returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UDPService'
  /udp/services/{name}:
    get:
      operationId: getUDPService
      summary: Get a Specific UDP Service
      description: >-
        Returns the configuration of a specific UDP service by its name.
      tags:
        - UDP
      parameters:
        - name: name
          in: path
          required: true
          description: >-
            The name of the UDP service, in the format name@provider.
          schema:
            type: string
      responses:
        '200':
          description: UDP service returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UDPService'
        '404':
          description: Service not found
  /support-dump:
    get:
      operationId: getSupportDump
      summary: Get Anonymized Support Dump
      description: >-
        Returns an anonymized archive of the running Traefik configuration and
        runtime metadata. Used by Traefik Labs support to reproduce reported
        issues without exposing sensitive customer data. The endpoint returns a
        ZIP archive.
      tags:
        - Overview
      responses:
        '200':
          description: Support-dump archive returned successfully
          content:
            application/zip:
              schema:
                type: string
                format: binary
  /ping:
    get:
      operationId: ping
      summary: Health Check Ping
      description: >-
        Returns HTTP 200 with body "OK" when the Traefik process is alive and
        ready. Used for liveness probes in container orchestration. Note that
        the ping endpoint is typically configured on a separate entry point
        or path outside the /api prefix.
      tags:
        - Health
      responses:
        '200':
          description: Traefik is alive and ready
          content:
            text/plain:
              schema:
                type: string
                example: OK
components:
  parameters:
    search:
      name: search
      in: query
      required: false
      description: Filter results by name using a search string.
      schema:
        type: string
    status:
      name: status
      in: query
      required: false
      description: Filter results by status (enabled or disabled).
      schema:
        type: string
        enum:
          - enabled
          - disabled
    per_page:
      name: per_page
      in: query
      required: false
      description: Number of results per page.
      schema:
        type: integer
        default: 100
    page:
      name: page
      in: query
      required: false
      description: Page number for paginated results.
      schema:
        type: integer
        default: 1
  schemas:
    Version:
      type: object
      description: Traefik version and build information.
      properties:
        Version:
          type: string
          description: The semantic version string of the running Traefik instance.
        Codename:
          type: string
          description: The codename for this Traefik release.
        startDate:
          type: string
          format: date-time
          description: The start time of the running Traefik process.
    Overview:
      type: object
      description: >-
        Overview statistics of the running Traefik instance including counts
        of all configured objects.
      properties:
        http:
          $ref: '#/components/schemas/OverviewSection'
        tcp:
          $ref: '#/components/schemas/OverviewSection'
        udp:
          $ref: '#/components/schemas/OverviewUDPSection'
        features:
          type: object
          description: Enabled features in the running instance.
          properties:
            tracing:
              type: string
            metrics:
              type: string
            accessLog:
              type: boolean
        providers:
          type: array
          description: List of active configuration providers.
          items:
            type: string
    OverviewSection:
      type: object
      description: Counts for routers, services, and middlewares in a protocol section.
      properties:
        routers:
          $ref: '#/components/schemas/StatusCount'
        services:
          $ref: '#/components/schemas/StatusCount'
        middlewares:
          $ref: '#/components/schemas/StatusCount'
    OverviewUDPSection:
      type: object
      description: Counts for UDP routers and services.
      properties:
        routers:
          $ref: '#/components/schemas/StatusCount'
        services:
          $ref: '#/components/schemas/StatusCount'
    StatusCount:
      type: object
      description: Count of objects by status.
      properties:
        total:
          type: integer
        warnings:
          type: integer
        errors:
          type: integer
    EntryPoint:
      type: object
      description: A configured entry point for accepting incoming traffic.
      properties:
        name:
          type: string
          description: The name of the entry point.
        address:
          type: string
          description: The address the entry point listens on (e.g., ":80", ":443").
        transport:
          type: object
          description: Transport layer configuration.
          properties:
            lifeCycle:
              type: object
              properties:
                requestAcceptGraceTimeout:
                  type: string
                graceTimeOut:
                  type: string
            respondingTimeouts:
              type: object
              properties:
                readTimeout:
                  type: string
                writeTimeout:
                  type: string
                idleTimeout:
                  type: string
    HTTPRouter:
      type: object
      description: An HTTP router that matches incoming requests and routes them to services.
      properties:
        name:
          type: string
          description: The name of the router in name@provider format.
        entryPoints:
          type: array
          description: Entry points this router is bound to.
          items:
            type: string
        middlewares:
          type: array
          description: Middlewares applied to this router in order.
          items:
            type: string
        service:
          type: string
          description: The service this router routes traffic to.
        rule:
          type: string
          description: The routing rule expression (e.g., Host, Path, Headers matchers).
        ruleSyntax:
          type: string
          description: The syntax version of the rule.
        priority:
          type: integer
          description: The priority of the router when multiple routers match.
        status:
          type: string
          description: The current status of the router.
          enum:
            - enabled
            - disabled
            - warning
        using:
          type: array
          description: Entry points being used by this router.
          items:
            type: string
        provider:
          type: string
          description: The configuration provider that created this router.
        tls:
          type: object
          description: TLS configuration for this router.
          properties:
            options:
              type: string
            certResolver:
              type: string
            domains:
              type: array
              items:
                type: object
                properties:
                  main:
                    type: string
                  sans:
                    type: array
                    items:
                      type: string
    HTTPService:
      type: object
      description: An HTTP service representing one or more backend servers.
      properties:
        name:
          type: string
          description: The name of the service in name@provider format.
        type:
          type: string
          description: The type of service (loadBalancer, weighted, mirroring).
        status:
          type: string
          description: The current status of the service.
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
          description: The configuration provider that created this service.
        loadBalancer:
          type: object
          description: Load balancer configuration with backend servers.
          properties:
            servers:
              type: array
              items:
                type: object
                properties:
                  url:
                    type: string
                    description: The URL of the backend server.
            passHostHeader:
              type: boolean
              description: Whether to pass the host header to backends.
            healthCheck:
              type: object
              description: Health check configuration for the backend servers.
              properties:
                scheme:
                  type: string
                path:
                  type: string
                port:
                  type: integer
                interval:
                  type: string
                timeout:
                  type: string
        serverStatus:
          type: object
          description: Map of server URLs to their current health status.
          additionalProperties:
            type: string
    HTTPMiddleware:
      type: object
      description: An HTTP middleware that modifies requests or responses.
      properties:
        name:
          type: string
          description: The name of the middleware in name@provider format.
        type:
          type: string
          description: >-
            The type of middleware (e.g., addPrefix, basicAuth, buffering,
            chain, circuitBreaker, compress, headers, ipAllowList, rateLimit,
            redirectScheme, replacePath, retry, stripPrefix).
        status:
          type: string
          description: The current status of the middleware.
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
          description: The configuration provider that created this middleware.
        usedBy:
          type: array
          description: Routers currently using this middleware.
          items:
            type: string
    TCPRouter:
      type: object
      description: A TCP router that matches incoming TCP connections and routes them to services.
      properties:
        name:
          type: string
          description: The name of the TCP router in name@provider format.
        entryPoints:
          type: array
          description: Entry points this router is bound to.
          items:
            type: string
        service:
          type: string
          description: The TCP service this router routes traffic to.
        rule:
          type: string
          description: The TCP routing rule expression (HostSNI matcher).
        status:
          type: string
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
        tls:
          type: object
          properties:
            passthrough:
              type: boolean
            options:
              type: string
            certResolver:
              type: string
    TCPService:
      type: object
      description: A TCP service representing one or more backend TCP servers.
      properties:
        name:
          type: string
          description: The name of the TCP service in name@provider format.
        type:
          type: string
        status:
          type: string
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
        loadBalancer:
          type: object
          properties:
            servers:
              type: array
              items:
                type: object
                properties:
                  address:
                    type: string
                    description: The address of the backend TCP server (host:port).
    TCPMiddleware:
      type: object
      description: A TCP middleware that modifies TCP connections.
      properties:
        name:
          type: string
          description: The name of the TCP middleware in name@provider format.
        type:
          type: string
          description: The type of TCP middleware (e.g., ipAllowList, inFlightConn).
        status:
          type: string
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
    UDPRouter:
      type: object
      description: A UDP router that routes incoming UDP datagrams to services.
      properties:
        name:
          type: string
          description: The name of the UDP router in name@provider format.
        entryPoints:
          type: array
          items:
            type: string
        service:
          type: string
          description: The UDP service this router routes traffic to.
        status:
          type: string
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
    UDPService:
      type: object
      description: A UDP service representing one or more backend UDP servers.
      properties:
        name:
          type: string
          description: The name of the UDP service in name@provider format.
        type:
          type: string
        status:
          type: string
          enum:
            - enabled
            - disabled
            - warning
        provider:
          type: string
        loadBalancer:
          type: object
          properties:
            servers:
              type: array
              items:
                type: object
                properties:
                  address:
                    type: string
                    description: The address of the backend UDP server (host:port).