Ask Sage Plugins API

Plugin execution and management

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/ask-sage-plugins-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

ask-sage-plugins-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Ask Sage Server Admin Plugins API
  description: 'Ask Sage is an AI-powered platform providing intelligent completions, knowledge management, and workflow automation.


    ## Base URL

    `https://api.asksage.ai`


    ## Authentication

    All endpoints require a valid JWT token passed via the `x-access-tokens` header, unless otherwise noted.


    Obtain a token by authenticating through the User API (`/user/get-token-with-api-key`).


    ## Message Format

    The `message` field in API requests can be either:

    - A single string prompt: `"What is Ask Sage?"`

    - An array of conversation messages: `[{"user": "me", "message": "what is Ask Sage?"}, {"user": "gpt", "message": "Ask Sage is an..."}]`


    ## Key Features

    - **AI Completions** — Query multiple LLM providers with a unified interface

    - **Knowledge Training** — Upload documents, files, and data to build custom datasets

    - **Tabular Data** — Ingest and query structured data (CSV, XLSX) with natural language

    - **Agent Builder** — Create, configure, and execute multi-step AI workflows

    - **Plugins** — Extend capabilities with built-in and custom plugins

    - **MCP Servers** — Connect to Model Context Protocol servers for tool integration'
  version: '2.0'
  contact:
    name: Ask Sage Support
    email: support@asksage.ai
    url: https://asksage.ai
servers:
- url: '{baseUrl}/server'
  description: Ask Sage Server API
  variables:
    baseUrl:
      default: https://api.asksage.ai
      description: API base URL. Use https://api.asksage.ai for production, or your self-hosted instance URL.
security:
- ApiKeyAuth: []
tags:
- name: Plugins
  description: Plugin execution and management
paths:
  /execute-plugin:
    post:
      summary: Execute a plugin
      description: Execute a specific plugin with provided values
      tags:
      - Plugins
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - plugin_name
              - plugin_values
              properties:
                plugin_name:
                  type: string
                  description: Name of the plugin to execute
                plugin_values:
                  type: string
                  description: Plugin values as JSON string
                model:
                  type: string
                  description: Model to use for plugin execution
                live:
                  type: integer
                  enum:
                  - 0
                  - 1
                  - 2
                  default: 0
                  description: Live mode setting
      responses:
        '200':
          description: Plugin execution result (streaming)
          content:
            text/plain:
              schema:
                type: string
  /execute-plugin-with-file:
    post:
      summary: Execute a plugin with file
      description: Execute a plugin that requires file input
      tags:
      - Plugins
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - plugin_name
              - file
              properties:
                file:
                  type: string
                  format: binary
                  description: File to process with the plugin
                plugin_name:
                  type: string
                  description: Name of the plugin to execute
                plugin_values:
                  type: string
                  description: Plugin values as JSON string (optional)
                model:
                  type: string
                  description: Model to use
                live:
                  type: integer
                  enum:
                  - 0
                  - 1
                  - 2
                  default: 0
      responses:
        '200':
          description: Plugin execution result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompletionResponse'
  /get-plugins:
    get:
      summary: Get available plugins
      description: Returns a list of available plugins
      tags:
      - Plugins
      responses:
        '200':
          description: List of plugins
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        plugin_name:
                          type: string
                        title:
                          type: string
                        description:
                          type: string
                        category:
                          type: string
                        file_mode:
                          type: boolean
                        paid_only:
                          type: boolean
                        regex:
                          type: string
                          nullable: true
                        prompt_template:
                          type: string
                          nullable: true
                        fields:
                          type: array
                          nullable: true
                  status:
                    type: integer
    post:
      summary: Get available plugins
      description: Returns a list of available plugins
      tags:
      - Plugins
      responses:
        '200':
          description: List of plugins
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        plugin_name:
                          type: string
                        title:
                          type: string
                        description:
                          type: string
                        category:
                          type: string
                        file_mode:
                          type: boolean
                        paid_only:
                          type: boolean
                        regex:
                          type: string
                          nullable: true
                        prompt_template:
                          type: string
                          nullable: true
                        fields:
                          type: array
                          nullable: true
                  status:
                    type: integer
components:
  schemas:
    CompletionResponse:
      type: object
      properties:
        response:
          type: string
          description: Status message or error description
        message:
          type: string
          description: Generated completion text
        embedding_down:
          type: boolean
          description: Whether embedding service is down
        vectors_down:
          type: boolean
          description: Whether vector database is down
        uuid:
          type: string
          description: Unique identifier for this completion
        references:
          type: string
          description: References used for the completion
        type:
          type: string
          description: Type of response
        added_obj:
          type: object
          nullable: true
          description: Additional object data for chained operations
        tool_calls:
          type: array
          nullable: true
          description: Tool/function calls made during completion
        usage:
          type: object
          nullable: true
          description: Token usage statistics
        tool_responses:
          type: array
          nullable: true
          description: Responses from tool executions
        tool_calls_unified:
          type: array
          nullable: true
          description: Unified tool calls format
        status:
          type: integer
          description: HTTP status code
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-access-tokens
      description: JWT authentication token. Obtain a token by calling the User API endpoint `/user/get-token-with-api-key` with your email and API key.