openapi: 3.1.0 info: title: frp Client Admin Clients Proxies API description: The frp client (frpc) exposes a built-in HTTP admin API on its local web server. The API lets operators inspect or hot-reload the client configuration, stop the client, query proxy and visitor status, and (when a configuration store is enabled) manage stored proxy and visitor definitions. All routes (except /healthz) require HTTP Basic authentication using the user and password configured in webServer.user and webServer.password. version: 0.0.1 contact: name: frp url: https://gofrp.org/ license: name: Apache-2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: http://{host}:{port} description: frp client admin server (frpc webServer) variables: host: default: 127.0.0.1 description: Address where frpc webServer is listening (webServer.addr) port: default: '7400' description: Port where frpc webServer is listening (webServer.port) security: - BasicAuth: [] tags: - name: Proxies description: Active proxy inventory and traffic stats paths: /api/proxy/{type}: get: tags: - Proxies summary: List proxies by type description: Returns all known proxies for a given proxy type. operationId: listProxiesByType parameters: - name: type in: path required: true description: Proxy type schema: type: string enum: - tcp - udp - http - https - tcpmux - stcp - xtcp responses: '200': description: Proxies of the requested type content: application/json: schema: type: object properties: proxies: type: array items: $ref: '#/components/schemas/ProxyStatsInfo' /api/proxy/{type}/{name}: get: tags: - Proxies summary: Get proxy by type and name description: Returns detailed statistics for a single proxy identified by type and name. operationId: getProxyByTypeAndName parameters: - name: type in: path required: true description: Proxy type schema: type: string - name: name in: path required: true description: Proxy name schema: type: string responses: '200': description: Proxy statistics content: application/json: schema: $ref: '#/components/schemas/ProxyStats' '404': description: No proxy info found content: application/json: schema: $ref: '#/components/schemas/Error' /api/proxies/{name}: get: tags: - Proxies summary: Get proxy by name description: Returns detailed statistics for a single proxy identified by name. operationId: getProxyByName parameters: - name: name in: path required: true description: Proxy name schema: type: string responses: '200': description: Proxy statistics content: application/json: schema: $ref: '#/components/schemas/ProxyStats' '404': description: No proxy info found content: application/json: schema: $ref: '#/components/schemas/Error' /api/proxies: delete: tags: - Proxies summary: Delete offline proxies description: Clears proxies that are no longer connected. The status query parameter must be set to offline; any other value is rejected. operationId: deleteOfflineProxies parameters: - name: status in: query required: true description: Proxy status to clear (only offline is supported) schema: type: string enum: - offline responses: '200': description: Offline proxies cleared content: application/json: schema: $ref: '#/components/schemas/GeneralResponse' '400': description: Unsupported status value content: application/json: schema: $ref: '#/components/schemas/Error' /api/traffic/{name}: get: tags: - Proxies summary: Get proxy traffic description: Returns daily inbound and outbound traffic counters for a proxy. operationId: getProxyTraffic parameters: - name: name in: path required: true description: Proxy name schema: type: string responses: '200': description: Traffic counters content: application/json: schema: $ref: '#/components/schemas/ProxyTraffic' '404': description: No proxy info found content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: ProxyStats: allOf: - $ref: '#/components/schemas/ProxyStatsInfo' Error: type: object properties: code: type: integer msg: type: string ProxyStatsInfo: type: object properties: name: type: string user: type: string clientId: type: string conf: type: object additionalProperties: true status: type: string enum: - online - offline todayTrafficIn: type: integer format: int64 todayTrafficOut: type: integer format: int64 curConns: type: integer lastStartTime: type: string lastCloseTime: type: string GeneralResponse: type: object properties: code: type: integer msg: type: string ProxyTraffic: type: object properties: name: type: string trafficIn: type: array items: type: integer format: int64 trafficOut: type: array items: type: integer format: int64 securitySchemes: BasicAuth: type: http scheme: basic description: HTTP Basic auth using webServer.user and webServer.password