Optilogic storage : custom tables API

Manage database custom tables

Operations 4

GET /storage/{storageName}/custom-tables Get custom tables
POST /storage/{storageName}/custom-table Create a custom table.
PUT /storage/{storageName}/custom-table Rename a custom table.
DELETE /storage/{storageName}/custom-table Delete a custom table.

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/optilogic-storage-custom-tables-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

optilogic-storage-custom-tables-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "All Optilogic users can view the endpoint documentation below, <a href='https://optilogic.app/#/user-account?tab=pricing'>upgrade to a paid account</a> to gain access.<br /><br />Once you have api access, use the `refreshApiKey` endpoint with your account login information or use the `Quick Start` form below to get started.\n### Installing Additional Python Packages <a id=\"installing-additional-python-packages\"></a>\nWhen a job is run - such as when using the **Job POST** endpoint - the system will check the directoryPath specified in the POST call for a file named `requirements.txt`. If the file exists, then the system will attempt to install all packages specified by running `pip install -r requirements.txt` before running the file specified in the filePath parameter.\n### Accessing your Files <a id=\"accessing-your-files\"></a>\nYour files are stored in the */projects* directory of the workspace. Files saved in this directory are available to your *Atlas* workspace and to REST API endpoints.\nAll directory paths passed as a *directoryPath*, *sourceDirectoryPath*, or *targetDirectoryPath* parameter are relative to the */projects* directory.\nThis means you must **not** include */projects* as part of the path string.\n\nExample:\n  - directoryPath = \"pyomo-examples/models/diet-problem\"\n  - filePath = \"diet-problem.py\"\n\nExample:\n  - directoryPath = \".\"\n  - filePath = \"my-model.py\"\n\n<br>\n\n## Example Application <a id=\"example-app\"></a>\n\n<a target=\"_blank\" href=\"https://optilogic.github.io/optiapp-web-demo/\">OptiJS Demo</a>\n\nThis demo application uses the OptiJS client library to run and monitor jobs from Python modules on a users' account. Custom applications can be quickly created on top of the Optilogic API using the <a target=\"_blank\" href=\"https://cdn.optilogic.app/web/optijs/api.js\">OptiJS</a> and <a target=\"_blank\" href=\"https://pypi.org/project/optilogic\">OptiPy</a> client libraries.\n\n\n<br>\n"
  version: 1.0.0
  title: 'Optilogic REST storage : custom tables API'
  contact:
    name: Optilogic Support
    email: support@optilogic.com
servers:
- url: https://api.optilogic.app/v0
tags:
- name: 'storage : custom tables'
  description: Manage database custom tables
paths:
  /storage/{storageName}/custom-tables:
    get:
      tags:
      - 'storage : custom tables'
      summary: Get custom tables
      description: Retrieve a list of all customtables in a database.
      parameters:
      - name: storageName
        in: path
        description: Name of the target storage device
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCustomTables'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - APIKeyHeader: []
  /storage/{storageName}/custom-table:
    post:
      tags:
      - 'storage : custom tables'
      summary: Create a custom table.
      description: Creates a custom table with an id column as its primary key.  Table will be created with lowercased letters.
      parameters:
      - name: storageName
        in: path
        description: Name of the target storage device
        required: true
        schema:
          type: string
      - name: tableName
        in: query
        description: Name of the table to create
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCustomTable'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - APIKeyHeader: []
    put:
      tags:
      - 'storage : custom tables'
      summary: Rename a custom table.
      description: Renames a custom table.  Table will be renamed with lowercased letters.
      parameters:
      - name: storageName
        in: path
        description: Name of the target storage device
        required: true
        schema:
          type: string
      - name: tableName
        in: query
        description: Name of the table to rename
        required: true
        schema:
          type: string
      - name: newTableName
        in: query
        description: New name of the table
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCustomTable'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - APIKeyHeader: []
    delete:
      tags:
      - 'storage : custom tables'
      summary: Delete a custom table.
      description: Deletes a custom table.
      parameters:
      - name: storageName
        in: path
        description: Name of the target storage device
        required: true
        schema:
          type: string
      - name: tableName
        in: query
        description: Name of the table to delete
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCustomTable'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - APIKeyHeader: []
components:
  schemas:
    CreateCustomTable:
      type: object
      properties:
        tableName: null
        result:
          type: string
          format: string
          example: success
    Error:
      type: object
      properties:
        result:
          type: string
          format: string
        error:
          type: string
          format: string
        correlationId:
          type: string
          format: uuid
    DeleteCustomTable:
      type: object
      properties:
        result:
          type: string
          format: string
          example: success
        message:
          type: string
    GetCustomTables:
      type: object
      properties:
        result:
          type: string
          format: string
          example: success
        customTables:
          type: array
          items:
            type: string
    UpdateCustomTable:
      type: object
      properties:
        result:
          type: string
          format: string
          example: success
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY
externalDocs:
  description: Find out more about Optilogic
  url: https://optilogic.com