"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.",