openapi: 3.1.0 info: title: frp Client Admin Clients Configuration 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: Configuration description: Read and replace the in-memory frpc configuration paths: /api/config: get: tags: - Configuration summary: Get current configuration description: Returns the raw text of the active frpc configuration. operationId: getConfig responses: '200': description: Active configuration content: text/plain: schema: type: string put: tags: - Configuration summary: Replace configuration description: Replaces the active frpc configuration with the request body. operationId: putConfig requestBody: required: true content: text/plain: schema: type: string description: Replacement configuration text (TOML or INI as supported by frpc) responses: '200': description: Configuration replaced content: application/json: schema: $ref: '#/components/schemas/GeneralResponse' /api/proxy/{name}/config: get: tags: - Configuration summary: Get proxy configuration description: Returns the runtime configuration for a single proxy identified by name. operationId: getProxyConfig parameters: - name: name in: path required: true description: Proxy name schema: type: string responses: '200': description: Proxy configuration content: application/json: schema: type: object additionalProperties: true '404': description: Proxy not found content: application/json: schema: $ref: '#/components/schemas/Error' /api/visitor/{name}/config: get: tags: - Configuration summary: Get visitor configuration description: Returns the runtime configuration for a single visitor identified by name. operationId: getVisitorConfig parameters: - name: name in: path required: true description: Visitor name schema: type: string responses: '200': description: Visitor configuration content: application/json: schema: type: object additionalProperties: true '404': description: Visitor not found content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: GeneralResponse: type: object properties: code: type: integer msg: type: string Error: type: object properties: code: type: integer msg: type: string securitySchemes: BasicAuth: type: http scheme: basic description: HTTP Basic auth using webServer.user and webServer.password