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

# Invoke protocol action

> Executes a protocol action against a backend. The HTTP method must match the action's declared method. The request and response bodies are **defined by the invoked protocol**, not by this API — retrieve the exact shapes from the protocol's generated OpenAPI (`GET /api/admin/protocols/{id}/openapi`).



## OpenAPI

````yaml /products/link/openapi.yaml post /api/invoke/{protocol}/{action}
openapi: 3.0.0
info:
  description: >-
    Admin API for managing Link protocols and backends (Bundled and Standalone
    editions).
  title: Link API
  version: '1.0'
servers:
  - url: https://{instance}.{env}.on-hellgate.cloud
    description: Managed instance of Link
    variables:
      instance:
        default: my-instance
        description: Your unique instance slug, provided during onboarding.
      env:
        default: eu1
        description: Deployment environment (currently eu1).
security: []
tags: []
paths:
  /api/invoke/{protocol}/{action}:
    post:
      tags:
        - Invoke
      summary: Invoke protocol action
      description: >-
        Executes a protocol action against a backend. The HTTP method must match
        the action's declared method. The request and response bodies are
        **defined by the invoked protocol**, not by this API — retrieve the
        exact shapes from the protocol's generated OpenAPI (`GET
        /api/admin/protocols/{id}/openapi`).
      operationId: invoke
      parameters:
        - name: protocol
          in: path
          required: true
          description: Protocol local ID
          schema:
            type: string
        - description: Action name
          in: path
          name: action
          required: true
          schema:
            type: string
        - name: backend
          in: query
          required: false
          description: Backend ID (required when multiple backends match)
          schema:
            type: string
      requestBody:
        description: Action input. The shape is defined by the invoked protocol.
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: >-
            Protocol-defined outcome. The shape is declared by the invoked
            protocol; Link returns the protocol-mapped result.
          content:
            application/json:
              schema:
                type: object
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                classifier: METHOD_NOT_ALLOWED
                code: 405
                message: HTTP method not allowed
          description: Method not allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                classifier: CONFLICT
                code: 409
                message: Multiple backends match, specify ?backend={id}
          description: Ambiguous backend
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
          description: Validation error
      security:
        - bearerAuth: []
components:
  schemas:
    Unauthorized:
      description: No valid authentication was provided.
      example:
        classifier: UNAUTHORIZED
        code: 401
        message: No valid means of authentication was provided
      properties:
        classifier:
          enum:
            - UNAUTHORIZED
          type: string
        code:
          enum:
            - 401
          type: integer
        message:
          type: string
      required:
        - classifier
        - code
        - message
      title: Unauthorized
      type: object
    Forbidden:
      description: The token lacks the scope required for this operation.
      example:
        classifier: FORBIDDEN
        code: 403
        message: Not allowed to access this resource or feature
      properties:
        classifier:
          enum:
            - FORBIDDEN
          type: string
        code:
          enum:
            - 403
          type: integer
        message:
          type: string
      required:
        - classifier
        - code
        - message
      title: Forbidden
      type: object
    NotFound:
      description: The requested resource does not exist.
      example:
        classifier: NOT_FOUND
        code: 404
        message: The requested resource does not exist
      properties:
        classifier:
          enum:
            - NOT_FOUND
          type: string
        code:
          enum:
            - 404
          type: integer
        message:
          type: string
      required:
        - classifier
        - code
        - message
      title: NotFound
      type: object
    Error:
      description: Generic error response.
      properties:
        classifier:
          type: string
        code:
          type: integer
        message:
          type: string
      required:
        - classifier
        - code
        - message
      title: Error
      type: object
    ValidationErrors:
      example:
        classifier: VALIDATION_ERROR
        code: 422
        validation_errors:
          - message: must be a positive integer
            path: limit
      description: Response shape for request validation failures.
      properties:
        classifier:
          example: VALIDATION_ERROR
          type: string
        code:
          example: 422
          type: integer
        validation_errors:
          items:
            properties:
              message:
                example: url is required
                type: string
              path:
                example: url
                nullable: true
                type: string
            type: object
          type: array
      required:
        - classifier
        - code
        - validation_errors
      title: ValidationErrors
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````