|
|
|
@ -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: [] |
|
|
|
|