openapi: 3.0.3 info: title: Baserow API spec Admin Database table rows 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: Database table rows paths: /api/database/rows/names/: get: operationId: list_database_table_row_names description: Returns the names of the given row of the given tables. The nameof a row is the primary field value for this row. The result can be usedfor example, when you want to display the name of a linked row from another table. parameters: - in: query name: table__{id} schema: type: string description: A list of comma separated row ids to query from the table with id {id}. For example, if you want the name of row `42` and `43` from table `28` this parameter will be `table__28=42,43`. You can specify multiple rows for different tables but every tables must be in the same database. You need at least read permission on all specified tables. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: type: object properties: '{table_id}*': type: object description: An object containing the row names of table `table_id`. properties: '{row_id}*': type: string description: the name of the row with id `row_id` from table with id `table_id`. 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_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/rows/table/{table_id}/: get: operationId: list_database_table_rows description: Lists all the rows of the table related to the provided parameter if the user has access to the related database's workspace. The response is paginated by a page/size style. It is also possible to provide an optional search query, only rows where the data matches the search query are going to be returned then. The properties of the returned rows depends on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field. Or if the GET parameter `user_field_names` is provided then the keys will be the name of the field. The value is what the user has provided and the format of it depends on the fields type. parameters: - in: query name: exclude schema: type: string description: 'All the fields are included in the response by default. You can select a subset of fields by providing the exclude query parameter. If you for example provide the following GET parameter `exclude=field_1,field_2` then the fields with id `1` and id `2` are going to be excluded from the selection and response. If the `user_field_names` parameter is provided then instead exclude should be a comma separated list of the actual field names. For field names with commas you should surround the name with quotes like so: `exclude=My Field,"Field With , "`. A backslash can be used to escape field names which contain double quotes like so: `exclude=My Field,Field with \"`.' - in: query name: filter__{field}__{filter} schema: type: string description: "The rows can optionally be filtered by the same view filters available for the views. Multiple filters can be provided if they follow the same format. The field and filter variable indicate how to filter and the value indicates where to filter on.\n\nFor example if you provide the following GET parameter `filter__field_1__equal=test` then only rows where the value of field_1 is equal to test are going to be returned.\n\nThe following filters are available: equal, not_equal, filename_contains, files_lower_than, has_file_type, contains, contains_not, contains_word, doesnt_contain_word, length_is_lower_than, higher_than, higher_than_or_equal, lower_than, lower_than_or_equal, is_even_and_whole, date_equal, date_before, date_before_or_equal, date_after_days_ago, date_after, date_after_or_equal, date_not_equal, date_equals_today, date_before_today, date_after_today, date_within_days, date_within_weeks, date_within_months, date_equals_days_ago, date_equals_months_ago, date_equals_years_ago, date_equals_week, date_equals_month, date_equals_day_of_month, date_equals_year, date_is, date_is_not, date_is_before, date_is_on_or_before, date_is_after, date_is_on_or_after, date_is_within, single_select_equal, single_select_not_equal, single_select_is_any_of, single_select_is_none_of, link_row_has, link_row_has_not, link_row_contains, link_row_not_contains, boolean, empty, not_empty, multiple_select_has, multiple_select_has_not, multiple_collaborators_has, multiple_collaborators_has_not, user_is, user_is_not, has_value_equal, has_not_value_equal, has_value_contains, has_not_value_contains, has_value_contains_word, has_not_value_contains_word, has_value_length_is_lower_than, has_all_values_equal, has_empty_value, has_not_empty_value, has_any_select_option_equal, has_none_select_option_equal, has_value_lower, has_value_lower_or_equal, has_value_higher, has_value_higher_or_equal, has_not_value_higher_or_equal, has_not_value_higher, has_not_value_lower_or_equal, has_not_value_lower, has_date_equal, has_not_date_equal, has_date_before, has_not_date_before, has_date_on_or_before, has_not_date_on_or_before, has_date_on_or_after, has_not_date_on_or_after, has_date_after, has_not_date_after, has_date_within, has_not_date_within.\n\n**Please note that if the `filters` parameter is provided, this parameter will be ignored.** \n\n" - in: query name: filter_type schema: type: string description: '`AND`: Indicates that the rows must match all the provided filters. `OR`: Indicates that the rows only have to match one of the filters. This works only if two or more filters are provided. **Please note that if the `filters` parameter is provided, this parameter will be ignored.**' - in: query name: filters schema: type: string description: "A JSON serialized string containing the filter tree to apply to this view. The filter tree is a nested structure containing the filters that need to be applied. \n\nAn example of a valid filter tree is the following:`{\"filter_type\": \"AND\", \"filters\": [{\"field\": 1, \"type\": \"equal\", \"value\": \"test\"}]}`. The `field` value must be the ID of the field to filter on, or the name of the field if `user_field_names` is true.\n\nThe following filters are available: equal, not_equal, filename_contains, files_lower_than, has_file_type, contains, contains_not, contains_word, doesnt_contain_word, length_is_lower_than, higher_than, higher_than_or_equal, lower_than, lower_than_or_equal, is_even_and_whole, date_equal, date_before, date_before_or_equal, date_after_days_ago, date_after, date_after_or_equal, date_not_equal, date_equals_today, date_before_today, date_after_today, date_within_days, date_within_weeks, date_within_months, date_equals_days_ago, date_equals_months_ago, date_equals_years_ago, date_equals_week, date_equals_month, date_equals_day_of_month, date_equals_year, date_is, date_is_not, date_is_before, date_is_on_or_before, date_is_after, date_is_on_or_after, date_is_within, single_select_equal, single_select_not_equal, single_select_is_any_of, single_select_is_none_of, link_row_has, link_row_has_not, link_row_contains, link_row_not_contains, boolean, empty, not_empty, multiple_select_has, multiple_select_has_not, multiple_collaborators_has, multiple_collaborators_has_not, user_is, user_is_not, has_value_equal, has_not_value_equal, has_value_contains, has_not_value_contains, has_value_contains_word, has_not_value_contains_word, has_value_length_is_lower_than, has_all_values_equal, has_empty_value, has_not_empty_value, has_any_select_option_equal, has_none_select_option_equal, has_value_lower, has_value_lower_or_equal, has_value_higher, has_value_higher_or_equal, has_not_value_higher_or_equal, has_not_value_higher, has_not_value_lower_or_equal, has_not_value_lower, has_date_equal, has_not_date_equal, has_date_before, has_not_date_before, has_date_on_or_before, has_not_date_on_or_before, has_date_on_or_after, has_not_date_on_or_after, has_date_after, has_not_date_after, has_date_within, has_not_date_within.\n\n**Please note that if this parameter is provided, all other `filter__{field}__{filter}` will be ignored, as well as the `filter_type` parameter.**" - in: query name: include schema: type: string description: 'All the fields are included in the response by default. You can select a subset of fields by providing the include query parameter. If you for example provide the following GET parameter `include=field_1,field_2` then only the fields withid `1` and id `2` are going to be selected and included in the response. If the `user_field_names` parameter is provided then instead include should be a comma separated list of the actual field names. For field names with commas you should surround the name with quotes like so: `include=My Field,"Field With , "`. A backslash can be used to escape field names which contain double quotes like so: `include=My Field,Field with \"`.' - in: query name: order_by schema: type: string description: 'Optionally the rows can be ordered by provided field ids separated by comma. By default a field is ordered in ascending (A-Z) order, but by prepending the field with a ''-'' it can be ordered descending (Z-A). If the `user_field_names` parameter is provided then instead order_by should be a comma separated list of the actual field names. For field names with commas you should surround the name with quotes like so: `order_by=My Field,"Field With , "`. A backslash can be used to escape field names which contain double quotes like so: `order_by=My Field,Field with \"`.' - in: query name: page schema: type: integer description: Defines which page of rows should be returned. - in: query name: search schema: type: string description: If provided only rows with data that matches the search query are going to be returned. - in: query name: search_mode schema: type: string description: If provided, allows API consumers to determine what kind of search experience they wish to have. If the default `SearchMode.FT_WITH_COUNT` is used, then Postgres full-text search is used. If `SearchMode.COMPAT` is provided then the search term will be exactly searched for including whitespace on each cell. This is the Baserow legacy search behaviour. - in: query name: size schema: type: integer description: Defines how many rows should be returned per page. - in: path name: table_id schema: type: integer description: Returns the rows of the table related to the provided value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause the returned JSON to use the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view_id schema: type: integer description: Includes all the filters and sorts of the provided view. - in: query name: '{link_row_field}__join={target_field},{target_field2}' schema: type: string description: This parameter allows you to request a lookup of field values from a target table through existing link row fields. The parameter name has to be the name of an existing link row field, followed by `__join`. The value should be a list of field names for which we want to lookup additional values. You can provide one or multiple target fields. It is not possible to lookup a value of a link row field in the target table. If `user_field_names` parameter is set, the names of the fields should be user field names. In this case the resulting field names in the output will also be user field names. The used link row field has to be among the requested fields if using the `include` or `exclude` parameters. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginationSerializerExampleRowResponseSerializerWithUserFieldNames' 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 - ERROR_PAGE_SIZE_LIMIT - ERROR_ORDER_BY_FIELD_NOT_FOUND - ERROR_ORDER_BY_FIELD_NOT_POSSIBLE - ERROR_FILTER_FIELD_NOT_FOUND - ERROR_VIEW_FILTER_TYPE_DOES_NOT_EXIST - ERROR_VIEW_FILTER_TYPE_UNSUPPORTED_FIELD - ERROR_FILTERS_PARAM_VALIDATION_ERROR 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_FIELD_DOES_NOT_EXIST - 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: '' post: operationId: create_database_table_row description: Creates a new row in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** to list them all. None of the fields are required, if they are not provided the value is going to be `null` or `false` or some default value is that is set. If you want to add a value for the field with for example id `10`, the key must be named `field_10`. Or instead if the `user_field_names` GET param is provided the key must be the name of the field. Of course multiple fields can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. 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: query name: before schema: type: integer description: If provided then the newly created row will be positioned before the row with the provided id. - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Creates a row in the table related to the provided value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause this endpoint to expect and return the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view schema: type: integer description: Provide if the row is created in a view. This can result in different permission checking and default values. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/ExampleRowRequestSerializerWithUserFieldNames' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExampleRowRequestSerializerWithUserFieldNames' multipart/form-data: schema: $ref: '#/components/schemas/ExampleRowRequestSerializerWithUserFieldNames' security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' 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 - 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/database/rows/table/{table_id}/{row_id}/: get: operationId: get_database_table_row description: Fetches an existing row from the table if the user has access to the related table's workspace. The properties of the returned row depend on which fields the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. In the example all field types are listed, but normally the number in field_{id} key is going to be the id of the field of the field. Or if the GET parameter `user_field_names` is provided then the keys will be the name of the field. The value is what the user has provided and the format of it depends on the fields type. parameters: - in: query name: include schema: type: string description: Optionally include row's `metadata` in the response. The `metadata` object includes extra row specific data like the 'row_comments_notification_mode' settings, if available. - in: path name: row_id schema: type: integer description: Returns the row related the provided value. required: true - in: path name: table_id schema: type: integer description: Returns the row of the table related to the provided value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause the returned JSON to use the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view schema: type: integer description: Provide if the row if fetched in a view. This can result in different permission checking and default values. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' patch: operationId: update_database_table_row description: Updates an existing row in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. None of the fields are required, if they are not provided the value is not going to be updated. When you want to update a value for the field with id `10`, the key must be named `field_10`. Or if the GET parameter `user_field_names` is provided the key of the field to update must be the name of the field. Multiple different fields to update can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided. 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: row_id schema: type: integer description: Updates the row related to the value. required: true - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Updates the row in the table related to the value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause this endpoint to expect and return the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view schema: type: integer description: Provide if the row is updated in a view. This can result in different permission checking and default values. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExampleUpdateRowRequestSerializerWithUserFieldNames' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExampleUpdateRowRequestSerializerWithUserFieldNames' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExampleUpdateRowRequestSerializerWithUserFieldNames' security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' delete: operationId: delete_database_table_row description: Deletes an existing row in the table if the user has access to the table'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: 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: row_id schema: type: integer description: Deletes the row related to the value. required: true - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Deletes the row in the table related to the value. required: true - in: query name: view schema: type: integer description: Provide if the row is deleted in a view. This can result in different permission checking and default values. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] - Database token: [] 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/database/rows/table/{table_id}/{row_id}/adjacent/: get: operationId: get_adjacent_database_table_row description: Fetches the adjacent row to a given row_id in the table with the given table_id. If the previous flag is set it will return the previous row, otherwise it will return the next row. You can specifya view_id and it will apply the filters and sorts of the provided view. parameters: - in: query name: previous schema: type: boolean description: A flag query parameter which if provided returns theprevious row to the specified row_id. If it's not setit will return the next row. - in: path name: row_id schema: type: integer description: Returns the row adjacent the provided value. required: true - in: query name: search schema: type: string description: If provided, the adjacent row will be one that matchesthe search query. - in: query name: search_mode schema: type: string description: If provided, allows API consumers to determine what kind of search experience they wish to have. If the default `SearchMode.FT_WITH_COUNT` is used, then Postgres full-text search is used. If `SearchMode.COMPAT` is provided then the search term will be exactly searched for including whitespace on each cell. This is the Baserow legacy search behaviour. - in: path name: table_id schema: type: integer description: Returns the row of the table related to the provided value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause the returned JSON to use the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view_id schema: type: integer description: Applies the filters and sorts of the provided view. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' description: '' '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_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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/database/rows/table/{table_id}/{row_id}/history/: get: operationId: get_database_table_row_history description: Fetches the row change history of a given row_id in the table with the given table_id. The row change history is paginated and can be limited with the limit and offset query parameters. parameters: - in: query name: limit schema: type: integer description: The maximum number of row change history entries to return. - in: query name: offset schema: type: integer description: The offset of the row change history entries to return. - in: path name: row_id schema: type: integer description: The id of the row to fetch the change history from. required: true - in: path name: table_id schema: type: integer description: The id of the table to fetch the row change history from. required: true tags: - Database table rows security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginationSerializerRowHistory' description: '' '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 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_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/rows/table/{table_id}/{row_id}/move/: patch: operationId: move_database_table_row description: Moves the row related to given `row_id` parameter to another position. It is only possible to move the row before another existing row or to the end. If the `before_id` is provided then the row related to the `row_id` parameter is moved before that row. If the `before_id` parameter is not provided, then the row will be moved to the end. 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: query name: before_id schema: type: integer description: Moves the row related to the given `row_id` before the row related to the provided value. If not provided, then the row will be moved to the end. - in: path name: row_id schema: type: integer description: Moves the row related to the value. required: true - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Moves the row in the table related to the value. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause the returned JSON to use the user-specified field names instead of the internal Baserow field names (e.g., field_123).' tags: - Database table rows security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_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/rows/table/{table_id}/batch/: post: operationId: batch_create_database_table_rows description: "Creates new rows in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** to list them all. None of the fields are required, if they are not provided the value is going to be `null` or `false` or some default value is that is set. If you want to add a value for the field with for example id `10`, the key must be named `field_10`. Or instead if the `user_field_names` GET param is provided the key must be the name of the field. Of course multiple fields can be provided in one request. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided.\n\n **WARNING:** This endpoint doesn't yet work with row created webhooks." 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: query name: before schema: type: integer description: If provided then the newly created rows will be positioned before the row with the provided id. - in: query name: include_metadata schema: type: boolean description: if provided, this will include `metadata` key containing operation metadata information in the response. Metadata will include a list of field ids, that were changed during the operation. The list will be stored in `update_field_ids` key in `metadata` object. Also, metadata object will include `cascade_update` key with a list of rows updated in cascade, and a list of field ids that were updated in cascade update. - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Creates the rows in the table. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause this endpoint to expect and return the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view schema: type: integer description: Provide if the rows are created in a view. This can result in different permission checking and default values. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/ExampleBatchRowsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ExampleBatchRowsRequest' multipart/form-data: schema: $ref: '#/components/schemas/ExampleBatchRowsRequest' required: true security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleBatchRowsRequest' 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 - ERROR_ROW_IDS_NOT_UNIQUE - 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' patch: operationId: batch_update_database_table_rows description: "Updates existing rows in the table if the user has access to the related table's workspace. The accepted body fields are depending on the fields that the table has. For a complete overview of fields use the **list_database_table_fields** endpoint to list them all. None of the fields are required, if they are not provided the value is not going to be updated. When you want to update a value for the field with id `10`, the key must be named `field_10`. Or if the GET parameter `user_field_names` is provided the key of the field to update must be the name of the field. Multiple different fields to update can be provided for each row. In the examples below you will find all the different field types, the numbers/ids in the example are just there for example purposes, the field_ID must be replaced with the actual id of the field or the name of the field if `user_field_names` is provided.\n\n **WARNING:** This endpoint doesn't yet work with row updated webhooks." 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: query name: include_metadata schema: type: boolean description: if provided, this will include `metadata` key containing operation metadata information in the response. Metadata will include a list of field ids, that were changed during the operation. The list will be stored in `update_field_ids` key in `metadata` object. Also, metadata object will include `cascade_update` key with a list of rows updated in cascade, and a list of field ids that were updated in cascade update. - in: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Updates the rows in the table. required: true - in: query name: user_field_names schema: type: boolean description: 'A flag query parameter that, if provided with one of the following values: `y`, `yes`, `true`, `t`, `on`, `1`, or an empty value, will cause this endpoint to expect and return the user-specified field names instead of the internal Baserow field names (e.g., field_123).' - in: query name: view schema: type: integer description: Provide if the rows are updated in a view. This can result in different permission checking and default values. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedExampleBatchUpdateRowsRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedExampleBatchUpdateRowsRequest' multipart/form-data: schema: $ref: '#/components/schemas/PatchedExampleBatchUpdateRowsRequest' security: - UserSource JWT: [] - JWT: [] - Database token: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExampleBatchUpdateRowsRequest' 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 - ERROR_ROW_IDS_NOT_UNIQUE - 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/database/rows/table/{table_id}/batch-delete/: post: operationId: batch_delete_database_table_rows description: "Deletes existing rows in the table if the user has access to the table's workspace.\n\n **WARNING:** This endpoint doesn't yet work with row deleted webhooks." 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: query name: send_webhook_events schema: type: boolean description: A flag query parameter that triggers webhooks after the operation, if set to `y`, `yes`, `true`, `t`, `on`, `1`, or left empty. Defaults to `true` - in: path name: table_id schema: type: integer description: Deletes the rows in the table related to the value. required: true - in: query name: view schema: type: integer description: Provide if the rows are deleted in a view. This can result in different permission checking and default values. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchDeleteRows' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BatchDeleteRows' multipart/form-data: schema: $ref: '#/components/schemas/BatchDeleteRows' required: true security: - UserSource JWT: [] - JWT: [] - Database token: [] 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 - ERROR_ROW_IDS_NOT_UNIQUE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/row_comments/{table_id}/{row_id}/: get: operationId: get_row_comments description: 'Returns all row comments for the specified table and row. This is a **premium** feature.' parameters: - in: query name: limit schema: type: integer description: Defines how many rows should be returned. - in: query name: offset schema: type: integer description: Can only be used in combination with the `limit` parameter and defines from which offset the rows should be returned. - in: query name: page schema: type: integer description: Defines which page of rows should be returned. Either the `page` or `limit` can be provided, not both. - in: path name: row_id schema: type: integer description: The row to get row comments for. required: true - in: query name: size schema: type: integer description: Can only be used in combination with the `page` parameter and defines how many rows should be returned. - in: path name: table_id schema: type: integer description: The table the row is in. required: true - in: query name: view schema: type: integer description: Optionally provide a view id. If the user doesn't have table-level permissions, the system will check if the user has view-level permissions as a fallback. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginationSerializerRowComment' 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' post: operationId: create_row_comment description: 'Creates a comment on the specified row. This is a **premium** feature.' parameters: - in: path name: row_id schema: type: integer description: The row to create a comment for. required: true - in: path name: table_id schema: type: integer description: The table to find the row to comment on in. required: true - in: query name: view schema: type: integer description: Optionally provide a view id. If the user doesn't have table-level permissions, the system will check if the user has view-level permissions as a fallback. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/RowCommentCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RowCommentCreate' multipart/form-data: schema: $ref: '#/components/schemas/RowCommentCreate' required: true security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RowComment' 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_INVALID_COMMENT_MENTION 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/row_comments/{table_id}/{row_id}/notification-mode/: put: operationId: update_row_comment_notification_mode description: 'Updates the user''s notification preferences for comments made on a specified table row. This is a **premium** feature.' parameters: - in: path name: row_id schema: type: integer description: The row on which to manage the comment subscription. required: true - in: path name: table_id schema: type: integer description: The table id where the row is in. required: true - in: query name: view schema: type: integer description: Optionally provide a view id. If the user doesn't have table-level permissions, the system will check if the user has view-level permissions as a fallback. tags: - Database table rows requestBody: content: application/json: schema: $ref: '#/components/schemas/RowCommentsNotificationMode' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RowCommentsNotificationMode' multipart/form-data: schema: $ref: '#/components/schemas/RowCommentsNotificationMode' 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 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_DOES_NOT_EXIST - 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: '' /api/row_comments/{table_id}/comment/{comment_id}/: patch: operationId: update_row_comment description: 'Update a row comment. This is a **premium** feature.' parameters: - in: path name: comment_id schema: type: integer description: The row comment to update. required: true - in: path name: table_id schema: type: integer description: The table the row is in. required: true - in: query name: view schema: type: integer description: Optionally provide a view id. If the user doesn't have table-level permissions, the system will check if the user has view-level permissions as a fallback. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RowComment' 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_USER_NOT_COMMENT_AUTHOR - ERROR_INVALID_COMMENT_MENTION - ERROR_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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_COMMENT_DOES_NOT_EXIST - 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: '' delete: operationId: delete_row_comment description: 'Delete a row comment. This is a **premium** feature.' parameters: - in: path name: comment_id schema: type: integer description: The row comment to delete. required: true - in: path name: table_id schema: type: integer description: The table the row is in. required: true - in: query name: view schema: type: integer description: Optionally provide a view id. If the user doesn't have table-level permissions, the system will check if the user has view-level permissions as a fallback. tags: - Database table rows security: - UserSource JWT: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RowComment' 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_USER_NOT_COMMENT_AUTHOR 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: '' '401': content: application/json: schema: type: object properties: error: type: string description: Machine readable error indicating what went wrong. enum: - ERROR_NO_PERMISSION_TO_TABLE 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_TABLE_DOES_NOT_EXIST - ERROR_ROW_COMMENT_DOES_NOT_EXIST - 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: ExampleBatchUpdateRowRequestSerializerWithUserFieldNames: type: object properties: id: type: integer description: The unique identifier of the row in the table. field_1: type: string nullable: true description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_2: type: string nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_3: type: string nullable: true description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_4: type: string nullable: true description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' maxLength: 254 field_5: type: string format: decimal pattern: ^-?\d{0,50}(?:\.\d{0,0})?$ nullable: true description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_8: type: string format: date nullable: true description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_13: type: number format: float nullable: true description: 'This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 items: {} nullable: true description: 'This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `password` field. The number in field_26 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `ai` field. The number in field_28 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Holds a value that is generated by a generative AI model using a dynamic prompt.' required: - id RowHistory: type: object properties: id: type: integer readOnly: true action_type: type: string description: The type of the action that was performed. action_command_type: allOf: - $ref: '#/components/schemas/ActionCommandTypeEnum' description: 'The type of command that was performed. * `DO` - DO * `UNDO` - UNDO * `REDO` - REDO' user: allOf: - $ref: '#/components/schemas/RowHistoryUser' description: The user that performed the action. timestamp: type: string format: date-time description: The timestamp of the action that was performed. before: description: The mapping between field_ids and values for the row before the action was performed. after: description: The mapping between field_ids and values for the row after the action was performed. fields_metadata: description: The metadata of the fields that were changed. required: - action_type - after - before - fields_metadata - id - timestamp - user PaginationSerializerRowComment: type: object properties: count: type: integer description: The total amount of results. next: type: string format: uri nullable: true description: URL to the next page. previous: type: string format: uri nullable: true description: URL to the previous page. results: type: array items: $ref: '#/components/schemas/RowComment' required: - count - next - previous - results PaginationSerializerRowHistory: type: object properties: count: type: integer description: The total amount of results. next: type: string format: uri nullable: true description: URL to the next page. previous: type: string format: uri nullable: true description: URL to the previous page. results: type: array items: $ref: '#/components/schemas/RowHistory' required: - count - next - previous - results 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' ExampleRowRequestSerializerWithUserFieldNames: type: object properties: field_1: type: string nullable: true description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_2: type: string nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_3: type: string nullable: true description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_4: type: string nullable: true description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' maxLength: 254 field_5: type: string format: decimal pattern: ^-?\d{0,50}(?:\.\d{0,0})?$ nullable: true description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_8: type: string format: date nullable: true description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_13: type: number format: float nullable: true description: 'This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 items: {} nullable: true description: 'This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `password` field. The number in field_26 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `ai` field. The number in field_28 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Holds a value that is generated by a generative AI model using a dynamic prompt.' ExampleBatchUpdateRowsRequest: type: object properties: items: type: array items: $ref: '#/components/schemas/ExampleBatchUpdateRowRequestSerializerWithUserFieldNames' maxItems: 200 minItems: 1 metadata: allOf: - $ref: '#/components/schemas/OperationMetadata' description: An optional object containing metadata information about the operation required: - items RowCommentsNotificationModeEnum: enum: - all - mentions type: string description: '* `all` - all * `mentions` - mentions' PatchedExampleUpdateRowRequestSerializerWithUserFieldNames: type: object properties: field_1: type: string nullable: true description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_2: type: string nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_3: type: string nullable: true description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_4: type: string nullable: true description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' maxLength: 254 field_5: type: string format: decimal pattern: ^-?\d{0,50}(?:\.\d{0,0})?$ nullable: true description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_8: type: string format: date nullable: true description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_13: type: number format: float nullable: true description: 'This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 items: {} nullable: true description: 'This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `password` field. The number in field_26 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true description: 'This field represents the `ai` field. The number in field_28 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Holds a value that is generated by a generative AI model using a dynamic prompt.' ExampleRowResponseSerializerWithUserFieldNames: type: object properties: id: type: integer description: The unique identifier of the row in the table. order: type: string format: decimal pattern: ^-?\d{0,20}(?:\.\d{0,20})?$ description: Indicates the position of the row, lowest first and highest last. metadata: allOf: - $ref: '#/components/schemas/RowMetadata' description: Additional metadata for the row, if `include=metadata' is provided as query parameter. field_1: type: string nullable: true description: 'This field represents the `text` field. The number in field_1 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_2: type: string nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_3: type: string nullable: true description: 'This field represents the `url` field. The number in field_3 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_4: type: string nullable: true description: 'This field represents the `email` field. The number in field_4 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' maxLength: 254 field_5: type: string format: decimal pattern: ^-?\d{0,50}(?:\.\d{0,0})?$ nullable: true description: 'This field represents the `number` field. The number in field_5 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_8: type: string format: date nullable: true description: 'This field represents the `date` field. The number in field_8 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_9: type: string format: date-time description: 'This field represents the `last_modified` field. The number in field_9 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_10: allOf: - $ref: '#/components/schemas/Collaborator' description: 'This field represents the `last_modified_by` field. The number in field_10 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_11: type: string format: date-time description: 'This field represents the `created_on` field. The number in field_11 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_12: allOf: - $ref: '#/components/schemas/Collaborator' description: 'This field represents the `created_by` field. The number in field_12 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_13: type: number format: float nullable: true description: 'This field represents the `duration` field. The number in field_13 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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: $ref: '#/components/schemas/LinkRowValue' 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 items: $ref: '#/components/schemas/FileFieldResponse' description: 'This field represents the `file` field. The number in field_15 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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: allOf: - $ref: '#/components/schemas/SelectOption' nullable: true description: 'This field represents the `single_select` field. The number in field_16 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. 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: $ref: '#/components/schemas/SelectOption' nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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 nullable: true 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' maxLength: 100 field_19: type: string nullable: true description: 'This field represents the `formula` field. The number in field_19 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_20: type: string nullable: true description: 'This field represents the `count` field. The number in field_20 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_21: type: string nullable: true description: 'This field represents the `rollup` field. The number in field_21 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_22: type: string nullable: true description: 'This field represents the `lookup` field. The number in field_22 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_23: type: array items: $ref: '#/components/schemas/Collaborator' 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. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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_24: type: string format: uuid description: 'This field represents the `uuid` field. The number in field_24 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Contains a unique and persistent UUID for every row.' field_25: type: integer description: 'This field represents the `autonumber` field. The number in field_25 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Contains a unique and persistent incremental integer number for every row.' field_26: type: boolean description: 'This field represents the `password` field. The number in field_26 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name 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_27: type: string readOnly: true description: 'This field represents the `form_view_edit_row` field. The number in field_27 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. ' field_28: type: string nullable: true description: 'This field represents the `ai` field. The number in field_28 is in a normal request or response the id of the field. If the GET parameter user_field_names is provided and its value is one of the following: `y`, `yes`, `true`, `t`, `on`, `1`, or empty, then the key will instead be the actual name of the field. Holds a value that is generated by a generative AI model using a dynamic prompt.' required: - field_27 - id ActionCommandTypeEnum: enum: - DO - UNDO - REDO type: string description: '* `DO` - DO * `UNDO` - UNDO * `REDO` - REDO' OperationMetadata: type: object properties: updated_field_ids: type: array items: type: integer readOnly: true description: A list of field ids that has been changed during the operation cascade_update: $ref: '#/components/schemas/CascadeUpdate' required: - updated_field_ids Mode884Enum: enum: - all - mentions type: string description: '* `all` - all * `mentions` - mentions' RowHistoryUser: type: object properties: id: type: integer description: The id of the user. name: type: string description: The first name of the user. required: - id - name PatchedExampleBatchUpdateRowsRequest: type: object properties: items: type: array items: $ref: '#/components/schemas/ExampleBatchUpdateRowRequestSerializerWithUserFieldNames' maxItems: 200 minItems: 1 RowCommentsNotificationMode: type: object properties: mode: allOf: - $ref: '#/components/schemas/Mode884Enum' description: 'The mode to use to receive notifications for new comments on a table row. * `all` - all * `mentions` - mentions' required: - mode Collaborator: type: object properties: id: type: integer name: type: string readOnly: true required: - id - name ExampleBatchRowsRequest: type: object properties: items: type: array items: $ref: '#/components/schemas/ExampleRowRequestSerializerWithUserFieldNames' maxItems: 200 minItems: 1 required: - items CascadeUpdate: type: object properties: rows: type: array items: $ref: '#/components/schemas/ExampleBatchUpdateRowRequestSerializerWithUserFieldNames' readOnly: true description: A list of rows that have been updated as cascade update. field_ids: type: array items: type: integer readOnly: true description: A list of field ids that has been changed in cascade update required: - field_ids - rows 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 PaginationSerializerExampleRowResponseSerializerWithUserFieldNames: type: object properties: count: type: integer description: The total amount of results. next: type: string format: uri nullable: true description: URL to the next page. previous: type: string format: uri nullable: true description: URL to the previous page. results: type: array items: $ref: '#/components/schemas/ExampleRowResponseSerializerWithUserFieldNames' required: - count - next - previous - results 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 RowCommentCreate: type: object properties: message: description: The rich text comment content. required: - message BatchDeleteRows: type: object properties: items: type: array items: type: integer maxItems: 200 minItems: 1 required: - items RowComment: type: object properties: id: type: integer readOnly: true user_id: type: integer nullable: true description: The user who made the comment. readOnly: true first_name: type: string maxLength: 32 table_id: type: integer description: 'The table the row this comment is for is found in. ' readOnly: true row_id: type: integer maximum: 2147483647 minimum: 0 description: The id of the row the comment is for. message: type: string readOnly: true created_on: type: string format: date-time readOnly: true updated_on: type: string format: date-time readOnly: true edited: type: string readOnly: true trashed: type: boolean required: - created_on - edited - id - message - row_id - table_id - updated_on - user_id SelectOption: type: object properties: id: type: integer value: type: string maxLength: 255 color: type: string maxLength: 255 required: - color - value 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