Baserow Builder pages API

The Builder pages API from Baserow — 4 operation(s) for builder pages.

OpenAPI Specification

baserow-builder-pages-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Baserow API spec Admin Builder pages 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: Builder pages
paths:
  /api/builder/{builder_id}/pages/:
    post:
      operationId: create_builder_page
      description: Creates a new page for an application builder
      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: path
        name: builder_id
        schema:
          type: integer
        description: Creates a page for the application builder related to the provided value.
        required: true
      tags:
      - Builder pages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreatePage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreatePage'
        required: true
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_REQUEST_BODY_VALIDATION
                    - ERROR_PAGE_PATH_NOT_UNIQUE
                    - ERROR_PATH_PARAM_NOT_IN_PATH
                    - ERROR_PATH_PARAM_NOT_DEFINED
                    - ERROR_INVALID_QUERY_PARAM_NAME
                    - ERROR_DUPLICATE_QUERY_PARAMS
                  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/builder/{builder_id}/pages/order/:
    post:
      operationId: order_builder_pages
      description: Apply a new order to the pages of a builder
      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: path
        name: builder_id
        schema:
          type: integer
        description: The builder the page belongs to
        required: true
      tags:
      - Builder pages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderPages'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrderPages'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrderPages'
        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_REQUEST_BODY_VALIDATION
                    - ERROR_PAGE_NOT_IN_BUILDER
                  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
                    - ERROR_PAGE_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/builder/pages/{page_id}/:
    patch:
      operationId: update_builder_page
      description: Updates an existing page of an application builder
      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: path
        name: page_id
        schema:
          type: integer
        description: The id of the page
        required: true
      tags:
      - Builder pages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePage'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePage'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdatePage'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_REQUEST_BODY_VALIDATION
                    - ERROR_PAGE_PATH_NOT_UNIQUE
                    - ERROR_PATH_PARAM_NOT_IN_PATH
                    - ERROR_PATH_PARAM_NOT_DEFINED
                    - ERROR_SHARED_PAGE_READ_ONLY
                    - ERROR_INVALID_QUERY_PARAM_NAME
                    - ERROR_DUPLICATE_QUERY_PARAMS
                  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_PAGE_DOES_NOT_EXIST
                    - 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: delete_builder_page
      description: Deletes an existing page of an application builder
      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: path
        name: page_id
        schema:
          type: integer
        description: The id of the page
        required: true
      tags:
      - Builder pages
      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_REQUEST_BODY_VALIDATION
                    - ERROR_SHARED_PAGE_READ_ONLY
                  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_PAGE_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/builder/pages/{page_id}/duplicate/async/:
    post:
      operationId: duplicate_builder_page_async
      description: Start a job to duplicate the page with the provided `page_id` parameter if the authorized user has access to the builder's workspace.
      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: path
        name: page_id
        schema:
          type: integer
        description: The page to duplicate.
        required: true
      tags:
      - Builder pages
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DuplicatePageJobTypeResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_REQUEST_BODY_VALIDATION
                    - 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_PAGE_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:
    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
    CreatePage:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        path:
          type: string
          maxLength: 255
        path_params:
          type: array
          items:
            $ref: '#/components/schemas/PathParam'
        query_params:
          type: array
          items:
            $ref: '#/components/schemas/PathParam'
      required:
      - name
      - path
    OrderPages:
      type: object
      properties:
        page_ids:
          type: array
          items:
            type: integer
          description: The ids of the pages in the order they are supposed to be set in
      required:
      - page_ids
    QueryParam:
      type: object
      properties:
        name:
          type: string
          description: The name of the parameter.
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/TypeC70Enum'
          description: 'The type of the parameter.


            * `text` - text

            * `numeric` - numeric'
      required:
      - name
      - type
    PatchedUpdatePage:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        path:
          type: string
          maxLength: 255
        path_params:
          type: array
          items:
            $ref: '#/components/schemas/PathParam'
        visibility:
          allOf:
          - $ref: '#/components/schemas/VisibilityC5fEnum'
          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'
          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:
          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'
    TypeC70Enum:
      enum:
      - text
      - numeric
      type: string
      description: '* `text` - text

        * `numeric` - numeric'
    VisibilityC5fEnum:
      enum:
      - all
      - logged-in
      type: string
      description: '* `all` - All

        * `logged-in` - Logged In'
    PathParam:
      type: object
      properties:
        name:
          type: string
          description: The name of the parameter.
          maxLength: 255
        type:
          allOf:
          - $ref: '#/components/schemas/TypeC70Enum'
          description: 'The type of the parameter.


            * `text` - text

            * `numeric` - numeric'
      required:
      - name
      - type
    DuplicatePageJobTypeResponse:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          type: string
          readOnly: true
          description: The type of the job.
        progress_percentage:
          type: integer
          description: A percentage indicating how far along the job is. 100 means that it's finished.
        state:
          type: string
          description: Indicates the state of the import job.
        human_readable_error:
          type: string
          description: A human readable error message indicating what went wrong.
        created_on:
          type: string
          format: date-time
          readOnly: true
        updated_on:
          type: string
          format: date-time
          readOnly: true
        original_page:
          allOf:
          - $ref: '#/components/schemas/Page'
          readOnly: true
        duplicated_page:
          allOf:
          - $ref: '#/components/schemas/Page'
          readOnly: true
      required:
      - created_on
      - duplicated_page
      - id
      - original_page
      - progress_percentage
      - state
      - type
      - updated_on
    RoleTypeEnum:
      enum:
      - allow_all
      - allow_all_except
      - disallow_all_except
      type: string
      description: '* `allow_all` - Allow All

        * `allow_all_except` - Allow All Except

        * `disallow_all_except` - Disallow All Except'
  securitySchemes:
    Database token:
      type: http
      scheme: bearer
      bearerFormat: Token your_token
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT your_token
    UserSource JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT your_token