openapi: 3.0.0 info: title: Budibase API description: The public API for Budibase apps and its services. version: 1.0.0 servers: - url: http://budibase.app/api/public/v1 description: Budibase Cloud API - url: "{protocol}://{hostname}:10000/api/public/v1" description: Budibase self hosted API components: parameters: tableId: in: path name: tableId required: true description: The ID of the table which this request is targeting. schema: type: string rowId: in: path name: rowId required: true description: The ID of the row which this request is targeting. schema: type: string appId: in: header name: x-budibase-app-id required: true description: The ID of the app which this request is targeting. schema: type: string appIdUrl: in: path name: appId required: true description: The ID of the app which this request is targeting. schema: type: string queryId: in: path name: queryId required: true description: The ID of the query which this request is targeting. schema: type: string userId: in: path name: userId required: true description: The ID of the user which this request is targeting. schema: type: string examples: application: value: application: _id: app_metadata appId: app_dev_957b12f943d348faa61db7e18e088d0f version: 1.0.58-alpha.0 name: App name url: /app-url tenantId: default updatedAt: 2022-02-22T13:00:54.035Z createdAt: 2022-02-11T18:02:26.961Z status: development lockedBy: _id: us_693a73206518477283a8d5ae31103252 email: test@test.com roles: app_957b12f943d348faa61db7e18e088d0f: BASIC builder: global: false admin: global: true tenantId: default status: active budibaseAccess: true csrfToken: 9c70291d-7137-48f9-9166-99ab5473a3d4 userId: us_693a73206518477283a8d5ae31103252 roleId: ADMIN role: _id: ADMIN name: Admin permissionId: admin inherits: POWER applications: value: applications: - _id: app_metadata appId: app_dev_957b12f943d348faa61db7e18e088d0f version: 1.0.58-alpha.0 name: App name url: /app-url tenantId: default updatedAt: 2022-02-22T13:00:54.035Z createdAt: 2022-02-11T18:02:26.961Z status: development lockedBy: _id: us_693a73206518477283a8d5ae31103252 email: test@test.com roles: app_957b12f943d348faa61db7e18e088d0f: BASIC builder: global: false admin: global: true tenantId: default status: active budibaseAccess: true csrfToken: 9c70291d-7137-48f9-9166-99ab5473a3d4 userId: us_693a73206518477283a8d5ae31103252 roleId: ADMIN role: _id: ADMIN name: Admin permissionId: admin inherits: POWER inputRow: value: _id: ro_ta_5b1649e42a5b41dea4ef7742a36a7a70_e6dc7e38cf1343b2b56760265201cda4 type: row tableId: ta_5b1649e42a5b41dea4ef7742a36a7a70 name: Mike age: 30 relationship: - ro_ta_... row: value: row: _id: ro_ta_5b1649e42a5b41dea4ef7742a36a7a70_e6dc7e38cf1343b2b56760265201cda4 type: row tableId: ta_5b1649e42a5b41dea4ef7742a36a7a70 name: Mike age: 30 relationship: - primaryDisplay: Joe _id: ro_ta_... rows: value: rows: - _id: ro_ta_5b1649e42a5b41dea4ef7742a36a7a70_e6dc7e38cf1343b2b56760265201cda4 type: row tableId: ta_5b1649e42a5b41dea4ef7742a36a7a70 name: Mike age: 30 relationship: - primaryDisplay: Joe _id: ro_ta_... hasNextPage: true bookmark: 10 table: value: table: _id: ta_5b1649e42a5b41dea4ef7742a36a7a70 name: People schema: name: type: string name: name age: type: number name: age relationship: type: link name: relationship tableId: ta_... fieldName: relatedColumn relationshipType: many-to-many tables: value: tables: - _id: ta_5b1649e42a5b41dea4ef7742a36a7a70 name: People schema: name: type: string name: name age: type: number name: age relationship: type: link name: relationship tableId: ta_... fieldName: relatedColumn relationshipType: many-to-many query: value: query: _id: query_datasource_plus_4d8be0c506b9465daf4bf84d890fdab6_454854487c574d45bc4029b1e153219e datasourceId: datasource_plus_4d8be0c506b9465daf4bf84d890fdab6 parameters: [] fields: sql: select * from persons queryVerb: read name: Help schema: personid: name: personid type: string lastname: name: lastname type: string firstname: name: firstname type: string address: name: address type: string city: name: city type: string transformer: return data readable: true queries: value: queries: - _id: query_datasource_plus_4d8be0c506b9465daf4bf84d890fdab6_454854487c574d45bc4029b1e153219e datasourceId: datasource_plus_4d8be0c506b9465daf4bf84d890fdab6 parameters: [] fields: sql: select * from persons queryVerb: read name: Help schema: personid: name: personid type: string lastname: name: lastname type: string firstname: name: firstname type: string address: name: address type: string city: name: city type: string transformer: return data readable: true restResponse: value: data: - value: pagination: cursor: "2" raw: headers: content-type: text/html; charset=ISO-8859-1 sqlResponse: value: data: - personid: 1 lastname: Hughes firstname: Mike address: 123 Fake Street city: Belfast - personid: 2 lastname: Smith firstname: John address: 64 Updown Road city: Dublin user: value: user: _id: us_693a73206518477283a8d5ae31103252 email: test@test.com roles: app_957b12f943d348faa61db7e18e088d0f: BASIC builder: global: false admin: global: true tenantId: default status: active budibaseAccess: true csrfToken: 9c70291d-7137-48f9-9166-99ab5473a3d4 userId: us_693a73206518477283a8d5ae31103252 roleId: ADMIN role: _id: ADMIN name: Admin permissionId: admin inherits: POWER users: value: users: - _id: us_693a73206518477283a8d5ae31103252 email: test@test.com roles: app_957b12f943d348faa61db7e18e088d0f: BASIC builder: global: false admin: global: true tenantId: default status: active budibaseAccess: true csrfToken: 9c70291d-7137-48f9-9166-99ab5473a3d4 userId: us_693a73206518477283a8d5ae31103252 roleId: ADMIN role: _id: ADMIN name: Admin permissionId: admin inherits: POWER securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-budibase-api-key description: Your individual API key, this will provide access based on the configured RBAC settings of your user. schemas: application: type: object properties: name: type: string required: true url: type: string applicationOutput: type: object properties: application: type: object properties: name: type: string required: true url: type: string row: description: The row to be created/updated, based on the table schema. type: object additionalProperties: oneOf: - type: string - type: object - type: integer - type: array - type: boolean rowOutput: type: object properties: row: description: The row to be created/updated, based on the table schema. type: object additionalProperties: oneOf: - type: string - type: object - type: integer - type: array - type: boolean table: description: The table to be created/updated. type: object properties: name: description: The name of the table type: string primaryDisplay: type: string description: The name of the column which should be used in relationship tags when relating to this table. schema: oneOf: - type: object properties: type: type: string enum: - link description: A relationship column. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. fieldName: type: string description: The name of the column which a relationship column is related to in another table. tableId: type: string description: The ID of the table which a relationship column is related to. relationshipType: type: string enum: - one-to-many - many-to-one - many-to-many description: Defines the type of relationship that this column will be used for. through: type: string description: When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. foreignKey: type: string description: When using a SQL table that contains a one to many relationship this defines the foreign key. throughFrom: type: string description: When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. throughTo: type: string description: When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. - type: object properties: type: type: string enum: - formula description: A formula column. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. formula: type: string description: Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. formulaType: type: string enum: - static - dynamic description: Defines whether this is a static or dynamic formula. - type: object properties: type: type: string enum: - string - longform - options - number - boolean - array - datetime - attachment - link - formula - auto - json - internal description: Defines the type of the column, most explain themselves, a link column is a relationship. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. tableOutput: type: object properties: table: description: The table to be created/updated. type: object properties: name: description: The name of the table type: string primaryDisplay: type: string description: The name of the column which should be used in relationship tags when relating to this table. schema: oneOf: - type: object properties: type: type: string enum: - link description: A relationship column. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. fieldName: type: string description: The name of the column which a relationship column is related to in another table. tableId: type: string description: The ID of the table which a relationship column is related to. relationshipType: type: string enum: - one-to-many - many-to-one - many-to-many description: Defines the type of relationship that this column will be used for. through: type: string description: When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. foreignKey: type: string description: When using a SQL table that contains a one to many relationship this defines the foreign key. throughFrom: type: string description: When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. throughTo: type: string description: When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. - type: object properties: type: type: string enum: - formula description: A formula column. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. formula: type: string description: Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. formulaType: type: string enum: - static - dynamic description: Defines whether this is a static or dynamic formula. - type: object properties: type: type: string enum: - string - longform - options - number - boolean - array - datetime - attachment - link - formula - auto - json - internal description: Defines the type of the column, most explain themselves, a link column is a relationship. constraints: type: object description: A constraint can be applied to the column which will be validated against when a row is saved. properties: type: type: string enum: - string - number - object - boolean presence: type: boolean description: Defines whether the column is required or not. name: type: string description: The name of the column. autocolumn: type: boolean description: Defines whether the column is automatically generated. query: type: object properties: {} user: type: object properties: {} userOutput: type: object properties: user: type: object properties: {} nameSearch: type: object properties: name: type: string description: The name to be used when searching - this will be used in a case insensitive starts with match. security: - ApiKeyAuth: [] paths: {} tags: []