Operations 17
Documentation
Documentation
https://docs.budibase.com/docs/public-api
Authentication
https://docs.budibase.com/docs/public-api#authentication
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/budibase-applications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Budibase Applications API
version: '1.0'
description: 'Operations tagged Applications across 2 of this provider''s published API definitions: budibase-openapi.yml, budibase-applications-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
tags:
- name: Applications
description: Manage Budibase applications.
paths:
/applications:
get:
tags:
- Applications
summary: Search for applications
operationId: searchApplications
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/NameSearch'
responses:
'200':
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationSearch'
security:
- apiKeyAuth: []
post:
tags:
- Applications
summary: Create an application
operationId: createApplication
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationCreate'
responses:
'200':
description: Created application
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOutput'
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{id}:
parameters:
- $ref: '#/components/parameters/IdPath'
get:
tags:
- Applications
summary: Retrieve an application
operationId: getApplication
responses:
'200':
description: Application
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOutput'
security:
- apiKeyAuth: []
put:
tags:
- Applications
summary: Update an application
operationId: updateApplication
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationCreate'
responses:
'200':
description: Updated
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOutput'
security:
- apiKeyAuth: []
delete:
tags:
- Applications
summary: Delete an application
operationId: deleteApplication
responses:
'200':
description: Deleted
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationOutput'
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{id}/publish:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- Applications
summary: Publish an application
operationId: publishApplication
responses:
'200':
description: Published
content:
application/json:
schema:
type: object
properties:
status:
type: string
appUrl:
type: string
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{id}/unpublish:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- Applications
summary: Unpublish an application
operationId: unpublishApplication
responses:
'204':
description: Unpublished
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{id}/export:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- Applications
summary: Export an app (Business / Enterprise only)
operationId: exportApplication
responses:
'200':
description: App export
content:
application/gzip:
schema:
type: string
format: binary
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{id}/import:
parameters:
- $ref: '#/components/parameters/IdPath'
post:
tags:
- Applications
summary: Import an app to an existing app (Business / Enterprise only)
operationId: importApplication
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
appExport:
type: string
format: binary
responses:
'200':
description: Import complete
security:
- apiKeyAuth: []
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud Public API
- url: https://{selfhosted}/api/public/v1
description: Self-hosted Budibase
variables:
selfhosted:
default: budibase.example.com
description: Hostname of the self-hosted Budibase instance
/applications/{appId}:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
put:
deprecated: true
operationId: appUpdate
summary: Update an application
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'
security:
- ApiKeyAuth: []
delete:
deprecated: true
operationId: appDestroy
summary: Delete an application
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'
security:
- ApiKeyAuth: []
get:
deprecated: true
operationId: appGetById
summary: Retrieve an application
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'
security:
- ApiKeyAuth: []
/applications/{appId}/unpublish:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
post:
deprecated: true
operationId: appUnpublish
summary: Unpublish an application
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appIdUrl'
responses:
'204':
description: The app was published successfully.
security:
- ApiKeyAuth: []
/applications/{appId}/publish:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
post:
deprecated: true
operationId: appPublish
summary: Publish an application
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appIdUrl'
responses:
'200':
description: Returns the deployment object.
content:
application/json:
schema:
$ref: '#/components/schemas/deploymentOutput'
examples:
deployment:
$ref: '#/components/examples/deploymentOutput'
security:
- ApiKeyAuth: []
/applications/{appId}/import:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
post:
deprecated: true
operationId: appImport
summary: Import an app to an existing app 🔒
description: This endpoint is only available on a business or enterprise license.
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appIdUrl'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
encryptedPassword:
description: Password for the export if it is encrypted.
type: string
appExport:
description: The app export to import.
type: string
format: binary
required:
- appExport
responses:
'204':
description: Application has been updated.
security:
- ApiKeyAuth: []
/applications/{appId}/export:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
post:
deprecated: true
operationId: appExport
summary: Export an app 🔒
description: This endpoint is only available on a business or enterprise license.
tags:
- Applications
parameters:
- $ref: '#/components/parameters/appIdUrl'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/appExport'
responses:
'200':
description: A gzip tarball containing the app export, encrypted if password provided.
content:
application/gzip:
schema:
type: string
format: binary
example: Tarball containing database and object store contents...
security:
- ApiKeyAuth: []
/applications/search:
servers:
- url: https://budibase.app/api/public/v1
description: Budibase Cloud API
variables:
apiKey:
default: <user API key>
description: The API key of the user to assume for API call.
appId:
default: <App ID>
description: The ID of the app the calls will be executed within the context of, this should start with app_ (production) or app_dev (development).
post:
deprecated: true
operationId: appSearch
summary: Search for applications
description: Based on application properties (currently only name) search for applications.
tags:
- Applications
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:
$ref: '#/components/schemas/applicationSearch'
examples:
applications:
$ref: '#/components/examples/applications'
security:
- ApiKeyAuth: []
components:
schemas:
ApplicationCreate:
type: object
required:
- name
properties:
name:
type: string
url:
type: string
ApplicationSearch:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ApplicationOutput'
ApplicationOutput:
type: object
properties:
_id:
type: string
name:
type: string
url:
type: string
status:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
NameSearch:
type: object
properties:
name:
type: string
paginate:
type: boolean
bookmark:
type: string
sort:
type: object
properties:
order:
type: string
enum:
- ascending
- descending
type:
type: string
enum:
- string
- number
deploymentOutput:
type: object
properties:
data:
type: object
properties:
_id:
description: The ID of the app.
type: string
status:
description: Status of the deployment, whether it succeeded or failed
type: string
enum:
- SUCCESS
- FAILURE
appUrl:
description: The URL of the published app
type: string
required:
- _id
- status
- appUrl
required:
- data
applicationSearch:
type: object
properties:
data:
type: array
items:
type: object
properties:
name:
description: The name of the app.
type: string
url:
description: The URL by which the app is accessed, this must be URL encoded.
type: string
_id:
description: The ID of the app.
type: string
status:
description: The status of the app, stating it if is the development or published version.
type: string
enum:
- development
- published
createdAt:
description: States when the app was created, will be constant. Stored in ISO format.
type: string
updatedAt:
description: States the last time the app was updated - stored in ISO format.
type: string
version:
description: States the version of the Budibase client this app is currently based on.
type: string
tenantId:
description: In a multi-tenant environment this will state the tenant this app is within.
type: string
lockedBy:
description: The user this app is currently being built by.
type: object
required:
- _id
- name
- url
- status
- createdAt
- updatedAt
- version
required:
- data
appExport:
type: object
properties:
encryptPassword:
description: An optional password used to encrypt the export.
type: string
excludeRows:
description: Set whether the internal table rows should be excluded from the export.
type: boolean
required:
- encryptPassword
- excludeRows
applicationOutput:
type: object
properties:
data:
type: object
properties:
name:
description: The name of the app.
type: string
url:
description: The URL by which the app is accessed, this must be URL encoded.
type: string
_id:
description: The ID of the app.
type: string
status:
description: The status of the app, stating it if is the development or published version.
type: string
enum:
- development
- published
createdAt:
description: States when the app was created, will be constant. Stored in ISO format.
type: string
updatedAt:
description: States the last time the app was updated - stored in ISO format.
type: string
version:
description: States the version of the Budibase client this app is currently based on.
type: string
tenantId:
description: In a multi-tenant environment this will state the tenant this app is within.
type: string
lockedBy:
description: The user this app is currently being built by.
type: object
required:
- _id
- name
- url
- status
- createdAt
- updatedAt
- version
required:
- data
application:
type: object
properties:
name:
description: The name of the app.
type: string
url:
description: The URL by which the app is accessed, this must be URL encoded.
type: string
required:
- name
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.
required:
- name
parameters:
IdPath:
name: id
in: path
required: true
schema:
type: string
appIdUrl:
in: path
name: appId
required: true
description: The ID of the app which this request is targeting.
schema:
default: '{{appId}}'
type: string
examples:
applications:
value:
data:
- _id: app_metadata
appId: app_dev_957b12f943d348faa61db7e18e088d0f
version: 1.0.58-alpha.0
name: App name
url: /url
tenantId: default
updatedAt: 2022-02-22 13:00:54.035000+00:00
createdAt: 2022-02-11 18:02:26.961000+00:00
status: development
application:
value:
data:
_id: app_metadata
appId: app_dev_957b12f943d348faa61db7e18e088d0f
version: 1.0.58-alpha.0
name: App name
url: /url
tenantId: default
updatedAt: 2022-02-22 13:00:54.035000+00:00
createdAt: 2022-02-11 18:02:26.961000+00:00
status: development
deploymentOutput:
value:
data:
_id: ef12381f934b4f129675cdbb76eff3c2
status: SUCCESS
appUrl: /app-url
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-budibase-api-key
description: API key generated from the Budibase portal user dropdown menu.
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.
x-refined-from:
- budibase-openapi.yml
- budibase-applications-api-openapi.yml