Aito Technologies schema API

The schema API from Aito Technologies — 5 operation(s) for schema.

Operations 11

GET /api/v1/schema #
PUT /api/v1/schema #
DELETE /api/v1/schema #
GET /api/v1/schema/{table} #
PUT /api/v1/schema/{table} #
DELETE /api/v1/schema/{table} #
GET /api/v1/schema/{table}/{column} #
PUT /api/v1/schema/{table}/{column} #
DELETE /api/v1/schema/{table}/{column} #
POST /api/v1/schema/_rename #
POST /api/v1/schema/_copy #

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/aito-technologies-schema-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

aito-technologies-schema-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aito Technologies data Schema API
servers:
- url: https://shared.aito.ai
  description: Base URL reconciled from apis.yml
security:
- ApiKeyAuth: []
tags:
- name: schema
paths:
  /api/v1/schema:
    get:
      tags:
      - schema
      description: Return the schema that is provisioned at the moment.
      operationId: schema
      responses:
        200:
          description: The current active schema
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDefinedDatabaseSchema'
    put:
      tags:
      - schema
      description: Initialize the database with a new schema.
      operationId: schema
      requestBody:
        description: The aito schema definition
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserDefinedDatabaseSchema'
      responses:
        200:
          description: The current active schema
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDefinedDatabaseSchema'
    delete:
      tags:
      - schema
      description: Delete the entire schema and drop the stored data.
      operationId: schema
      responses:
        200:
          description: The summary of deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSchemaResponse'
  /api/v1/schema/{table}:
    get:
      tags:
      - schema
      description: Return the schema of the specified table.
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      responses:
        200:
          description: The current schema of the table
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDefinedTableSchema'
    put:
      tags:
      - schema
      description: 'Add the specified table to the schema. **NOTE**: If a table with the same name exists in the database, the operation deletes all data in this table and updates the table with the specified schema.'
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      requestBody:
        description: The new schema of the table
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserDefinedTableSchema'
      responses:
        200:
          description: The current schema of the table
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDefinedTableSchema'
    delete:
      tags:
      - schema
      description: Deletes the specified table from the database.
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      responses:
        200:
          description: The summary of deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSchemaResponse'
  /api/v1/schema/{table}/{column}:
    get:
      tags:
      - schema
      description: Return the schema of the specified column.
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      - $ref: '#/components/parameters/Column'
      responses:
        200:
          description: The current schema of the column
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnType'
    put:
      tags:
      - schema
      description: Add or replace the specified column using the given schema.
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      - $ref: '#/components/parameters/Column'
      requestBody:
        description: The schema of the column
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewColumnType'
      responses:
        200:
          description: The schema of the column
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnType'
    delete:
      tags:
      - schema
      description: Delete the specified column from a table.
      operationId: schema
      parameters:
      - $ref: '#/components/parameters/Table'
      - $ref: '#/components/parameters/Column'
      responses:
        200:
          description: The summary of deletion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSchemaResponse'
  /api/v1/schema/_rename:
    post:
      tags:
      - schema
      operationId: rename_table
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenameTableOperation'
      responses:
        200:
          description: Rename Table results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyDocument'
        400:
          description: Invalid request body
  /api/v1/schema/_copy:
    post:
      tags:
      - schema
      operationId: copy_table
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyTableOperation'
      responses:
        200:
          description: Copy Table results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyDocument'
        400:
          description: Invalid request body
components:
  schemas:
    UserDefinedDatabaseSchema:
      type: object
      description: '"Any schema which is a valid Aito database schema.


        Schema describes the structure of the database in a formal language.

        The Aito schema is a collection of database objects (currently only tables)

        that contains its unique names, fields (or columns), and data types of the fields.

        The schema also contains information to help Aito preprocess your data. For

        example what language a textual data contains.


        The contents of the schema depends on the data that will be inserted into the database."

        '
      required:
      - schema
      example:
        schema:
          products:
            type: table
            columns:
              id:
                type: Int
              name:
                type: String
              price:
                type: Decimal
              description:
                type: Text
                analyzer: English
      properties:
        schema:
          type: object
          description: Database tables. Each key-value pair is a table name and the table schema.
          properties:
            <yourTableName>:
              $ref: '#/components/schemas/UserDefinedTableSchema'
    BooleanType:
      type: object
      description: '"Boolean column type.

        When column is a boolean, the only accepted values are `true` and `false`."

        '
      example:
        type: boolean
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - boolean
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    DecimalType:
      type: object
      description: Decimal column type.
      example:
        type: Decimal
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - decimal
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    JsonType:
      type: object
      description: '"Json column type.

        The json data type can be any atomic JSON value, object, array or nested structure.

        The json value is turned into a single feature. For example `{"list":[1, 2], "value":true}` becomes 1

        feature: `{"list":[1, 2], "value":true}`."

        '
      example:
        type: Json
      examples:
      - type:
        - Json
        - 'null'
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - json
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    AliasAnalyzer:
      type: string
      examples:
      - standard
      - whitespace
      - english
      - en
    CharNGramAnalyzer:
      type: object
      required:
      - type
      - minGram
      - maxGram
      example:
        type: char-ngram
        minGram: 2
        maxGram: 3
      properties:
        type:
          description: Type of the analyzer.
          type: string
          enum:
          - char-ngram
        minGram:
          description: The minimum length of characters in a feature.
          type: integer
          format: int32
        maxGram:
          description: The maximum length of characters in a feature.
          type: integer
          format: int32
    RenameTableOperation:
      type: object
      example:
        from: old_table
        rename: new_table
      required:
      - from
      - rename
      properties:
        from:
          example: old_table
          $ref: '#/components/schemas/FromTablemodify'
          description: The table to rename
        rename:
          example: new_table
          $ref: '#/components/schemas/FromTablemodify'
          description: The name of the renamed table
        replace:
          type: boolean
          description: If replace is true, operation will overwrite any existing table
          default: false
    IntType:
      type: object
      description: '"Integer column type."

        '
      example:
        type: Int
      examples:
      - type: Int
      - type: Int
        link: users.id
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - int
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    DeleteSchemaResponse:
      description: '"Deleted tables."

        '
      type: object
      required:
      - deleted
      example:
        deleted:
        - products
      properties:
        deleted:
          type: array
          items:
            type: string
          description: Array of table names deleted.
    ArrayType:
      type: object
      description: '"Array column type.

        Arrays contain ordered lists of primitive values of a single type.

        Supported item types: Int (Int[]), Long (Long[]), Decimal (Decimal[]), Boolean (Boolean[]), String (String[]).

        Arrays are useful for storing multi-valued attributes like tags, categories, or feature vectors."

        '
      example:
        type: Int[]
      examples:
      - type: Int[]
      - type:
        - String[]
        - 'null'
      - type: Decimal[]
      - type: Boolean[]
      required:
      - type
      properties:
        type:
          description: Type of the column. Use Type[] syntax for arrays, e.g., Int[], String[].
          type: string
          enum:
          - Int[]
          - Long[]
          - Decimal[]
          - String[]
          - Boolean[]
        nullable:
          description: When true, `null` values are allowed for the entire array.
          type: boolean
          default: true
    CopyTableOperation:
      type: object
      example:
        copy: new_table
        from: old_table
      required:
      - from
      - copy
      properties:
        from:
          example: old_table
          $ref: '#/components/schemas/FromTablemodify'
          description: The existing table to copy
        copy:
          example: new_table
          $ref: '#/components/schemas/FromTablemodify'
          description: The target name of the new copy
        replace:
          type: boolean
          description: If replace is true, operation will overwrite any existing table
          default: false
    DelimiterAnalyzer:
      type: object
      required:
      - type
      - delimiter
      examples:
      - type: delimiter
        delimiter: ','
      - type: delimiter
        delimiter: '

          '
        trimWhitespace: true
      properties:
        type:
          description: Type of the analyzer.
          type: string
          enum:
          - delimiter
        delimiter:
          type: string
          description: The delimiter
        trimWhitespace:
          description: Trims leading and trailing whitespace of the features
          type: boolean
          default: true
    UserDefinedTableSchema:
      type: object
      description: '"Any schema which is a valid Aito table schema.


        Table schema describes the structure of the table in a formal language.

        The schema describes all fields (or columns), data types of the fields, and information

        to help Aito preprocess your data. For example what language a textual data contains.


        The contents of the schema depends on the data that will be inserted into the database."

        '
      example:
        type: table
        columns:
          id:
            type: Int
          name:
            type: String
          price:
            type: Decimal
          description:
            type: Text
            analyzer: English
      properties:
        type:
          type: string
          description: Type of the database schema item. Currently only "table" is accepted.
          enum:
          - table
        columns:
          type: object
          description: Table columns. Each key-value pair is a column name and the column type.
          properties:
            <yourColumnName>:
              $ref: '#/components/schemas/ColumnType'
    EmptyDocument:
      type: object
      required: null
      properties: null
    NewColumnType:
      type: object
      allOf:
      - $ref: '#/components/schemas/ColumnType'
      - type: object
        properties:
          value:
            description: Value that existing rows get. Optional if the column is nullable or the table is empty.
            oneOf:
            - type: integer
            - type: number
            - type: boolean
            - type: 'null'
            - type: string
    ColumnType:
      type: object
      description: '"Type of the column.


        Describes an individual field (or column), the type, and information

        to help Aito preprocess your data. For example what language a textual data contains."

        '
      example:
        type: Int
      examples:
      - type: int
      - type: string
      - type: decimal
      - type: text
        analyzer: english
      - type:
        - json
        - 'null'
      - type: Int[]
      - type:
        - String[]
        - 'null'
      oneOf:
      - $ref: '#/components/schemas/IntType'
      - $ref: '#/components/schemas/DecimalType'
      - $ref: '#/components/schemas/TextType'
      - $ref: '#/components/schemas/StringType'
      - $ref: '#/components/schemas/BooleanType'
      - $ref: '#/components/schemas/JsonType'
      - $ref: '#/components/schemas/ArrayType'
      discriminator:
        propertyName: type
        mapping:
          int: '#/components/schemas/IntType'
          decimal: '#/components/schemas/DecimalType'
          text: '#/components/schemas/TextType'
          string: '#/components/schemas/StringType'
          boolean: '#/components/schemas/BooleanType'
          json: '#/components/schemas/JsonType'
          Int[]: '#/components/schemas/ArrayType'
          Long[]: '#/components/schemas/ArrayType'
          Decimal[]: '#/components/schemas/ArrayType'
          String[]: '#/components/schemas/ArrayType'
          Boolean[]: '#/components/schemas/ArrayType'
    FromTablemodify:
      example: impressions
      examples:
      - impressions
      - products
      - customers
      - messages
      type: string
    StringType:
      type: object
      description: '"String column type.

        The string data type is a primitive version of the Text type.

        The value is turned into a single feature. For example `"lazy black cat"` becomes 1

        feature: `"lazy black cat"`."

        '
      example:
        type: String
      examples:
      - type: String
      - type: String
        link: messages.id
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - string
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    TokenNGramAnalyzer:
      type: object
      required:
      - type
      - source
      - minGram
      - maxGram
      examples:
      - type: token-ngram
        source: english
        minGram: 1
        maxGram: 2
      - type: token-ngram
        source:
          type: delimiter
          delimiter: ','
        minGram: 1
        maxGram: 3
        tokenSeparator: _
      properties:
        type:
          description: Type of the analyzer.
          type: string
          enum:
          - token-ngram
        source:
          description: Source analyzer to generate features before being combined into n-grams.
          $ref: '#/components/schemas/Analyzer'
        minGram:
          description: The minimum number of features to be combined.
          type: integer
          format: int32
        maxGram:
          description: The maximum number of features to be combined.
          type: integer
          format: int32
        tokenSeparator:
          description: The string used to join the features of the source analyzer.
          type: string
          default: '" "'
    TextType:
      type: object
      description: "\"Text column type.\n\nThe text data type allows smarter textual analysis. Aito extracts features of the given text\ncontents with the configurable `analyzer`.\n\nSupported analyzers:\n* `\"Whitespace\"` Extracts features by white space splitting.\n    *\"lazy black cat\"* would be turned into 3 features: *\"lazy\"*, *\"black\"*, *\"cat\"*.\n* `\"English\"` Extracts features by English stemming.\n    *\"aito database\"* would be turned into 2 features: *\"aito\"*, *\"databas\"*.\n* `\"Finnish\"`\n* `\"Swedish\"`\n* `\"German\"`\"\n"
      example:
        type: Text
        analyzer: English
      required:
      - type
      properties:
        type:
          description: Type of the column.
          type: string
          enum:
          - text
        analyzer:
          $ref: '#/components/schemas/Analyzer'
        nullable:
          description: When true, `null` values are allowed.
          type: boolean
          default: true
        link:
          description: Path to a column of a linked row.
          type: string
          default: 'null'
    LanguageAnalyzer:
      type: object
      required:
      - type
      - language
      examples:
      - type: language
        language: en
      - type: language
        language: english
        useDefaultStopWords: true
        customStopWords:
        - flower
        customKeyWords:
        - animal
      properties:
        type:
          description: Type of the analyzer.
          type: string
          enum:
          - language
        language:
          description: Name or code of the language.
          type: string
        useDefaultStopWords:
          description: Use the language default stopwords.
          type: boolean
          default: false
        customStopWords:
          description: List of words that will be filtered.
          type: array
          default: []
          items:
            type: string
        customKeyWords:
          description: List of words that will not be featurizerd.
          type: array
          default: []
          items:
            type: string
    Analyzer:
      oneOf:
      - $ref: '#/components/schemas/DelimiterAnalyzer'
      - $ref: '#/components/schemas/CharNGramAnalyzer'
      - $ref: '#/components/schemas/LanguageAnalyzer'
      - $ref: '#/components/schemas/TokenNGramAnalyzer'
      - $ref: '#/components/schemas/AliasAnalyzer'
      examples:
      - standard
      - whitespace
      - english
      - en
      - type: delimiter
        delimiter: ','
      - type: language
        language: en
      - type: char-ngram
        minGram: 2
        maxGram: 3
      - type: token-ngram
        source: english
        minGram: 1
        maxGram: 2
  parameters:
    Table:
      name: table
      in: path
      required: true
      description: The name of the table to add data to
      schema:
        type: string
    Column:
      name: table
      in: path
      required: true
      description: The name of the column
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key