From dce23a9eb82d0f39c6dbf3cd0d054f2df8224d33 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Thu, 24 Feb 2022 15:42:59 +0000 Subject: [PATCH] Updating specs. --- packages/server/specs/openapi.json | 1043 +--------------------------- packages/server/specs/openapi.yaml | 630 +---------------- 2 files changed, 32 insertions(+), 1641 deletions(-) diff --git a/packages/server/specs/openapi.json b/packages/server/specs/openapi.json index 9bb37b129e..78b86a3c6b 100644 --- a/packages/server/specs/openapi.json +++ b/packages/server/specs/openapi.json @@ -443,14 +443,30 @@ "schemas": { "application": { "type": "object", - "properties": {} + "properties": { + "name": { + "type": "string", + "required": true + }, + "url": { + "type": "string" + } + } }, "applicationOutput": { "type": "object", "properties": { "application": { "type": "object", - "properties": {} + "properties": { + "name": { + "type": "string", + "required": true + }, + "url": { + "type": "string" + } + } } } }, @@ -927,1027 +943,6 @@ "ApiKeyAuth": [] } ], - "paths": { - "/applications/search": { - "post": { - "summary": "Search for an application based on its app name.", - "tags": [ - "applications" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/nameSearch" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the applications that were found based on the search parameters.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "#/components/schemas/application" - } - } - } - }, - "examples": { - "applications": { - "$ref": "#/components/examples/applications" - } - } - } - } - } - } - } - }, - "/applications": { - "post": { - "summary": "Create a new application.", - "tags": [ - "applications" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/application" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the created application.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/applicationOutput" - }, - "examples": { - "application": { - "$ref": "#/components/examples/application" - } - } - } - } - } - } - } - }, - "/applications/{appId}": { - "put": { - "summary": "Update an existing application by its ID.", - "tags": [ - "applications" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appIdUrl" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/application" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the updated application.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/applicationOutput" - }, - "examples": { - "application": { - "$ref": "#/components/examples/application" - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete an existing application by its ID.", - "tags": [ - "applications" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appIdUrl" - } - ], - "responses": { - "200": { - "description": "Returns the deleted application.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/applicationOutput" - }, - "examples": { - "application": { - "$ref": "#/components/examples/application" - } - } - } - } - } - } - }, - "get": { - "summary": "Retrieve a single application by its ID.", - "tags": [ - "applications" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appIdUrl" - } - ], - "responses": { - "200": { - "description": "Returns the retrieved application.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/applicationOutput" - }, - "examples": { - "application": { - "$ref": "#/components/examples/application" - } - } - } - } - } - } - } - }, - "/queries/search": { - "post": { - "summary": "Search for a query based on its name.", - "tags": [ - "queries" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/nameSearch" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the queries found based on the search parameters.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "queries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/query" - } - } - } - }, - "examples": { - "queries": { - "$ref": "#/components/examples/queries" - } - } - } - } - } - } - } - }, - "/queries/{queryId}": { - "post": { - "summary": "Execute a query and retrieve its response.", - "tags": [ - "queries" - ], - "parameters": [ - { - "$ref": "#/components/parameters/queryId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the result of the query execution.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "array", - "description": "The data retrieved from the query.", - "items": { - "type": "object", - "description": "The structure of the returned data will be an object, if it is just a string then this will be an object containing \"value\"." - } - }, - "pagination": { - "type": "object", - "description": "For supported query types this returns pagination information.", - "properties": { - "cursor": { - "type": "string", - "description": "The pagination cursor location." - } - } - }, - "raw": { - "type": "string", - "description": "The raw query response." - }, - "headers": { - "type": "object", - "description": "For REST queries the headers in the response will be returned here." - } - } - }, - "examples": { - "REST": { - "$ref": "#/components/examples/restResponse" - }, - "SQL": { - "$ref": "#/components/examples/sqlResponse" - } - } - } - } - } - } - } - }, - "/tables/{tableId}/rows/search": { - "post": { - "summary": "Used to search for rows within a table.", - "tags": [ - "rows" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": { - "string": { - "type": "object", - "example": { - "columnName1": "value", - "columnName2": "value" - }, - "description": "A map of field name to the string to search for, this will look for rows that have a value starting with the string value.", - "additionalProperties": { - "type": "string", - "description": "The value to search for in the column." - } - }, - "fuzzy": { - "type": "object", - "description": "A fuzzy search, only supported by internal tables." - }, - "range": { - "type": "object", - "description": "Searches within a range, the format of this must be columnName -> [low, high].", - "example": { - "columnName1": [ - 10, - 20 - ] - } - }, - "equal": { - "type": "object", - "description": "Searches for rows that have a column value that is exactly the value set." - }, - "notEqual": { - "type": "object", - "description": "Searches for any row which does not contain the specified column value." - }, - "empty": { - "type": "object", - "description": "Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.", - "example": { - "columnName1": "" - } - }, - "notEmpty": { - "type": "object", - "description": "Searches for rows which have the specified column." - }, - "oneOf": { - "type": "object", - "description": "Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2]." - } - } - }, - "paginate": { - "type": "boolean", - "description": "Enables pagination, by default this is disabled." - }, - "bookmark": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "If retrieving another page, the bookmark from the previous request must be supplied." - }, - "limit": { - "type": "integer", - "description": "The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000." - }, - "sort": { - "type": "object", - "description": "A set of parameters describing the sort behaviour of the search.", - "properties": { - "order": { - "type": "string", - "enum": [ - "ascending", - "descending" - ], - "description": "The order of the sort, by default this is ascending." - }, - "column": { - "type": "string", - "description": "The name of the column by which the rows will be sorted." - }, - "type": { - "type": "string", - "enum": [ - "string", - "number" - ], - "description": "Defines whether the column should be treated as a string or as numbers when sorting." - } - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "The response will contain an array of rows that match the search parameters.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "rows": { - "description": "An array of rows, these will each contain an _id field which can be used to update or delete them.", - "type": "array", - "items": { - "type": "object" - } - }, - "bookmark": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "If pagination in use, this should be provided." - }, - "hasNextPage": { - "description": "If pagination in use, this will determine if there is another page to fetch.", - "type": "boolean" - } - } - }, - "examples": { - "search": { - "$ref": "#/components/examples/rows" - } - } - } - } - } - } - } - }, - "/tables/{tableId}/rows": { - "post": { - "summary": "Creates a new row within a specified table.", - "tags": [ - "rows" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/row" - }, - "examples": { - "row": { - "$ref": "#/components/examples/inputRow" - } - } - } - } - }, - "responses": { - "200": { - "description": "Returns the created row, including the ID which has been generated for it. This can be found in the Budibase portal, viewed under the developer information.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/rowOutput" - }, - "examples": { - "row": { - "$ref": "#/components/examples/row" - } - } - } - } - } - } - } - }, - "/tables/{tableId}/rows/{rowId}": { - "put": { - "summary": "Update a single row within a specified table.", - "tags": [ - "rows" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/rowId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/row" - }, - "examples": { - "row": { - "$ref": "#/components/examples/inputRow" - } - } - } - } - }, - "responses": { - "200": { - "description": "Returns the created row, including the ID which has been generated for it.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/rowOutput" - }, - "examples": { - "row": { - "$ref": "#/components/examples/row" - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete a single row from the specified table.", - "tags": [ - "rows" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/rowId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the deleted row, including the ID which has been generated for it.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/rowOutput" - }, - "examples": { - "row": { - "$ref": "#/components/examples/row" - } - } - } - } - } - } - }, - "get": { - "summary": "Get a single row from the specified table.", - "tags": [ - "rows" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/rowId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the retrieved row.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/rowOutput" - }, - "examples": { - "row": { - "$ref": "#/components/examples/row" - } - } - } - } - } - } - } - }, - "/tables/search": { - "post": { - "summary": "Search internal and external tables based on their name.", - "tags": [ - "tables" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/nameSearch" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the found tables, based on the search parameters.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "#/components/schemas/table" - } - } - } - }, - "examples": { - "tables": { - "$ref": "#/components/examples/tables" - } - } - } - } - } - } - } - }, - "/tables": { - "post": { - "summary": "Create a new table.", - "tags": [ - "tables" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/table" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - }, - "responses": { - "200": { - "description": "Returns the created table, including the ID which has been generated for it. This can be internal or external data sources.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tableOutput" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - } - } - } - }, - "/tables/{tableId}": { - "put": { - "summary": "Update the specified table.", - "tags": [ - "tables" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/table" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - }, - "responses": { - "200": { - "description": "Returns the updated table.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tableOutput" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete a single table and all of its data.", - "tags": [ - "tables" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the deleted table.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tableOutput" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - } - } - }, - "get": { - "summary": "Gets a single table by its ID.", - "tags": [ - "tables" - ], - "parameters": [ - { - "$ref": "#/components/parameters/tableId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the retrieved table.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tableOutput" - }, - "examples": { - "table": { - "$ref": "#/components/examples/table" - } - } - } - } - } - } - } - }, - "/users/search": { - "post": { - "summary": "Search for a user based on their email/username.", - "tags": [ - "users" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/nameSearch" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the found users based on search parameters.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/user" - } - }, - "examples": { - "users": { - "$ref": "#/components/examples/users" - } - } - } - } - } - } - } - }, - "/users": { - "post": { - "summary": "Create a new user in the Budibase portal.", - "tags": [ - "users" - ], - "parameters": [ - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/user" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the created user.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/userOutput" - }, - "examples": { - "user": { - "$ref": "#/components/examples/user" - } - } - } - } - } - } - } - }, - "/users/{userId}": { - "put": { - "summary": "Update an existing user by their ID.", - "tags": [ - "users" - ], - "parameters": [ - { - "$ref": "#/components/parameters/userId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/user" - } - } - } - }, - "responses": { - "200": { - "description": "Returns the updated user.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/userOutput" - }, - "examples": { - "user": { - "$ref": "#/components/examples/user" - } - } - } - } - } - } - }, - "delete": { - "summary": "Delete an existing user by their ID.", - "tags": [ - "users" - ], - "parameters": [ - { - "$ref": "#/components/parameters/userId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the deleted user.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/userOutput" - }, - "examples": { - "user": { - "$ref": "#/components/examples/user" - } - } - } - } - } - } - }, - "get": { - "summary": "Retrieve a single user by their ID.", - "tags": [ - "users" - ], - "parameters": [ - { - "$ref": "#/components/parameters/userId" - }, - { - "$ref": "#/components/parameters/appId" - } - ], - "responses": { - "200": { - "description": "Returns the retrieved user.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/userOutput" - }, - "examples": { - "user": { - "$ref": "#/components/examples/user" - } - } - } - } - } - } - } - } - }, + "paths": {}, "tags": [] } \ No newline at end of file diff --git a/packages/server/specs/openapi.yaml b/packages/server/specs/openapi.yaml index 1fad6ac6b4..63b4b25bfb 100644 --- a/packages/server/specs/openapi.yaml +++ b/packages/server/specs/openapi.yaml @@ -318,13 +318,23 @@ components: schemas: application: type: object - properties: {} + properties: + name: + type: string + required: true + url: + type: string applicationOutput: type: object properties: application: type: object - properties: {} + properties: + name: + type: string + required: true + url: + type: string row: description: The row to be created/updated, based on the table schema. type: object @@ -676,619 +686,5 @@ components: insensitive starts with match. security: - ApiKeyAuth: [] -paths: - /applications/search: - post: - summary: Search for an application based on its app name. - tags: - - applications - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/nameSearch" - responses: - "200": - description: Returns the applications that were found based on the search - parameters. - content: - application/json: - schema: - type: object - properties: - applications: - type: array - items: - $ref: "#/components/schemas/application" - examples: - applications: - $ref: "#/components/examples/applications" - /applications: - post: - summary: Create a new application. - tags: - - applications - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/application" - responses: - "200": - description: Returns the created application. - content: - application/json: - schema: - $ref: "#/components/schemas/applicationOutput" - examples: - application: - $ref: "#/components/examples/application" - "/applications/{appId}": - put: - summary: Update an existing application by its ID. - tags: - - applications - parameters: - - $ref: "#/components/parameters/appIdUrl" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/application" - responses: - "200": - description: Returns the updated application. - content: - application/json: - schema: - $ref: "#/components/schemas/applicationOutput" - examples: - application: - $ref: "#/components/examples/application" - delete: - summary: Delete an existing application by its ID. - tags: - - applications - parameters: - - $ref: "#/components/parameters/appIdUrl" - responses: - "200": - description: Returns the deleted application. - content: - application/json: - schema: - $ref: "#/components/schemas/applicationOutput" - examples: - application: - $ref: "#/components/examples/application" - get: - summary: Retrieve a single application by its ID. - tags: - - applications - parameters: - - $ref: "#/components/parameters/appIdUrl" - responses: - "200": - description: Returns the retrieved application. - content: - application/json: - schema: - $ref: "#/components/schemas/applicationOutput" - examples: - application: - $ref: "#/components/examples/application" - /queries/search: - post: - summary: Search for a query based on its name. - tags: - - queries - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/nameSearch" - responses: - "200": - description: Returns the queries found based on the search parameters. - content: - application/json: - schema: - type: object - properties: - queries: - type: array - items: - $ref: "#/components/schemas/query" - examples: - queries: - $ref: "#/components/examples/queries" - "/queries/{queryId}": - post: - summary: Execute a query and retrieve its response. - tags: - - queries - parameters: - - $ref: "#/components/parameters/queryId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the result of the query execution. - content: - application/json: - schema: - type: object - properties: - data: - type: array - description: The data retrieved from the query. - items: - type: object - description: The structure of the returned data will be an object, if it is just - a string then this will be an object containing "value". - pagination: - type: object - description: For supported query types this returns pagination information. - properties: - cursor: - type: string - description: The pagination cursor location. - raw: - type: string - description: The raw query response. - headers: - type: object - description: For REST queries the headers in the response will be returned here. - examples: - REST: - $ref: "#/components/examples/restResponse" - SQL: - $ref: "#/components/examples/sqlResponse" - "/tables/{tableId}/rows/search": - post: - summary: Used to search for rows within a table. - tags: - - rows - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - query: - type: object - properties: - string: - type: object - example: - columnName1: value - columnName2: value - description: A map of field name to the string to search for, this will look for - rows that have a value starting with the string value. - additionalProperties: - type: string - description: The value to search for in the column. - fuzzy: - type: object - description: A fuzzy search, only supported by internal tables. - range: - type: object - description: Searches within a range, the format of this must be columnName -> - [low, high]. - example: - columnName1: - - 10 - - 20 - equal: - type: object - description: Searches for rows that have a column value that is exactly the - value set. - notEqual: - type: object - description: Searches for any row which does not contain the specified column - value. - empty: - type: object - description: Searches for rows which do not contain the specified column. The - object should simply contain keys of the column names, - these can map to any value. - example: - columnName1: "" - notEmpty: - type: object - description: Searches for rows which have the specified column. - oneOf: - type: object - description: Searches for rows which have a column value that is any of the - specified values. The format of this must be columnName - -> [value1, value2]. - paginate: - type: boolean - description: Enables pagination, by default this is disabled. - bookmark: - oneOf: - - type: string - - type: integer - description: If retrieving another page, the bookmark from the previous request - must be supplied. - limit: - type: integer - description: The maximum number of rows to return, useful when paginating, for - internal tables this will be limited to 1000, for SQL tables - it will be 5000. - sort: - type: object - description: A set of parameters describing the sort behaviour of the search. - properties: - order: - type: string - enum: - - ascending - - descending - description: The order of the sort, by default this is ascending. - column: - type: string - description: The name of the column by which the rows will be sorted. - type: - type: string - enum: - - string - - number - description: Defines whether the column should be treated as a string or as - numbers when sorting. - responses: - "200": - description: The response will contain an array of rows that match the search - parameters. - content: - application/json: - schema: - type: object - properties: - rows: - description: An array of rows, these will each contain an _id field which can be - used to update or delete them. - type: array - items: - type: object - bookmark: - oneOf: - - type: string - - type: integer - description: If pagination in use, this should be provided. - hasNextPage: - description: If pagination in use, this will determine if there is another page - to fetch. - type: boolean - examples: - search: - $ref: "#/components/examples/rows" - "/tables/{tableId}/rows": - post: - summary: Creates a new row within a specified table. - tags: - - rows - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/row" - examples: - row: - $ref: "#/components/examples/inputRow" - responses: - "200": - description: Returns the created row, including the ID which has been generated - for it. This can be found in the Budibase portal, viewed under the - developer information. - content: - application/json: - schema: - $ref: "#/components/schemas/rowOutput" - examples: - row: - $ref: "#/components/examples/row" - "/tables/{tableId}/rows/{rowId}": - put: - summary: Update a single row within a specified table. - tags: - - rows - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/rowId" - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/row" - examples: - row: - $ref: "#/components/examples/inputRow" - responses: - "200": - description: Returns the created row, including the ID which has been generated - for it. - content: - application/json: - schema: - $ref: "#/components/schemas/rowOutput" - examples: - row: - $ref: "#/components/examples/row" - delete: - summary: Delete a single row from the specified table. - tags: - - rows - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/rowId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the deleted row, including the ID which has been generated - for it. - content: - application/json: - schema: - $ref: "#/components/schemas/rowOutput" - examples: - row: - $ref: "#/components/examples/row" - get: - summary: Get a single row from the specified table. - tags: - - rows - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/rowId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the retrieved row. - content: - application/json: - schema: - $ref: "#/components/schemas/rowOutput" - examples: - row: - $ref: "#/components/examples/row" - /tables/search: - post: - summary: Search internal and external tables based on their name. - tags: - - tables - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/nameSearch" - responses: - "200": - description: Returns the found tables, based on the search parameters. - content: - application/json: - schema: - type: object - properties: - applications: - type: array - items: - $ref: "#/components/schemas/table" - examples: - tables: - $ref: "#/components/examples/tables" - /tables: - post: - summary: Create a new table. - tags: - - tables - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/table" - examples: - table: - $ref: "#/components/examples/table" - responses: - "200": - description: Returns the created table, including the ID which has been - generated for it. This can be internal or external data sources. - content: - application/json: - schema: - $ref: "#/components/schemas/tableOutput" - examples: - table: - $ref: "#/components/examples/table" - "/tables/{tableId}": - put: - summary: Update the specified table. - tags: - - tables - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/appId" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/table" - examples: - table: - $ref: "#/components/examples/table" - responses: - "200": - description: Returns the updated table. - content: - application/json: - schema: - $ref: "#/components/schemas/tableOutput" - examples: - table: - $ref: "#/components/examples/table" - delete: - summary: Delete a single table and all of its data. - tags: - - tables - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the deleted table. - content: - application/json: - schema: - $ref: "#/components/schemas/tableOutput" - examples: - table: - $ref: "#/components/examples/table" - get: - summary: Gets a single table by its ID. - tags: - - tables - parameters: - - $ref: "#/components/parameters/tableId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the retrieved table. - content: - application/json: - schema: - $ref: "#/components/schemas/tableOutput" - examples: - table: - $ref: "#/components/examples/table" - /users/search: - post: - summary: Search for a user based on their email/username. - tags: - - users - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/nameSearch" - responses: - "200": - description: Returns the found users based on search parameters. - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/user" - examples: - users: - $ref: "#/components/examples/users" - /users: - post: - summary: Create a new user in the Budibase portal. - tags: - - users - parameters: - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/user" - responses: - "200": - description: Returns the created user. - content: - application/json: - schema: - $ref: "#/components/schemas/userOutput" - examples: - user: - $ref: "#/components/examples/user" - "/users/{userId}": - put: - summary: Update an existing user by their ID. - tags: - - users - parameters: - - $ref: "#/components/parameters/userId" - - $ref: "#/components/parameters/appId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/user" - responses: - "200": - description: Returns the updated user. - content: - application/json: - schema: - $ref: "#/components/schemas/userOutput" - examples: - user: - $ref: "#/components/examples/user" - delete: - summary: Delete an existing user by their ID. - tags: - - users - parameters: - - $ref: "#/components/parameters/userId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the deleted user. - content: - application/json: - schema: - $ref: "#/components/schemas/userOutput" - examples: - user: - $ref: "#/components/examples/user" - get: - summary: Retrieve a single user by their ID. - tags: - - users - parameters: - - $ref: "#/components/parameters/userId" - - $ref: "#/components/parameters/appId" - responses: - "200": - description: Returns the retrieved user. - content: - application/json: - schema: - $ref: "#/components/schemas/userOutput" - examples: - user: - $ref: "#/components/examples/user" +paths: {} tags: []