VAST Data projections API

Projections are subsets of a full table in the VAST Database that allow for optimized queries that use only the columns included in the projection.

Operations 5

GET /projections/ List Database Table Semi-Sorted Projections #
POST /projections/ Create a Database Table Semi-Sorted Projection #
DELETE /projections/delete/ Delete a Database Table Semi-Sorted Projection #
PATCH /projections/rename/ Rename a Database Table Semi-Sorted Projection #
GET /projections/show/ Return a Database Table Semi-Sorted Projection #

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/vastdata-projections-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vastdata-projections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: VAST Management API definition
  title: VAST API Swagger Schema activedirectory Projections API
  version: '1.0'
security:
- ApiToken: []
tags:
- description: Projections are subsets of a full table in the VAST Database that allow for optimized queries that use only the columns included in the projection.
  name: projections
paths:
  /projections/:
    get:
      description: This endpoint lists database table semi-sorted projections.
      operationId: projections_list
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/TabularPageSize'
      - $ref: '#/components/parameters/TenantIdQP'
      - $ref: '#/components/parameters/TabularDatabaseNameQP'
      - $ref: '#/components/parameters/TabularSchemaNameQP'
      - $ref: '#/components/parameters/TabularTableNameQP'
      - $ref: '#/components/parameters/TabularNameQP'
      - $ref: '#/components/parameters/TabularNameStartswithQP'
      - $ref: '#/components/parameters/TabularCountOnlyQP'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Projection'
                title: Projections
                type: array
          description: Database Table Semi-Sorted Projections
      summary: List Database Table Semi-Sorted Projections
      tags:
      - projections
    post:
      description: This endpoint creates a database table semi-sorted projection
      operationId: projections_create
      requestBody:
        $ref: '#/components/requestBodies/ProjectionCreateParamsBody'
      responses:
        '201':
          description: OK
      summary: Create a Database Table Semi-Sorted Projection
      tags:
      - projections
  /projections/delete/:
    delete:
      description: This endpoint deletes a database table semi-sorted projection.
      operationId: projections_delete
      requestBody:
        $ref: '#/components/requestBodies/ProjectionDeleteParamsBody'
      responses:
        '204':
          description: OK
      summary: Delete a Database Table Semi-Sorted Projection
      tags:
      - projections
  /projections/rename/:
    patch:
      description: This endpoint renames a database table semi-sorted projection.
      operationId: projections_rename
      requestBody:
        $ref: '#/components/requestBodies/ProjectionRenameParamsBody'
      responses:
        '204':
          description: OK
      summary: Rename a Database Table Semi-Sorted Projection
      tags:
      - projections
  /projections/show/:
    get:
      description: This endpoint returns a database table semi-sorted projection.
      operationId: projections_show
      parameters:
      - $ref: '#/components/parameters/TenantIdQP'
      - $ref: '#/components/parameters/TabularDatabaseNameQP'
      - $ref: '#/components/parameters/TabularSchemaNameQP'
      - $ref: '#/components/parameters/TabularTableNameQP'
      - $ref: '#/components/parameters/TabularNameRequiredQP'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedProjection'
          description: Database Table Semi-Sorted Projection
      summary: Return a Database Table Semi-Sorted Projection
      tags:
      - projections
components:
  schemas:
    DetailedProjection:
      allOf:
      - $ref: '#/components/schemas/Projection'
      - properties:
          initial_sync_progress:
            description: Initial sync progress
            type: integer
            x-display-units: '%'
            x-format: thousandths2percents
        required:
        - initial_sync_progress
        type: object
    ProjectionDeleteParams:
      allOf:
      - $ref: '#/components/schemas/TabularTableHierarchy'
      - properties:
          tenant_id:
            description: Tenant ID
            type: integer
        type: object
    Projection:
      allOf:
      - $ref: '#/components/schemas/TabularTableHierarchy'
      - properties:
          num_rows:
            description: Total number of rows
            type: integer
          properties:
            description: Misc properties of the Projection
            type: string
          size:
            description: Size of the Projection
            type: integer
        required:
        - num_rows
        - size
        type: object
    TabularTableHierarchy:
      properties:
        database_name:
          description: Name of the Database
          type: string
        name:
          description: Name of the object
          type: string
        schema_name:
          description: Name of the Schema
          type: string
        table_name:
          description: Name of the Table
          type: string
      required:
      - database_name
      - schema_name
      - table_name
      - name
      type: object
    ProjectionCreateParams:
      allOf:
      - $ref: '#/components/schemas/TabularTableHierarchy'
      - properties:
          sorted_columns:
            description: The names of the columns in the projection (from the table) to use to sort the projection. The rows of the projection are sorted by these columns, in order of their listing.
            items:
              type: string
            type: array
          tenant_id:
            description: Tenant ID
            type: integer
          unsorted_columns:
            description: The names of additional columns in the projection (from the table) beside those specified as sorted columns. You can specify any number of unsorted columns for the projection. They cannot include columns included in the sorted columns list.
            items:
              type: string
            type: array
        required:
        - sorted_columns
        type: object
    ProjectionRenameParams:
      allOf:
      - $ref: '#/components/schemas/TabularTableHierarchy'
      - properties:
          new_name:
            description: New name of the Projection
            type: string
          tenant_id:
            description: Tenant ID
            type: integer
        required:
        - new_name
        type: object
  parameters:
    Page:
      in: query
      name: page
      schema:
        minimum: 1
        type: integer
    TenantIdQP:
      description: Filter by tenant. Specify tenant ID.
      in: query
      name: tenant_id
      schema:
        minimum: 1
        type: integer
    TabularCountOnlyQP:
      description: Whether to only return count of objects
      in: query
      name: count_only
      schema:
        default: false
        type: boolean
    TabularDatabaseNameQP:
      description: Getting list of objects by database_name
      in: query
      name: database_name
      required: true
      schema:
        type: string
    TabularSchemaNameQP:
      description: Getting list of objects by schema_name
      in: query
      name: schema_name
      required: true
      schema:
        type: string
    TabularNameRequiredQP:
      description: Getting object by exact match
      in: query
      name: name
      required: true
      schema:
        type: string
    TabularPageSize:
      in: query
      name: page_size
      schema:
        default: 999
        maximum: 999
        minimum: 1
        type: integer
    TabularNameStartswithQP:
      description: Getting list of objects by prefix match
      in: query
      name: name__startswith
      schema:
        type: string
    TabularTableNameQP:
      description: Getting list of objects by table_name
      in: query
      name: table_name
      required: true
      schema:
        type: string
    TabularNameQP:
      description: Getting list of objects by exact match
      in: query
      name: name
      schema:
        type: string
  requestBodies:
    ProjectionRenameParamsBody:
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ProjectionRenameParams'
      x-originalParamName: ProjectionRenameParamsBody
    ProjectionCreateParamsBody:
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ProjectionCreateParams'
      x-originalParamName: ProjectionCreateParamsBody
    ProjectionDeleteParamsBody:
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ProjectionDeleteParams'
      x-originalParamName: ProjectionDeleteParamsBody
  securitySchemes:
    ApiToken:
      description: Send current valid API token in an Authorization header with format Api-Token <token>.
      in: header
      name: ApiToken
      type: apiKey
    basicAuth:
      description: Basic authentication using VMS user name and password
      scheme: basic
      type: http