Glide Tables API

Create, overwrite, and list Big Tables.

OpenAPI Specification

glide-apps-tables-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Glide Queries Tables API
  description: The Glide REST API (v2) for working with Glide Big Tables. Create and overwrite tables, list and paginate rows, read a single row, add rows, update and delete rows, stage large batches with stashes, and query tables with SQL. All requests are authenticated with a Bearer API token issued from the Glide team settings. The API operates at the team level and works with Glide Big Tables.
  termsOfService: https://www.glideapps.com/legal/terms-of-service
  contact:
    name: Glide Support
    url: https://www.glideapps.com/docs
  version: '2.0'
servers:
- url: https://api.glideapps.com
  description: Glide REST API v2
security:
- bearerAuth: []
tags:
- name: Tables
  description: Create, overwrite, and list Big Tables.
paths:
  /tables:
    get:
      operationId: listTables
      tags:
      - Tables
      summary: List Big Tables
      description: Returns all Big Tables in the team associated with the API token.
      responses:
        '200':
          description: A list of Big Tables.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Table'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createTable
      tags:
      - Tables
      summary: Create a Big Table
      description: Creates a new Big Table with the provided name, column schema, and optional seed rows. Rows may be provided inline or referenced from a previously populated stash. Returns the new table ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTableRequest'
      responses:
        '201':
          description: The Big Table was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTableResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /tables/{tableID}:
    put:
      operationId: overwriteTable
      tags:
      - Tables
      summary: Overwrite a Big Table
      description: Replaces the schema and/or data of an existing Big Table. Rows may be provided inline or referenced from a stash.
      parameters:
      - $ref: '#/components/parameters/TableID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OverwriteTableRequest'
      responses:
        '200':
          description: The Big Table was overwritten.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
          description: A human-readable description of the error.
        code:
          type: string
          description: A machine-readable error code.
    Column:
      type: object
      description: A column definition in a Big Table schema.
      properties:
        id:
          type: string
          description: Stable column identifier used as the key in row values.
        type:
          type: string
          description: The column data type.
          enum:
          - string
          - number
          - boolean
          - dateTime
          - uri
          - image-uri
          - json
        name:
          type: string
          description: Human-readable column name.
      required:
      - type
    Table:
      type: object
      description: A Big Table belonging to the team.
      properties:
        id:
          type: string
          description: The table ID.
        name:
          type: string
          description: The display name of the table.
    OverwriteTableRequest:
      type: object
      description: Request body for overwriting a Big Table's schema and/or data.
      properties:
        schema:
          type: object
          properties:
            columns:
              type: array
              items:
                $ref: '#/components/schemas/Column'
        rows:
          type: array
          items:
            $ref: '#/components/schemas/RowValues'
        $stashID:
          type: string
          description: Optional stash ID to source rows from instead of inline rows.
    CreateTableRequest:
      type: object
      description: Request body for creating a Big Table.
      properties:
        name:
          type: string
          description: The display name for the new table.
        schema:
          type: object
          properties:
            columns:
              type: array
              items:
                $ref: '#/components/schemas/Column'
        rows:
          type: array
          description: Optional inline seed rows.
          items:
            $ref: '#/components/schemas/RowValues'
        $stashID:
          type: string
          description: Optional stash ID to source seed rows from instead of inline rows.
      required:
      - name
      - schema
    RowValues:
      type: object
      description: A map of column ID to value for a row. Values are typed according to the column definition.
      additionalProperties: true
    CreateTableResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            tableID:
              type: string
              description: The ID of the newly created table.
  responses:
    Unauthorized:
      description: The API token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    TableID:
      name: tableID
      in: path
      required: true
      description: The ID of the Big Table.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Glide team API token passed as `Authorization: Bearer <token>`. Tokens are created in the Glide team settings.'