{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Baserow API Schemas", "description": "Core JSON Schema definitions extracted from the Baserow REST API OpenAPI 3.0 specification.", "definitions": { "ApplicationApplication": { "oneOf": [ { "$ref": "#/components/schemas/DatabaseApplication" }, { "$ref": "#/components/schemas/DashboardApplication" }, { "$ref": "#/components/schemas/AutomationApplication" }, { "$ref": "#/components/schemas/BuilderApplication" } ], "discriminator": { "propertyName": "type", "mapping": { "database": "#/components/schemas/DatabaseApplication", "dashboard": "#/components/schemas/DashboardApplication", "automation": "#/components/schemas/AutomationApplication", "builder": "#/components/schemas/BuilderApplication" } } }, "DatabaseApplication": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 160 }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0 }, "type": { "type": "string", "readOnly": true }, "workspace": { "allOf": [ { "$ref": "#/components/schemas/Workspace" } ], "description": "The workspace that the application belongs to." }, "created_on": { "type": "string", "format": "date-time", "readOnly": true }, "tables": { "type": "array", "items": { "$ref": "#/components/schemas/Table" }, "readOnly": true, "description": "This field is specific to the `database` application and contains an array of tables that are in the database." } }, "required": [ "created_on", "id", "name", "order", "tables", "type", "workspace" ] }, "Field": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "table_id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 255 }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Lowest first." }, "type": { "type": "string", "readOnly": true, "description": "The type of the related field." }, "primary": { "type": "boolean", "description": "Indicates if the field is a primary field. If `true` the field cannot be deleted and the value should represent the whole row." }, "read_only": { "type": "boolean", "readOnly": true, "description": "Indicates whether the field is a read only field. If true, it's not possible to update the cell value." }, "immutable_type": { "type": "boolean", "readOnly": true, "description": "Indicates whether the field type is immutable. If true, then it won't be possible to change the field type via the API." }, "immutable_properties": { "type": "boolean", "readOnly": true, "description": "Indicates whether the field properties are immutable. If true, then it won't be possible to change the properties and the type via the API." }, "description": { "type": "string", "nullable": true, "description": "Field description" }, "database_id": { "type": "integer", "readOnly": true, "description": "The ID of the database this field belongs to." }, "workspace_id": { "type": "integer", "readOnly": true, "description": "The ID of the workspace this field belongs to." }, "db_index": { "type": "boolean", "description": "If true, then an index will be added to the Baserow field to increase lookup and filter speed. Note that this comes at a performance cost when creating the row and updating the cell." }, "field_constraints": { "type": "string", "readOnly": true, "description": "The constraints applied to this field." } }, "required": [ "database_id", "field_constraints", "id", "immutable_properties", "immutable_type", "name", "order", "read_only", "table_id", "type", "workspace_id" ] }, "FieldConstraint": { "type": "object", "properties": { "type_name": { "type": "string", "description": "The type name of the constraint.", "maxLength": 255 } }, "required": [ "type_name" ] }, "FieldCreateField": { "oneOf": [ { "$ref": "#/components/schemas/TextFieldCreateField" }, { "$ref": "#/components/schemas/LongTextFieldCreateField" }, { "$ref": "#/components/schemas/URLFieldCreateField" }, { "$ref": "#/components/schemas/EmailFieldCreateField" }, { "$ref": "#/components/schemas/NumberFieldCreateField" }, { "$ref": "#/components/schemas/RatingFieldCreateField" }, { "$ref": "#/components/schemas/BooleanFieldCreateField" }, { "$ref": "#/components/schemas/DateFieldCreateField" }, { "$ref": "#/components/schemas/LastModifiedFieldCreateField" }, { "$ref": "#/components/schemas/LastModifiedByFieldCreateField" }, { "$ref": "#/components/schemas/CreatedOnFieldCreateField" }, { "$ref": "#/components/schemas/CreatedByFieldCreateField" }, { "$ref": "#/components/schemas/DurationFieldCreateField" }, { "$ref": "#/components/schemas/LinkRowFieldCreateField" }, { "$ref": "#/components/schemas/FileFieldCreateField" }, { "$ref": "#/components/schemas/SingleSelectFieldCreateField" }, { "$ref": "#/components/schemas/MultipleSelectFieldCreateField" }, { "$ref": "#/components/schemas/PhoneNumberFieldCreateField" }, { "$ref": "#/components/schemas/FormulaFieldCreateField" }, { "$ref": "#/components/schemas/CountFieldCreateField" }, { "$ref": "#/components/schemas/RollupFieldCreateField" }, { "$ref": "#/components/schemas/LookupFieldCreateField" }, { "$ref": "#/components/schemas/MultipleCollaboratorsFieldCreateField" }, { "$ref": "#/components/schemas/UUIDFieldCreateField" }, { "$ref": "#/components/schemas/AutonumberFieldCreateField" }, { "$ref": "#/components/schemas/PasswordFieldCreateField" }, { "$ref": "#/components/schemas/FormViewEditRowFieldCreateField" }, { "$ref": "#/components/schemas/AIFieldCreateField" } ], "discriminator": { "propertyName": "type", "mapping": { "text": "#/components/schemas/TextFieldCreateField", "long_text": "#/components/schemas/LongTextFieldCreateField", "url": "#/components/schemas/URLFieldCreateField", "email": "#/components/schemas/EmailFieldCreateField", "number": "#/components/schemas/NumberFieldCreateField", "rating": "#/components/schemas/RatingFieldCreateField", "boolean": "#/components/schemas/BooleanFieldCreateField", "date": "#/components/schemas/DateFieldCreateField", "last_modified": "#/components/schemas/LastModifiedFieldCreateField", "last_modified_by": "#/components/schemas/LastModifiedByFieldCreateField", "created_on": "#/components/schemas/CreatedOnFieldCreateField", "created_by": "#/components/schemas/CreatedByFieldCreateField", "duration": "#/components/schemas/DurationFieldCreateField", "link_row": "#/components/schemas/LinkRowFieldCreateField", "file": "#/components/schemas/FileFieldCreateField", "single_select": "#/components/schemas/SingleSelectFieldCreateField", "multiple_select": "#/components/schemas/MultipleSelectFieldCreateField", "phone_number": "#/components/schemas/PhoneNumberFieldCreateField", "formula": "#/components/schemas/FormulaFieldCreateField", "count": "#/components/schemas/CountFieldCreateField", "rollup": "#/components/schemas/RollupFieldCreateField", "lookup": "#/components/schemas/LookupFieldCreateField", "multiple_collaborators": "#/components/schemas/MultipleCollaboratorsFieldCreateField", "uuid": "#/components/schemas/UUIDFieldCreateField", "autonumber": "#/components/schemas/AutonumberFieldCreateField", "password": "#/components/schemas/PasswordFieldCreateField", "form_view_edit_row": "#/components/schemas/FormViewEditRowFieldCreateField", "ai": "#/components/schemas/AIFieldCreateField" } } }, "FieldField": { "oneOf": [ { "$ref": "#/components/schemas/TextFieldField" }, { "$ref": "#/components/schemas/LongTextFieldField" }, { "$ref": "#/components/schemas/URLFieldField" }, { "$ref": "#/components/schemas/EmailFieldField" }, { "$ref": "#/components/schemas/NumberFieldField" }, { "$ref": "#/components/schemas/RatingFieldField" }, { "$ref": "#/components/schemas/BooleanFieldField" }, { "$ref": "#/components/schemas/DateFieldField" }, { "$ref": "#/components/schemas/LastModifiedFieldField" }, { "$ref": "#/components/schemas/LastModifiedByFieldField" }, { "$ref": "#/components/schemas/CreatedOnFieldField" }, { "$ref": "#/components/schemas/CreatedByFieldField" }, { "$ref": "#/components/schemas/DurationFieldField" }, { "$ref": "#/components/schemas/LinkRowFieldField" }, { "$ref": "#/components/schemas/FileFieldField" }, { "$ref": "#/components/schemas/SingleSelectFieldField" }, { "$ref": "#/components/schemas/MultipleSelectFieldField" }, { "$ref": "#/components/schemas/PhoneNumberFieldField" }, { "$ref": "#/components/schemas/FormulaFieldField" }, { "$ref": "#/components/schemas/CountFieldField" }, { "$ref": "#/components/schemas/RollupFieldField" }, { "$ref": "#/components/schemas/LookupFieldField" }, { "$ref": "#/components/schemas/MultipleCollaboratorsFieldField" }, { "$ref": "#/components/schemas/UUIDFieldField" }, { "$ref": "#/components/schemas/AutonumberFieldField" }, { "$ref": "#/components/schemas/PasswordFieldField" }, { "$ref": "#/components/schemas/FormViewEditRowFieldField" }, { "$ref": "#/components/schemas/AIFieldField" } ], "discriminator": { "propertyName": "type", "mapping": { "text": "#/components/schemas/TextFieldField", "long_text": "#/components/schemas/LongTextFieldField", "url": "#/components/schemas/URLFieldField", "email": "#/components/schemas/EmailFieldField", "number": "#/components/schemas/NumberFieldField", "rating": "#/components/schemas/RatingFieldField", "boolean": "#/components/schemas/BooleanFieldField", "date": "#/components/schemas/DateFieldField", "last_modified": "#/components/schemas/LastModifiedFieldField", "last_modified_by": "#/components/schemas/LastModifiedByFieldField", "created_on": "#/components/schemas/CreatedOnFieldField", "created_by": "#/components/schemas/CreatedByFieldField", "duration": "#/components/schemas/DurationFieldField", "link_row": "#/components/schemas/LinkRowFieldField", "file": "#/components/schemas/FileFieldField", "single_select": "#/components/schemas/SingleSelectFieldField", "multiple_select": "#/components/schemas/MultipleSelectFieldField", "phone_number": "#/components/schemas/PhoneNumberFieldField", "formula": "#/components/schemas/FormulaFieldField", "count": "#/components/schemas/CountFieldField", "rollup": "#/components/schemas/RollupFieldField", "lookup": "#/components/schemas/LookupFieldField", "multiple_collaborators": "#/components/schemas/MultipleCollaboratorsFieldField", "uuid": "#/components/schemas/UUIDFieldField", "autonumber": "#/components/schemas/AutonumberFieldField", "password": "#/components/schemas/PasswordFieldField", "form_view_edit_row": "#/components/schemas/FormViewEditRowFieldField", "ai": "#/components/schemas/AIFieldField" } } }, "FilterActionTypeEnum": { "enum": [ "create_group", "delete_group", "update_group", "order_groups", "create_application", "update_application", "delete_application", "order_applications", "duplicate_application", "install_template", "create_group_invitation", "delete_group_invitation", "accept_group_invitation", "reject_group_invitation", "update_group_invitation_permissions", "leave_group", "create_initial_workspace", "export_applications", "import_applications", "create_snapshot", "delete_snapshot", "restore_snapshot", "empty_trash", "restore_from_trash", "create_mcp_endpoint", "update_mcp_endpoint", "delete_mcp_endpoint", "create_user", "update_user", "schedule_user_deletion", "cancel_user_deletion", "sign_in_user", "change_user_password", "send_reset_user_password", "reset_user_password", "send_verify_email", "verify_email", "send_change_email_confirmation", "change_email", "create_db_token", "update_db_token_name", "update_db_token_permissions", "rotate_db_token_key", "delete_db_token_key", "create_webhook", "delete_webhook", "update_webhook", "export_table", "import_database_from_airtable", "create_table", "delete_table", "order_tables", "update_table", "duplicate_table", "create_row", "create_rows", "import_rows", "delete_row", "delete_rows", "move_row", "update_row", "update_rows", "create_view", "duplicate_view", "delete_view", "order_views", "update_view", "create_view_filter", "update_view_filter", "delete_view_filter", "create_view_sort", "update_view_sort", "delete_view_sort", "prioritize_view_sortings", "create_view_group", "update_view_group", "delete_view_group", "prioritize_view_group_bys", "submit_form", "edit_form_row", "rotate_view_slug", "update_view_field_options", "update_view_default_values", "create_decoration", "update_decoration", "delete_decoration", "create_view_filter_group", "update_view_filter_group", "delete_view_filter_group", "create_data_sync_table", "update_data_sync_table", "sync_data_sync_table", "create_field", "delete_field", "update_field", "duplicate_field", "change_primary_field", "create_field_rule", "update_field_rule", "delete_field_rule", "create_widget", "update_widget", "delete_widget", "update_dashboard_data_source", "create_automation_workflow", "update_automation_workflow", "delete_automation_workflow", "duplicate_automation_workflow", "order_automation_workflows", "create_automation_node", "update_automation_node", "delete_automation_node", "duplicate_automation_node", "replace_automation_node", "move_automation_node", "generate_formula_with_ai", "create_row_comment", "delete_row_comment", "update_row_comment", "rotate_calendar_ical_view_slug", "create_team", "update_team", "delete_team", "create_team_subject", "delete_team_subject", "batch_assign_role", "update_field_permissions", "update_periodic_data_sync_interval", "create_data_scan", "update_data_scan", "delete_data_scan" ], "type": "string", "description": "* `create_group` - create_group\n* `delete_group` - delete_group\n* `update_group` - update_group\n* `order_groups` - order_groups\n* `create_application` - create_application\n* `update_application` - update_application\n* `delete_application` - delete_application\n* `order_applications` - order_applications\n* `duplicate_application` - duplicate_application\n* `install_template` - install_template\n* `create_group_invitation` - create_group_invitation\n* `delete_group_invitation` - delete_group_invitation\n* `accept_group_invitation` - accept_group_invitation\n* `reject_group_invitation` - reject_group_invitation\n* `update_group_invitation_permissions` - update_group_invitation_permissions\n* `leave_group` - leave_group\n* `create_initial_workspace` - create_initial_workspace\n* `export_applications` - export_applications\n* `import_applications` - import_applications\n* `create_snapshot` - create_snapshot\n* `delete_snapshot` - delete_snapshot\n* `restore_snapshot` - restore_snapshot\n* `empty_trash` - empty_trash\n* `restore_from_trash` - restore_from_trash\n* `create_mcp_endpoint` - create_mcp_endpoint\n* `update_mcp_endpoint` - update_mcp_endpoint\n* `delete_mcp_endpoint` - delete_mcp_endpoint\n* `create_user` - create_user\n* `update_user` - update_user\n* `schedule_user_deletion` - schedule_user_deletion\n* `cancel_user_deletion` - cancel_user_deletion\n* `sign_in_user` - sign_in_user\n* `change_user_password` - change_user_password\n* `send_reset_user_password` - send_reset_user_password\n* `reset_user_password` - reset_user_password\n* `send_verify_email` - send_verify_email\n* `verify_email` - verify_email\n* `send_change_email_confirmation` - send_change_email_confirmation\n* `change_email` - change_email\n* `create_db_token` - create_db_token\n* `update_db_token_name` - update_db_token_name\n* `update_db_token_permissions` - update_db_token_permissions\n* `rotate_db_token_key` - rotate_db_token_key\n* `delete_db_token_key` - delete_db_token_key\n* `create_webhook` - create_webhook\n* `delete_webhook` - delete_webhook\n* `update_webhook` - update_webhook\n* `export_table` - export_table\n* `import_database_from_airtable` - import_database_from_airtable\n* `create_table` - create_table\n* `delete_table` - delete_table\n* `order_tables` - order_tables\n* `update_table` - update_table\n* `duplicate_table` - duplicate_table\n* `create_row` - create_row\n* `create_rows` - create_rows\n* `import_rows` - import_rows\n* `delete_row` - delete_row\n* `delete_rows` - delete_rows\n* `move_row` - move_row\n* `update_row` - update_row\n* `update_rows` - update_rows\n* `create_view` - create_view\n* `duplicate_view` - duplicate_view\n* `delete_view` - delete_view\n* `order_views` - order_views\n* `update_view` - update_view\n* `create_view_filter` - create_view_filter\n* `update_view_filter` - update_view_filter\n* `delete_view_filter` - delete_view_filter\n* `create_view_sort` - create_view_sort\n* `update_view_sort` - update_view_sort\n* `delete_view_sort` - delete_view_sort\n* `prioritize_view_sortings` - prioritize_view_sortings\n* `create_view_group` - create_view_group\n* `update_view_group` - update_view_group\n* `delete_view_group` - delete_view_group\n* `prioritize_view_group_bys` - prioritize_view_group_bys\n* `submit_form` - submit_form\n* `edit_form_row` - edit_form_row\n* `rotate_view_slug` - rotate_view_slug\n* `update_view_field_options` - update_view_field_options\n* `update_view_default_values` - update_view_default_values\n* `create_decoration` - create_decoration\n* `update_decoration` - update_decoration\n* `delete_decoration` - delete_decoration\n* `create_view_filter_group` - create_view_filter_group\n* `update_view_filter_group` - update_view_filter_group\n* `delete_view_filter_group` - delete_view_filter_group\n* `create_data_sync_table` - create_data_sync_table\n* `update_data_sync_table` - update_data_sync_table\n* `sync_data_sync_table` - sync_data_sync_table\n* `create_field` - create_field\n* `delete_field` - delete_field\n* `update_field` - update_field\n* `duplicate_field` - duplicate_field\n* `change_primary_field` - change_primary_field\n* `create_field_rule` - create_field_rule\n* `update_field_rule` - update_field_rule\n* `delete_field_rule` - delete_field_rule\n* `create_widget` - create_widget\n* `update_widget` - update_widget\n* `delete_widget` - delete_widget\n* `update_dashboard_data_source` - update_dashboard_data_source\n* `create_automation_workflow` - create_automation_workflow\n* `update_automation_workflow` - update_automation_workflow\n* `delete_automation_workflow` - delete_automation_workflow\n* `duplicate_automation_workflow` - duplicate_automation_workflow\n* `order_automation_workflows` - order_automation_workflows\n* `create_automation_node` - create_automation_node\n* `update_automation_node` - update_automation_node\n* `delete_automation_node` - delete_automation_node\n* `duplicate_automation_node` - duplicate_automation_node\n* `replace_automation_node` - replace_automation_node\n* `move_automation_node` - move_automation_node\n* `generate_formula_with_ai` - generate_formula_with_ai\n* `create_row_comment` - create_row_comment\n* `delete_row_comment` - delete_row_comment\n* `update_row_comment` - update_row_comment\n* `rotate_calendar_ical_view_slug` - rotate_calendar_ical_view_slug\n* `create_team` - create_team\n* `update_team` - update_team\n* `delete_team` - delete_team\n* `create_team_subject` - create_team_subject\n* `delete_team_subject` - delete_team_subject\n* `batch_assign_role` - batch_assign_role\n* `update_field_permissions` - update_field_permissions\n* `update_periodic_data_sync_interval` - update_periodic_data_sync_interval\n* `create_data_scan` - create_data_scan\n* `update_data_scan` - update_data_scan\n* `delete_data_scan` - delete_data_scan" }, "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" ] }, "RowCommentCreate": { "type": "object", "properties": { "message": { "description": "The rich text comment content." } }, "required": [ "message" ] }, "RowHeightSizeEnum": { "enum": [ "small", "medium", "large" ], "type": "string", "description": "* `small` - Small\n* `medium` - Medium\n* `large` - Large" }, "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.\n\n* `DO` - DO\n* `UNDO` - UNDO\n* `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" ] }, "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" ] }, "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" } } }, "SortOnEnum": { "enum": [ "SERIES", "GROUP_BY", "PRIMARY" ], "type": "string", "description": "* `SERIES` - Series\n* `GROUP_BY` - Group by\n* `PRIMARY` - Primary" }, "Table": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 255 }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Lowest first." }, "database_id": { "type": "integer", "readOnly": true }, "data_sync": { "$ref": "#/components/schemas/DataSync" } }, "required": [ "data_sync", "database_id", "id", "name", "order" ] }, "TableCreate": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255 }, "data": { "type": "array", "items": { "type": "array", "items": {} }, "description": "A list of rows that needs to be created as initial table data. Each row is a list of values that are going to be added in the new table in the same order as provided.\n\nEx: \n```json\n[\n [\"row1_field1_value\", \"row1_field2_value\"],\n [\"row2_field1_value\", \"row2_field2_value\"],\n]\n```\nfor creating a two rows table with two fields.\n\nIf not provided, some example data is going to be created.", "minItems": 1 }, "first_row_header": { "type": "boolean", "default": false, "description": "Indicates if the first provided row is the header. If true the field names are going to be the values of the first row. Otherwise they will be called \"Field N\"" }, "importer_type": { "type": "string", "default": "", "description": "The frontend importer identifier used to parse the file.", "maxLength": 32 }, "original_file_name": { "type": "string", "default": "", "description": "The original name of the uploaded file.", "maxLength": 255 } }, "required": [ "name" ] }, "TableElementElement": { "type": "object", "description": "Basic element serializer mostly for returned values.\n\n\ud83d\udc49 Mind to update the\nbaserow.contrib.builder.api.domains.serializer.PublicElementSerializer\nwhen you update this one.", "properties": { "id": { "type": "integer", "readOnly": true }, "page_id": { "type": "integer", "readOnly": true }, "type": { "type": "string", "readOnly": true, "description": "The type of the element." }, "order": { "type": "string", "format": "decimal", "pattern": "^-?\\d{0,20}(?:\\.\\d{0,20})?$", "readOnly": true, "description": "Lowest first." }, "parent_element_id": { "type": "integer", "nullable": true, "description": "The parent element, if inside a container.", "readOnly": true }, "place_in_container": { "type": "string", "nullable": true, "description": "The place in the container.", "maxLength": 255 }, "css_classes": { "type": "string", "description": "The additional CSS classes for this element.", "maxLength": 255 }, "visibility": { "$ref": "#/components/schemas/Visibility789Enum" }, "visibility_condition": { "type": "object", "additionalProperties": {}, "default": { "formula": "", "version": "0.1", "mode": "simple" }, "description": "Change element visibility depending on a formula value" }, "styles": { "$ref": "#/components/schemas/ButtonTableAndTypographyButtonConfigBlock" }, "style_border_top_color": { "type": "string", "description": "Top border color.", "maxLength": 255 }, "style_border_top_size": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Pixel height of the top border." }, "style_padding_top": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Padding size of the top border." }, "style_margin_top": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Margin size of the top border." }, "style_border_bottom_color": { "type": "string", "description": "Bottom border color", "maxLength": 255 }, "style_border_bottom_size": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Pixel height of the bottom border." }, "style_padding_bottom": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Padding size of the bottom border." }, "style_margin_bottom": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Margin size of the bottom border." }, "style_border_left_color": { "type": "string", "description": "Left border color", "maxLength": 255 }, "style_border_left_size": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Pixel height of the left border." }, "style_padding_left": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Padding size of the left border." }, "style_margin_left": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Margin size of the left border." }, "style_border_right_color": { "type": "string", "description": "Right border color", "maxLength": 255 }, "style_border_right_size": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Pixel height of the right border." }, "style_padding_right": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Padding size of the right border." }, "style_margin_right": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "Margin size of the right border." }, "style_background_radius": { "type": "integer", "maximum": 32767, "minimum": -32768, "description": "Background radius." }, "style_border_radius": { "type": "integer", "maximum": 32767, "minimum": -32768, "description": "Border radius." }, "style_background": { "allOf": [ { "$ref": "#/components/schemas/StyleBackgroundEnum" } ], "description": "What type of background the element should have.\n\n* `none` - None\n* `color` - Color\n* `image` - Image" }, "style_background_color": { "type": "string", "description": "The background color if `style_background` is color.", "maxLength": 255 }, "style_background_file": { "allOf": [ { "$ref": "#/components/schemas/UserFile" } ], "nullable": true, "description": "The background image file" }, "style_background_mode": { "allOf": [ { "$ref": "#/components/schemas/StyleBackgroundModeEnum" } ], "description": "The mode of the background image\n\n* `tile` - Tile\n* `fill` - Fill\n* `fit` - Fit" }, "style_width": { "allOf": [ { "$ref": "#/components/schemas/StyleWidthEnum" } ], "description": "Indicates the width of the root element.\n\n* `full` - Full\n* `full-width` - Full Width\n* `normal` - Normal\n* `medium` - Medium\n* `small` - Small" }, "style_width_child": { "allOf": [ { "$ref": "#/components/schemas/StyleWidthChildEnum" } ], "description": "Indicates the width of the child element.\n\n* `normal` - Normal\n* `medium` - Medium\n* `small` - Small" }, "role_type": { "$ref": "#/components/schemas/RoleTypeEnum" }, "roles": { "description": "User roles associated with this element, used in conjunction with role_type." }, "schema_property": { "type": "string", "nullable": true, "description": "A multiple valued schema property to use for the data source." }, "data_source_id": { "type": "integer", "nullable": true, "description": "The data source we want to show in the element for. Only data_sources that return list are allowed." }, "items_per_page": { "type": "integer", "minimum": 0, "default": 20, "description": "The amount item loaded with each page." }, "button_load_more_label": { "type": "object", "additionalProperties": {}, "default": { "formula": "", "version": "0.1", "mode": "simple" }, "description": "The label of the show more button" }, "property_options": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionElementPropertyOptions" }, "description": "The schema property options that can be set for the collection element." }, "is_publicly_sortable": { "type": "boolean", "readOnly": true, "default": true, "description": "Whether this collection element is publicly sortable." }, "is_publicly_filterable": { "type": "boolean", "readOnly": true, "default": true, "description": "Whether this collection element is publicly filterable." }, "is_publicly_searchable": { "type": "boolean", "readOnly": true, "default": true, "description": "Whether this collection element is publicly searchable." }, "fields": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionField" } }, "orientation": { "description": "The table orientation (horizontal or vertical) for each device type" } }, "required": [ "id", "is_publicly_filterable", "is_publicly_searchable", "is_publicly_sortable", "order", "page_id", "parent_element_id", "type" ] }, "TableImport": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "array", "items": {} }, "description": "A list of rows you want to add to the specified table. Each row is a list of values, one for each **writable** field. The field values must be ordered according to the field order in the table. All values must be compatible with the corresponding field type.\n\nEx: \n```json\n[\n [\"row1_field1_value\", \"row1_field2_value\"],\n [\"row2_field1_value\", \"row2_field2_value\"],\n]\n```\nfor adding two rows to a table with two writable fields.", "minItems": 1 }, "configuration": { "$ref": "#/components/schemas/TableImportConfiguration" }, "importer_type": { "type": "string", "default": "", "description": "The frontend importer identifier used to parse the file.", "maxLength": 32 }, "original_file_name": { "type": "string", "default": "", "description": "The original name of the uploaded file.", "maxLength": 255 } }, "required": [ "data" ] }, "TableWebhook": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "events": { "type": "object", "additionalProperties": {}, "readOnly": true, "description": "A list containing the events that will trigger this webhook." }, "event_config": { "type": "array", "items": { "$ref": "#/components/schemas/TableWebhookEventConfig" }, "readOnly": true, "description": "A list containing the addition event options." }, "headers": { "type": "object", "additionalProperties": {}, "readOnly": true, "description": "The additional headers as an object where the key is the name and the value the value." }, "calls": { "type": "array", "items": { "$ref": "#/components/schemas/TableWebhookCall" }, "description": "All the calls that this webhook made." }, "created_on": { "type": "string", "format": "date-time", "readOnly": true }, "updated_on": { "type": "string", "format": "date-time", "readOnly": true }, "use_user_field_names": { "type": "boolean", "description": "Indicates whether the field names must be used as payload key instead of the id." }, "url": { "type": "string", "description": "The URL that must be called when the webhook is triggered.", "maxLength": 2000 }, "request_method": { "allOf": [ { "$ref": "#/components/schemas/RequestMethodEnum" } ], "description": "The request method that be used when the event occurs.\n\n* `POST` - Post\n* `GET` - Get\n* `PUT` - Put\n* `PATCH` - Patch\n* `DELETE` - Delete" }, "name": { "type": "string", "description": "An internal name of the webhook.", "maxLength": 255 }, "include_all_events": { "type": "boolean", "description": "Indicates whether this webhook should listen to all events." }, "failed_triggers": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "description": "The amount of failed webhook calls." }, "active": { "type": "boolean", "description": "Indicates whether the web hook is active. When a webhook has failed multiple times, it will automatically be deactivated." } }, "required": [ "calls", "created_on", "event_config", "events", "headers", "id", "name", "updated_on", "url" ] }, "TableWebhookCall": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "event_id": { "type": "string", "format": "uuid", "readOnly": true, "description": "Event ID where the call originated from." }, "event_type": { "type": "string", "maxLength": 50 }, "called_time": { "type": "string", "format": "date-time", "nullable": true }, "called_url": { "type": "string", "maxLength": 2000 }, "request": { "type": "string", "readOnly": true, "description": "A text copy of the request headers and body." }, "response": { "type": "string", "readOnly": true, "description": "A text copy of the response headers and body." }, "response_status": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true, "description": "The HTTP response status code." }, "error": { "type": "string", "nullable": true, "description": "An internal error reflecting what went wrong." } }, "required": [ "called_url", "event_id", "event_type", "id", "request", "response" ] }, "Token": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "description": "The human readable name of the database token for the user.", "maxLength": 100 }, "workspace": { "type": "integer", "description": "Only the tables of the workspace can be accessed." }, "key": { "type": "string", "description": "The unique token key that can be used to authorize for the table row endpoints.", "maxLength": 32 }, "permissions": { "type": "object", "description": "Indicates per operation which permissions the database token has within the whole workspace. If the value of for example `create` is `true`, then the token can create rows in all tables related to the workspace. If a list is provided with for example `[[\"table\", 1]]` then the token only has create permissions for the table with id 1. Same goes for if a database references is provided. `[['database', 1]]` means create permissions for all tables in the database with id 1.\n\nExample:\n```json\n{\n \"create\": true// Allows creating rows in all tables.\n // Allows reading rows from database 1 and table 10.\n \"read\": [[\"database\", 1], [\"table\", 10]],\n \"update\": false // Denies updating rows in all tables.\n \"delete\": [] // Denies deleting rows in all tables.\n }\n```", "properties": { "create": { "anyOf": [ { "type": "boolean", "description": "Indicating if the database token has permissions to all tables.", "example": true }, { "type": "array", "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "anyOf": [ { "type": "string", "example": "database", "description": "First element should indicate the reference type `database` or `table`." }, { "type": "number", "example": 1, "description": "Second element should indicate the ID of the reference." } ] } } } ] }, "read": { "anyOf": [ { "type": "boolean", "description": "Indicating if the database token has permissions to all tables.", "example": true }, { "type": "array", "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "anyOf": [ { "type": "string", "example": "database", "description": "First element should indicate the reference type `database` or `table`." }, { "type": "number", "example": 1, "description": "Second element should indicate the ID of the reference." } ] } } } ] }, "update": { "anyOf": [ { "type": "boolean", "description": "Indicating if the database token has permissions to all tables.", "example": true }, { "type": "array", "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "anyOf": [ { "type": "string", "example": "database", "description": "First element should indicate the reference type `database` or `table`." }, { "type": "number", "example": 1, "description": "Second element should indicate the ID of the reference." } ] } } } ] }, "delete": { "anyOf": [ { "type": "boolean", "description": "Indicating if the database token has permissions to all tables.", "example": true }, { "type": "array", "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": { "anyOf": [ { "type": "string", "example": "database", "description": "First element should indicate the reference type `database` or `table`." }, { "type": "number", "example": 1, "description": "Second element should indicate the ID of the reference." } ] } } } ] } } } }, "required": [ "id", "key", "name", "permissions", "workspace" ] }, "TokenBlacklist": { "type": "object", "properties": { "refresh": { "type": "string", "writeOnly": true } }, "required": [ "refresh" ] }, "TokenCreate": { "type": "object", "properties": { "name": { "type": "string", "description": "The human readable name of the database token for the user.", "maxLength": 100 }, "workspace": { "type": "integer", "description": "Only the tables of the workspace can be accessed." } }, "required": [ "name", "workspace" ] }, "TokenObtainPair": { "type": "object", "properties": { "username": { "type": "string", "writeOnly": true }, "password": { "type": "string", "writeOnly": true }, "access": { "type": "string", "readOnly": true }, "refresh": { "type": "string", "readOnly": true } }, "required": [ "access", "password", "refresh", "username" ] }, "TokenVerifyWithUser": { "type": "object", "properties": { "token": { "type": "string", "description": "Deprecated. Use `refresh_token` instead.", "deprecated": true }, "refresh_token": { "type": "string" } }, "required": [ "refresh_token" ] }, "User": { "type": "object", "properties": { "username": { "type": "string", "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", "pattern": "^[\\w.@+-]+$", "maxLength": 150 } }, "required": [ "username" ] }, "UserAdminCreate": { "type": "object", "description": "Serializes a request body for creating a new user. Do not use for returning user\ndata as the password will be returned also.", "properties": { "username": { "type": "string", "format": "email" }, "name": { "type": "string", "maxLength": 150 }, "is_active": { "type": "boolean", "title": "Active", "description": "Designates whether this user should be treated as active. Set this to false instead of deleting accounts." }, "is_staff": { "type": "boolean", "title": "Staff status", "description": "Designates whether this user is an admin and has access to all workspaces and Baserow's admin areas. " }, "password": { "type": "string" } }, "required": [ "name", "password", "username" ] }, "UserAdminResponse": { "type": "object", "description": "Serializes the safe user attributes to expose for a response back to the user.", "properties": { "id": { "type": "integer", "readOnly": true }, "username": { "type": "string", "format": "email" }, "name": { "type": "string", "maxLength": 150 }, "workspaces": { "type": "array", "items": { "$ref": "#/components/schemas/UserAdminWorkspaces" } }, "last_login": { "type": "string", "format": "date-time", "nullable": true }, "date_joined": { "type": "string", "format": "date-time" }, "is_active": { "type": "boolean", "title": "Active", "description": "Designates whether this user should be treated as active. Set this to false instead of deleting accounts." }, "is_staff": { "type": "boolean", "title": "Staff status", "description": "Designates whether this user is an admin and has access to all workspaces and Baserow's admin areas. " } }, "required": [ "id", "name", "username", "workspaces" ] }, "UserFile": { "type": "object", "properties": { "size": { "type": "integer", "maximum": 9223372036854775807, "minimum": 0, "format": "int64" }, "mime_type": { "type": "string", "maxLength": 127 }, "is_image": { "type": "boolean" }, "image_width": { "type": "integer", "maximum": 2147483647, "minimum": 0, "nullable": true }, "image_height": { "type": "integer", "maximum": 2147483647, "minimum": 0, "nullable": true }, "uploaded_at": { "type": "string", "format": "date-time", "readOnly": true }, "url": { "type": "string", "format": "uri", "readOnly": true }, "thumbnails": { "type": "object", "additionalProperties": {}, "readOnly": true }, "name": { "type": "string", "readOnly": true }, "original_name": { "type": "string", "maxLength": 255 } }, "required": [ "name", "original_name", "size", "thumbnails", "uploaded_at", "url" ] }, "UserSourceUser": { "type": "object", "description": "A serializer used to serialize a UserSourceUser object.", "properties": { "id": { "type": "integer" }, "username": { "type": "string" }, "email": { "type": "string", "format": "email" }, "user_source_id": { "type": "integer" }, "role": { "type": "string" } }, "required": [ "email", "id", "role", "user_source_id", "username" ] }, "UsersPerUserSource": { "type": "object", "description": "The response of the list user source users endpoint.", "properties": { "users_per_user_sources": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/UserSourceUser" } }, "description": "An object keyed by the id of the user source and the value being the list of users for this user source." } }, "required": [ "users_per_user_sources" ] }, "View": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "table_id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 255 }, "order": { "type": "integer", "maximum": 2147483647, "minimum": 0 }, "type": { "type": "string", "readOnly": true }, "table": { "$ref": "#/components/schemas/TableWithoutDataSync" }, "filter_type": { "allOf": [ { "$ref": "#/components/schemas/ConditionTypeEnum" } ], "description": "Indicates whether all the rows should apply to all filters (AND) or to any filter (OR).\n\n* `AND` - And\n* `OR` - Or" }, "filters": { "type": "array", "items": { "$ref": "#/components/schemas/ViewFilter" } }, "filter_groups": { "type": "array", "items": { "$ref": "#/components/schemas/ViewFilterGroup" } }, "sortings": { "type": "array", "items": { "$ref": "#/components/schemas/ViewSort" } }, "group_bys": { "type": "array", "items": { "$ref": "#/components/schemas/ViewGroupBy" } }, "decorations": { "type": "array", "items": { "$ref": "#/components/schemas/ViewDecoration" } }, "default_row_values": { "type": "array", "items": { "$ref": "#/components/schemas/ViewDefaultValue" } }, "filters_disabled": { "type": "boolean", "description": "Allows users to see results unfiltered while still keeping the filters saved for the view." }, "public_view_has_password": { "type": "boolean", "description": "Indicates whether the public view is password protected or not.\n\n:return: True if the public view is password protected, False otherwise.", "readOnly": true }, "show_logo": { "type": "boolean" }, "allow_public_export": { "type": "boolean", "description": "Indicates whether it's allowed to export a publicly shared view." }, "ownership_type": { "type": "string" }, "owned_by_id": { "type": "integer" } }, "required": [ "id", "name", "order", "ownership_type", "public_view_has_password", "table", "table_id", "type" ] }, "ViewCreateView": { "oneOf": [ { "$ref": "#/components/schemas/GridViewCreateView" }, { "$ref": "#/components/schemas/GalleryViewCreateView" }, { "$ref": "#/components/schemas/FormViewCreateView" }, { "$ref": "#/components/schemas/KanbanViewCreateView" }, { "$ref": "#/components/schemas/CalendarViewCreateView" }, { "$ref": "#/components/schemas/TimelineViewCreateView" } ], "discriminator": { "propertyName": "type", "mapping": { "grid": "#/components/schemas/GridViewCreateView", "gallery": "#/components/schemas/GalleryViewCreateView", "form": "#/components/schemas/FormViewCreateView", "kanban": "#/components/schemas/KanbanViewCreateView", "calendar": "#/components/schemas/CalendarViewCreateView", "timeline": "#/components/schemas/TimelineViewCreateView" } } }, "ViewDecoration": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "view": { "type": "integer", "description": "The view to which the decoration applies. Each view can have his own decorations." }, "type": { "type": "string", "description": "The decorator type. This is then interpreted by the frontend to display the decoration.", "maxLength": 255 }, "value_provider_type": { "type": "string", "description": "The value provider type that gives the value to the decorator.", "maxLength": 255 }, "value_provider_conf": { "description": "The configuration consumed by the value provider." }, "order": { "type": "integer", "maximum": 32767, "minimum": -32768, "description": "The position of the decorator has within the view, lowest first. If there is another decorator with the same order value then the decorator with the lowest id must be shown first." } }, "required": [ "id" ] }, "ViewDefaultValue": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "field": { "type": "integer" }, "enabled": { "type": "boolean", "default": true, "description": "Whether this default value is active." }, "value": { "nullable": true, "description": "The raw default value in API request format." }, "field_type": { "type": "string", "readOnly": true, "nullable": true, "description": "The field type identifier at the time the value was stored. Used to detect incompatibility when the field type changes." }, "function": { "type": "string", "nullable": true, "description": "Optional function name (e.g. 'now') to resolve the default value dynamically at row creation time instead of using the stored value.", "maxLength": 64 } }, "required": [ "field", "field_type", "id" ] }, "ViewFieldOptions": { "anyOf": [ { "$ref": "#/components/schemas/grid_view_field_options" }, { "$ref": "#/components/schemas/gallery_view_field_options" }, { "$ref": "#/components/schemas/form_view_field_options" }, { "$ref": "#/components/schemas/kanban_view_field_options" }, { "$ref": "#/components/schemas/calendar_view_field_options" }, { "$ref": "#/components/schemas/timeline_view_field_options" } ] }, "ViewFilter": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "view": { "type": "integer", "description": "The view to which the filter applies. Each view can have his own filters." }, "field": { "type": "integer", "description": "The field of which the value must be compared to the filter value." }, "type": { "type": "string", "description": "Indicates how the field's value must be compared to the filter's value. The filter is always in this order `field` `type` `value` (example: `field_1` `contains` `Test`).", "maxLength": 48 }, "value": { "type": "string", "description": "The filter value that must be compared to the field's value." }, "preload_values": { "type": "object", "additionalProperties": {}, "readOnly": true, "description": "Can contain unique preloaded values per filter. This is for example used by the `link_row_has` filter to communicate the display name if a value is provided." }, "group": { "type": "integer", "nullable": true, "description": "The id of the filter group this filter belongs to. If this is null, the filter is not part of a filter group." } }, "required": [ "field", "id", "preload_values", "type", "view" ] }, "ViewFilterGroup": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "filter_type": { "allOf": [ { "$ref": "#/components/schemas/ConditionTypeEnum" } ], "description": "Indicates whether all the rows should apply to all filters (AND) or to any filter (OR) in the group to be shown.\n\n* `AND` - And\n* `OR` - Or" }, "view": { "type": "integer", "description": "The view to which the filter group applies to. Each view can have its own filter groups." }, "parent_group": { "type": "integer", "nullable": true } }, "required": [ "id", "view" ] }, "ViewGroupBy": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "view": { "type": "integer", "description": "The view to which the group by applies. Each view can have his own group bys." }, "field": { "type": "integer", "description": "The field that must be grouped by." }, "order": { "allOf": [ { "$ref": "#/components/schemas/OrderEnum" } ], "description": "Indicates the sort order direction. ASC (Ascending) is from A to Z and DESC (Descending) is from Z to A.\n\n* `ASC` - Ascending\n* `DESC` - Descending" }, "width": { "type": "integer", "maximum": 2147483647, "minimum": 0, "description": "The pixel width of the group by in the related view." }, "type": { "type": "string", "description": "Indicates the sort type. Will automatically fall back to `default` if incompatible with field type.", "maxLength": 32 }, "priority": { "type": "integer", "readOnly": true, "description": "Position of this group by in the ordering chain. The group by with the lowest priority is applied first." } }, "required": [ "field", "id", "priority", "view" ] }, "ViewSort": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "view": { "type": "integer", "description": "The view to which the sort applies. Each view can have his own sortings." }, "field": { "type": "integer", "description": "The field that must be sorted on." }, "order": { "allOf": [ { "$ref": "#/components/schemas/OrderEnum" } ], "description": "Indicates the sort order direction. ASC (Ascending) is from A to Z and DESC (Descending) is from Z to A.\n\n* `ASC` - Ascending\n* `DESC` - Descending" }, "type": { "type": "string", "description": "Indicates the sort type. Will automatically fall back to `default` if incompatible with field type.", "maxLength": 32 }, "priority": { "type": "integer", "readOnly": true, "description": "Position of this sorting in the ordering chain. The sorting with the lowest priority is applied first." } }, "required": [ "field", "id", "priority", "view" ] }, "ViewView": { "oneOf": [ { "$ref": "#/components/schemas/GridViewView" }, { "$ref": "#/components/schemas/GalleryViewView" }, { "$ref": "#/components/schemas/FormViewView" }, { "$ref": "#/components/schemas/KanbanViewView" }, { "$ref": "#/components/schemas/CalendarViewView" }, { "$ref": "#/components/schemas/TimelineViewView" } ], "discriminator": { "propertyName": "type", "mapping": { "grid": "#/components/schemas/GridViewView", "gallery": "#/components/schemas/GalleryViewView", "form": "#/components/schemas/FormViewView", "kanban": "#/components/schemas/KanbanViewView", "calendar": "#/components/schemas/CalendarViewView", "timeline": "#/components/schemas/TimelineViewView" } } }, "Workspace": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 165 }, "generative_ai_models_enabled": { "type": "string", "readOnly": true } }, "required": [ "generative_ai_models_enabled", "id", "name" ] }, "WorkspaceAdminUsers": { "type": "object", "properties": { "id": { "type": "integer" }, "email": { "type": "string" }, "permissions": { "type": "string", "description": "The permissions that the user has within the workspace.", "maxLength": 32 } }, "required": [ "email", "id" ] }, "WorkspaceInvitation": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "workspace": { "type": "integer", "description": "The workspace that the user will get access to once the invitation is accepted." }, "email": { "type": "string", "format": "email", "description": "The email address of the user that the invitation is meant for. Only a user with that email address can accept it.", "maxLength": 254 }, "permissions": { "type": "string", "description": "The permissions that the user is going to get within the workspace after accepting the invitation.", "maxLength": 32 }, "created_on": { "type": "string", "format": "date-time", "readOnly": true } }, "required": [ "created_on", "email", "id", "workspace" ] }, "WorkspaceSearchResponse": { "type": "object", "description": "Serializer for workspace search responses.", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/SearchResult" }, "description": "Priority-ordered search results" }, "has_more": { "type": "boolean", "description": "Whether there are more results available for pagination" } }, "required": [ "has_more", "results" ] }, "WorkspaceUser": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "readOnly": true, "description": "User defined name." }, "email": { "type": "string", "readOnly": true, "description": "User email." }, "workspace": { "type": "integer", "description": "The workspace that the user has access to." }, "permissions": { "type": "string", "description": "The permissions that the user has within the workspace.", "maxLength": 32 }, "created_on": { "type": "string", "format": "date-time", "readOnly": true }, "user_id": { "type": "integer", "description": "The user that has access to the workspace.", "readOnly": true }, "to_be_deleted": { "type": "boolean", "description": "True if user account is pending deletion." }, "two_factor_auth": { "type": "string", "readOnly": true } }, "required": [ "created_on", "email", "id", "name", "to_be_deleted", "two_factor_auth", "user_id", "workspace" ] }, "WorkspaceUserWorkspace": { "type": "object", "description": "This serializers includes relevant fields of the Workspace model, but also\nsome WorkspaceUser specific fields related to the workspace user relation.\n\nAdditionally, the list of users are included for each workspace.", "properties": { "id": { "type": "integer", "readOnly": true, "description": "Workspace id." }, "name": { "type": "string", "readOnly": true, "description": "Workspace name." }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspaceUser" }, "readOnly": true, "description": "List of all workspace users." }, "order": { "type": "integer", "readOnly": true, "description": "The requesting user's order within the workspace users." }, "permissions": { "type": "string", "readOnly": true, "description": "The requesting user's permissions for the workspace." }, "unread_notifications_count": { "type": "integer", "readOnly": true, "description": "The number of unread notifications for the requesting user." }, "generative_ai_models_enabled": { "type": "string", "readOnly": true, "description": "Generative AI models available in this workspace." } }, "required": [ "generative_ai_models_enabled", "id", "name", "order", "permissions", "unread_notifications_count", "users" ] }, "WorkspacesAdminResponse": { "type": "object", "properties": { "id": { "type": "integer", "readOnly": true }, "name": { "type": "string", "maxLength": 165 }, "users": { "type": "array", "items": { "$ref": "#/components/schemas/WorkspaceAdminUsers" } }, "application_count": { "type": "integer" }, "row_count": { "type": "integer", "readOnly": true }, "storage_usage": { "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "nullable": true }, "seats_taken": { "type": "integer" }, "free_users": { "type": "integer", "readOnly": true }, "created_on": { "type": "string", "format": "date-time", "readOnly": true } }, "required": [ "application_count", "created_on", "free_users", "id", "name", "row_count", "seats_taken", "users" ] } } }