Budibase Applications API

Manage Budibase applications.

Operations 17

GET /applications Search for applications #
POST /applications Create an application #
GET /applications/{id} Retrieve an application #
PUT /applications/{id} Update an application #
DELETE /applications/{id} Delete an application #
POST /applications/{id}/publish Publish an application #
POST /applications/{id}/unpublish Unpublish an application #
POST /applications/{id}/export Export an app (Business / Enterprise only) #
POST /applications/{id}/import Import an app to an existing app (Business / Enterprise only) #
PUT /applications/{appId} Update an application #
DELETE /applications/{appId} Delete an application #
GET /applications/{appId} Retrieve an application #
POST /applications/{appId}/unpublish Unpublish an application #
POST /applications/{appId}/publish Publish an application #
POST /applications/{appId}/import Import an app to an existing app 🔒 #
POST /applications/{appId}/export Export an app 🔒 #
POST /applications/search Search for applications #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/budibase-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

budibase-applications-api-openapi.yml Raw ↑
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