Traefik Labs TCP API
Endpoints for inspecting TCP routers, services, and middlewares.
Endpoints for inspecting TCP routers, services, and middlewares.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/traefik-tcp-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Traefik Proxy REST Entrypoints TCP 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
servers:
- url: http://localhost:8080/api
description: Default Traefik API endpoint (traefik entrypoint on port 8080)
tags:
- name: TCP
description: Endpoints for inspecting TCP routers, services, and middlewares.
paths:
/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
components:
parameters:
per_page:
name: per_page
in: query
required: false
description: Number of results per page.
schema:
type: integer
default: 100
status:
name: status
in: query
required: false
description: Filter results by status (enabled or disabled).
schema:
type: string
enum:
- enabled
- disabled
search:
name: search
in: query
required: false
description: Filter results by name using a search string.
schema:
type: string
page:
name: page
in: query
required: false
description: Page number for paginated results.
schema:
type: integer
default: 1
schemas:
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
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).
externalDocs:
description: Traefik API Documentation
url: https://doc.traefik.io/traefik/operations/api/