Ask Sage Tabular Data API

Tabular data ingestion and querying

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-tabular-data-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-tabular-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Ask Sage Server Admin Tabular Data 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: Tabular Data
  description: Tabular data ingestion and querying
paths:
  /train-tabular:
    post:
      summary: Train tabular data
      description: Ingest tabular files (CSV/TSV/XLSX/XLSB) into the tabular database. Dedicated endpoint separate from /train-with-file.
      tags:
      - Tabular Data
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              - dataset
              properties:
                file:
                  type: string
                  format: binary
                  description: Tabular file (CSV, TSV, XLSX, or XLSB)
                dataset:
                  type: string
                  description: Target dataset name
      responses:
        '200':
          description: Tabular data ingested successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: string
                  tabular:
                    type: boolean
                  dataset_id:
                    type: integer
                  file_id:
                    type: integer
                  table_count:
                    type: integer
                  total_rows:
                    type: integer
                  total_columns:
                    type: integer
                  tables:
                    type: array
                    items:
                      type: object
                  status:
                    type: integer
        '400':
          description: Bad request
        '413':
          description: File too large
  /query-tabular:
    post:
      summary: Query tabular dataset
      description: Query a tabular dataset using natural language. Translates question to SQL, executes against tabular DB, narrates results.
      tags:
      - Tabular Data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - dataset_id
              - question
              - model
              properties:
                dataset_id:
                  type: integer
                  description: ID of the tabular dataset
                question:
                  type: string
                  maxLength: 10000
                  description: Natural language question about the data
                model:
                  type: string
                  description: Model to use for SQL generation and narration
      responses:
        '200':
          description: Query results
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: string
                  row_count:
                    type: integer
                  status:
                    type: integer
  /tabular-schema:
    post:
      summary: Get tabular schema
      description: Returns tabular table schemas for a dataset
      tags:
      - Tabular Data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - dataset_id
              properties:
                dataset_id:
                  type: integer
                  description: Dataset ID
      responses:
        '200':
          description: Schema retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        table_name:
                          type: string
                        sheet_name:
                          type: string
                        column_count:
                          type: integer
                        row_count:
                          type: integer
                        status:
                          type: string
                        schema:
                          type: object
                          nullable: true
                  table_count:
                    type: integer
                  status:
                    type: integer
components:
  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.