Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.
openapi: 3.2.0
info:
title: frp Client Admin 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