> ## Documentation Index
> Fetch the complete documentation index at: https://docs.primeintellect.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate Frp Plugin

> Validate frpc client connections.

This endpoint is called by frps server plugin for:
- Login: Validates tunnel token when client connects
- NewProxy: Validates proxy creation requests

This endpoint is public but security is enforced via per-tunnel
token validation. An attacker would need both a valid tunnel_id AND
the corresponding frp_token to get a successful response.



## OpenAPI

````yaml https://api.primeintellect.ai/openapi.json post /api/v1/frp/validate
openapi: 3.1.0
info:
  title: PI API
  version: 0.1.0
servers:
  - url: https://api.primeintellect.ai
security: []
paths:
  /api/v1/frp/validate:
    post:
      tags:
        - FRP Plugin
      summary: Validate Frp Plugin
      description: |-
        Validate frpc client connections.

        This endpoint is called by frps server plugin for:
        - Login: Validates tunnel token when client connects
        - NewProxy: Validates proxy creation requests

        This endpoint is public but security is enforced via per-tunnel
        token validation. An attacker would need both a valid tunnel_id AND
        the corresponding frp_token to get a successful response.
      operationId: validate_frp_plugin_api_v1_frp_validate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FrpPluginRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrpPluginResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    FrpPluginRequest:
      properties:
        version:
          type: string
          title: Version
          description: frp protocol version
        op:
          type: string
          title: Op
          description: 'Operation: Login, NewProxy, NewWorkConn, etc.'
        content:
          type: object
          title: Content
          description: Operation-specific content
      type: object
      required:
        - version
        - op
        - content
      title: FrpPluginRequest
      description: Request from frps server plugin.
    FrpPluginResponse:
      properties:
        reject:
          type: boolean
          title: Reject
          description: Whether to reject the operation
          default: false
        reject_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reject Reason
          description: Reason for rejection if rejected
        unchange:
          type: boolean
          title: Unchange
          description: Whether to leave request unchanged
          default: true
        content:
          anyOf:
            - type: object
            - type: 'null'
          title: Content
          description: Modified content if unchange=False
      type: object
      title: FrpPluginResponse
      description: Response to frps server plugin.
    ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Errors
      type: object
      required:
        - errors
      title: ErrorResponse
    ErrorDetail:
      properties:
        param:
          type: string
          title: Param
        details:
          type: string
          title: Details
      type: object
      required:
        - param
        - details
      title: ErrorDetail

````