Baserow Applications API

The Applications API from Baserow — 5 operation(s) for applications.

OpenAPI Specification

baserow-applications-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Baserow API spec Admin Applications API
  version: 2.2.2
  description: 'For more information about our REST API, please visit [this page](https://baserow.io/docs/apis%2Frest-api).


    For more information about our deprecation policy, please visit [this page](https://baserow.io/docs/apis%2Fdeprecations).'
  contact:
    url: https://baserow.io/contact
  license:
    name: MIT
    url: https://github.com/baserow/baserow/blob/develop/LICENSE
tags:
- name: Applications
paths:
  /api/applications/:
    get:
      operationId: list_all_applications
      description: Lists all the applications that the user has access to. The properties that belong to the application can differ per type. An application always belongs to a single workspace. All the applications of the workspaces that the user has access to are going to be listed here.
      tags:
      - Applications
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationApplication'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/applications/{application_id}/:
    get:
      operationId: workspace_get_application
      description: Returns the requested application if the authorized user is in the application's workspace. The properties that belong to the application can differ per type.
      parameters:
      - in: path
        name: application_id
        schema:
          type: integer
        description: Returns the application related to the provided value.
        required: true
      tags:
      - Applications
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationApplication'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_REQUEST_BODY_VALIDATION
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_APPLICATION_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
    patch:
      operationId: workspace_update_application
      description: Updates the existing application related to the provided `application_id` param if the authorized user is in the application's workspace. It is not possible to change the type, but properties like the name can be changed.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: application_id
        schema:
          type: integer
        description: Updates the application related to the provided value.
        required: true
      tags:
      - Applications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedApplicationBaseApplicationUpdatePolymorphic'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedApplicationBaseApplicationUpdatePolymorphic'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedApplicationBaseApplicationUpdatePolymorphic'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationApplication'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_REQUEST_BODY_VALIDATION
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_APPLICATION_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
    delete:
      operationId: workspace_delete_application
      description: Deletes an application if the authorized user is in the application's workspace. All the related children are also going to be deleted. For example in case of a database application all the underlying tables, fields, views and rows are going to be deleted.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: application_id
        schema:
          type: integer
        description: Deletes the application related to the provided value.
        required: true
      tags:
      - Applications
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_CANNOT_DELETE_ALREADY_DELETED_ITEM
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_APPLICATION_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/applications/{application_id}/duplicate/async/:
    post:
      operationId: duplicate_application_async
      description: Duplicate an application if the authorized user is in the application's workspace. All the related children are also going to be duplicated. For example in case of a database application all the underlying tables, fields, views and rows are going to be duplicated.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: application_id
        schema:
          type: integer
        description: The id of the application to duplicate.
        required: true
      tags:
      - Applications
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DuplicateApplicationJobTypeResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_APPLICATION_NOT_IN_GROUP
                    - ERROR_MAX_JOB_COUNT_EXCEEDED
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_APPLICATION_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/applications/workspace/{workspace_id}/:
    get:
      operationId: workspace_list_applications
      description: Lists all the applications of the workspace related to the provided `workspace_id` parameter if the authorized user is in that workspace. If theworkspace is related to a template, then this endpoint will be publicly accessible. The properties that belong to the application can differ per type. An application always belongs to a single workspace.
      parameters:
      - in: path
        name: workspace_id
        schema:
          type: integer
        description: Returns only applications that are in the workspace related to the provided value.
        required: true
      tags:
      - Applications
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApplicationApplication'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_GROUP_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
    post:
      operationId: workspace_create_application
      description: Creates a new application based on the provided type. The newly created application is going to be added to the workspace related to the provided `workspace_id` parameter. If the authorized user does not belong to the workspace an error will be returned.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: workspace_id
        schema:
          type: integer
        description: Creates an application for the workspace related to the provided value.
        required: true
      tags:
      - Applications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationBaseApplicationCreatePolymorphic'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ApplicationBaseApplicationCreatePolymorphic'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ApplicationBaseApplicationCreatePolymorphic'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationApplication'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_REQUEST_BODY_VALIDATION
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_GROUP_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/applications/workspace/{workspace_id}/order/:
    post:
      operationId: workspace_order_applications
      description: Changes the order of the provided application ids to the matching position that the id has in the list. If the authorized user does not belong to the workspace it will be ignored. The order of the not provided tables will be set to `0`.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: workspace_id
        schema:
          type: integer
        description: Updates the order of the applications in the workspace related to the provided value.
        required: true
      tags:
      - Applications
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderApplications'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrderApplications'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrderApplications'
        required: true
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_USER_NOT_IN_GROUP
                    - ERROR_APPLICATION_NOT_IN_GROUP
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_GROUP_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
components:
  schemas:
    ButtonFontWeightEnum:
      enum:
      - thin
      - extra-light
      - light
      - regular
      - medium
      - semi-bold
      - bold
      - extra-bold
      - heavy
      - black
      - extra-black
      type: string
      description: '* `thin` - Thin

        * `extra-light` - Extra Light

        * `light` - Light

        * `regular` - Regular

        * `medium` - Medium

        * `semi-bold` - Semi Bold

        * `bold` - Bold

        * `extra-bold` - Extra Bold

        * `heavy` - Heavy

        * `black` - Black

        * `extra-black` - Extra Black'
    LinkTextAlignmentEnum:
      enum:
      - left
      - center
      - right
      type: string
      description: '* `left` - Left

        * `center` - Center

        * `right` - Right'
    Page:
      type: object
      description: '👉 Mind to update the

        baserow.contrib.builder.api.domains.serializer.PublicPageSerializer

        when you update this one.'
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        path:
          type: string
          maxLength: 255
        path_params:
          type: array
          items:
            $ref: '#/components/schemas/PathParam'
        order:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Lowest first.
        builder_id:
          type: integer
          readOnly: true
        shared:
          type: boolean
          readOnly: true
        visibility:
          allOf:
          - $ref: '#/components/schemas/VisibilityC5fEnum'
          readOnly: true
          description: 'Controls the page''s visibility. When set to ''logged-in'', the builder''s login_page must also be set.


            * `all` - All

            * `logged-in` - Logged In'
        role_type:
          allOf:
          - $ref: '#/components/schemas/RoleTypeEnum'
          readOnly: true
          description: 'Role type is used in conjunction with roles to control access to this page.


            * `allow_all` - Allow All

            * `allow_all_except` - Allow All Except

            * `disallow_all_except` - Disallow All Except'
        roles:
          readOnly: true
          description: List of user roles that are associated with this page. Used in conjunction with role_type.
        query_params:
          type: array
          items:
            $ref: '#/components/schemas/QueryParam'
      required:
      - builder_id
      - id
      - name
      - order
      - path
      - role_type
      - roles
      - shared
      - visibility
    Type76dEnum:
      enum:
      - database
      - dashboard
      - automation
      - builder
      type: string
      description: '* `database` - database

        * `dashboard` - dashboard

        * `automation` - automation

        * `builder` - builder'
    BuilderBaseApplicationCreatePolymorphic:
      type: object
      properties:
        name:
          type: string
          maxLength: 160
        type:
          $ref: '#/components/schemas/Type76dEnum'
        init_with_data:
          type: boolean
          default: false
        favicon_file:
          allOf:
          - $ref: '#/components/schemas/UserFile'
          nullable: true
          description: The favicon image file
        login_page_id:
          type: integer
          nullable: true
          description: The login page for this application. This is related to the visibility settings of builder pages.
        scripts:
          type: array
          items:
            $ref: '#/components/schemas/CustomScript'
          description: Custom CSS/JS scripts for this builder
        custom_code:
          allOf:
          - $ref: '#/components/schemas/CustomCode'
          description: Custom CSS/JS code for this builder
      required:
      - name
      - type
    PatchedApplicationBaseApplicationUpdatePolymorphic:
      anyOf:
      - $ref: '#/components/schemas/DatabaseBaseApplicationUpdatePolymorphic'
      - $ref: '#/components/schemas/DashboardBaseApplicationUpdatePolymorphic'
      - $ref: '#/components/schemas/AutomationBaseApplicationUpdatePolymorphic'
      - $ref: '#/components/schemas/BuilderBaseApplicationUpdatePolymorphic'
    Heading2FontWeightEnum:
      enum:
      - thin
      - extra-light
      - light
      - regular
      - medium
      - semi-bold
      - bold
      - extra-bold
      - heavy
      - black
      - extra-black
      type: string
      description: '* `thin` - Thin

        * `extra-light` - Extra Light

        * `light` - Light

        * `regular` - Regular

        * `medium` - Medium

        * `semi-bold` - Semi Bold

        * `bold` - Bold

        * `extra-bold` - Extra Bold

        * `heavy` - Heavy

        * `black` - Black

        * `extra-black` - Extra Black'
    ButtonTextAlignmentEnum:
      enum:
      - left
      - center
      - right
      type: string
      description: '* `left` - Left

        * `center` - Center

        * `right` - Right'
    LoadTypeEnum:
      enum:
      - defer
      - async
      type: string
      description: '* `` - None

        * `defer` - Defer

        * `async` - Async'
    ButtonWidthEnum:
      enum:
      - auto
      - full
      type: string
      description: '* `auto` - Auto

        * `full` - Full'
    ApplicationApplication:
      oneOf:
      - $ref: '#/components/schemas/DatabaseApplication'
      - $ref: '#/components/schemas/DashboardApplication'
      - $ref: '#/components/schemas/AutomationApplication'
      - $ref: '#/components/schemas/BuilderApplication'
      discriminator:
        propertyName: type
        mapping:
          database: '#/components/schemas/DatabaseApplication'
          dashboard: '#/components/schemas/DashboardApplication'
          automation: '#/components/schemas/AutomationApplication'
          builder: '#/components/schemas/BuilderApplication'
    Heading6FontWeightEnum:
      enum:
      - thin
      - extra-light
      - light
      - regular
      - medium
      - semi-bold
      - bold
      - extra-bold
      - heavy
      - black
      - extra-black
      type: string
      description: '* `thin` - Thin

        * `extra-light` - Extra Light

        * `light` - Light

        * `regular` - Regular

        * `medium` - Medium

        * `semi-bold` - Semi Bold

        * `bold` - Bold

        * `extra-bold` - Extra Bold

        * `heavy` - Heavy

        * `black` - Black

        * `extra-black` - Extra Black'
    DatabaseBaseApplicationUpdatePolymorphic:
      type: object
      properties:
        name:
          type: string
          maxLength: 160
      required:
      - name
    Heading5FontWeightEnum:
      enum:
      - thin
      - extra-light
      - light
      - regular
      - medium
      - semi-bold
      - bold
      - extra-bold
      - heavy
      - black
      - extra-black
      type: string
      description: '* `thin` - Thin

        * `extra-light` - Extra Light

        * `light` - Light

        * `regular` - Regular

        * `medium` - Medium

        * `semi-bold` - Semi Bold

        * `bold` - Bold

        * `extra-bold` - Extra Bold

        * `heavy` - Heavy

        * `black` - Black

        * `extra-black` - Extra Black'
    CustomScriptTypeEnum:
      enum:
      - stylesheet
      - javascript
      type: string
      description: '* `stylesheet` - Stylesheet

        * `javascript` - JavaScript'
    BodyTextAlignmentEnum:
      enum:
      - left
      - center
      - right
      type: string
      description: '* `left` - Left

        * `center` - Center

        * `right` - Right'
    CustomScript:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/CustomScriptTypeEnum'
          description: 'The type of script.


            * `stylesheet` - Stylesheet

            * `javascript` - JavaScript'
        url:
          type: string
          format: uri
          description: The URL of the script.
          maxLength: 200
        load_type:
          description: 'The load type of the script.


            * `` - None

            * `defer` - Defer

            * `async` - Async'
          oneOf:
          - $ref: '#/components/schemas/LoadTypeEnum'
          - $ref: '#/components/schemas/BlankEnum'
        crossorigin:
          description: 'The Crossorigin type of the script.


            * `` - None

            * `anonymous` - Anonymous

            * `credentials` - Use credentials'
          oneOf:
          - $ref: '#/components/schemas/CrossoriginEnum'
          - $ref: '#/components/schemas/BlankEnum'
      required:
      - id
    Workspace:
      type: object
      properties:
        id:
   

# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/baserow/refs/heads/main/openapi/baserow-applications-api-openapi.yml