frp

frp Store API

Persistent configuration store for proxies and visitors

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/frp-store-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

frp-store-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: frp Client Admin Clients Store 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: Store
  description: Persistent configuration store for proxies and visitors
paths:
  /api/store/proxies:
    get:
      tags:
      - Store
      summary: List stored proxies
      description: Lists proxy definitions persisted in the configuration store. Available only when a store source is configured.
      operationId: listStoreProxies
      responses:
        '200':
          description: Stored proxy definitions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredProxy'
    post:
      tags:
      - Store
      summary: Create stored proxy
      description: Persists a new proxy definition in the configuration store.
      operationId: createStoreProxy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredProxy'
      responses:
        '200':
          description: Proxy created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredProxy'
  /api/store/proxies/{name}:
    get:
      tags:
      - Store
      summary: Get stored proxy
      operationId: getStoreProxy
      parameters:
      - name: name
        in: path
        required: true
        description: Stored proxy name
        schema:
          type: string
      responses:
        '200':
          description: Stored proxy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredProxy'
        '404':
          description: Stored proxy not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
      - Store
      summary: Update stored proxy
      operationId: updateStoreProxy
      parameters:
      - name: name
        in: path
        required: true
        description: Stored proxy name
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredProxy'
      responses:
        '200':
          description: Stored proxy updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredProxy'
        '404':
          description: Stored proxy not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      tags:
      - Store
      summary: Delete stored proxy
      operationId: deleteStoreProxy
      parameters:
      - name: name
        in: path
        required: true
        description: Stored proxy name
        schema:
          type: string
      responses:
        '200':
          description: Stored proxy deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '404':
          description: Stored proxy not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/store/visitors:
    get:
      tags:
      - Store
      summary: List stored visitors
      description: Lists visitor definitions persisted in the configuration store. Available only when a store source is configured.
      operationId: listStoreVisitors
      responses:
        '200':
          description: Stored visitor definitions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoredVisitor'
    post:
      tags:
      - Store
      summary: Create stored visitor
      operationId: createStoreVisitor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredVisitor'
      responses:
        '200':
          description: Visitor created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredVisitor'
  /api/store/visitors/{name}:
    get:
      tags:
      - Store
      summary: Get stored visitor
      operationId: getStoreVisitor
      parameters:
      - name: name
        in: path
        required: true
        description: Stored visitor name
        schema:
          type: string
      responses:
        '200':
          description: Stored visitor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredVisitor'
        '404':
          description: Stored visitor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      tags:
      - Store
      summary: Update stored visitor
      operationId: updateStoreVisitor
      parameters:
      - name: name
        in: path
        required: true
        description: Stored visitor name
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoredVisitor'
      responses:
        '200':
          description: Stored visitor updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoredVisitor'
        '404':
          description: Stored visitor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      tags:
      - Store
      summary: Delete stored visitor
      operationId: deleteStoreVisitor
      parameters:
      - name: name
        in: path
        required: true
        description: Stored visitor name
        schema:
          type: string
      responses:
        '200':
          description: Stored visitor deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralResponse'
        '404':
          description: Stored visitor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GeneralResponse:
      type: object
      properties:
        code:
          type: integer
        msg:
          type: string
    StoredVisitor:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        config:
          type: object
          additionalProperties: true
      required:
      - name
      - type
    StoredProxy:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        config:
          type: object
          additionalProperties: true
      required:
      - name
      - type
    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