Baserow Database table form view API

The Database table form view API from Baserow — 3 operation(s) for database table form view.

Operations 5

GET /api/database/views/form/{slug}/edit-row/{row_token}/ #
PATCH /api/database/views/form/{slug}/edit-row/{row_token}/ #
GET /api/database/views/form/{slug}/submit/ #
POST /api/database/views/form/{slug}/submit/ #
POST /api/database/views/form/{slug}/upload-file/ #

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/baserow-database-table-form-view-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

baserow-database-table-form-view-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Baserow API spec Admin Database table form view 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
servers:
- url: https://api.baserow.io
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Database table form view
paths:
  /api/database/views/form/{slug}/edit-row/{row_token}/:
    get:
      operationId: get_edit_row_database_table_form_view
      description: Returns the current field values of the row identified by the edit token. Only fields visible in the form view are returned. The token must be a valid signed token generated by a form_view_edit_row field.
      parameters:
      - in: path
        name: row_token
        schema:
          type: string
        description: The signed edit token that identifies the row to edit.
        required: true
      - in: path
        name: slug
        schema:
          type: string
        description: The slug of the form view.
        required: true
      tags:
      - Database table form view
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExampleRowResponse'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_NO_PERMISSION_TO_PUBLICLY_SHARED_FORM
                  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_FORM_DOES_NOT_EXIST
                    - ERROR_ROW_DOES_NOT_EXIST
                    - ERROR_INVALID_EDIT_ROW_TOKEN
                  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: update_edit_row_database_table_form_view
      description: Updates the row identified by the edit token using the submitted field values. Only fields that are visible in the form view can be changed. The `row_token` must be a valid signed token generated by a form_view_edit_row field.
      parameters:
      - in: path
        name: row_token
        schema:
          type: string
        description: The signed edit token that identifies the row to edit.
        required: true
      - in: path
        name: slug
        schema:
          type: string
        description: The slug of the form view.
        required: true
      tags:
      - Database table form view
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExampleUpdateRowRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExampleUpdateRowRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExampleUpdateRowRequest'
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormViewSubmitted'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_NO_PERMISSION_TO_PUBLICLY_SHARED_FORM
                  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: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_FIELD_DATA_CONSTRAINT
                  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_FORM_DOES_NOT_EXIST
                    - ERROR_ROW_DOES_NOT_EXIST
                    - ERROR_INVALID_EDIT_ROW_TOKEN
                  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/database/views/form/{slug}/submit/:
    get:
      operationId: get_meta_database_table_form_view
      description: Returns the metadata related to the form view if the form is publicly shared or if the user has access to the related workspace. This data can be used to construct a form with the right fields.
      parameters:
      - in: path
        name: slug
        schema:
          type: string
        description: The slug related to the form form.
        required: true
      tags:
      - Database table form view
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicFormView'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_NO_PERMISSION_TO_PUBLICLY_SHARED_FORM
                  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_FORM_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: submit_database_table_form_view
      description: Submits the form if the form is publicly shared or if the user has access to the related workspace. The provided data will be validated based on the fields that are in the form and the rules per field. If valid, a new row will be created in the table.
      parameters:
      - in: path
        name: slug
        schema:
          type: string
        description: The slug related to the form.
        required: true
      tags:
      - Database table form view
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExampleRowRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExampleRowRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExampleRowRequest'
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormViewSubmitted'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_NO_PERMISSION_TO_PUBLICLY_SHARED_FORM
                  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_FORM_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/database/views/form/{slug}/upload-file/:
    post:
      operationId: upload_file_form_view
      description: Uploads a file anonymously to Baserow by uploading the file contents directly. A `file` multipart is expected containing the file contents.
      parameters:
      - in: path
        name: slug
        schema:
          type: string
        description: Submits files only if the view with the provided slughas a public file field.
        required: true
      tags:
      - Database table form view
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserFile'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_NO_AUTHORIZATION_TO_PUBLICLY_SHARED_VIEW
                  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: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_INVALID_FILE
                    - ERROR_FILE_SIZE_TOO_LARGE
                    - ERROR_VIEW_HAS_NO_PUBLIC_FILE_FIELD
                  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_VIEW_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:
    FormViewFieldOptionsCondition:
      type: object
      properties:
        id:
          type: integer
        field:
          type: integer
        type:
          type: string
          description: 'Indicates how the field''s value must be compared to the filter''s value. The filter is always in this order `field` `type` `value` (example: `field_1` `contains` `Test`).'
          maxLength: 48
        value:
          type: string
          description: The filter value that must be compared to the field's value.
        group:
          type:
          - integer
          - 'null'
      required:
      - field
      - id
      - type
    Mode51eEnum:
      enum:
      - form
      - survey
      type: string
      description: '* `form` - form

        * `survey` - survey'
    PatchedExampleUpdateRowRequest:
      type: object
      properties:
        field_1:
          type:
          - string
          - 'null'
          description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. '
        field_2:
          type:
          - string
          - 'null'
          description: 'This field represents the `long_text` field. The number in field_2 is in a normal request or response the id of the field. '
        field_3:
          type:
          - string
          - 'null'
          description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. '
        field_4:
          type:
          - string
          - 'null'
          description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. '
          maxLength: 254
        field_5:
          type:
          - string
          - 'null'
          format: decimal
          pattern: ^-?\d{0,50}(?:\.\d{0,0})?$
          description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. '
        field_6:
          type: integer
          maximum: 5
          minimum: 0
          default: 0
          description: 'This field represents the `rating` field. The number in field_6 is in a normal request or response the id of the field. '
        field_7:
          type: boolean
          default: false
          description: 'This field represents the `boolean` field. The number in field_7 is in a normal request or response the id of the field. '
        field_8:
          type:
          - string
          - 'null'
          format: date
          description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. '
        field_13:
          type:
          - number
          - 'null'
          format: float
          description: This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. The provided value can be a string in one of the available formats or a number representing the duration in seconds. In any case, the value will be rounded to match the field's duration format.
        field_14:
          type: array
          items:
            type:
            - integer
            - 'null'
          description: This field represents the `link_row` field. The number in field_14 is in a normal request or response the id of the field. This field accepts an `array` containing the ids or the names of the related rows. A name is the value of the primary key of the related row. This field also accepts a string with names separated by a comma or an array of row names. You can also provide a unique row Id.The response contains a list of objects containing the `id` and the primary field's `value` as a string for display purposes.
        field_15:
          type:
          - array
          - 'null'
          items: {}
          description: This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. This field accepts an `array` containing objects with the name of the file. The response contains an `array` of more detailed objects related to the files.
        field_16:
          type:
          - integer
          - 'null'
          description: Accepts one of the following option ids as integer value This field accepts an `integer` representing the chosen select option id related to the field. Available ids can be found when getting or listing the field. The response represents chosen field, but also the value and color is exposed..
        field_17:
          type: array
          items:
            type:
            - integer
            - 'null'
            description: This field represents the `multiple_select` field. The number in field_17 is in a normal request or response the id of the field. This field accepts a list of `integer` each of which representing the chosen select option id related to the field. Available ids can be foundwhen getting or listing the field. You can also send a list of option names in which case the option are searched by name. The first one that matches is used. This field also accepts a string with names separated by a comma or an array of file names. The response represents chosen field, but also the value and color is exposed.
          description: This field represents the `multiple_select` field. The number in field_17 is in a normal request or response the id of the field. This field accepts a list of `integer` each of which representing the chosen select option id related to the field. Available ids can be foundwhen getting or listing the field. You can also send a list of option names in which case the option are searched by name. The first one that matches is used. This field also accepts a string with names separated by a comma or an array of file names. The response represents chosen field, but also the value and color is exposed.
        field_18:
          type:
          - string
          - 'null'
          description: 'This field represents the `phone_number` field. The number in field_18 is in a normal request or response the id of the field. '
          maxLength: 100
        field_23:
          type: array
          items:
            type: integer
          description: This field represents the `multiple_collaborators` field. The number in field_23 is in a normal request or response the id of the field. This field accepts a list of objects representing the chosen collaborators through the object's `id` property. The id is Baserow user id. The response objects also contains the collaborator name directly along with its id.
        field_26:
          type:
          - string
          - 'null'
          description: This field represents the `password` field. The number in field_26 is in a normal request or response the id of the field. Allows setting a write only password value. Providing a string will set the password, `null` will unset it, `true` will be ignored. The response will respond with `true` is a password is set, but will never expose the password itself.
        field_28:
          type:
          - string
          - 'null'
          description: This field represents the `ai` field. The number in field_28 is in a normal request or response the id of the field. Holds a value that is generated by a generative AI model using a dynamic prompt.
    PublicFormView:
      type: object
      properties:
        title:
          type: string
          description: The title that is displayed at the beginning of the form.
        description:
          type: string
          description: The description that is displayed at the beginning of the form.
        mode:
          allOf:
          - $ref: '#/components/schemas/Mode51eEnum'
          description: 'Configurable mode of the form.


            * `form` - form

            * `survey` - survey'
        cover_image:
          allOf:
          - $ref: '#/components/schemas/UserFile'
          description: The user file cover image that is displayed at the top of the form.
        logo_image:
          allOf:
          - $ref: '#/components/schemas/UserFile'
          description: The user file logo image that is displayed at the top of the form.
        submit_text:
          type: string
          description: The text displayed on the submit button.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/PublicFormViewFieldOptions'
        show_logo:
          type: boolean
        allow_public_export:
          type: boolean
          description: Indicates whether it's allowed to export a publicly shared view.
      required:
      - fields
    RowMetadata:
      type: object
      properties:
        row_comment_count:
          type: integer
          minimum: 0
          description: How many row comments exist for this row.
        row_comments_notification_mode:
          $ref: '#/components/schemas/RowCommentsNotificationModeEnum'
    SelectOption:
      type: object
      properties:
        id:
          type: integer
        value:
          type: string
          maxLength: 255
        color:
          type: string
          maxLength: 255
      required:
      - color
      - value
    PublicFormViewFieldOptions:
      type: object
      properties:
        name:
          type: string
          readOnly: true
          description: If provided, then this value will be visible above the field input.
        description:
          type: string
          description: If provided, then this value be will be shown under the field name.
        required:
          type: boolean
          description: Indicates whether the field is required for the visitor to fill out.
        order:
          type: integer
          maximum: 32767
          minimum: -32768
          description: The order that the field has in the form. Lower value is first.
        field:
          allOf:
          - $ref: '#/components/schemas/PublicFormViewField'
          readOnly: true
          description: The properties of the related field. These can be used to construct the correct input. Additional properties could be added depending on the field type.
        show_when_matching_conditions:
          type: boolean
          description: Indicates whether this field is visible when the conditions are met.
        condition_type:
          allOf:
          - $ref: '#/components/schemas/ConditionTypeEnum'
          description: 'Indicates whether all (AND) or any (OR) of the conditions should match before shown.


            * `AND` - And

            * `OR` - Or'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/FormViewFieldOptionsCondition'
        condition_groups:
          type: array
          items:
            $ref: '#/components/schemas/FormViewFieldOptionsConditionGroup'
        groups:
          type: array
          items:
            $ref: '#/components/schemas/FormViewFieldOptionsConditionGroup'
        field_component:
          type: string
          description: Indicates which field input component is used in the form. The value is only used in the frontend, and can differ per field.
          maxLength: 32
      required:
      - field
      - name
    UserFile:
      type: object
      properties:
        size:
          type: integer
          maximum: 9223372036854775807
          minimum: 0
          format: int64
        mime_type:
          type: string
          maxLength: 127
        is_image:
          type: boolean
        image_width:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: 0
        image_height:
          type:
          - integer
          - 'null'
          maximum: 2147483647
          minimum: 0
        uploaded_at:
          type: string
          format: date-time
          readOnly: true
        url:
          type: string
          format: uri
          readOnly: true
        thumbnails:
          type: object
          additionalProperties: {}
          readOnly: true
        name:
          type: string
          readOnly: true
        original_name:
          type: string
          maxLength: 255
      required:
      - name
      - original_name
      - size
      - thumbnails
      - uploaded_at
      - url
    LinkRowValue:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
          description: The unique identifier of the row in the related table.
        value:
          type: string
          description: The primary field's value as a string of the row in the related table.
        order:
          type: string
          format: decimal
          pattern: ^-?\d{0,20}(?:\.\d{0,20})?$
      required:
      - id
    ConditionTypeEnum:
      enum:
      - AND
      - OR
      type: string
      description: '* `AND` - And

        * `OR` - Or'
    Collaborator:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
          readOnly: true
      required:
      - id
      - name
    FileFieldResponse:
      type: object
      properties:
        url:
          type: string
          format: uri
          readOnly: true
        thumbnails:
          type: object
          additionalProperties: {}
          readOnly: true
        visible_name:
          type: string
        name:
          type: string
        size:
          type: integer
        mime_type:
          type: string
        is_image:
          type: boolean
        image_width:
          type: integer
        image_height:
          type: integer
        uploaded_at:
          type: string
          format: date-time
      required:
      - image_height
      - image_width
      - is_image
      - mime_type
      - name
      - size
      - thumbnails
      - uploaded_at
      - url
      - visible_name
    ExampleRowRequest:
      type: object
      properties:
        field_1:
          type:
          - string
          - 'null'
          description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. '
        field_2:
          type:
          - string
          - 'null'
          description: 'This field represents the `long_text` field. The number in field_2 is in a normal request or response the id of the field. '
        field_3:
          type:
          - string
          - 'null'
          description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. '
        field_4:
          type:
          - string
          - 'null'
          description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. '
          maxLength: 254
        field_5:
          type:
          - string
          - 'null'
          format: decimal
          pattern: ^-?\d{0,50}(?:\.\d{0,0})?$
          description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. '
        field_6:
          type: integer
          maximum: 5
          minimum: 0
          default: 0
          description: 'This field represents the `rating` field. The number in field_6 is in a normal request or response the id of the field. '
        field_7:
          type: boolean
          default: false
          description: 'This field represents the `boolean` field. The number in field_7 is in a normal request or response the id of the field. '
        field_8:
          type:
          - string
          - 'null'
          format: date
          description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. '
        field_13:
          type:
          - number
          - 'null'
          format: float
          description: This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. The provided value can be a string in one of the available formats or a number representing the duration in seconds. In any case, the value will be rounded to match the field's duration format.
        field_14:
          type: array
          items:
            type:
            - integer
            - 'null'
          description: This field represents the `link_row` field. The number in field_14 is in a normal request or response the id of the field. This field accepts an `array` containing the ids or the names of the related rows. A name is the value of the primary key of the related row. This field also accepts a string with names separated by a comma or an array of row names. You can also provide a unique row Id.The response contains a list of objects containing the `id` and the primary field's `value` as a string for display purposes.
        field_15:
          type:
          - array
          - 'null'
          items: {}
          description: This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. This field accepts an `array` containing objects with the name of the file. The response contains an `array` of more detailed objects related to the files.
        field_16:
          type:
          - integer
          - 'null'
          description: Accepts one of the following option ids as integer value This field a

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/baserow/refs/heads/main/openapi/baserow-database-table-form-view-api-openapi.yml