{ "openapi": "3.0.0", "info": { "title": "", "version": "" }, "components": { "schemas": {}, "responses": {}, "parameters": {}, "examples": {}, "requestBodies": {}, "headers": {}, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer" } }, "links": {}, "callbacks": {} }, "paths": { "/tables": { "get": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ], "additionalProperties": false } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } } }, "post": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "tableID": { "type": "string", "description": "ID of the created table" }, "rowIDs": { "type": "array", "items": { "type": "string" }, "description": "Row IDs of added rows" } }, "required": [ "tableID", "rowIDs" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "column_id_reserved", "column_id_not_unique", "column_has_invalid_value", "column_id_not_found" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Create table", "parameters": [ { "name": "onSchemaError", "in": "query", "schema": { "anyOf": [ { "type": "string", "description": "Abort the entire operation and return an error", "enum": [ "abort" ] }, { "type": "string", "description": "Ignore the columns that caused the error, and do not import any data from them", "enum": [ "dropColumns" ] }, { "type": "string", "description": "Update the schema as needed to add any missing columns or widen the data types of existing columns, and then import the data from them", "enum": [ "updateSchema" ] } ] }, "required": false } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "schema": { "type": "object", "properties": {}, "additionalProperties": false }, "rows": { "anyOf": [ { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, { "type": "object", "properties": { "$stashID": { "type": "string" } }, "required": [ "$stashID" ], "additionalProperties": false } ] } }, "required": [ "name", "schema", "rows" ], "additionalProperties": false } } } } } }, "/tables/{tableID}": { "put": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "rowIDs": { "type": "array", "items": { "type": "string" }, "description": "Row IDs of added rows" } }, "required": [ "rowIDs" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "table_not_found", "table_not_big_table" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "column_id_reserved", "column_id_not_unique", "column_has_invalid_value", "column_id_not_found" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Overwrite table", "parameters": [ { "name": "tableID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "onSchemaError", "in": "query", "schema": { "anyOf": [ { "type": "string", "description": "Abort the entire operation and return an error", "enum": [ "abort" ] }, { "type": "string", "description": "Ignore the columns that caused the error, and do not import any data from them", "enum": [ "dropColumns" ] }, { "type": "string", "description": "Update the schema as needed to add any missing columns or widen the data types of existing columns, and then import the data from them", "enum": [ "updateSchema" ] } ] }, "required": false } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "schema": { "type": "object", "properties": {}, "additionalProperties": false }, "rows": { "anyOf": [ { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, { "type": "object", "properties": { "$stashID": { "type": "string" } }, "required": [ "$stashID" ], "additionalProperties": false } ] } }, "required": [ "schema", "rows" ], "additionalProperties": false } } } } } }, "/tables/{tableID}/rows": { "post": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "rowIDs": { "type": "array", "items": { "type": "string" }, "description": "Row IDs of added rows" } }, "required": [ "rowIDs" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "table_not_found", "table_not_big_table" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } }, "422": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "column_has_invalid_value", "column_id_reserved", "column_id_not_found" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Add rows to table", "parameters": [ { "name": "tableID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "onSchemaError", "in": "query", "schema": { "anyOf": [ { "type": "string", "description": "Abort the entire operation and return an error", "enum": [ "abort" ] }, { "type": "string", "description": "Ignore the columns that caused the error, and do not import any data from them", "enum": [ "dropColumns" ] }, { "type": "string", "description": "Update the schema as needed to add any missing columns or widen the data types of existing columns, and then import the data from them", "enum": [ "updateSchema" ] } ] }, "required": false } ], "requestBody": { "content": { "application/json": { "schema": { "anyOf": [ { "type": "array", "items": { "type": "object", "additionalProperties": {} } }, { "type": "object", "properties": { "$stashID": { "type": "string" } }, "required": [ "$stashID" ], "additionalProperties": false } ] } } } } } }, "/stashes": { "post": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "stashID": { "type": "string", "description": "The newly created stash" } }, "required": [ "stashID" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Create stash", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } } } }, "/stashes/{stashID}/{serial}": { "post": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Add rows to stash", "parameters": [ { "name": "stashID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "serial", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "additionalProperties": {} } } } } } } }, "/stashes/{stashID}": { "delete": { "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": {}, "additionalProperties": false } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "error": { "type": "object", "properties": { "type": { "type": "string" }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false } }, "required": [ "error" ], "additionalProperties": false } } } } }, "operationId": "Delete stash", "parameters": [ { "name": "stashID", "in": "path", "schema": { "type": "string" }, "required": true } ] } } }, "security": [ { "BearerAuth": [] } ], "tags": [], "servers": [ { "description": "Production", "url": "https://api.glideapps.com" } ] }