{"openapi":"3.0.0","info":{"title":"Account Operations - User","description":"The official SeaTable API Reference (OpenAPI 3.0).","version":"6.1"},"servers":[{"url":"https://{server}","variables":{"server":{"default":"cloud.seatable.io"}}}],"x-readme":{"explorer-enabled":true,"metrics-enabled":false,"proxy-enabled":false},"tags":[{"name":"User","description":"Manage users"},{"name":"Bases","description":"Manage bases"},{"name":"Groups & Workspaces","description":"Manage groups and workspaces"},{"name":"Attachment","description":"Manage attachments"},{"name":"Import & Export","description":"Import and export data"},{"name":"Sharing","description":"Manage shares"},{"name":"Sharing Links","description":"Manage sharing links"},{"name":"Common Dataset","description":"Manage common datasets"},{"name":"Departments","description":"Manage departments"},{"name":"Forms","description":"Manage forms"},{"name":"Automations","description":"Manage automations"},{"name":"Maintenance","description":"Execute maintenance operations"},{"name":"Notifications","description":"Manage notifications"},{"name":"System Notifications","description":"Manage notifications"},{"name":"Email Accounts","description":"Manage email accounts"},{"name":"Webhooks","description":"Manage webhooks"},{"name":"Snapshots","description":"Manage base snapshots"},{"name":"Apps","description":"Manage apps"},{"name":"Activities & Logs","description":"Retrieve activities and logs"}],"components":{"securitySchemes":{"AccountTokenAuth":{"type":"http","scheme":"bearer","description":"This is the [Account-Token](/reference/authentication)."}},"parameters":{"workspace_id_query":{"name":"workspace_id_query","description":"id of your workspace.","in":"query","schema":{"type":"integer","minimum":1},"required":true,"example":127},"base_name_query":{"name":"base_name","description":"name of your base","in":"query","schema":{"type":"string"},"required":true,"example":"My Projects"},"table_id":{"name":"table_id","in":"query","schema":{"type":"string","pattern":"^[A-Za-z0-9]{4}$"},"description":"The id of the table. The id of a table is unique inside a base and is often used to identify a table. **Important: the table_id is not the table_name**.","example":"0000","required":true},"table_name":{"name":"table_name","description":"The name of the table.","in":"query","schema":{"type":"string"},"example":"Table1","required":true},"view_id":{"name":"view_id","in":"query","schema":{"type":"string","pattern":"^[A-Za-z0-9]{4}$"},"required":true,"description":"id of view, string","example":"Jz4d"},"view_name":{"name":"view_name","in":"query","schema":{"type":"string"},"required":true,"description":"name of view, required, string","example":"Default View"},"dtable_uuid_query":{"name":"dtable_uuid","in":"query","schema":{"type":"string","pattern":"^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"},"required":true,"description":"The unique identifier of a base. Sometimes also called dtable_uuid.","example":"5c264e76-0e5a-448a-9f34-580b551364ca"},"dtable_name_query":{"name":"dtable_name","description":"The name of the base to search for.","in":"query","schema":{"type":"string"},"required":true,"example":"Example"},"page":{"name":"page","description":"Page number of results to return. Default is 1.","in":"query","schema":{"type":"integer","minimum":1},"example":1},"per_page":{"name":"per_page","description":"Number of results per page.","in":"query","schema":{"type":"integer","minimum":1},"example":2},"tz":{"name":"to_tz","description":"Timezone offset for date/time conversion.","in":"query","schema":{"type":"string","pattern":"^+[0-9]{2}:[0-9]{2}$"},"example":"+08:00"},"detail":{"name":"detail","in":"query","schema":{"type":"boolean"},"description":"`true` or `false`, optional, `true` by default. When `false`, only the ID, name and type of each workspace is listed.","example":false},"parent_dir":{"name":"parent_dir","description":"The parent directory path.","in":"query","schema":{"type":"string"},"example":"/"},"path":{"name":"path","description":"The file path relative to the asset directory.","in":"query","schema":{"type":"string"},"example":"/files/2021-01/abc.jpg"},"months":{"name":"months","in":"query","schema":{"type":"integer","minimum":1,"maximum":12},"description":"Number of months to list file upload history. Optional. 2 by default.","example":"3"},"account_name":{"name":"account_name","description":"The name of the third-party email account.","in":"query","schema":{"type":"string"},"example":"Email Server2"},"task_id":{"name":"task_id","in":"query","schema":{"type":"integer"},"description":"The ID of the task, returned when you **Send An Email via 3rd Party Email Account**.","example":1616585864320},"base_password":{"name":"password","in":"query","schema":{"type":"string"},"description":"The password of your Base."},"by_group":{"name":"by_group","in":"query","schema":{"type":"boolean"},"description":"Whether return the list of datasets by groups when dtable_uuid is not given, default false, optional"},"op_date":{"name":"op_date","description":"Filter by operation date.","in":"query","schema":{"type":"string","pattern":"^((19|20)[0-9][0-9])[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[T]([01][1-9]|[2][0-3])[:]([0-5][0-9])[:]([0-5][0-9])([+|-]([01][0-9]|[2][0-3])[:]([0-5][0-9])){0,1}$"},"required":true,"example":"2023-05-25T10:06:39+08:00"},"query_str":{"name":"query_str","in":"query","schema":{"type":"string"},"example":"test","description":"Search string. Substrings are allowed and capitalization does not matter."},"query_type":{"name":"query_type","description":"Filter the search by type. Use `base` to search only bases or `app` to search only apps.","in":"query","schema":{"type":"string","enum":["","base","app"]}},"ignore_asset":{"name":"ignore_asset","in":"query","schema":{"type":"boolean"},"example":false,"description":"Set this to `true` to export the base without assets. Default is `false`."},"user_id":{"name":"user_id","description":"The unique user ID in the format `xxx@auth.local`.","in":"path","schema":{"type":"string","pattern":"^[a-f0-9]{32}(@auth.local)$"},"required":true,"example":"123456789f1e4c8d8e1c31415867317c@auth.local"},"workspace_id":{"name":"workspace_id","description":"id of your workspace.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":127},"base_name":{"name":"base_name","description":"name of your base.","in":"path","schema":{"type":"string"},"required":true,"example":"My Projects"},"base_uuid":{"name":"base_uuid","in":"path","schema":{"type":"string","pattern":"^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$"},"required":true,"description":"The unique identifier of a base. Sometimes also called dtable_uuid.","example":"5c264e76-0e5a-448a-9f34-580b551364ca"},"folder_id":{"name":"folder_id","description":"The ID of the folder.","in":"path","schema":{"type":"string"},"required":true},"commit_id":{"name":"commit_id","description":"The commit ID for a base snapshot.","in":"path","schema":{"type":"string","pattern":"^[a-f0-9]{40}$"},"required":true,"example":"7ee107a4eadb9561e8ce7699494939015f0d101b"},"external_link_token":{"name":"external_link_token","description":"The token of the external link.","in":"path","schema":{"type":"string"},"required":true,"example":"f84903f9aa454a2481f3"},"form_token":{"name":"form_token","description":"The token of the form.","in":"path","schema":{"type":"string","pattern":"^[0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$"},"required":true,"example":"12345678-d378-4c12-8d7a-6da0fb48ee83"},"collection_token":{"name":"collection_token","description":"The token of the collection table.","in":"path","schema":{"type":"string"},"required":true},"org_id":{"name":"org_id","in":"path","schema":{"type":"integer","minimum":1},"required":true,"description":"The ID of your team/organization. Numeric. Get it from \"Team admin > Info and Settings > Get Team Info\". Contact your team admin, if you are not the admin.","example":"1"},"sys_notification_id":{"name":"sys_notification_id","description":"The id of the notification.","in":"path","schema":{"type":"string"},"required":true,"example":"1"},"3rd_party_account_id":{"name":"3rd_party_account_id","description":"The ID of the third-party account.","in":"path","schema":{"type":"string"},"required":true,"example":"5"},"group_id":{"name":"group_id","description":"The ID of the group.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":1},"group_member":{"name":"group_member","description":"The unique user ID of the group member.","in":"path","schema":{"type":"string","pattern":"^[a-f0-9]{32}(@auth.local)$"},"required":true,"example":"12345678d3784c128d7a6da0fb48ee83@auth.local"},"webhook_id":{"name":"webhook_id","description":"The ID of the webhook.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":1},"notification_rule_id":{"name":"notification_rule_id","description":"The ID of the notification rule.","in":"path","schema":{"type":"string"},"required":true,"example":"1"},"common_dataset_id":{"name":"common_dataset_id","in":"path","schema":{"type":"integer","minimum":1},"required":true,"description":"The ID of the common dataset. Can be retrieved by calling [List Common Datasets A Base Can Access](/reference/listcommondataset-1).","example":7},"app_token":{"name":"app_token","description":"The token of the universal app.","in":"path","schema":{"type":"string","pattern":"^[0-9a-f]{8}-([a-f1-9]{4}-){3}[a-f0-9]{12}$"},"required":true,"example":"8254d58e-6a67-45ab-be37-87939d80e99f"},"group_view_share_id":{"name":"group_view_share_id","description":"The ID of the group view share.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":6},"user_view_share_id":{"name":"user_view_share_id","description":"The ID of the user view share.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":15},"view_external_link_token":{"name":"view_external_link_token","description":"The token of the view external link.","in":"path","schema":{"type":"string"},"required":true,"example":"f234baec8ce44028978a"},"invite_link_token":{"name":"invite_link_token","description":"The token of the invite link.","in":"path","schema":{"type":"string","pattern":"^[0-9a-f]{20}$"},"required":true,"example":"65432148a9074901923d"},"dataset_id":{"name":"dataset_id","in":"path","schema":{"type":"integer","minimum":1},"required":true,"description":"The ID of the common dataset. When you e.g. publish a common dataset from a view, the returned `id` is what you need here.","example":5},"department_id":{"name":"department_id","in":"path","schema":{"type":"integer","minimum":1},"required":true,"description":"ID of the department. Required.","example":10},"automation_rule_id":{"name":"automation_rule_id","description":"The ID of the automation rule.","in":"path","schema":{"type":"integer","minimum":1},"required":true,"example":20}},"schemas":{"Base":{"type":"object","properties":{"table":{"type":"object","properties":{"id":{"type":"integer"},"workspace_id":{"type":"integer"},"uuid":{"$ref":"#/components/schemas/dtable_uuid"},"name":{"$ref":"#/components/schemas/dtable_name"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"color":{"type":"string","nullable":true},"text_color":{"type":"string","nullable":true},"icon":{"type":"string","nullable":true},"is_encrypted":{"type":"boolean"},"in_storage":{"type":"boolean"}}}}},"user_account_name":{"type":"string","example":"Example"},"user_id":{"type":"string","example":"af57b7dda06b4928b255339d92294853@auth.local","required":["user_id"]},"role_id":{"type":"integer","example":21},"old_base_name":{"type":"string","description":"The old name of the base. Required.","example":"Example"},"new_base_name":{"type":"string","description":"The new name of the base. Optional.","example":"New Example"},"operation":{"type":"string","default":"password_unset"},"user_account_password":{"type":"string","example":"654321"},"is_sync_periodically":{"type":"boolean"},"dtable_uuid":{"type":"string","description":"The UUID of the base.","example":"650d8a0d-7e27-46a8-8b18-6cc6f3db2046","required":["dtable_uuid"]},"dst_dtable_uuid":{"type":"string","description":"The UUID of the destination base.","example":"650d8a0d-7e27-46a8-8b18-6cc6f3db2046"},"dst_table_id":{"type":"string","example":"pzoO"},"dtable_name":{"type":"string","description":"The name of the base.","example":"Example"},"share_type":{"type":"string","example":"shared_groups"},"view_name":{"type":"string","description":"The name of the view","example":"Default View"},"group_id":{"type":"string","description":"The ID of the group. ","example":"1"},"group_name":{"type":"string","description":"The name of the group.","example":"Sample Group"},"group_ids":{"type":"array","items":{"type":"integer","example":52}},"user_id_list":{"type":"array","items":{"type":"string","example":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local"}},"account_name":{"type":"string","example":"Email Server2"},"account_type":{"type":"string","example":"email"},"detail":{"type":"object","properties":{"email_host":{"type":"string","example":"smtp.example.com"},"email_port":{"type":"integer","example":587},"host_user":{"type":"string","example":"max@example.com"},"password":{"type":"string","example":"123456"}}},"run_condition":{"type":"string","example":"per_day"},"trigger":{"type":"object","properties":{"rule_name":{"type":"string","example":"Test heute"},"condition":{"type":"string","example":"rows_modified"},"table_id":{"type":"string","example":"0000"},"view_id":{"type":"string","example":"0000"}}},"action":{"type":"object","properties":{"type":{"type":"string","example":"notify"},"users":{"type":"array","items":{"type":"string","example":"b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7@auth.local"}}}},"is_admin":{"type":"string","enum":["","true","false"]},"is_inactive":{"type":"object","properties":{"is_inactive":{"type":"boolean"}},"required":["is_inactive"]},"records_meet_specific_conditions_after_modification":{"title":"Records meet specific conditions after modification","type":"object","properties":{"run_condition":{"type":"string","enum":["per_update"]},"trigger":{"$ref":"#/components/schemas/trigger_records_meet_specific_conditions_after_modification"},"actions":{"$ref":"#/components/schemas/action_records_meet_specific_conditions_after_modification"}}},"row_added":{"title":"Row added","type":"object","properties":{"run_condition":{"type":"string","enum":["per_update"]},"trigger":{"$ref":"#/components/schemas/trigger_row_added"},"actions":{"$ref":"#/components/schemas/action_row_added"}}},"run_periodically":{"title":"Run periodically","oneOf":[{"$ref":"#/components/schemas/trigger_run_periodically_per_day"},{"$ref":"#/components/schemas/trigger_run_periodically_per_week"},{"$ref":"#/components/schemas/trigger_run_periodically_per_month"}]},"run_periodically_on_records_meet_conditions":{"title":"Run periodically on records meet conditions","oneOf":[{"$ref":"#/components/schemas/trigger_run_periodically_on_records_meet_per_day"},{"$ref":"#/components/schemas/trigger_run_periodically_on_records_meet_per_week"},{"$ref":"#/components/schemas/trigger_run_periodically_on_records_meet_per_month"}]},"trigger_records_meet_specific_conditions_after_modification":{"title":"Trigger","type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_records_meet_specific_conditions_after_modification_condition"},"filters":{"$ref":"#/components/schemas/filters"},"filter_conjunction":{"type":"string"},"column_keys":{"type":"array","items":{"type":"string"}},"watch_all_columns":{"type":"boolean"}}},"trigger_row_added":{"title":"Trigger","type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_row_added_condition"},"filters":{"$ref":"#/components/schemas/filters"},"filter_conjunction":{"type":"string"},"column_keys":{"type":"array","items":{"type":"string"}},"watch_all_columns":{"type":"string","enum":[true]}}},"trigger_run_periodically_per_day":{"title":"per day","type":"object","properties":{"run_condition":{"type":"string","enum":["per_day"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_condition"},"date_column_name":{"type":"string"},"notify_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically"}}},"trigger_run_periodically_per_week":{"title":"per week","type":"object","properties":{"run_condition":{"type":"string","enum":["per_week"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_condition"},"date_column_name":{"type":"string"},"notify_week_day":{"type":"integer"},"notify_week_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically"}}},"trigger_run_periodically_per_month":{"title":"per month","type":"object","properties":{"run_condition":{"type":"string","enum":["per_month"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_condition"},"date_column_name":{"type":"string"},"notify_month_day":{"type":"integer"},"notify_month_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically"}}},"trigger_run_periodically_on_records_meet_per_day":{"title":"per day","type":"object","properties":{"run_condition":{"type":"string","enum":["per_day"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_by_condition"},"date_column_name":{"type":"string"},"filters":{"$ref":"#/components/schemas/filters"},"filter_conjunction":{"type":"string"},"notify_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically_on_records"}}},"trigger_run_periodically_on_records_meet_per_week":{"title":"per week","type":"object","properties":{"run_condition":{"type":"string","enum":["per_week"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_by_condition"},"date_column_name":{"type":"string"},"filters":{"$ref":"#/components/schemas/filters"},"filter_conjunction":{"type":"string"},"notify_week_day":{"type":"integer"},"notify_week_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically_on_records"}}},"trigger_run_periodically_on_records_meet_per_month":{"title":"per month","type":"object","properties":{"run_condition":{"type":"string","enum":["per_month"]},"trigger":{"type":"object","properties":{"rule_name":{"$ref":"#/components/schemas/rule_name"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"condition":{"$ref":"#/components/schemas/trigger_run_periodically_by_condition"},"date_column_name":{"type":"string"},"filters":{"$ref":"#/components/schemas/filters"},"filter_conjunction":{"type":"string"},"notify_month_day":{"type":"integer"},"notify_month_hour":{"type":"integer"}}},"actions":{"$ref":"#/components/schemas/action_run_periodically_on_records"}}},"rule_name":{"type":"string"},"trigger_records_meet_specific_conditions_after_modification_condition":{"type":"string","enum":["filters_satisfy"]},"trigger_row_added_condition":{"type":"string","enum":["rows_added"]},"trigger_run_periodically_condition":{"type":"string","enum":["run_periodically"]},"trigger_run_periodically_by_condition":{"type":"string","enum":["run_periodically_by_condition"]},"column_key":{"type":"string"},"filter_term_string":{"type":"string"},"filter_term_date":{"type":"string","pattern":"^[0-9]{4}-((0[1-9])|(1[0-2]))?-(([0-2][0-9])|(3[01]))?$"},"filter_term_integer":{"type":"integer"},"filter_term_array":{"type":"array","items":{"type":"string"}},"filter_term_empty":{"type":"string","enum":[""]},"contains":{"title":"Contains","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["contains"]},"filter_term":{"oneOf":[{"$ref":"#/components/schemas/filter_term_string"},{"$ref":"#/components/schemas/filter_term_array"}]}}},"does_not_contain":{"title":"Does not contain","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["does_not_contain"]},"filter_term":{"oneOf":[{"$ref":"#/components/schemas/filter_term_string"},{"$ref":"#/components/schemas/filter_term_array"}]}}},"is":{"title":"is","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"is_not":{"title":"is not","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"is_empty":{"title":"is empty","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_empty"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"}}},"is_not_empty":{"title":"is not empty","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_not_empty"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"}}},"is_current_user_ID":{"title":"Is current user id","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_current_user_ID"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"}}},"equal":{"title":"equal","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["equal"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"not_equal":{"title":"not equal","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["not_equal"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"less":{"title":"less","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["less"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"greater":{"title":"greater","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["greater"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"less_or_equal":{"title":"less or equal","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["less_or_equal"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"greater_or_equal":{"title":"greater or equal","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["greater_or_equal"]},"filter_term":{"$ref":"#/components/schemas/filter_term_string"}}},"has_any_of":{"title":"has any of","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["has_any_of"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"has_all_of":{"title":"has all of","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["has_all_of"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"has_none_of":{"title":"has none of","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["has_none_of"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"is_any_of":{"title":"is any of","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_any_of"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"is_none_of":{"title":"is none of","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_none_of"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"is_exactly":{"title":"is exactly","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_exactly"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"include_me":{"title":"include me","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["include_me"]},"filter_term":{"$ref":"#/components/schemas/filter_term_array"}}},"xxx_today":{"title":"... today","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["today"]}}},"xxx_tomorrow":{"title":"... tomorrow","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["tomorrow"]}}},"xxx_yesterday":{"title":"... yesterday","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["yesterday"]}}},"xxx_one_week_ago":{"title":"... one week ago","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["one_week_ago"]}}},"xxx_one_week_from_now":{"title":"... one week from now","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["one_week_from_now"]}}},"xxx_one_month_ago":{"title":"... one month ago","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["one_month_ago"]}}},"xxx_one_month_from_now":{"title":"... one month from now","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["one_month_from_now"]}}},"xxx_number_of_days_ago":{"title":"... number of days ago","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_integer"},"filter_term_modifier":{"type":"string","enum":["number_of_days_ago"]}}},"xxx_number_of_days_from_now":{"title":"... number of days from now","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_integer"},"filter_term_modifier":{"type":"string","enum":["number_of_days_from_now"]}}},"xxx_exact_date":{"title":"... exact date","description":"... stands for [\"is\", \"is_before\", \"is_after\", \"is_on_or_before\", \"is_on_or_after\", \"is_not\"]","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is","is_before","is_after","is_on_or_before","is_on_or_after","is_not"]},"filter_term":{"$ref":"#/components/schemas/filter_term_date"},"filter_term_modifier":{"type":"string","enum":["exact_date"]}}},"is_within_the_past_week":{"title":"is within the past week","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_past_week"]}}},"is_within_the_past_month":{"title":"is within the past month","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_past_month"]}}},"is_within_the_past_year":{"title":"is within the past year","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_past_year"]}}},"is_within_this_week":{"title":"is within this week","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["this_week"]}}},"is_within_this_month":{"title":"is within this month","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["this_month"]}}},"is_within_this_year":{"title":"is within this year","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["this_year"]}}},"is_within_the_next_week":{"title":"is within the next week","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_next_week"]}}},"is_within_the_next_month":{"title":"is within the next month","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_next_month"]}}},"is_within_the_next_year":{"title":"is within the next year","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_empty"},"filter_term_modifier":{"type":"string","enum":["the_next_year"]}}},"is_within_the_next_number_of_days":{"title":"is within the next number of days","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_integer"},"filter_term_modifier":{"type":"string","enum":["the_next_number_of_days"]}}},"is_within_the_past_number_of_days":{"title":"is within the past number of days","type":"object","properties":{"column_key":{"$ref":"#/components/schemas/column_key"},"filter_predicate":{"type":"string","enum":["is_within"]},"filter_term":{"$ref":"#/components/schemas/filter_term_integer"},"filter_term_modifier":{"type":"string","enum":["the_past_number_of_days"]}}},"filters":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/contains"},{"$ref":"#/components/schemas/does_not_contain"},{"$ref":"#/components/schemas/is"},{"$ref":"#/components/schemas/is_not"},{"$ref":"#/components/schemas/is_empty"},{"$ref":"#/components/schemas/is_not_empty"},{"$ref":"#/components/schemas/is_current_user_ID"},{"$ref":"#/components/schemas/equal"},{"$ref":"#/components/schemas/not_equal"},{"$ref":"#/components/schemas/less"},{"$ref":"#/components/schemas/greater"},{"$ref":"#/components/schemas/less_or_equal"},{"$ref":"#/components/schemas/greater_or_equal"},{"$ref":"#/components/schemas/has_any_of"},{"$ref":"#/components/schemas/has_all_of"},{"$ref":"#/components/schemas/has_none_of"},{"$ref":"#/components/schemas/is_any_of"},{"$ref":"#/components/schemas/is_none_of"},{"$ref":"#/components/schemas/is_exactly"},{"$ref":"#/components/schemas/include_me"},{"$ref":"#/components/schemas/xxx_today"},{"$ref":"#/components/schemas/xxx_tomorrow"},{"$ref":"#/components/schemas/xxx_yesterday"},{"$ref":"#/components/schemas/xxx_one_week_ago"},{"$ref":"#/components/schemas/xxx_one_week_from_now"},{"$ref":"#/components/schemas/xxx_one_month_ago"},{"$ref":"#/components/schemas/xxx_one_month_from_now"},{"$ref":"#/components/schemas/xxx_number_of_days_ago"},{"$ref":"#/components/schemas/xxx_number_of_days_from_now"},{"$ref":"#/components/schemas/xxx_exact_date"},{"$ref":"#/components/schemas/is_within_the_past_week"},{"$ref":"#/components/schemas/is_within_the_past_month"},{"$ref":"#/components/schemas/is_within_the_past_year"},{"$ref":"#/components/schemas/is_within_this_week"},{"$ref":"#/components/schemas/is_within_this_month"},{"$ref":"#/components/schemas/is_within_this_year"},{"$ref":"#/components/schemas/is_within_the_next_week"},{"$ref":"#/components/schemas/is_within_the_next_month"},{"$ref":"#/components/schemas/is_within_the_next_year"},{"$ref":"#/components/schemas/is_within_the_next_number_of_days"},{"$ref":"#/components/schemas/is_within_the_past_number_of_days"}]}},"action_records_meet_specific_conditions_after_modification":{"title":"Action","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/action_notify"},{"$ref":"#/components/schemas/action_send_email"},{"$ref":"#/components/schemas/action_add_record"},{"$ref":"#/components/schemas/action_lock_record"},{"$ref":"#/components/schemas/action_update_record"},{"$ref":"#/components/schemas/action_link_record"},{"$ref":"#/components/schemas/action_add_record_to_other_table"},{"$ref":"#/components/schemas/action_run_python_script"}]}},"action_row_added":{"title":"Action","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/action_notify"},{"$ref":"#/components/schemas/action_send_email"},{"$ref":"#/components/schemas/action_add_record"},{"$ref":"#/components/schemas/action_lock_record"},{"$ref":"#/components/schemas/action_update_record"},{"$ref":"#/components/schemas/action_link_record"},{"$ref":"#/components/schemas/action_add_record_to_other_table"},{"$ref":"#/components/schemas/action_run_python_script"}]}},"action_run_periodically":{"title":"Action","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/action_notify"},{"$ref":"#/components/schemas/action_send_email"},{"$ref":"#/components/schemas/action_add_record"},{"$ref":"#/components/schemas/action_link_record"},{"$ref":"#/components/schemas/action_run_python_script"},{"$ref":"#/components/schemas/action_calculate_accumulated_value"},{"$ref":"#/components/schemas/action_calculate_delta"},{"$ref":"#/components/schemas/action_calculate_percentage"},{"$ref":"#/components/schemas/action_calculate_rank"},{"$ref":"#/components/schemas/action_extract_user_name"},{"$ref":"#/components/schemas/action_lookup_and_copy"}]}},"action_run_periodically_on_records":{"title":"action","type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/action_notify"},{"$ref":"#/components/schemas/action_send_email"},{"$ref":"#/components/schemas/action_lock_record"}]}},"_id":{"type":"string","description":"It's an ID of the action.  If you have multiple actions in one rule, they should carry different IDs.  You can decide which ID an action should carry."},"action_notify":{"title":"Send notification","type":"object","properties":{"type":{"type":"string","enum":["notify"]},"users":{"type":"array","items":{"type":"string","description":"Is a list of user's IDs","pattern":"^[a-f0-9]{32}(@auth.local)$"}},"default_msg":{"type":"string","description":"Is the content of the message."},"_id":{"$ref":"#/components/schemas/_id"},"users_column_key":{"type":"string","description":"Is a list of keys of columns that are the types of collaborator, creator or modifier."}}},"action_send_email":{"title":"Send Email","type":"object","properties":{"type":{"type":"string","enum":["send_email"]},"default_msg":{"type":"string","description":"Is the content of the message."},"account_id":{"type":"integer","description":"Is the ID of the third party account you added in this base."},"subject":{"type":"string"},"send_to":{"type":"string","description":"is the receiver's email address. For multiple addresses see above."},"copy_to":{"type":"string","description":"is the CC receiver's email address. For multiple addresses see above."},"_id":{"$ref":"#/components/schemas/_id"}}},"action_add_record":{"title":"Add record","type":"object","properties":{"type":{"type":"string","enum":["add_record"]},"row":{"type":"object","description":"Is an object including the column key and desired content of each field that you would like to add in the new record.","additionalProperties":{"type":"string"}},"_id":{"$ref":"#/components/schemas/_id"}}},"action_lock_record":{"title":"Lock Record","type":"object","properties":{"type":{"type":"string","enum":["lock_record"]},"is_locked":{"type":"string","enum":[true]},"_id":{"$ref":"#/components/schemas/_id"}}},"action_update_record":{"title":"Update Record","type":"object","properties":{"type":{"type":"string","enum":["update_record"]},"updates":{"type":"object","description":"Is an object including the column key and desired content of each field that you would like to modify.","additionalProperties":{"type":"string"}},"_id":{"$ref":"#/components/schemas/_id"}}},"action_link_record":{"title":"Link Records","type":"object","properties":{"type":{"type":"string","enum":["link_records"]},"_id":{"$ref":"#/components/schemas/_id"},"link_id":{"type":"string"},"linked_table_id":{"type":"string"},"match_conditions":{"type":"array","items":{"type":"object","properties":{"column_key":{"type":"string"},"other_column_key":{"type":"string"}}}}}},"add_record_to_other_table_row_text":{"title":"Text","type":"object","additionalProperties":{"type":"string"}},"add_record_to_other_table_row_percentage":{"title":"Percentage","type":"object","additionalProperties":{"type":"integer"}},"add_record_to_other_table_row_collaborator":{"title":"Collaborator","type":"object","additionalProperties":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{32}(@auth.local)$"}}},"specific_date":{"title":"Specific Date","type":"object","additionalProperties":{"type":"object","properties":{"set_type":{"type":"string","enum":["specific_value"]},"value":{"type":"string"}}}},"the_day_running_the_task":{"title":"The day running the task","type":"object","additionalProperties":{"type":"object","properties":{"set_type":{"type":"string","enum":["relative_day"]},"offset":{"type":"integer","enum":[0]},"offset_by":{"type":"string","enum":["day"]}}}},"x_days_before_running_the_task":{"title":"X Days before running the task","type":"object","additionalProperties":{"type":"object","properties":{"set_type":{"type":"string","enum":["relative_day"]},"offset":{"type":"integer"},"offset_by":{"type":"string","enum":["day"]}}}},"x_days_after_running_the_task":{"title":"X Days after running the task","type":"object","additionalProperties":{"type":"object","properties":{"set_type":{"type":"string","enum":["relative_day"]},"offset":{"type":"integer"},"offset_by":{"type":"string","enum":["day"]}}}},"choose_a_date_column":{"title":"Choose a date column","type":"object","additionalProperties":{"type":"object","properties":{"set_type":{"type":"string","enum":["date_column"]},"date_column_key":{"type":"string"}}}},"add_record_to_other_table_row_date":{"title":"Date","oneOf":[{"$ref":"#/components/schemas/specific_date"},{"$ref":"#/components/schemas/the_day_running_the_task"},{"$ref":"#/components/schemas/x_days_before_running_the_task"},{"$ref":"#/components/schemas/x_days_after_running_the_task"},{"$ref":"#/components/schemas/choose_a_date_column"}]},"add_record_to_other_table_row_date-time":{"title":"Date-Time","oneOf":[{"$ref":"#/components/schemas/specific_date"},{"$ref":"#/components/schemas/the_day_running_the_task"},{"$ref":"#/components/schemas/x_days_before_running_the_task"},{"$ref":"#/components/schemas/x_days_after_running_the_task"},{"$ref":"#/components/schemas/choose_a_date_column"}]},"add_record_to_other_table_row_duration":{"title":"Duration","type":"object","additionalProperties":{"type":"integer"}},"add_record_to_other_table_row_single-select":{"title":"Single select","type":"object","additionalProperties":{"type":"string"}},"add_record_to_other_table_row_multiple":{"title":"Multiple","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"add_record_to_other_table_row_email":{"title":"Email","type":"object","additionalProperties":{"type":"string"}},"add_record_to_other_table_row_url":{"title":"URL","type":"object","additionalProperties":{"type":"string"}},"add_record_to_other_table_row_checkbox":{"title":"Checkbox","type":"object","additionalProperties":{"type":"boolean"}},"add_record_to_other_table_row_rating":{"title":"Rating","type":"object","additionalProperties":{"type":"integer"}},"action_add_record_to_other_table":{"title":"Add Record to other table","type":"object","properties":{"type":{"type":"string","enum":["add_record_to_other_table"]},"_id":{"$ref":"#/components/schemas/_id"},"dst_table_id":{"type":"string"},"row":{"oneOf":[{"$ref":"#/components/schemas/add_record_to_other_table_row_text"},{"$ref":"#/components/schemas/add_record_to_other_table_row_percentage"},{"$ref":"#/components/schemas/add_record_to_other_table_row_collaborator"},{"$ref":"#/components/schemas/add_record_to_other_table_row_date"},{"$ref":"#/components/schemas/add_record_to_other_table_row_date-time"},{"$ref":"#/components/schemas/add_record_to_other_table_row_duration"},{"$ref":"#/components/schemas/add_record_to_other_table_row_single-select"},{"$ref":"#/components/schemas/add_record_to_other_table_row_multiple"},{"$ref":"#/components/schemas/add_record_to_other_table_row_email"},{"$ref":"#/components/schemas/add_record_to_other_table_row_url"},{"$ref":"#/components/schemas/add_record_to_other_table_row_checkbox"},{"$ref":"#/components/schemas/add_record_to_other_table_row_rating"}]}}},"action_calculate_accumulated_value":{"title":"Calculate accumulated value","type":"object","properties":{"type":{"type":"string","enum":["calculate_accumulated_value"]},"_id":{"$ref":"#/components/schemas/_id"},"result_column":{"type":"string"},"calculate_column":{"type":"string"}}},"action_calculate_delta":{"title":"Calculate delta","type":"object","properties":{"type":{"type":"string","enum":["calculate_delta"]},"_id":{"$ref":"#/components/schemas/_id"},"result_column":{"type":"string"},"calculate_column":{"type":"string"}}},"action_calculate_percentage":{"title":"Calculate percentage","type":"object","properties":{"type":{"type":"string","enum":["calculate_percentage"]},"_id":{"$ref":"#/components/schemas/_id"},"result_column":{"type":"string"},"calculate_column":{"type":"string"}}},"action_calculate_rank":{"title":"Calculate rank","type":"object","properties":{"type":{"type":"string","enum":["calculate_rank"]},"_id":{"$ref":"#/components/schemas/_id"},"result_column":{"type":"string"},"calculate_column":{"type":"string"}}},"action_extract_user_name":{"title":"Extract user name","type":"object","properties":{"type":{"type":"string","enum":["extract_user_name"]},"_id":{"type":"string"},"extract_column_key":{"type":"string"},"result_column_key":{"type":"string"}}},"action_lookup_and_copy":{"title":"Lookup and copy","type":"object","properties":{"type":{"type":"string","enum":["lookup_and_copy"]},"_id":{"$ref":"#/components/schemas/_id"},"table_condition":{"type":"object","properties":{"from_table_id":{"type":"string"},"copy_to_table_id":{"type":"string"}}},"equal_column_conditions":{"type":"array","items":{"type":"object","properties":{"from_column_key":{"type":"string"},"copy_to_column_key":{"type":"string"}}}},"fill_column_conditions":{"type":"array","items":{"type":"object","properties":{"from_column_key":{"type":"string"},"copy_to_column_key":{"type":"string"}}}}}},"action_run_python_script":{"title":"Run python Script","type":"object","properties":{"type":{"type":"string","enum":["run_python_script"]},"script_name":{"type":"string"},"_id":{"$ref":"#/components/schemas/_id"},"workspace_id":{"type":"integer"},"owner":{"type":"string"},"org_id":{"type":"integer"},"repo_id":{"type":"string"}}},"new_contact_email":{"type":"string","description":"The new email address of the user.","example":"teamplayer@example.com"},"avatar":{"type":"string","description":"Upload an image file. Authorized extensions are : .jpg, .png, .jpeg, .gif. Accepted max. size is 1.0 MB.","format":"binary"},"Avatar_size":{"type":"string"},"workspace_id":{"type":"string","description":"The workspace ID where your base is.","example":"1"},"icon":{"type":"string","description":"The icon of the base. Optional. Refer to [\"Create A Base\"](/reference/createbase) for the list of available icons.","example":"icon-worksheet"},"color":{"type":"string","description":"The icon color of the base. Optional. Refer to [\"Create A Base\"](/reference/createbase) for the list of available icon colors.","example":"#E91E63"},"folder_name":{"type":"string","description":"Name of your folder. If the name already exists in the workspace, the system will add a \"(1)\" to it.","example":"Test Folder"},"item_type":{"type":"string","description":"Required.","example":"dtable"},"item_id":{"type":"string","description":"When moving a base, use its `UUID`. Required.","example":"650d8a0d-7e27-46a8-8b18-6cc6f3db2046"},"from":{"type":"string","description":"From which folder are you moving the base out of? If from the root, use '/'. Otherwise use a `folder_id`. Required.","example":"/"},"to":{"type":"string","description":"The ID of the target folder. Required.","example":"folder_id"},"src_workspace_id":{"type":"integer","description":"Source workspace's ID.","example":1},"base_name":{"type":"string","description":"Name of the base.","example":"Projects"},"dst_workspace_id":{"type":"integer","description":"Destination workspace's ID.","example":80},"is_copy_dataset_syncs":{"type":"boolean","description":"Select whether common datasets should be synchronous too. False by default.","example":false},"link":{"type":"string","description":"Source external link.","example":"https://cloud.seatable.io/dtable/external-links/1234567b65c048bfa4b8/"},"path":{"type":"string","example":"2018-05-15.csv"},"new_name_csv":{"type":"string","example":"completed.csv"},"dtable":{"type":"string","format":"binary"},"folder":{"type":"string","description":"If you would like to create the base into a folder, give its `folder_id` here. A base is created in the root folder by default. Optional.","example":"folder_id"},"file":{"type":"string","format":"binary"},"table_name":{"type":"string","description":"The name of the table.","example":"Table1"},"selected_columns":{"type":"string","description":"A list of column names used to determine which rows in the table should be updated or added as new. Separate multiple column names with commas (,).","example":"Field1"},"permission":{"type":"string","description":"`r` for read only or `rw` for read and write","example":"rw"},"user_account_email":{"type":"string","description":"The user ID ending with @auth.local","example":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local"},"table_id":{"type":"string","example":"0000"},"view_id":{"type":"string","example":"0000"},"expire_days":{"type":"integer","description":"Add expiration period in days. Optional.","example":30},"token":{"type":"string","description":"An optional custom token of the generated link. For example, it'll appear as \"https<span>://cloud.seatable.io/dtable/view-external-links/custom/example/\". If not given, SeaTable will give a random token to the link.","example":"my-custom-link"},"dataset_name":{"type":"string","description":"The name of the common dataset.","example":"Test Dataset"},"form_config":{"type":"string","description":"Define the form's name (required) and other details (optional). For a full list of available options, refer to the instruction above.","example":"{\"form_name\":\"Example\"}"},"form_logo":{"type":"string","description":"Path and file name to your logo image.","format":"binary"},"url":{"type":"string","description":"The URL of the webhook. It should start with `http(s)`. Required.","example":"https://www.google.com"},"secret":{"type":"integer","description":"When you set a secret, you'll receive the X-SeaTable-Signature header, whose value is the result of SHA1 encryption of the secret key, in the webhook POST request. Optional.","example":"123456"},"snapshot_name":{"type":"string","description":"The name of the restored base. Optional. If left blank, a default name will be given.","example":"Example version last Wednesday"},"users_info":{"type":"object","properties":{"email":{"$ref":"#/components/schemas/user_id"},"role_id":{"$ref":"#/components/schemas/role_id"}}},"add_password":{"title":"Add Password","type":"object","properties":{"name":{"type":"string","description":"Name of the Base"},"operation":{"type":"string","enum":["password_add"]},"password":{"type":"string"}}},"modify_password":{"title":"Modify Password","type":"object","properties":{"name":{"type":"string","description":"Name of the Base"},"operation":{"type":"string","enum":["password_modify"]},"password":{"type":"string"},"new_password":{"type":"string"}}},"unset_password":{"title":"Unset Password","type":"object","properties":{"name":{"type":"string","description":"Name of the Base"},"operation":{"type":"string","enum":["password_unset"]},"password":{"type":"string"}}}}},"paths":{"/api2/account/info/":{"get":{"tags":["User"],"summary":"Get Account Info","operationId":"getAccountInfo","description":"Get the detailed account information with the user's Account Token.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"org_id":{"type":"integer"},"is_org_staff":{"type":"integer"},"space_usage":{"type":"string"},"total":{"type":"integer"},"usage":{"type":"integer"},"row_usage_rate":{"type":"string"},"row_total":{"type":"integer"},"row_usage":{"type":"integer"},"avatar_url":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"login_id":{"type":"string"},"contact_email":{"type":"string"},"institution":{"type":"string"},"is_staff":{"type":"boolean"},"enable_chargebee":{"type":"boolean"},"enable_subscription":{"type":"boolean"},"dtable_updates_email_interval":{"type":"integer"},"dtable_collaborate_email_interval":{"type":"integer"}}},"example":{"org_id":4,"is_org_staff":0,"space_usage":"0.121974751%","total":100000000000,"usage":121974751,"row_usage_rate":"0%","row_total":-1,"row_usage":88,"avatar_url":"https://cloud.seatable.io/media/avatars/default.png","email":"7f0e63a949b946a3b200555db5de1d23@auth.local","name":"Robert Teamplayer","login_id":"","contact_email":"teamplayer@example.com","institution":"","is_staff":false,"enable_chargebee":true,"enable_subscription":false,"dtable_updates_email_interval":0,"dtable_collaborate_email_interval":0}}}},"401":{"description":"Unauthorized — invalid token","content":{"application/json":{"schema":{"type":"object"},"example":{"detail":"Invalid token"}}}},"403":{"description":"Forbidden — no token provided","content":{"application/json":{"schema":{"type":"object"},"example":{"detail":"Authentication credentials were not provided."}}}}}}},"/api/v2.1/user/contact-email/":{"put":{"tags":["User"],"summary":"Update Email Address","operationId":"updateEmailAddress","description":"Update the user's email address. This feature is disabled on cloud.seatable.io. If you would like to change your email address in a self-hosted instance, contact your system administrator to check if this feature is activated.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"new_contact_email":{"$ref":"#/components/schemas/new_contact_email"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"msg":"email has been sent, please check it in your current email."}}}}}}},"/api/v2.1/user-avatar/":{"post":{"tags":["User"],"summary":"Upload/Update User Avatar","operationId":"addUserAvatar","description":"Upload an image to make it your current avatar. After successful uploading/updating your avatar, the file will be renamed and converted to .png. The URL of your new avatar is returned in the response.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"avatar":{"$ref":"#/components/schemas/avatar"},"Avatar_size":{"$ref":"#/components/schemas/Avatar_size"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"avatar_url":"https://cloud.seatable.io/image-view/avatars/1/a/654321404b0a80efc96ab3176f0360/resized/64/876543215162b49772448295abcff709.png"}}}}}}},"/api/v2.1/user-common-info/{user_id}/":{"get":{"tags":["User"],"summary":"Get Public User Info","operationId":"getPublicUserInfo","description":"Get the common info from a user by his email address.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/user_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"},"avatar_url":{"type":"string"},"contact_email":{"type":"string"}}},"example":{"email":"123456786569491ba42905bf1647fd3f@auth.local","name":"Jasmin Tee","avatar_url":"https://cloud.seatable.io/media/avatars/default.png","contact_email":"jasmin@example.com"}}}}}}},"/api/v2.1/user-list/":{"post":{"tags":["User"],"summary":"List Public User Infos","operationId":"listPublicUserInfos","description":"List the details of other users identified by their email addresses.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"user_id_list":{"$ref":"#/components/schemas/user_id_list"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"user_list":[{"email":"244b430060f54bb4afa2c2cb7369d244@auth.local","name":"Ginger Ale","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"},{"email":"8cb2a6da65687600f42905bf1647fd3f@auth.local","name":"Jasmin Tee","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"}]}}}}}}},"/api2/search-user/":{"get":{"tags":["User"],"summary":"Search User","operationId":"searchUser","description":"Just search for a user with the string or substring in the `q` param. You can search by\n`email` (case sensitive),\n`name` (case insensitive) or\n`contact_email` (case insensitive). \nSubstrings are allowed.\n","security":[{"AccountTokenAuth":[]}],"parameters":[{"name":"q","in":"query","description":"Search query string. Matches against email, name, or contact email.","schema":{"type":"string"},"example":"Micha"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"users":[{"email":"1a8d6725c4ae40c688b40028fd62c73f@auth.local","avatar_url":"https://cloud.seatable.io/media/avatars/a/3/13841b0ea84f7a8c4f5e9363f4d972/resized/32/6c32b8f494d5266ca7f64727b046c8b7.png","name":"Michael","contact_email":"michael@example.com"}]}}}}}}},"/api/v2.1/user-admin-dtables/":{"get":{"tags":["Bases"],"summary":"List Bases","operationId":"listBases","description":"List all the bases that the current user can administer. These include: - All the bases in the user's personal workspace; - All the bases in the groups where the current user is an owner or an admin. Each base's details are included in an object in the returned `dtables` array.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"personal":[{"id":562,"workspace_id":204,"uuid":"12345678-fd55-48e4-8c4a-5fd6f2549765","name":"All types","creator":"Michael Jackson","modifier":"Michael Jackson","created_at":"2021-06-21T14:52:11+00:00","updated_at":"2021-10-18T08:47:02+00:00","color":null,"text_color":null,"icon":null},{"id":686,"workspace_id":204,"uuid":"abcdefgh-8b35-4f7a-a413-9c780ffe6a48","name":"API Management","creator":"Michael Jackson","modifier":"Michael Jackson","created_at":"2021-10-22T08:57:44+00:00","updated_at":"2021-10-22T08:57:44+00:00","color":null,"text_color":null,"icon":null}],"groups":[{"group_id":51,"group_name":"Teachers","dtables":[{"id":466,"workspace_id":209,"uuid":"87654321-30d9-48a2-a5d7-09cd8ffdda4b","name":"CRM & Sales","creator":"Ginger Ale","modifier":"Ginger Ale","created_at":"2021-03-08T13:04:50+00:00","updated_at":"2021-03-08T13:04:50+00:00","color":null,"text_color":null,"icon":null}]},{"group_id":87,"group_name":"Students","dtables":[{"id":630,"workspace_id":268,"uuid":"hhggffdd-4c92-4c40-9f95-eee146721b23","name":"All types","creator":"Michael Jackson","modifier":"Michael Jackson","created_at":"2021-08-26T14:10:37+00:00","updated_at":"2021-08-26T14:10:37+00:00","color":null,"text_color":null,"icon":null}]}]}}}}}}},"/api/v2.1/dtable/items-search/":{"get":{"tags":["Bases"],"summary":"Search Base or Apps","operationId":"searchBaseOrApps","description":"Search the base or apps of a user. Capitalization is irrelevant for the search and substrings are also allowed.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/query_str"},{"$ref":"#/components/parameters/query_type"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"results":[{"id":514,"workspace_id":3,"uuid":"f5a8bbe1-2a2e-44a4-b993-4b599fd5e837","name":"API-Testing","created_at":"2023-04-03T08:45:59+02:00","updated_at":"2023-10-24T16:53:44+02:00","color":null,"text_color":null,"icon":null,"is_encrypted":false,"in_storage":true,"group_name":"personal","type":"personal","starred":false}]}}}}}}},"/api/v2.1/dtables/":{"post":{"tags":["Bases"],"summary":"Create Base","operationId":"createBase","description":"Create a new base.  \nWhen you create a new base with this API request or on the web UI, SeaTable automatically adds the following content into the new base:\n\n- A new table \"Table1\" (with the `table_id` of `0000`), and\n- A \"Default View\" (with the `view_id` of `0000`), and\n- A new text column \"Name\" (with the column's `key` of `0000`);\n- Three empty rows (The row's IDs are randomly generated. Use the call [List Rows](/reference/listrows) to see their IDs).\n    \n\nOptionally, you can select icons and colors from the following list to customize your base's icon in the web UI:\n\n**SeaTable base icon list**\n\n```\nDTABLE_ICON_LIST = [\n  'icon-worksheet',\n  'icon-task-management',\n  'icon-software-test-management',\n  'icon-design-assignment',\n  'icon-video-production',\n  'icon-market-analysis',\n  'icon-data-analysis',\n  'icon-product-knowledge-base',\n  'icon-asset-management',\n  'icon-financial-information-record',\n  'icon-dollar',\n  'icon-company-inventory',\n  'icon-customer-inquiry',\n  'icon-customer-list',\n  'icon-product-list',\n  'icon-store-address',\n  'icon-leave-record',\n  'icon-administrative-matters-calendar',\n  'icon-customer-relationship',\n  'icon-teachers-list',\n  'icon-book-library',\n  'icon-server-management',\n  'icon-time-management',\n  'icon-work-log',\n  'icon-online-promotion',\n  'icon-research',\n  'icon-user-interview',\n  'icon-client-review',\n  'icon-club-members',\n]\n\n```\n\n**SeaTable base icon color list**\n\n```\nDTABLE_ICON_COLORS = [\n  '#FF8000',\n  '#FFB600',\n  '#E91E63',\n  '#EB00B1',\n  '#7626FD',\n  '#972CB0',\n  '#1DDD1D',\n  '#4CAF50',\n  '#02C0FF',\n  '#00C9C7',\n  '#1688FC',\n  '#656463'\n]\n\n```\n\nYou can create a base in your personal workspace (\"My bases\"), or in a group you have write permission to. Just specify the optional `workspace_id` parameter in the request.\n\nThe returned `id` value is the ID of your base, this numeric ID is to be distinguished from the base's UUID.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/user_account_name"},"workspace_id":{"$ref":"#/components/schemas/workspace_id"},"icon":{"$ref":"#/components/schemas/icon"},"color":{"$ref":"#/components/schemas/color"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Base"},"example":{"table":{"id":500,"workspace_id":1,"uuid":"12345678-d6d6-4627-8aa7-ba8689bccb07","name":"Example 2","created_at":"2021-03-16T10:34:41+00:00","updated_at":"2021-03-16T10:34:41+00:00","color":"#E91E63","text_color":null,"icon":"icon-market-analysis","is_encrypted":false,"in_storage":true}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/":{"put":{"tags":["Bases"],"summary":"Update Base","operationId":"updateBase","description":"Update a base's name, icon, and icon color.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/old_base_name"},"new_name":{"$ref":"#/components/schemas/new_base_name"},"icon":{"$ref":"#/components/schemas/icon"},"color":{"$ref":"#/components/schemas/color"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"table":{"id":90,"workspace_id":504,"uuid":"12345678-c394-4d90-a2c0-cab4c1ea5d29","name":"New Example","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-15T13:20:13+00:00","updated_at":"2021-03-15T13:21:56+00:00","color":null,"text_color":null,"icon":null}}}}}}},"delete":{"tags":["Bases"],"summary":"Delete Base","operationId":"deleteBase","description":"Delete an existing base.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/user_account_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable/{base_uuid}/size/":{"get":{"tags":["Bases"],"summary":"Get Base Size","operationId":"getBaseSize","description":"Get the storage usage of a base in bytes. This is the size of the JSON file stored on the filesystem or in S3 (depending on your server configuration).\nPlease note that this does not include assets stored inside the base, snapshots or rows stored in the big data backend.\n","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"result":171982}}}}}}},"/api/v2.1/starred-dtables/":{"get":{"tags":["Bases"],"summary":"List Favorites","operationId":"listFavorites","description":"List all the starred (favorite) bases in my library.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"user_starred_dtable_list":[{"id":378,"workspace_id":504,"uuid":"12345678-3643-489b-880c-51c8ee2a9a20","name":"Customers","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null}]}}}}}},"post":{"tags":["Bases"],"summary":"Favorite Base","operationId":"favoriteBase","description":"Add a star to a base to make it a \"favorite\" base.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dtable_uuid":{"$ref":"#/components/schemas/dtable_uuid"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}},"delete":{"tags":["Bases"],"summary":"Unfavorite Base","operationId":"unfavoriteBase","description":"Remove the star of a base and therefore removing it from \"Favorites\".","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dtable_uuid_query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/folders/":{"post":{"tags":["Bases"],"summary":"Create Folder","operationId":"createFolder","description":"With this request, you can create a base folder easily with the desired `name` of your folder.\nIn the response body, the `id` will be the ID of your folder. You'll need this specific ID to move bases into this folder or update, or delete this folder.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/folder_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"folder":{"id":12,"name":"Test Folder","workspace_id":"2"}}}}}}}},"/api/v2.1/workspace/{workspace_id}/folders/{folder_id}/":{"put":{"tags":["Bases"],"summary":"Update Folder","operationId":"updateFolder","description":"Use this request to rename an existing folder with its `folder_id`.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/folder_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/folder_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"folder":{"id":12,"name":"New Test Folder","workspace_id":2}}}}}}},"delete":{"tags":["Bases"],"summary":"Delete Folder","operationId":"deleteFolder","description":"You can only delete a folder when it's empty. To do so, first move your bases out of it and then delete it with its `folder_id` in this request.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/folder_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/folder-item-moving/":{"post":{"tags":["Bases"],"summary":"Move Base into Folder","operationId":"moveBaseIntoFolder","description":"Move your base from one folder to another by giving the `folder_id` of your source and target folders. Exception: the root folder doesn't have an ID, but can be identified with '/'. See example.\n\nAll the parameters in this request are required, as we might allow you to move folders into folders in the future, by then, you will be able to use another parameter in the `item_type`.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"item_type":{"$ref":"#/components/schemas/item_type"},"item_id":{"$ref":"#/components/schemas/item_id"},"from":{"$ref":"#/components/schemas/from"},"to":{"$ref":"#/components/schemas/to"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/password/":{"put":{"tags":["Bases"],"summary":"Base Password","operationId":"basePassword","description":"Use this request to unset a base password. You'll need to enter the current password `password` to be able to unset it. After unsetting a password, the base is not protected by a password anymore (the `is_encrypted` is not `false`).","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/add_password"},{"$ref":"#/components/schemas/modify_password"},{"$ref":"#/components/schemas/unset_password"}]}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"table":{"id":724,"workspace_id":204,"uuid":"12345678-ba46-4c07-8116-d237bdeb35a3","name":"Termine","created_at":"2022-01-12T10:30:01+00:00","updated_at":"2022-03-11T11:56:47+00:00","color":"#972CB0","text_color":null,"icon":"icon-leave-record","is_encrypted":false}}}}}}}},"/api/v2.1/trash-dtables/":{"get":{"tags":["Bases"],"summary":"List Trashed Bases","operationId":"listTrashedBases","description":"List all the bases in the trash bin.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/per_page"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"count":9,"trash_dtable_list":[{"id":498,"workspace_id":1,"uuid":"50bf6e95-fa3b-4420-9141-5d3b4f5242a7","name":"Example","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-16T09:43:25+00:00","updated_at":"2021-03-16T09:43:25+00:00","color":"#FE91E63","text_color":null,"icon":"icon-market-analysis","deleted":true,"delete_time":"2021-03-16T09:45:53+00:00"},{"id":497,"workspace_id":1,"uuid":"16b717d9-e910-472c-802b-0943c0b95610","name":"Example","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-16T09:41:38+00:00","updated_at":"2021-03-16T09:41:38+00:00","color":"#FF8000","text_color":null,"icon":"icon-market-analysis","deleted":true,"delete_time":"2021-03-16T09:42:33+00:00"}]}}}}}},"delete":{"tags":["Bases"],"summary":"Clear Trash","operationId":"clearTrash","description":"By cleaning the trash bin, all the bases there will be removed permanently and cannot be restored any more.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/trash-dtables/{trashed_base_id}/":{"put":{"tags":["Bases"],"summary":"Restore Trashed Base","operationId":"restoreTrashedBase","description":"Restore a trashed base from the trash bin. The base's ID can be retrieved from the call [List Trashed Bases](/reference/listtrashedbases-1). The base's ID is written directly in the URL, like in this example, `497`.","security":[{"AccountTokenAuth":[]}],"parameters":[{"name":"trashed_base_id","in":"path","schema":{"type":"integer"},"required":true,"description":"The ID of the trashed base.","example":497}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/groups/{group_id}/trash-dtables/":{"get":{"tags":["Bases"],"summary":"List Group Trashed Bases","operationId":"listGroupTrashedBases","description":"When a group base is deleted, it's sent to the group's trash bin. If you are the owner or administrator of this group, you have access to the group's trash bin.\n\nUse this API request to take a look into your group's trash bin. You'll get a permission error if you are not the owner or admin of this group.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"trash_dtable_list":[{"id":466,"workspace_id":209,"uuid":"5fffa876-30d9-48a2-a5d7-09cd8ffdda4b","name":"CRM & Sales (1)","created_at":"2021-03-08T13:04:50+00:00","updated_at":"2021-03-08T13:04:50+00:00","color":null,"text_color":null,"icon":null,"is_encrypted":false,"deleted":true,"delete_time":"2022-03-13T08:59:13+00:00"}]}}}}}}},"/api/v2.1/groups/{group_id}/trash-dtables/{base_uuid}/":{"put":{"tags":["Bases"],"summary":"Restore Group Trashed Base","operationId":"restoreGroupTrashedBase","description":"With the UUID (retrievable with the previous call) of the trashed base, you can restore it with this request.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"},{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/groups/":{"get":{"tags":["Groups & Workspaces"],"summary":"List Groups","operationId":"listGroups","description":"Show a list of all groups of the user.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":[{"id":1,"parent_group_id":0,"name":"Important Projects","owner":"5c9f13dc9f37495e822d8ecdce301f8f@auth.local","created_at":"2023-06-01T12:46:26+00:00","admins":["5c9f13dc9f37495e822d8ecdce301f8f@auth.local"]}]}}}}},"post":{"tags":["Groups & Workspaces"],"summary":"Create Group","operationId":"createGroup","description":"Create a new group. The user who creates the group becomes its owner.","security":[{"AccountTokenAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/group_name"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object"},"example":[{"success":"?"}]}}}}}},"/api/v2.1/groups/{group_id}/":{"get":{"tags":["Groups & Workspaces"],"summary":"Get Group","operationId":"getGroup","description":"Get the details of a specific group including its name, owner, and admins.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":[{"id":1,"parent_group_id":0,"name":"Important Projects","owner":"5c9f13dc9f37495e822d8ecdce301f8f@auth.local","created_at":"2023-06-01T12:46:26+00:00","admins":["5c9f13dc9f37495e822d8ecdce301f8f@auth.local"]}]}}}}},"put":{"tags":["Groups & Workspaces"],"summary":"Update Group","operationId":"updateGroup","description":"Use this request to rename, and/or change owner of a group.\nIn the request body, both parameters are optional. Only use the ones that you need to update:\n*   `owner` is the new owner of the group, include the user's ID here. If you don't want to change the owner, remove this parameter because if you enter the current owner's ID here, you'll get an error \"User xxx is already group owner\".\n*   `name` is the new name of your group. If you don't want to change the name, remove this parameter because if you enter the current group name here you'll get an error \"There is already a group with that name\".","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/group_name"},"owner":{"$ref":"#/components/schemas/user_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"parent_group_id":{"type":"integer"},"name":{"type":"string"},"owner":{"type":"string"},"created_at":{"type":"string"},"avatar_url":{"type":"string"},"admins":{"type":"array","items":{"type":"string"}}}},"example":{"id":1,"parent_group_id":0,"name":"Group New","owner":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local","created_at":"2020-11-19T08:14:52+00:00","avatar_url":"http://cloud.seatable.io/media/avatars/groups/default.png","admins":["2d67c225c64f4305ada3e5820ce6d660@auth.local"]}}}}}},"delete":{"tags":["Groups & Workspaces"],"summary":"Delete Group","operationId":"deleteGroup","description":"Delete a group with its ID.\n\n> 🚧 Group must be empty > > A group can only be deleted if it contains no bases. Delete or move all bases out of the group first, otherwise the API returns `400` with `\"Cannot delete group with bases\"`.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/search-group/":{"get":{"tags":["Groups & Workspaces"],"summary":"Search Group","operationId":"searchGroup","description":"Just give a search keyword in the `q` param.\n","security":[{"AccountTokenAuth":[]}],"parameters":[{"name":"q","in":"query","description":"Search query string. Matches against group name.","schema":{"type":"string"},"example":"Micha"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"owner":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}}},"example":[{"id":92,"name":"Production","owner":"1a8d6725c4ae40c688b40028fd62c73f@auth.local","created_at":"2023-03-09T14:06:34+01:00"}]}}}}}},"/api/v2.1/groups/{group_id}/members/":{"get":{"tags":["Groups & Workspaces"],"summary":"Get Group Members","operationId":"getGroupMembers","description":"List all members of a group along with their roles.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"contact_email":{"type":"string"},"is_admin":{"type":"integer"},"role":{"type":"string"},"group_id":{"type":"integer"}}}},"example":[{"name":"Production","email":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local","contact_email":"hans@example.com","is_admin":1,"role":"owner","group_id":1}]}}}}},"post":{"tags":["Groups & Workspaces"],"summary":"Add Group Member","operationId":"addGroupMember","description":"Add a user to a group as a member.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"$ref":"#/components/schemas/user_id"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"group_id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"contact_email":{"type":"string"},"login_id":{"type":"string"},"is_admin":{"type":"boolean"},"role":{"type":"string"}}},"example":{"group_id":1,"name":"Production","email":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local","contact_email":"hans@example.com","login_id":"","is_admin":false,"role":"Member"}}}}}}},"/api/v2.1/groups/{group_id}/members/{group_member}/":{"put":{"tags":["Groups & Workspaces"],"summary":"Update Group Role","operationId":"updateGroupRole","description":"Update the role of a group member, for example to promote or demote an admin.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"},{"$ref":"#/components/parameters/group_member"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"is_admin":{"$ref":"#/components/schemas/is_admin"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":"true"}}}}}},"delete":{"tags":["Groups & Workspaces"],"summary":"Remove Group Member","operationId":"removeGroupMember","description":"Group admins can remove other group members or a group member can leave the group.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/group_id"},{"$ref":"#/components/parameters/group_member"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":"true"}}}}}}},"/api/v2.1/groups/{group_id}/search-member/":{"get":{"tags":["Groups & Workspaces"],"summary":"Search Group Members","operationId":"searchGroupMembers","description":"As a group's administrator, you can use this API call to search for members in this group.\n\nJust give a search keyword in the `q` param. Attention: Although a fuzzy search is allowed, unlike the web interface, the search via API is still case sensitive!\nA successful search will return each member's details that fit to your search criteria. See example.","security":[{"AccountTokenAuth":[]}],"parameters":[{"name":"q","in":"query","description":"Search query string. Matches against member name or email.","schema":{"type":"string"},"example":"Micha"},{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":[{"group_id":1,"name":"Michael Jackson","email":"876543216569491ba42905bf1647fd3f@auth.local","contact_email":"michael@example.com","login_id":"","avatar_url":"https://cloud.seatable.io/image-view/avatars/3/7/a0a57575a3ca0c78e8c5b6b0d0dbda/resized/80/cd7f6edd2c75afd3b7299917b3767c0f.png","is_admin":true,"role":"Owner"},{"group_id":51,"name":"Michael Jackson 2","email":"12345678f3f145c0998cbd08c19c8bc8@auth.local","contact_email":"michael2@example.com","login_id":"","avatar_url":"https://cloud.seatable.io/media/avatars/default.png","is_admin":false,"role":"Member"}]}}}}}},"/api/v2.1/workspaces/":{"get":{"tags":["Groups & Workspaces"],"summary":"List Workspaces","operationId":"listWorkspaces","description":"List all the workspaces/bases you have access to.\n\nWith the param `detail`, you can define if the returned list is with details (`true` or leave it by default) or without details (`false`). See the examples \"with detail=false\" and \"with detail=true\" for more information.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/detail"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"examples":{"example-0":{"summary":"with detail=false","value":{"workspace_list":[{"id":"","name":"starred","type":"starred"},{"id":"","name":"shared","type":"shared"},{"id":1,"name":"personal","type":"personal"},{"id":5,"name":"my group","type":"group"}]}},"example-1":{"summary":"with detail=true","value":{"workspace_list":[{"id":"","name":"starred","type":"starred","table_list":[{"id":378,"workspace_id":204,"uuid":"c1df3186-3643-489b-880c-51c8ee2a9a20","name":"pt","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null,"starred":true}]},{"id":"","name":"shared","type":"shared","shared_table_list":[{"id":362,"workspace_id":206,"uuid":"d44b7260-bdb9-4a51-a17b-2b699ca0e0bc","name":"collaborators","creator":"Ginger Ale","modifier":"Ginger Ale","created_at":"2020-11-18T13:02:43+00:00","updated_at":"2020-11-18T13:02:43+00:00","color":null,"text_color":null,"icon":null,"starred":false,"from_user":"12345678d1754bb4afa2c2cb7369d244@auth.local","permission":"rw","from_user_avatar":"https://cloud.seatable.io/media/avatars/default.png","from_user_name":"Ginger Ale"}],"shared_view_list":[{"id":8,"dtable_name":"collaborators","from_user":"12345678d1754bb4afa2c2cb7369d244@auth.local","from_user_name":"Ginger Ale","to_user":"123456786569491ba42905bf1647fd3f@auth.local","to_user_name":"Jasmin Tee","permission":"rw","table_id":"2YC3","view_id":"0000","shared_name":null,"from_user_avatar":"https://cloud.seatable.io/media/avatars/default.png","workspace_id":206,"color":null,"text_color":null,"icon":null}]},{"id":205,"name":"testgroup","type":"group","group_id":48,"group_owner":"123456786569491ba42905bf1647fd3f@auth.local","group_admins":["123456786569491ba42905bf1647fd3f@auth.local"],"group_member_count":2,"table_list":[{"id":360,"workspace_id":205,"uuid":"12345678-d895-402f-9718-a85f26c65d99","name":"Project Tracker","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-18T12:45:06+00:00","updated_at":"2020-11-18T12:45:06+00:00","color":null,"text_color":null,"icon":null,"starred":false}],"group_shared_dtables":[],"group_shared_views":[{"id":378,"workspace_id":204,"uuid":"c1df3186-3643-489b-880c-51c8ee2a9a20","name":"pt","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null,"view_share_id":1,"shared_name":null}]},{"id":209,"name":"testgroup3","type":"group","group_id":51,"group_owner":"12345678d1754bb4afa2c2cb7369d244@auth.local","group_admins":["12345678d1754bb4afa2c2cb7369d244@auth.local"],"group_member_count":2,"table_list":[{"id":466,"workspace_id":209,"uuid":"5fffa876-30d9-48a2-a5d7-09cd8ffdda4b","name":"CRM & Sales (1)","creator":"Ginger Ale","modifier":"Ginger Ale","created_at":"2021-03-08T13:04:50+00:00","updated_at":"2021-03-08T13:04:50+00:00","color":null,"text_color":null,"icon":null,"starred":false}],"group_shared_dtables":[],"group_shared_views":[]},{"id":210,"name":"testgroup2","type":"group","group_id":52,"group_owner":"123456786569491ba42905bf1647fd3f@auth.local","group_admins":["123456786569491ba42905bf1647fd3f@auth.local"],"group_member_count":2,"table_list":[{"id":462,"workspace_id":210,"uuid":"e1a3b2c5-afd0-45f3-b41e-6e8153e28659","name":"CRM (1)","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-02T10:18:08+00:00","updated_at":"2021-03-02T10:18:08+00:00","color":null,"text_color":null,"icon":null,"starred":false}],"group_shared_dtables":[{"id":378,"workspace_id":204,"uuid":"c1df3186-3643-489b-880c-51c8ee2a9a20","name":"pt","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null,"starred":true}],"group_shared_views":[]},{"id":263,"name":"Test group","type":"group","group_id":83,"group_owner":"123456786569491ba42905bf1647fd3f@auth.local","group_admins":["123456786569491ba42905bf1647fd3f@auth.local"],"group_member_count":2,"table_list":[],"group_shared_dtables":[{"id":433,"workspace_id":204,"uuid":"3308505e-ce53-4652-aeaf-59736919da57","name":"silver","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-01-22T14:04:58+00:00","updated_at":"2021-01-22T14:04:58+00:00","color":null,"text_color":null,"icon":null,"starred":false}],"group_shared_views":[]},{"id":268,"name":"Students","type":"group","group_id":87,"group_owner":"123456786569491ba42905bf1647fd3f@auth.local","group_admins":["123456786569491ba42905bf1647fd3f@auth.local"],"group_member_count":3,"table_list":[],"group_shared_dtables":[],"group_shared_views":[{"id":483,"workspace_id":204,"uuid":"30d4abaf-43f1-4f97-bced-f9a6115af51d","name":"students","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-11T09:09:38+00:00","updated_at":"2021-03-11T09:09:38+00:00","color":null,"text_color":null,"icon":null,"view_share_id":4,"shared_name":"Exam result"}]},{"id":204,"name":"personal","type":"personal","table_list":[{"id":424,"workspace_id":204,"uuid":"8d29d6fc-1f00-46af-98df-4007b3635e1c","name":"1. Templates Overview","creator":"Jane Doe","modifier":"Jane Doe","created_at":"2021-01-08T15:09:03+00:00","updated_at":"2021-01-21T16:06:26+00:00","color":null,"text_color":null,"icon":null,"starred":false}]}]}}}}}}}}},"/api/v2.1/dtable-copy/":{"post":{"tags":["Groups & Workspaces"],"summary":"Copy Base from Workspace","operationId":"copyBaseFromWorkspace","description":"Copy a base from a workspace to the destination workspace.\nA workspace could be your own \"My library\", or a group's workspace. Therefore you need to define the `src_workspace_id` and `dst_workspace_id` in the call. \nFor the source workspace, you at least have to have the read permission of the base; for the source workspace, you must have write permission.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"src_workspace_id":{"$ref":"#/components/schemas/src_workspace_id"},"name":{"$ref":"#/components/schemas/base_name"},"dst_workspace_id":{"$ref":"#/components/schemas/dst_workspace_id"},"is_copy_dataset_syncs":{"$ref":"#/components/schemas/is_copy_dataset_syncs"}},"required":["src_workspace_id","name","dst_workspace_id"]}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable":{"id":978,"workspace_id":80,"uuid":"9e214427-cddd-425a-bc11-1dcbba93ebcd","name":"Projects","creator":"Teamplayer","modifier":"Teamplayer","created_at":"2020-10-27T16:08:46+08:00","updated_at":"2020-10-27T16:08:46+08:00","color":null,"text_color":null,"icon":null}}}}}}}},"/api/v2.1/dtable-external-link/dtable-copy/":{"post":{"tags":["Groups & Workspaces"],"summary":"Copy Base from External Link","operationId":"copyBaseFromExternalLink","description":"Copy a base from an external link to a workspace.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"link":{"$ref":"#/components/schemas/link"},"dst_workspace_id":{"$ref":"#/components/schemas/dst_workspace_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable":{"id":978,"workspace_id":80,"uuid":"12345678-cddd-425a-bc11-1dcbba93ebcd","name":"Projects","creator":"Teamleader","modifier":"Teamleader","created_at":"2020-10-27T16:08:46+08:00","updated_at":"2020-10-27T16:08:46+08:00","color":null,"text_color":null,"icon":null}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable-asset-upload-link/":{"get":{"tags":["Attachment"],"summary":"Get Base Attachment Upload Link","operationId":"getBaseAttachmentUploadLink","description":"Get the attachment upload link to a base. Images should be uploaded to the `img_relative_path`, all other files should be uploaded to the `file_relative_path`.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name_query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"upload_link":{"type":"string"},"parent_path":{"type":"string"},"img_relative_path":{"type":"string"},"file_relative_path":{"type":"string"}}},"example":{"upload_link":"https://cloud.seatable.io/seafhttp/upload-api/5d2b06ba-ec8d-4efb-a62e-3ae6ac84a67c","parent_path":"/asset/o09eab5d-a796-4ef5-909d-b491c9a056a0","img_relative_path":"images/2020-11","file_relative_path":"files/2020-11"}}}}}}},"/api/v2.1/dtable-asset/{base_uuid}/":{"get":{"tags":["Attachment"],"summary":"List Base Asset Directories And Files","operationId":"listBaseAssets","description":"List all the directories, files and images in the given path in a base.\n\nThe returned `is_file` value indicates if this object is a file (`true`) or a folder (`false`).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/parent_dir"},{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dirent_list":[{"is_file":true,"obj_name":"fb_2018-03-01.csv","file_size":1201,"last_update":"2020-03-02T03:06:16+00:00"},{"is_file":true,"obj_name":"2018-05-15.csv","file_size":133,"last_update":"2020-03-02T03:05:08+00:00"}]}}}}}},"delete":{"tags":["Attachment"],"summary":"Delete Base Asset","operationId":"deleteBaseAsset","description":"Delete a directory, a file or an image from a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/path"},{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable-recent-asset/{base_uuid}/":{"get":{"tags":["Attachment"],"summary":"List Recently Uploaded Files","operationId":"listRecentlyUploadedFiles","description":"Use this request to list off the files uploaded to the current base in the past months.\n\nIf there is no upload in a certain month, an empty list is returned for that month. See example for details.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/months"},{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"file_list":[{"date":"2021-09","file_items":[]},{"date":"2021-08","file_items":[{"is_file":true,"obj_name":"Example.xlsx","file_size":7326,"last_update":"2021-09-14T16:10:12+08:00"},{"is_file":true,"obj_name":"favicon.ico","file_size":67646,"last_update":"2021-09-14T16:10:12+08:00"},{"is_file":true,"obj_name":"Report.docx","file_size":17944,"last_update":"2021-09-14T16:10:11+08:00"}]},{"date":"2021-07","file_items":[]}]}}}}}}},"/api/v2.1/dtable-asset/{base_uuid}/rename/":{"post":{"tags":["Attachment"],"summary":"Rename Base Asset","operationId":"renameBaseAsset","description":"Once you have the exact path and filename of an asset, you can use this request to rename it. In the request body:\r\n\r\n`path` is the exact path and filename of your asset;\r\n`new_name` is the new filename of your asset without path.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"path":{"$ref":"#/components/schemas/path"},"new_name":{"$ref":"#/components/schemas/new_name_csv"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable-asset/{base_uuid}/batch-delete-assets/":{"delete":{"tags":["Attachment"],"summary":"Delete Base Assets","operationId":"deleteBaseAssets","description":"Delete base assets/attachments by batch.\nIn the request body:\n- `parent_path` is the parent path in which the objects are in, that you would like to delete. They could be files, or folders.\n- `asset_names` is an array of objects you'd like to delete in this path. You can list folders or file names here.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/asset-exists/":{"get":{"tags":["Attachment"],"summary":"Check If Asset Exists","operationId":"checkIfAssetExists","description":"Check if a certain asset exists. The returned `is_exist` value confirms the existence (`true`).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/path"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"is_exist":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-import/import-excel-csv-to-base/":{"post":{"tags":["Import & Export"],"summary":"Import Base from xlsx or csv","operationId":"importBasefromFile","description":"With this request, you can create a base by uploading a .xlsx or a .csv file.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dtable":{"$ref":"#/components/schemas/dtable"},"folder":{"$ref":"#/components/schemas/folder"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-import/import-excel-csv-to-table/":{"post":{"tags":["Import & Export"],"summary":"Import Table from xlsx or csv","operationId":"importTableFromFile","description":"An XLSX or CSV file can also be imported as a new table in your base. Just select the `file` and tell SeaTable your base's UUID and the file will be added to that base as a new table. The new table's name will be the filename by default.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/file"},"dtable_uuid":{"$ref":"#/components/schemas/dtable_uuid"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/import-dtable/":{"post":{"tags":["Import & Export"],"summary":"Import Base from dtable file","operationId":"importBasefromDTableFile","description":"With this request, you can create a base by uploading a .dtable file.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dtable":{"$ref":"#/components/schemas/dtable"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"task_id":{"type":"string","format":"uuid"},"table":{"type":"object","properties":{"id":{"type":"integer"},"workspace_id":{"type":"integer"},"uuid":{"type":"string","format":"uuid"},"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"color":{"type":"string","nullable":true},"text_color":{"type":"string","nullable":true},"icon":{"type":"string","nullable":true},"is_encrypted":{"type":"boolean"},"in_storage":{"type":"boolean"}}}}},"example":{"task_id":"50a61dbe-7859-43ce-9998-fab221ef589e","table":{"id":12,"workspace_id":2,"uuid":"ac36a16e-d2ab-410e-897d-087cba95fc71","name":"Test base for import","created_at":"2024-09-04T17:40:00+02:00","updated_at":"2024-09-04T17:40:00+02:00","color":null,"text_color":null,"icon":null,"is_encrypted":false,"in_storage":true}}}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-import/update-table-via-excel-csv/":{"post":{"tags":["Import & Export"],"summary":"Update from XLSX or CSV","description":"This API call allows you to update a SeaTable database table by uploading an Excel (xlsx) or CSV file. The uploaded file contains rows with data that should be either matched against existing rows in the table for updates or inserted as new rows if no match is found.\nMatching is performed based on the columns specified in the `selected_columns` parameter. For each row in the uploaded file, the system checks whether there are existing rows where the values in these selected columns match exactly. If a match is found, the existing row is updated with the new data from the file. If no match exists, the row is added as a new entry.\n\n> 📘 Example of the `selected_columns` parameter\n>\n> - If one column is specified (e.g., `Name`), the update process finds rows where the value in that column matches the corresponding value in the file. Those rows will be updated; unmatched rows result in new rows being created.\n> - If multiple columns are specified (e.g., `Name,Age`), all these columns must match exactly for a row to be considered a match and updated.\n> - Rows not matching on all selected columns are treated as new and will be added to the table.\n","operationId":"updateFromFile","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/file"},"dtable_uuid":{"$ref":"#/components/schemas/dtable_uuid"},"table_name":{"$ref":"#/components/schemas/table_name"},"selected_columns":{"$ref":"#/components/schemas/selected_columns"}},"required":["dtable_uuid","file","table_name","selected_columns"]}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-export/export-dtable/":{"get":{"tags":["Import & Export"],"summary":"Export Base","operationId":"exportBase","description":"Export a base as a .dtable file. Optionally exclude assets or provide a base password for encrypted bases.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dtable_name_query"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_password"},{"$ref":"#/components/parameters/ignore_asset"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-export/export-table-to-excel/":{"get":{"tags":["Import & Export"],"summary":"Export Table","operationId":"exportTable","description":"Export a single table from a base to an Excel file.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/table_name"},{"$ref":"#/components/parameters/dtable_name_query"},{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-export/export-view-to-excel/":{"get":{"tags":["Import & Export"],"summary":"Export View","operationId":"exportView","description":"Export a specific view of a table from a base to an Excel file.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/table_name"},{"$ref":"#/components/parameters/dtable_name_query"},{"$ref":"#/components/parameters/view_id"},{"$ref":"#/components/parameters/view_name"},{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/dtable/external-links/{external_link_token}/download-zip/":{"get":{"tags":["Import & Export"],"summary":"Export Base from External Link","operationId":"exportBaseFromExternalLink","description":"Download a base with its external link as a .dtable zip file. **Password protected external links are not supported yet**.","parameters":[{"$ref":"#/components/parameters/external_link_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/convert-big-data-view-to-excel/":{"get":{"tags":["Import & Export"],"summary":"Export Big Data View to Excel","operationId":"exportBigDataView","description":"Exports a big data view as an Excel file. Returns a task ID that can be used to track the export progress.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/view_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"task_id":"1680694429195"}}}}}}},"/api/v2.1/workspace/{workspace_id}/synchronous-import/append-excel-csv-to-table/":{"post":{"tags":["Import & Export"],"summary":"Append Excel CSV","operationId":"appendToTableFromFile","description":"Appends rows from an uploaded Excel or CSV file to an existing table.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/file"},"dtable_uuid":{"$ref":"#/components/schemas/dtable_uuid"},"table_name":{"$ref":"#/components/schemas/table_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/shared/":{"get":{"tags":["Sharing"],"summary":"List My Shares","operationId":"listMyShares","description":"List all the bases currently shared to you. This request only lists off all the bases shared explicit to YOU, not your groups. To see all the bases shared to your groups, use the request **List Bases Shared to My Groups**.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"table_list":[{"id":362,"workspace_id":2,"uuid":"12345678-bdb9-4a51-a17b-2b699ca0e0bc","name":"collaborators","creator":"Ginger Ale","modifier":"Ginger Ale","created_at":"2020-11-18T13:02:43+00:00","updated_at":"2020-11-18T13:02:43+00:00","permission":"rw","from_user":"87654321d1754bb4afa2c2cb7369d244@auth.local","from_user_name":"Ginger Ale"}]}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/share/":{"get":{"tags":["Sharing"],"summary":"List User Shares","operationId":"listUserShares","description":"List all the users sharing a base (except the current user). This request only lists off all the individual users sharing the base, which does not include groups and group members sharing this base.\n\nTo see which groups are sharing this base, use the request [List Groups Base is Shared To](/reference/listgroupshares).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"user_list":[{"email":"0e30070949b946a3b200555db5de1d23@auth.local","name":"Robert Teamplayer","contact_email":"teamplayer@example.com","avatar_url":"https://cloud.seatable.io/media/avatars/default.png","permission":"rw"}]}}}}}},"post":{"tags":["Sharing"],"summary":"Create User Share","operationId":"createUserShare","description":"Share a base to a certain user with certain permission.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"},"email":{"$ref":"#/components/schemas/user_account_email"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}},"put":{"tags":["Sharing"],"summary":"Update User Share","operationId":"updateUserShare","description":"Change the sharing permission (read-only or read and write) of a base to a user.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"},"email":{"$ref":"#/components/schemas/user_account_email"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete User Share","operationId":"deleteUserShare","description":"Stop sharing a base to a user.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/user_account_email"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/group-shared/":{"get":{"tags":["Sharing"],"summary":"List My Group Shares","operationId":"listMyGroupShares","description":"List all the bases shared to the groups I am in. These bases may include:\n\n* Bases you or others created in the group;\n* Bases you or others shared or copied to the group.\n\nIn the returned object, each group's ID and the details of each base are listed in the form of\n```\n\"group_id\":[bases]\n```\nJudging by the `workspace_id` you can determine if a base is in the group or shared to the group.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"group_shared_dtables":{"162":[{"id":375,"workspace_id":377,"uuid":"4b543a04-39b7-4ce7-aa08-7fe1f4dad0b5","name":"DataBase","creator":"Robert Teamplayer","modifier":"Robert Teamplayer","created_at":"2020-11-19T14:43:24+00:00","updated_at":"2020-11-19T14:43:24+00:00","color":"#7626FD","text_color":"#7626FD","icon":"icon-software-test-management","starred":false}],"165":[{"id":355,"workspace_id":377,"uuid":"03d8b71c-84c7-4a16-b314-94c886dc170a","name":"Surveys","creator":"Robert Teamplayer","modifier":"Robert Teamplayer","created_at":"2020-11-17T15:39:26+00:00","updated_at":"2020-12-14T14:26:29+00:00","color":null,"text_color":null,"icon":null,"starred":false}]}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/group-shares/":{"get":{"tags":["Sharing"],"summary":"List Group Shares","operationId":"listGroupShares","description":"List all the groups a particular base is being shared to.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable_group_share_list":[{"group_id":1,"group_name":"Customer Service","permission":"r"},{"group_id":2,"group_name":"SeaTable","permission":"rw"}]}}}}}},"post":{"tags":["Sharing"],"summary":"Create Group Share","operationId":"createGroupShare","description":"Share a base from My Bases to a group with read-only or read and write permissions.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"group_id":{"$ref":"#/components/schemas/group_id"},"permission":{"$ref":"#/components/schemas/permission"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable_group_share":{"group_id":"1","group_name":"Sample Group","permission":"rw"}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/group-shares/{group_id}/":{"put":{"tags":["Sharing"],"summary":"Update Group Share","operationId":"updateGroupShare","description":"Change the sharing permission (read-only/read and write) to a group.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete Group Share","operationId":"deleteGroupShare","description":"Stop sharing a base to a certain group.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/group_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/view-shares-group-shared/":{"get":{"tags":["Sharing"],"summary":"My Group View Shares","operationId":"listMyGroupViewShares","description":"As `ToUser`, you can use this request to list all the views shared to you via your groups.\n\nIn the response you can see which views you are being shared to via which groups.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"group_shared_views":{"4":[{"id":37,"workspace_id":2,"uuid":"12345678-3643-489b-880c-51c8ee2a9a20","name":"Projects","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null,"view_share_id":1}],"8":[{"id":48,"workspace_id":2,"uuid":"87654321-43f1-4f97-bced-f9a6115af51d","name":"Students","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-11T09:09:38+00:00","updated_at":"2021-03-11T09:09:38+00:00","color":null,"text_color":null,"icon":null,"view_share_id":4}]}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/group-view-shares/":{"get":{"tags":["Sharing"],"summary":"List Group View Shares","operationId":"listGroupViewShares","description":"This request lets you, as `FromUser`, see which views you are sharing to the groups you are in.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"group_shared_views":{"4":[{"id":37,"workspace_id":2,"uuid":"87654321-3643-489b-880c-51c8ee2a9a20","name":"Projects","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2020-11-20T11:57:30+00:00","updated_at":"2020-11-20T11:57:30+00:00","color":null,"text_color":null,"icon":null,"view_share_id":1}],"8":[{"id":48,"workspace_id":2,"uuid":"12345678-43f1-4f97-bced-f9a6115af51d","name":"Students","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-11T09:09:38+00:00","updated_at":"2021-03-11T09:09:38+00:00","color":null,"text_color":null,"icon":null,"view_share_id":4}]}}}}}}},"post":{"tags":["Sharing"],"summary":"Create Group View Share","operationId":"createGroupViewShare","description":"Share a view to a group, thus you are the `FromUser` here.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"permission":{"$ref":"#/components/schemas/permission"},"to_group_id":{"$ref":"#/components/schemas/group_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_name":{"type":"string"},"from_user":{"type":"string"},"from_user_name":{"type":"string"},"to_group_id":{"type":"string"},"to_group_name":{"type":"string"},"permission":{"type":"string"},"table_id":{"type":"string"},"view_id":{"type":"string"}}},"example":{"id":0,"dtable_name":"Example","from_user":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local","from_user_name":"John Doe","to_group_id":"1","to_group_name":"Group One","permission":"rw","table_id":"0000","view_id":"0000"}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete Group View Share","operationId":"deleteGroupAllViewShare","description":"Stop sharing the view to all the groups.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/view_id"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/group-view-shares/{group_view_share_id}/":{"put":{"tags":["Sharing"],"summary":"Update Group View Share","operationId":"updateGroupViewShare","description":"Update the permission of a view sharing as a `FromUser`.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/group_view_share_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_name":{"type":"string"},"from_user":{"type":"string"},"from_user_name":{"type":"string"},"to_group_id":{"type":"string"},"to_group_name":{"type":"string"},"permission":{"type":"string"},"table_id":{"type":"string"},"view_id":{"type":"string"}}},"example":{"id":0,"dtable_name":"Example","from_user":"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6@auth.local","from_user_name":"John Doe","to_group_id":"1","to_group_name":"Group One","permission":"r","table_id":"0000","view_id":"0000"}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete Group View Share","operationId":"deleteGroupViewShare","description":"Use this request to stop sharing a view to a certain group as `FromUser`. If you would like to stop sharing it with all of the groups you are in, use the next request.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/group_view_share_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/view-shares-user-shared/":{"get":{"tags":["Sharing"],"summary":"List My User View Shares","operationId":"listMyUserViewShares","description":"List all the views shared to you.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"view_share_list":[{"id":2,"dtable_name":"Test","from_user":"f91a9c820b284249b3bb3396dc65bd64@auth.local","from_user_name":"John Doe","to_user":"6f46581085834012abc0ad20a5e85b8a@auth.local","to_user_name":"Jasmin","permission":"rw","table_id":"0000","view_id":"0000","workspace_id":1,"color":null,"text_color":null,"icon":null},{"id":3,"dtable_name":"Example","from_user":"f91a9c820b284249b3bb3396dc65bd64@auth.local","from_user_name":"John Doe","to_user":"6f46581085834012abc0ad20a5e85b8a@auth.local","to_user_name":"Jasmin","permission":"rw","table_id":"0000","view_id":"7NgV","workspace_id":1,"color":null,"text_color":null,"icon":null}]}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/user-view-shares/":{"get":{"tags":["Sharing"],"summary":"List User View Shares","operationId":"listUserViewShares","description":"Use this request to list all the views you are currently sharing to other users.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"user_view_share_list":[{"id":14,"dtable_name":"Example","from_user":"123456786569491ba42905bf1647fd3f@auth.local","from_user_name":"Jasmin Tee","to_user":"87654321d1754bb4afa2c2cb7369d244@auth.local","to_user_name":"Ginger Ale","permission":"rw","table_id":"0000","view_id":"Jz4d","shared_name":"completed"}]}}}}}},"post":{"tags":["Sharing"],"summary":"Create User View Share","operationId":"createUserViewShare","description":"Start sharing a view to another user, which is the `ToUser` in this case.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"},"to_user":{"$ref":"#/components/schemas/user_account_email"},"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_name":{"type":"string"},"from_user":{"type":"string"},"from_user_name":{"type":"string"},"to_user":{"type":"string"},"to_user_name":{"type":"string"},"permission":{"type":"string"},"table_id":{"type":"string"},"view_id":{"type":"string"},"shared_name":{"type":"string"}}},"example":{"id":15,"dtable_name":"Example","from_user":"123456786569491ba42905bf1647fd3f@auth.local","from_user_name":"Jasmin Tee","to_user":"87654321d1754bb4afa2c2cb7369d244@auth.local","to_user_name":"Ginger Ale","permission":"rw","table_id":"0000","view_id":"Jz4d","shared_name":null}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete User View Share","operationId":"deleteUserAllViewShare","description":"Stop sharing a view to all users.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/view_id"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/user-view-shares/{user_view_share_id}/":{"put":{"tags":["Sharing"],"summary":"Update User View Share","operationId":"updateUserViewShare","description":"As `FromUser`, you can use this request to update the sharing permission to a certain user.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"permission":{"$ref":"#/components/schemas/permission"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/user_view_share_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_name":{"type":"string"},"from_user":{"type":"string"},"from_user_name":{"type":"string"},"to_user":{"type":"string"},"to_user_name":{"type":"string"},"permission":{"type":"string"},"table_id":{"type":"string"},"view_id":{"type":"string"},"shared_name":{"type":"string"}}},"example":{"id":15,"dtable_name":"Example","from_user":"123456786569491ba42905bf1647fd3f@auth.local","from_user_name":"Jasmin Tee","to_user":"87654321d1754bb4afa2c2cb7369d244@auth.local","to_user_name":"Ginger Ale","permission":"r","table_id":"0000","view_id":"Jz4d","shared_name":null}}}}}},"delete":{"tags":["Sharing"],"summary":"Delete User View Share","operationId":"deleteUserViewShare","description":"Stop sharing a view to a certain user. The `user_view_share_id` here is the value you can retrieve from the above requests when you list, add or update a sharing permission.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/user_view_share_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/view-shares-user-shared/{user_view_share_id}/":{"delete":{"tags":["Sharing"],"summary":"Leave Shared View","operationId":"leaveSharedView","description":"Delete your access to a view shared to you. After executing this request, you won't be able to see that view as a `ToUser`.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/user_view_share_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/related-users/":{"get":{"tags":["Sharing"],"summary":"List Collaborators","operationId":"listCollaboratorsAsUser","description":"List all the collaborators (related users who have read&write permission) to a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"user_list":[{"email":"244b430060f54bb4afa2c2cb7369d244@auth.local","name":"Ginger Ale","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"},{"email":"8cb2a6da65687600f42905bf1647fd3f@auth.local","name":"Jasmin Tee","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"}]}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/external-links/":{"get":{"tags":["Sharing Links"],"summary":"List Base External Links","operationId":"listBaseExternalLinks","description":"List all external links that have been created for a specific base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"links":[{"url":"https://cloud.seatable.io/dtable/external-links/12345634f97745948765/","token":"12345634f97745948765","is_custom":false,"permission":"read-only","is_expired":false,"expire_date":"2021-06-26T11:16:54+00:00"},{"url":"https://cloud.seatable.io/dtable/external-links/custom/fleischkaesebroetchen/","token":"fleischkaesebroetchen","is_custom":true,"permission":"read-only","is_expired":false,"expire_date":"2021-06-17T14:28:12+00:00"}]}}}}}},"post":{"tags":["Sharing Links"],"summary":"Create Base External Link","operationId":"createBaseExternalLink","description":"Generate a read-only external link for a base.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"password":{"$ref":"#/components/schemas/user_account_password"},"expire_days":{"$ref":"#/components/schemas/expire_days"},"token":{"$ref":"#/components/schemas/token"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"token":{"type":"string"},"is_custom":{"type":"boolean"},"permission":{"type":"string"},"is_expired":{"type":"boolean"},"expire_date":{"type":"string"}}},"example":{"url":"https://cloud.seatable.io/dtable/external-links/custom/fleischkaesebroetchen/","token":"fleischkaesebroetchen","is_custom":true,"permission":"read-only","is_expired":false,"expire_date":"2021-04-03T11:11:18+00:00"}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/external-links/{external_link_token}/":{"delete":{"tags":["Sharing Links"],"summary":"Delete External Link","operationId":"deleteExternalLink","description":"Delete a base external link by its token.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/external_link_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/view-external-links/":{"get":{"tags":["Sharing Links"],"summary":"List View External Links","operationId":"listViewExternalLinks","description":"List all the external links generated for a specific view with the table's and the view's IDs.\r\n\r\nNormally when you open a view in the browser, you can see the `tid` and `vid` in the address line, which are indeed the `table_id` and `view_id` here.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/table_id"},{"$ref":"#/components/parameters/view_id"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable_view_external_link_list":[{"id":13,"from_dtable":"Example","creator":"123456786569491ba42905bf1647fd3f@auth.local","creator_name":"Jasmin Tee","token":"35967f61163812345678","permission":"r","create_at":"2021-05-18T14:22:52+00:00","view_cnt":0,"table_id":"0000","view_id":"NdFD","url":"https://cloud.seatable.io/dtable/view-external-links/35967f61163812345678/","is_custom":false,"expire_date":""}]}}}}}},"post":{"tags":["Sharing Links"],"summary":"Create View External Link","operationId":"createViewExternalLink","description":"Create a view external link from a view and optionally custom the link's token, password, permission and expiration days.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"table_id":{"$ref":"#/components/schemas/table_id"},"view_id":{"$ref":"#/components/schemas/view_id"},"token":{"$ref":"#/components/schemas/token"},"password":{"$ref":"#/components/schemas/user_account_password"},"expire_days":{"$ref":"#/components/schemas/expire_days"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"from_dtable":{"type":"string"},"creator":{"type":"string"},"creator_name":{"type":"string"},"token":{"type":"string"},"permission":{"type":"string"},"create_at":{"type":"string"},"view_cnt":{"type":"integer"},"table_id":{"type":"string"},"view_id":{"type":"string"},"url":{"type":"string"},"is_custom":{"type":"boolean"},"expire_date":{"type":"string"}}},"example":{"id":14,"from_dtable":"Example","creator":"123456786569491ba42905bf1647fd3f@auth.local","creator_name":"Jasmin Tee","token":"123456788ce44028978a","permission":"r","create_at":"2021-05-18T14:26:07+00:00","view_cnt":0,"table_id":"0000","view_id":"NdFD","url":"https://cloud.seatable.io/dtable/view-external-links/123456788ce44028978a/","is_custom":false,"expire_date":""}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/view-external-links/{view_external_link_token}/":{"delete":{"tags":["Sharing Links"],"summary":"Delete View External Link","operationId":"deleteViewExternalLink","description":"Delete a view external link by its token. This token could be a custom token or a random token. Include the token in the URL, in this example, it's `example`.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/view_external_link_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtables/invite-links/":{"post":{"tags":["Sharing Links"],"summary":"Create Invite Link","operationId":"createInviteLink","description":"Use this request to generate an invite link for your base. See below for the details for the params.\n\nIn the **response:**\n\n*   If you have set a password, it won't be returned in the response. As soon as the response code is 200, your password has been successfully set.\n*   The `token` returned is the invite link's token. You'd need it in other requests like [Delete Invite Link](/reference/deleteinvitelink-1).","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"table_name":{"$ref":"#/components/schemas/table_name"},"workspace_id":{"$ref":"#/components/schemas/workspace_id"},"permission":{"$ref":"#/components/schemas/permission"},"password":{"$ref":"#/components/schemas/user_account_password"},"expire_days":{"$ref":"#/components/schemas/expire_days"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"permission":{"type":"string"},"token":{"type":"string"},"link":{"type":"string"},"dtable":{"type":"string"},"dtable_id":{"type":"integer"},"workspace_id":{"type":"integer"},"expire_date":{"type":"string"},"ctime":{"type":"string"}}},"example":{"username":"876543216569491ba42905bf1647fd3f@auth.local","permission":"rw","token":"65432148a9074901923d","link":"https://cloud.seatable.io/dtable/links/65432148a9074901923d/","dtable":"Example","dtable_id":562,"workspace_id":2,"expire_date":"2021-12-10T15:39:34+00:00","ctime":"2021-12-08T15:39:34.460559"}}}}}}},"/api/v2.1/dtables/invite-links/{invite_link_token}/":{"delete":{"tags":["Sharing Links"],"summary":"Delete Invite Link","operationId":"deleteInviteLink","description":"Delete an invite link via its `token`.\n\nDeleting an invite link won't stop sharing the base with the other users. If you want to stop sharing it, you can\n\n*   either use the base sharing dialogue on the web interface to stop sharing the base to certain users, or\n*   use the API request to [Stop Sharing Base to a user](/reference/deleteusershare).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/invite_link_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable/common-datasets/":{"post":{"tags":["Common Dataset"],"summary":"Publish Common Dataset","operationId":"publishCommonDataset","description":"You can publish a common dataset from a view, if the following conditions are met: - This base is in a group, and - You are the owner or admin of this group. After successful publishing, the returned `id` value is the ID of the common dataset.  All the request params are required.","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"dataset_name":{"$ref":"#/components/schemas/dataset_name"},"workspace_id":{"$ref":"#/components/schemas/workspace_id"},"dtable_name":{"$ref":"#/components/schemas/dtable_name"},"table_name":{"$ref":"#/components/schemas/table_name"},"view_name":{"$ref":"#/components/schemas/view_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"org_id":{"type":"integer"},"group_id":{"type":"integer"},"dtable_uuid":{"type":"string"},"table_id":{"type":"string"},"view_id":{"type":"string"},"created_at":{"type":"string"},"creator":{"type":"string"},"dataset_name":{"type":"string"}}},"example":{"id":9,"org_id":1,"group_id":48,"dtable_uuid":"12345678-3d14-49d0-ab62-c0f050f17e79","table_id":"0000","view_id":"0000","created_at":"2021-06-02T12:58:33+00:00","creator":"Jasmin Tee","dataset_name":"Test Dataset"}}}}}},"get":{"tags":["Common Dataset"],"summary":"List Common Datasets","operationId":"listCommonDataset","description":"List all the common datasets a particular base can access by its `base_uuid`.\n\nBasically, when a common dataset is shared to a group and this base is in the group, it has access to the common dataset.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dtable_uuid_query"},{"$ref":"#/components/parameters/by_group"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dataset_list":[{"id":26,"org_id":1,"dtable_uuid":"32b1e77a-3a4f-45fa-b420-6c231b20d4d2","table_id":"0000","view_id":"0000","created_at":"2020-07-13T09:01:20+00:00","creator":"f91a9c820b284249b3bb3396dc65bd64@auth.local","dataset_name":"SeaTable","can_manage":true}]}}}}}}},"/api/v2.1/dtable/common-datasets/{dataset_id}/import/":{"post":{"tags":["Common Dataset"],"summary":"Import Common Dataset","operationId":"importCommonDataset","description":"Import a common dataset into your destination base. This will create a new table labeled as a common dataset table.\r\n\r\nTo import a common dataset into a base, the following conditions have to be met:\r\n\r\n- The destination base is in a group, and\r\n- You are the admin or owner of this group, and\r\n- This group has access to the common dataset.\r\n\r\nThe ID of the common dataset can be retrieved via the request e.g. [List Common Datasets A Base Can Access](/reference/listcommondataset-1).","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dst_dtable_uuid":{"$ref":"#/components/schemas/dtable_uuid"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable/common-datasets/{dataset_id}/info/":{"get":{"tags":["Common Dataset"],"summary":"Get Common Dataset Info","operationId":"getCommonDatasetInfo","description":"List the basic information of the common dataset by the source table name and view name. The `dataset_id` used here is the ID you have retrieved from the response when you publish a common dataset.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dataset_info":{"table_name":"Table1","view_name":"Filter by ID"}}}}}}}},"/api/v2.1/dtable/common-datasets/{dataset_id}/":{"get":{"tags":["Common Dataset"],"summary":"Get Common Dataset","operationId":"getCommonDataset","description":"List the content of the common dataset by rows, columns and related users. The `dataset_id` used here is the ID you have retrieved from the response when you publish a common dataset.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object"}},"columns":{"type":"array","items":{"type":"object"}},"related_user_list":{"type":"array","items":{"type":"object"}}}},"example":{"rows":[{"_id":"Sn7svBUYTTmup7WuMsJhGw","Name":"11"}],"columns":[{"key":"0000","name":"Name","type":"text","width":200,"editable":true,"resizable":true}],"related_user_list":[{"email":"f91a9c820b284249b3bb3396dc65bd64@auth.local","name":"admin","contact_email":"admin@example.com","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"}]}}}}}},"put":{"tags":["Common Dataset"],"summary":"Rename Common Dataset","operationId":"renameCommonDataset","description":"Use this request to rename a common dataset.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataset_name":{"$ref":"#/components/schemas/dataset_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dataset":{"id":7,"org_id":1,"group_id":7,"dtable_uuid":"12345678-dc09-4b9a-bb60-4e04c00ea54f","table_id":"0000","view_id":"9vVn","created_at":"2021-04-06T08:13:04+00:00","creator":"Michael Jackson","dataset_name":"Success","can_manage":true,"dtable_name":"students","workspace_id":268,"dtable_icon":null,"dtable_color":null}}}}}}},"delete":{"tags":["Common Dataset"],"summary":"Delete Common Dataset","operationId":"deleteCommonDataset","description":"Delete a common dataset by its ID. This ID could be retrieved by the call e.g. [List Common Datasets A Base Can Access](/reference/listcommondataset-1).\n\nThis request doesn't delete anything in real. It just stops sharing that view from the original base. The data in the original base is intact.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable/common-datasets/{dataset_id}/sync/":{"put":{"tags":["Common Dataset"],"summary":"Update Common Dataset Sync","operationId":"updateCommonDatasetSync","description":"You can change the configuration of your common dataset's syncing with these params:\r\n\r\n`is_sync_periodically`: Whether syncing should be carried out daily (`true` or `false`, required);\r\n`dst_dtable_uuid`: The UUID of the base where you'd like this common dataset to sync to;\r\n`dst_table_id`: The ID of the destination table.\r\n\r\nAttention: This configuration update doesn't establish a new common dataset synchronization, but only can update existing common dataset connections.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"is_sync_periodically":{"$ref":"#/components/schemas/is_sync_periodically"},"dst_dtable_uuid":{"$ref":"#/components/schemas/dst_dtable_uuid"},"dst_table_id":{"$ref":"#/components/schemas/dst_table_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}},"post":{"tags":["Common Dataset"],"summary":"Sync Common Dataset","operationId":"syncCommonDataset","description":"Common datasets do not automatically synchronize with the original view. Use this request regularly to keep your data up-to-date.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dst_dtable_uuid":{"$ref":"#/components/schemas/dst_dtable_uuid"},"is_sync":{"$ref":"#/components/schemas/is_sync_periodically"},"dst_table_id":{"$ref":"#/components/schemas/table_id"},"dst_view_id":{"$ref":"#/components/schemas/view_id"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dataset_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"task_id":"a375e995-ed2b-4064-ae34-03a18bb0627e"}}}}}}},"/api/v2.1/dtable/common-datasets/syncs/":{"get":{"tags":["Common Dataset"],"summary":"List Sync History","operationId":"listSyncHistory","description":"Use this call to list off the common datasets synchronization history of the current base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dtable_uuid_query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dataset_sync_list":[{"id":5,"dataset_id":6,"dst_dtable_uuid":"45678901-2d53-4b7f-a8d4-35ee19ccd6f7","dst_table_id":"1v74","created_at":"2021-04-06T08:14:12+00:00","creator":"12345667d1754bb4afa2c2cb7369d244@auth.local","last_sync_time":"2021-04-06T08:15:54+00:00"},{"id":6,"dataset_id":7,"dst_dtable_uuid":"45678901-2d53-4b7f-a8d4-35ee19ccd6f7","dst_table_id":"67W0","created_at":"2021-04-06T08:14:16+00:00","creator":"12345667d1754bb4afa2c2cb7369d244@auth.local","last_sync_time":"2021-04-06T08:14:16+00:00"},{"id":44,"dataset_id":5,"dst_dtable_uuid":"45678901-2d53-4b7f-a8d4-35ee19ccd6f7","dst_table_id":"Axln","created_at":"2021-09-23T07:12:46+00:00","creator":"654321da6569491ba42905bf1647fd3f@auth.local","last_sync_time":"2021-09-23T07:13:59+00:00"},{"id":29,"dataset_id":19,"dst_dtable_uuid":"45678901-2d53-4b7f-a8d4-35ee19ccd6f7","dst_table_id":"SJd3","created_at":"2021-08-26T12:29:59+00:00","creator":"654321da6569491ba42905bf1647fd3f@auth.local","last_sync_time":"2021-08-26T12:30:44+00:00"}]}}}}}}},"/api/v2.1/address-book/departments/":{"get":{"tags":["Departments"],"summary":"List Departments","operationId":"listDepartments","description":"As a team (organization) user, you can use this API request to list all the departments in your team (organization).\n\nThe returned `id` values are the IDs of each department. If the `parent_group_id` is `-1`, it means this department is in the root level.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"departments":[{"id":10,"name":"Hulk's department","owner":"Hulk","created_at":"2021-08-25T08:35:52+00:00","parent_group_id":-1,"quota":-2}]}}}}}}},"/api/v2.1/address-book/departments/{department_id}/members/":{"get":{"tags":["Departments"],"summary":"List Deparment Members","operationId":"listDeparmentMembers","description":"List the members of a department in your team (organization).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/department_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"members":[{"email":"df0b9a4ca7f24d899a3039d082123456@auth.local","name":"Thor","contact_email":"thor@seatable.io","avatar_url":"","is_admin":false,"role":"Member"},{"email":"51a96159d5334afc9914561187654321@auth.local","name":"Hulk","contact_email":"hulk@seatable.io","avatar_url":"","is_admin":false,"role":"Member"}]}}}}}}},"/api/v2.1/forms/":{"get":{"tags":["Forms"],"summary":"List Forms","operationId":"listForms","description":"List all the forms of a base with full details of these forms. The returned `form_link` value is the URL of the form page, ready to be sent to survey participants.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id_query"},{"$ref":"#/components/parameters/base_name_query"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"form_list":[{"id":17,"username":"123456786569491ba42905bf1647fd3f@auth.local","workspace_id":1,"dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","form_config":"{\"form_name\":\"Test\",\"columns\":[{\"key\":\"0000\",\"is_required\":false,\"description\":\"\",\"filters\":[],\"filter_conjunction\":\"And\"},{\"key\":\"cCNi\",\"is_required\":false,\"description\":\"\",\"filters\":[],\"filter_conjunction\":\"And\"},{\"key\":\"BydO\",\"is_required\":false,\"description\":\"\",\"filters\":[],\"filter_conjunction\":\"And\"},{\"key\":\"p241\",\"is_required\":false,\"description\":\"\",\"filters\":[],\"filter_conjunction\":\"And\"}],\"table_id\":\"0000\",\"remarkOption\":{\"isRemarkContentShow\":true,\"remarkContent\":\"asdfasdfasdfasd\"},\"notification_config\":{\"is_send_notification\":false,\"notification_selected_users\":[]},\"top_remark_option\":{\"is_top_remark_content_show\":true,\"top_remark_content\":\"asdfasdfasdf\"},\"success_message_option\":{\"is_success_message_show\":true,\"success_message\":\"\"},\"success_redirect_option\":{\"is_success_redirect_show\":true,\"success_redirect\":\"\"},\"submit_deadline_option\":{\"is_submit_deadline_show\":true,\"submit_deadline\":\"2021-10-28 00:00:00\"}}","token":"12345678-d378-4c12-8d7a-6da0fb48ee83","form_link":"https://cloud.seatable.io/dtable/forms/12345678-d378-4c12-8d7a-6da0fb48ee83/","share_type":"shared_groups","created_at":"2021-01-18T15:01:36+00:00","submit_count":0}]}}}}}},"post":{"tags":["Forms"],"summary":"Create Form","operationId":"createForm","description":"Create a form in the base.\n\nTo customize this form, you can use the following request body in the\n`form_config` parameter and:\n\n* Define the name of the form;\n* Choose which columns to include in it;\n* Set required fields;\n* Add descriptions;\n* Add remarks;\n* Send notifications;\n* Add a notice on the top of the form;\n* Add a notice on the bottom of the form;\n* Show a notice after submission;\n* Add a redirect link after submission;\n* Set a submission deadline.\n\n```\n    {\n        \"form_name\":\"Customer Survey\",              // The name of your form\n        \"columns\":[                                 // Choose the columns to include\n            {\n                \"key\":\"0000\",                       // The column ID\n                \"is_required\":false,                // Set obligation\n                \"description\":\"\",                   // Add a description if needed\n                \"filters\":[],                       // Conditional question (details follow)\n                \"filter_conjunction\":\"And\"          // Filter behavior (details follow)\n            },\n            {\n                \"key\":\"zJSb\",\n                \"is_required\":false,\n                \"description\":\"\",\n                \"filters\":[],\n                \"filter_conjunction\":\"And\"\n            },\n            {\n                \"key\":\"xIy2\",\n                \"is_required\":false,\n                \"description\":\"\",\n                \"filters\":[],\n                \"filter_conjunction\":\"And\"\n            }\n        ],\n        \"table_id\":\"0000\",                          // ID of the table\n        \"remarkOption\":{                            // A notice at the bottom\n            \"isRemarkContentShow\":false,              \n            \"remarkContent\":\"\"\n            },\n        \"notification_config\":{                     // If notification will be sent  \n            \"is_send_notification\":false,\n            \"notification_selected_users\":[]\n            },\n        \"top_remark_option\":{                       // A notice at the top  \n            \"is_top_remark_content_show\":false,\n            \"top_remark_content\":\"\"\n            },\n        \"success_message_option\":{                  // A message after submission\n            \"is_success_message_show\":true,\n            \"success_message\":\"Thanks!\"\n            },\n        \"success_redirect_option\":{                 // A redirect URL after submission  \n            \"is_success_redirect_show\":true,\n            \"success_redirect\":\"www.google.com\"\n            },\n        \"\"submit_deadline_option\":{                 // An optional submission deadline\n            \"is_submit_deadline_show\":true,\n            \"submit_deadline\":\"2021-10-28 00:00:00\"\n            }\n    }\n```\n\n> 🚧 Resolving the White Page Issue in Edit Mode\n>\n> If you cannot open the newly generated form in edit mode, please check the browser console for error messages. Typically, the page remains blank if a configuration option is missing.\n","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"workspace_id":{"$ref":"#/components/schemas/workspace_id"},"name":{"$ref":"#/components/schemas/user_account_name"},"form_config":{"$ref":"#/components/schemas/form_config"}}}}}},"security":[{"AccountTokenAuth":[]}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object"},"example":{"form":{"id":12,"username":"123456786569491ba42905bf1647fd3f@auth.local","workspace_id":"1","dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","form_config":"{\"form_name\":\"Example\"}","token":"12345678-875f-4276-8444-85e2da2d56a0","form_link":"https://cloud.seatable.io/dtable/forms/12345678-875f-4276-8444-85e2da2d56a0/","share_type":"anonymous","created_at":"2021-03-17T12:52:12+00:00","submit_count":0}}}}}}}},"/api/v2.1/forms/{form_token}/":{"put":{"tags":["Forms"],"summary":"Update Form","operationId":"updateForm","description":"Update your form's configuration.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"form_config":{"$ref":"#/components/schemas/form_config"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/form_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"form":{"id":12,"username":"123456786569491ba42905bf1647fd3f@auth.local","workspace_id":"1","dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","form_config":"{\"form_name\":\"New name\"}","token":"12345678-875f-4276-8444-85e2da2d56a0","form_link":"https://cloud.seatable.io/dtable/forms/12345678-875f-4276-8444-85e2da2d56a0/","share_type":"anonymous","created_at":"2021-03-17T12:52:12+00:00","submit_count":0}}}}}}},"delete":{"tags":["Forms"],"summary":"Delete Form","operationId":"deleteForm","description":"Delete a form with its token.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/form_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/forms/{form_token}/duplicate/":{"post":{"tags":["Forms"],"summary":"Duplicate Form","operationId":"duplicateForm","description":"With a form's `form_token` (or `token` as returned by the call to list a user's or a base's forms), you can duplicate a form with this request.\n\nIn the response, the details of the newly created duplication are listed.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/form_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"form":{"id":2,"username":"876543216569491ba42905bf1647fd3f@auth.local","workspace_id":2,"dtable_uuid":"12345678-8faf-4bdb-ba99-ec54f6175f37","form_config":"{\"form_name\": \"New customer creation (1)\", \"columns\": [{\"key\": \"0000\", \"is_required\": true, \"description\": \"Please enter the full company name (e.g. Datamate GmbH&Co.KG).\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"5g71\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"meOZ\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"W87z\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"p4Pj\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"show_on_condition\": false, \"filter_conjunction\": \"And\"}, {\"key\": \"g1DV\", \"is_required\": true, \"description\": \"Please select the company size based on the number of employees.\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"24P5\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"Wqj9\", \"is_required\": true, \"description\": \"Please indicate the direct contact person.\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"TXk6\", \"is_required\": true, \"description\": \"Please enter the position of the contact person (e.g.: Head of Purchasing, HR Manager,...)\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"4oCA\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"aWo8\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"C9eh\", \"is_required\": false, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"7D0d\", \"is_required\": true, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"J4Ev\", \"is_required\": false, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"4Xpa\", \"is_required\": false, \"description\": \"Consent of the customer to receive marketing activities (newsletter, offers,...)\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"3wnd\", \"is_required\": true, \"description\": \"Potential annual turnover\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"VXF1\", \"is_required\": true, \"description\": \"*=low , **=mid, ***=high\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"cP4n\", \"is_required\": true, \"description\": \"Distribution phase\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"86y9\", \"is_required\": false, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}, {\"key\": \"ENlA\", \"is_required\": false, \"description\": \"\", \"filters\": [], \"filter_conjunction\": \"And\"}], \"table_id\": \"0000\", \"logo_url\": \"\", \"remarkOption\": {\"isRemarkContentShow\": false, \"remarkContent\": \"\"}, \"notification_config\": {\"is_send_notification\": false, \"notification_selected_users\": []}, \"top_remark_option\": {\"is_top_remark_content_show\": true, \"top_remark_content\": \"Please fill in all required fields to create the new customer. All mandatory fields are marked with an *.\"}, \"success_message_option\": {\"is_success_message_show\": true, \"success_message\": \"Der Kunde wurde erfolgreich angelegt!\"}, \"success_redirect_option\": {\"is_success_redirect_show\": false, \"success_redirect\": \"\"}, \"submit_deadline_option\": {\"is_submit_deadline_show\": false, \"submit_deadline\": \"\"}}","token":"100c127f-00ae-4781-99f0-0a5aa4a53615","form_link":"https://cloud.seatable.io/dtable/forms/100c127f-00ae-4781-99f0-0a5aa4a53615/","share_type":"anonymous","created_at":"2022-07-17T14:18:34+00:00","submit_count":0}}}}}}}},"/api/v2.1/forms/{form_token}/logos/":{"post":{"tags":["Forms"],"summary":"Upload Form Logo","operationId":"uploadFormLogo","description":"Use this request to upload a custom logo for your form using your form's `form_token`.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"form_logo":{"$ref":"#/components/schemas/form_logo"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/form_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/forms/shared/":{"get":{"tags":["Forms"],"summary":"List Shared Forms","operationId":"listSharedForms","description":"List all the shared forms the user has access to.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"shared_list":[{"id":67,"username":"1ed53263f17645c78dd3f57314051ea0@auth.local","workspace_id":377,"dtable_uuid":"00390415-b6dc-416a-8f2a-70a3a1356a18","form_id":"1884","form_config":"{\"form_name\":\"Employee Survey\"}","token":"8eid766e-baa8-4a75-b4ae-5dc162a62702","form_link":"https://cloud.seatable.io/dtable/forms/8eid766e-baa8-4a75-b4ae-5dc162a62702/","share_type":"shared_groups","created_at":"2020-11-18T14:53:15+00:00","submit_count":30,"group_name":"test group","group_id":49},{"id":86,"username":"1ed53263f17645c78dd3f57314051ea0@auth.local","workspace_id":377,"dtable_uuid":"35390415-b6dc-416a-8f2a-70a3a1356a18","form_id":"1KOJ","form_config":"{\"form_name\":\"Vendor Survey\"}","token":"8e63h5cb-78c9-4c86-abc2-54686e43ce21","form_link":"https://cloud.seatable.io/dtable/forms/8e63h5cb-78c9-4c86-abc2-54686e43ce21/","share_type":"shared_groups","created_at":"2020-11-11T13:33:26+00:00","submit_count":20,"group_name":"Datamate3","group_id":62}]}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/automation-rules/":{"get":{"tags":["Automations"],"summary":"List Automation Rules","operationId":"listAutomationRules","description":"List all the automation rules in a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable_automation_rule_list":[{"id":8,"dtable_uuid":"12345678-fd55-48e4-8c4a-5fd6f2549765","run_condition":"per_update","trigger":{"rule_name":"Regel ohne Titel","table_id":"0000","view_id":"0000","condition":"filters_satisfy","filters":[{"column_key":"72IC","filter_predicate":"is","filter_term":"381866"}],"filter_conjunction":"And","column_keys":["72IC"],"watch_all_columns":false},"actions":[{"type":"send_email","default_msg":"test","account_id":19,"subject":"test","send_to":"{Email}","copy_to":"","_id":"124596"}],"creator":"Michael Jackson","ctime":"2021-08-23T12:57:31+00:00","last_trigger_time":"2021-08-23T13:30:20+00:00","is_valid":true,"trigger_count":6}]}}}}}},"post":{"tags":["Automations"],"summary":"Create Automation Rule","operationId":"createAutomationRule","description":"You can set the automation rule to trigger by condition, or periodically. The following instruction shows you how to send the request body. Consult the example request for demonstration.\n\nAfter successful creation, an `id` is returned, this is the ID of the automation rule you just created, and is to be distinguished from the action's `_id` like explained below in the actions section.\n\n# First, define the running condition\n\nFor the `run_condition` parameter, use\n\n- `per_update` for conditional trigger, if the rule should be triggered when a certain condition is met when the table has been updated;\n- `per_day`, `per_week`, or `per_month` for periodical trigger, if the rule should be triggered periodically.\n    \n\n# Then, define the trigger condition\n\nIn the `trigger` object, all the following params are required:\n\n- `rule_name` is the name of this rule;\n- `table_id` is the ID of the table;\n- `view_id` is the ID of the view;\n- `condition` is how you'd like the rule to trigger. Use `filters_satisfy` for conditional trigger or `run_periodically` for periodical trigger.\n    \n\n## Determine the trigger scenario if `run_condition` is `per_update`\n\nIn the automation rule's trigger conditions, you can watch some or all of the columns for changes, and eventually set filter conditions to narrow down the watching. So that means there are three typical scenarios:\n\n- ### Watch all the columns without filters\n    \n      \n    This is the simplest scenario: whenever a record has been changed, this rule will trigger. To do this, just define `watch_all_columns` as `true` and you are good to go:\n    \n\n```\n    \"trigger\": {\n        \"rule_name\": \"Watch all\",\n        \"table_id\": \"0000\",\n        \"view_id\": \"0000\",\n        \"condition\": \"filters_satisfy\",\n        \"watch_all_columns\": true\n    }\n\n```\n\n- ### Watch one or more columns without filters\n    \n      \n    In the `column_keys` array, list the `key`s of columns you'd like to watch. Remember to set `watch_all_columns` to `false` (if you leave it as `true`, all the columns will be watched):\n    \n\n```\n    \"trigger\": {\n        \"rule_name\": \"Watch Name and Select\",\n        \"table_id\": \"0000\",\n        \"view_id\": \"0000\",\n        \"condition\": \"filters_satisfy\",\n        \"column_keys\": [\"0000\", \"72IC\"]\n    }\n\n```\n\n- ### To apply filters to the above scenarios\n    \n      \n    You'll need two further params, if you'd like to filter the watched columns:\n- `filters` as an object. For details, refer to the **SeaTable API Parameter Reference** under \"filters\".\n- `filter_conjunction`: Use `And` or `Or` for the filter conjunction logic.\n    \n\nHere's an example:\n\n```\n    \"trigger\": {\n        \"rule_name\": \"test-auto\",\n        \"table_id\": \"0000\",\n        \"view_id\": \"0000\",\n        \"condition\": \"filters_satisfy\",\n        \"filters\": [{\n            \"column_key\": \"0000\",\n            \"filter_predicate\": \"contains\",\n            \"filter_term\": \"yes\"\n        }, {\n            \"column_key\": \"_creator\",\n            \"filter_predicate\": \"contains\",\n            \"filter_term\": [\"0027d98c471a4ee69eaf073508fc0d27@auth.local\"]\n        }],\n        \"filter_conjunction\": \"And\"\n    }\n\n```\n\n## Determine the trigger scenario if `run_condition` is `per_day`, `per_week`, or `per_month`\n\nOne or more further params are required:\n\n- If the `run_condition` is `per_day`, define `notify_hour` here. Use `0` to `23` for the time of day you'd like the rule to trigger.\n- If the `run_condition` is `per_week`, define these two params:\n    - `notify_week_day`: Use an integer from `1` to `7` for Monday to Sunday, and\n    - `notify_week_hour`: Use `0` to `23` for the time of day you'd like the rule to trigger.\n- If the `run_condition` is `per_month`, define these two params:\n    - `notify_month_day`: Use an integer from `1` to `31` for the day of month. Attention: If it's set to `31` but a month doesn't have a 31st day, this rule won't be triggered. It'll only be triggered when the current day is a 31st.\n    - `notify_month_hour`: Use `0` to `23` for the time of day you'd like the rule to trigger.\n\nSee the example request for demonstration.\n\n# Last but not least: The action\n\nDifferent than the `trigger` object, the `actions` is a list of objects. This enables you to trigger multiple actions all at once.\n\n**In each action object**, the `_id` is the first parameter. It's an ID of the action. If you have multiple actions in one rule, they should carry different IDs. You can decide which ID an action should carry.\n\n### To notify one or more users:\n\n- `type` should be `notify`;\n- `users` is a list of user's IDs, it's optional if the `users_column_key` is defined;\n- `users_column_key` is a list of `key`s of columns that are the types of collaborator, creator or modifier;\n- `default_msg`: is the content of the message. You can use {column name} in the message to quote the content of a certain cell.\n    \n\nExample:\n\n```\n    \"actions\": [\n        {\n            \"type\": \"notify\",\n            \"users\": [],\n            \"default_msg\": \"look at {Name}.\",\n            \"_id\": \"740077\",\n            \"users_column_key\": \"iXRK\"\n        }\n    ]\n\n```\n\n### To modify the record:\n\n- `type` should be `update_record`;\n- `updates` is an object including the column `key` and desired content of each field that you would like to modify.\n    \n\nExample:\n\n```\n    \"actions\": [\n        {\n            \"type\": \"update_record\",\n            \"updates\": {\n                \"0000\": \"abc\",\n                \"6NKm\": 123\n            },\n            \"_id\": \"54696\"\n        }\n    ]\n\n```\n\n### To lock the record:\n\n- `type` should be `lock_record`;\n- `is_locked` set to `true` and the record that triggered the action will be locked.\n    \n\nExample:\n\n```\n    \"actions\": [\n        {\n            \"type\": \"lock_record\",\n            \"is_locked\": true,\n            \"_id\": \"872510\"\n        }\n    ]\n\n```\n\n### To add a new record:\n\n- `type` should be `add_record`;\n- `row` is an object including the column `key` and desired content of each field that you would like to add in the new record.\n    \n\nExample:\n\n```\n    \"actions\": [\n        {\n            \"type\": \"add_record\",\n            \"row\": {\n                \"0000\": \"abc\"\n            },\n            \"_id\": \"410993\"\n        }\n    ]\n\n```\n\n### To send an email:\n\n- `type` should be `send_email`;\n- `account_id` is the ID of the third party account you added in this base. Refer to [Third Party Email Accounts](/reference/listemailaccounts) for details;\n- `send_to` is the receiver's email address. If you would like to send to multiple receivers, separate their email addresses with comma (,) inside of the quotation mark.\n- `copy_to` is the CC receiver's email address. For multiple addresses see above.\n- `subject` is the subject of your email.\n- `default_msg` is the content of the message.\n    \n\nExample:\n\n```\n    \"actions\": [\n        {\n            \"type\": \"send_email\",\n            \"default_msg\": \"Content example.\",\n            \"account_id\": 17,\n            \"subject\": \"Subject sample\",\n            \"send_to\": \"email@example.com, email2@example.com\",\n            \"copy_to\": \"email3@example.com, email4@example.com\",\n            \"_id\": \"838356\"\n        }\n    ]\n}\n\n```","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/records_meet_specific_conditions_after_modification"},{"$ref":"#/components/schemas/row_added"},{"$ref":"#/components/schemas/run_periodically"},{"$ref":"#/components/schemas/run_periodically_on_records_meet_conditions"}]}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_uuid":{"type":"string"},"run_condition":{"type":"string"},"trigger":{"type":"object"},"actions":{"type":"array","items":{"type":"object"}},"creator":{"type":"string"},"ctime":{"type":"string"},"last_trigger_time":{"type":"string"},"is_valid":{"type":"boolean"},"trigger_count":{"type":"integer"}}},"example":{"id":12,"dtable_uuid":"a275d870-fd55-48e4-8c4a-5fd6f2549765","run_condition":"per_month","trigger":{"rule_name":"Test rule","table_id":"0000","view_id":"0000","condition":"run_periodically","date_column_name":"GebDat","notify_month_day":12,"notify_month_hour":15},"actions":[{"type":"notify","users":["1234560a6569491ba42905bf1647fd3f@auth.local"],"default_msg":"Take a look at this!","_id":"365729","users_column_key":""}],"creator":"Michael Jackson","ctime":"2021-08-25T10:01:44+00:00","last_trigger_time":"","is_valid":true,"trigger_count":0}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/automation-rules/{automation_rule_id}/":{"put":{"tags":["Automations"],"summary":"Update Automation Rule","operationId":"updateAutomationRule","description":"Update a base automation rule with this API request. Use the `id` you retrieved by listing automation rules or creating an automation rule.\n\nFor the exact parameters in the request body, consult the call \"Create A Base Automation Rule\".","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/records_meet_specific_conditions_after_modification"},{"$ref":"#/components/schemas/row_added"},{"$ref":"#/components/schemas/run_periodically"},{"$ref":"#/components/schemas/run_periodically_on_records_meet_conditions"}]}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/automation_rule_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"dtable_uuid":{"type":"string"},"run_condition":{"type":"string"},"trigger":{"type":"object"},"actions":{"type":"array","items":{"type":"object"}},"creator":{"type":"string"},"ctime":{"type":"string"},"last_trigger_time":{"type":"string"},"is_valid":{"type":"boolean"},"trigger_count":{"type":"integer"}}},"example":{"id":20,"dtable_uuid":"a275d870-fd55-48e4-8c4a-5fd6f2549765","run_condition":"per_month","trigger":{"rule_name":"Test rule","table_id":"0000","view_id":"0000","condition":"run_periodically","date_column_name":"GebDat","notify_month_day":12,"notify_month_hour":16},"actions":[{"type":"notify","users":["123456da6569491ba42905bf1647fd3f@auth.local"],"default_msg":"Take a look at this!","_id":"365729","users_column_key":""}],"creator":"Michael Jackson","ctime":"2021-08-25T12:04:35+00:00","last_trigger_time":"2021-08-25T12:35:54+00:00","is_valid":true,"trigger_count":2}}}}}},"delete":{"tags":["Automations"],"summary":"Delete Automation Rule","operationId":"deleteAutomationRule","description":"Delete an existing automation rule. This operation cannot be undone!","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/automation_rule_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/dtable/{base_uuid}/repair/":{"put":{"tags":["Maintenance"],"summary":"Repair Base","operationId":"repairBase","description":"Repairs a base identified by its base_uuid. This repair scripts tries to detect errors in the json object and fix common problems.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK indicating that the dtable was repaired.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":true}}},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/notification-rules/":{"get":{"tags":["Notifications"],"summary":"List Notification Rules","operationId":"listNotificationRules","description":"Use this request to list all the existing notification rules in the current base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable_notification_rule_list":[{"id":9,"run_condition":"per_update","trigger":{"rule_name":"Ruling","table_id":"0000","view_id":"Jz4d","condition":"rows_modified"},"action":{"type":"notify","default_msg":"Test rule is triggered!","users":["123456786569491ba42905bf1647fd3f@auth.local"],"users_column_key":"LfGJ"},"creator":"Jasmin Tee","ctime":"2021-02-22T12:15:45+00:00","last_trigger_time":""}]}}}}}},"post":{"tags":["Notifications"],"summary":"Add Notification Rule","operationId":"addNotificationRule","description":"Use this request to add a new notification rule for a base.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["run_condition","trigger","action"],"properties":{"run_condition":{"type":"string","enum":["per_day","per_update"],"description":"Defines whether the action is triggered by date or table update. For \"Records near deadline\" use \"per_day\". For \"Records modified\" and \"Records meet specific conditions after modification\" use \"per_update\".\n"},"trigger":{"type":"object","required":["rule_name","table_id","view_id","condition"],"properties":{"rule_name":{"type":"string","description":"The name of the rule."},"table_id":{"type":"string","description":"The ID of the table."},"view_id":{"type":"string","description":"The ID of the view."},"condition":{"type":"string","enum":["rows_modified","near_deadline","filters_satisfy"],"description":"The trigger condition type. Use \"near_deadline\" with \"per_day\" run_condition, \"rows_modified\" with \"per_update\", and \"filters_satisfy\" with \"per_update\".\n"},"date_column_name":{"type":"string","description":"The date column used for deadline (required if condition is near_deadline)."},"alarm_days":{"type":"integer","nullable":true,"description":"Days before deadline to trigger notification."},"notify_hour":{"type":"integer","nullable":true,"minimum":0,"maximum":23,"description":"Hour of day to send notification."},"watch_all_columns":{"type":"boolean","default":true,"description":"Whether to watch all columns for changes."},"column_keys":{"type":"array","items":{"type":"string"},"description":"List of specific column keys to watch."},"filters":{"$ref":"#/components/schemas/filters","description":"Filter conditions for triggering."},"filter_conjunction":{"type":"string","enum":["and","or"],"description":"How filters are combined."}}},"action":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["notify"],"description":"Currently only 'notify' for internal notification supported."},"users":{"type":"array","items":{"type":"string"},"description":"List of user IDs to notify."},"users_column_key":{"type":"string","description":"Column key with collaborators to notify."},"default_msg":{"type":"string","description":"Optional message to notify users."}}}},"example":{"run_condition":"per_update","trigger":{"rule_name":"Test 123","condition":"rows_modified","table_id":"0000","view_id":"0000","alarm_days":58,"notify_hour":21},"action":{"type":"notify","users":["{{user_id}}"]}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"run_condition":{"type":"string"},"trigger":{"type":"object"},"action":{"type":"object"},"creator":{"type":"string"},"ctime":{"type":"string"},"last_trigger_time":{"type":"string"}}},"example":{"id":24,"run_condition":"per_update","trigger":{"rule_name":"Test 123","condition":"rows_modified","table_id":"0000","view_id":"0000","alarm_days":58,"notify_hour":21},"action":{"type":"notify","users":["123456786569491ba42905bf1647fd3f@auth.local"]},"creator":"Jasmin Tee","ctime":"2021-03-15T13:25:36+00:00","last_trigger_time":""}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/notification-rules/{notification_rule_id}/":{"put":{"tags":["Notifications"],"summary":"Update Notification Rule","operationId":"updateNotificationRule","description":"Update the params of an existing notification rule.\n\nThe `notification_rule_id` is the ID of the notification to be updated. This can be retrieved by [List Notification Rules](/reference/listnotificationrules-1) or can be seen when you [Add Base Notification Rule](/reference/addnotificationrule).\n\nFor the exact params that you can update, refer to the params list in the call [Add Base Notification Rule](/reference/addnotificationrule).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"run_condition":{"$ref":"#/components/schemas/run_condition"},"trigger":{"$ref":"#/components/schemas/trigger"},"action":{"$ref":"#/components/schemas/action"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/notification_rule_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"run_condition":{"type":"string"},"trigger":{"type":"object"},"action":{"type":"object"},"creator":{"type":"string"},"ctime":{"type":"string"},"last_trigger_time":{"type":"string"}}},"example":{"id":19,"run_condition":"per_day","trigger":{"rule_name":"Test heute","condition":"rows_modified","table_id":"0000","view_id":"0000"},"action":{"type":"notify","users":["1234567a6569491ba42905bf1647fd3f@auth.local"]},"creator":"Jasmin Tee","ctime":"2021-02-22T16:03:07+00:00","last_trigger_time":""}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Notification Rule","operationId":"deleteNotificationRule","description":"Delete an existing notification rule.\n\nThe `notification_rule_id` is the ID of the notification to be deleted. This can be retrieved by [List Notification Rules](/reference/listnotificationrules-1) or can be seen when you [Add Base Notification Rule](/reference/addnotificationrule).","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/notification_rule_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/notifications/":{"delete":{"tags":["Notifications"],"summary":"Mark Notifications As Seen","operationId":"markNotificationAsSeen","description":"Delete all notifications sent to the current user.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/sys-user-notifications/unseen/":{"get":{"tags":["System Notifications"],"summary":"List System Notifications","operationId":"listSystemNotifications","description":"List all the notifications that are unseen by the users. A user can only mark a system notification as seen by clicking on the \"x\" to close it.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"notifications":[{"id":3,"msg":"Hello user!","username":"1234567a6569491ba42905bf1647fd3f@auth.local","name":"Jasmin Tee","contact_email":"jasmin@example.com","seen":false,"org_name":"Team Jasmin Tee","created_at":"2021-02-26T16:55:09+00:00","msg_format":"Hello user!"},{"id":2,"msg":"Hello user!","username":"1234567a6569491ba42905bf1647fd3f@auth.local","name":"Jasmin Tee","contact_email":"jasmin@example.com","seen":false,"org_name":"Team Jasmin Tee","created_at":"2021-02-26T16:55:08+00:00","msg_format":"Hello user!"}]}}}}}}},"/api/v2.1/sys-user-notifications/{sys_notification_id}/seen/":{"put":{"tags":["System Notifications"],"summary":"Mark System Notification As Seen","operationId":"markSystemNotificationsAsSeen","description":"Mark a system notification as seen with its ID.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/sys_notification_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"notification":{"id":1,"msg":"Hello user!","username":"1234567a6569491ba42905bf1647fd3f@auth.local","name":"Jasmin Tee","contact_email":"jasmin@example.com","seen":true,"org_name":"Team Jasmin Tee","created_at":"2021-02-26T16:55:09+00:00","msg_format":"Hello user!"}}}}}}}},"/api/v2.1/third-party-accounts/{base_uuid}/":{"get":{"tags":["Email Accounts"],"summary":"List Email Accounts","operationId":"listEmailAccounts","description":"List all email accounts available in a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"accounts_list":[{"id":5,"account_name":"Email Server1","account_type":"email","detail":{"email_host":"smtp.example.com","email_port":587,"host_user":"max@example.com","password":"123456"}}]}}}}}},"post":{"tags":["Email Accounts"],"summary":"Add Email Account","operationId":"addEmailAccount","description":"Bound a third party email account in a base by using the params in the sample request body. The returned `id` value is the ID of this account.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"account_name":{"$ref":"#/components/schemas/account_name"},"account_type":{"$ref":"#/components/schemas/account_type"},"detail":{"$ref":"#/components/schemas/detail"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object"},"example":{"account":{"id":5,"account_name":"Email Server1","account_type":"email","detail":{"email_host":"http://smtp.example.com","email_port":587,"host_user":"Max","password":"123456"}}}}}}}}},"/api/v2.1/third-party-accounts/{base_uuid}/{3rd_party_account_id}/":{"put":{"tags":["Email Accounts"],"summary":"Update Email Account","operationId":"updateEmailAccount","description":"Change the account name, type, or detail (host, port, username or password) of a third party account using the account's ID in the URL. This ID can be retrieved by the call [List 3rd Party Email Accounts](/reference/listemailaccounts), or by [Add 3rd Party Email Account](/reference/addemailaccount).","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"account_name":{"$ref":"#/components/schemas/account_name"},"account_type":{"$ref":"#/components/schemas/account_type"},"detail":{"$ref":"#/components/schemas/detail"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"},{"$ref":"#/components/parameters/3rd_party_account_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"account":{"id":5,"account_name":"Email Server2","account_type":"email","detail":{"email_host":"smtp.example.com","email_port":587,"host_user":"max@example.com","password":"654321"}}}}}}}},"delete":{"tags":["Email Accounts"],"summary":"Delete Email Account","operationId":"deleteEmailAccount","description":"Delete a third party account using its ID in the request URL.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"},{"$ref":"#/components/parameters/3rd_party_account_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/third-party-accounts/{base_uuid}/detail/":{"get":{"tags":["Email Accounts"],"summary":"Get Email Account","operationId":"getEmailAccount","description":"Get the details of a 3rd party email account's information by its `account_name` in the URL.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/account_name"},{"$ref":"#/components/parameters/base_uuid"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"account":{"id":5,"account_name":"Email Server2","account_type":"email","detail":{"email_host":"smtp.example.com","email_port":587,"host_user":"max@example.com","password":"654321"}}}}}}}}},"/api/v2.1/dtable-message-status/":{"get":{"tags":["Email Accounts"],"summary":"Get Email Sending Status","operationId":"getEmailSendingStatus","description":"Query the task status with the returned `task_id` when you **Send An Email via 3rd Party Account**. If you get an error message:\n```json {\n    \"error_msg\": \"task_id invalid.\"\n} ```\nit means that the task has failed. This is most probably due to wrong account information.\n\nAttention: After the task has been finished, you can only query it for once. A second query will also return the above error.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/task_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"is_finished":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/webhooks/":{"get":{"tags":["Webhooks"],"summary":"List Webhooks","operationId":"listWebhooks","description":"List all the webhooks created in a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"webhook_list":[{"id":1,"dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","url":"https://www.google.com","creator":"123456786569491ba42905bf1647fd3f@auth.local","created_at":"2021-03-16T14:27:58.873621","settings":{"secret":"123456"}}]}}}}}},"post":{"tags":["Webhooks"],"summary":"Create Webhook","operationId":"createWebhook","description":"Create a new webhook for a base.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/url"},"secret":{"$ref":"#/components/schemas/secret"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"webhook":{"id":1,"dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","url":"https://www.google.com","creator":"123456786569491ba42905bf1647fd3f@auth.local","created_at":"2021-03-16T14:27:58.873621","settings":{"secret":"123456"}}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/webhooks/{webhook_id}/":{"put":{"tags":["Webhooks"],"summary":"Update Webhook","operationId":"updateWebhook","description":"Update the URL and/or secret of a webhook.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/url"},"secret":{"$ref":"#/components/schemas/secret"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/webhook_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"webhook":{"id":1,"dtable_uuid":"12345678-7e27-46a8-8b18-6cc6f3db2057","url":"https://seatable.com","creator":"123456786569491ba42905bf1647fd3f@auth.local","created_at":"2021-03-16T14:27:58.873621","settings":{"secret":"135246"}}}}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete Webhook","operationId":"deleteWebhook","description":"Remove a webhook from a base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/webhook_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"success":true}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/snapshots/":{"get":{"tags":["Snapshots"],"summary":"List Snapshots","operationId":"listSnapshots","description":"List all the snapshots currently available in a base. The snapshots are saved as `.dtable` files, and therefore returned as a base name with this suffix. The `commit_id` is the ID of the snapshot, and the `ctime` is the time of creation.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/per_page"},{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"snapshot_list":[{"dtable_name":"Example.dtable","commit_id":"7ee107a4eadb9561e8ce7699494939015f0d101b","ctime":"2021-03-10T16:01:12+00:00"},{"dtable_name":"Example.dtable","commit_id":"57a3b429750663ebf64d58ab4fd5e378ad85d6aa","ctime":"2021-03-04T16:00:10+00:00"},{"dtable_name":"Example.dtable","commit_id":"68730615428fe8497612e5a9df90fe62f86eb219","ctime":"2021-03-02T10:30:00+00:00"}],"page_info":{"has_next_page":true,"current_page":1}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/snapshots/{commit_id}/restore/":{"post":{"tags":["Snapshots"],"summary":"Restore Snapshot","operationId":"restoreSnapshot","description":"Restore a snapshot and save it as a new base besides the existing base. \n\nThe `commit_id` is the ID of the snapshot to be restored. This can be retrieved with the call [List Snapshots](/reference/listsnapshots).\n\nYou can give the restored base a new name by defining the value of the `snapshot_name` param. If left blank, SeaTable gives the restored base a default name which is a combination of the original base name and \"(restored)\" or similar.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"snapshot_name":{"$ref":"#/components/schemas/snapshot_name"}}}}}},"security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"},{"$ref":"#/components/parameters/commit_id"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"dtable":{"id":91,"workspace_id":504,"uuid":"12345678-61c6-4b3c-a108-c033cfff9862","name":"Example version last Wednesday","creator":"Jasmin Tee","modifier":"Jasmin Tee","created_at":"2021-03-15T13:45:43+00:00","updated_at":"2021-03-15T13:45:43+00:00","color":null,"text_color":null,"icon":null}}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/archive-backups/":{"get":{"tags":["Snapshots"],"summary":"List Big Data Backups","operationId":"listBigDataBackups","description":"List all available big data backups.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"backup_list":[{"dtable_name":"Example","version":"16","ctime":"2021-03-10T16:01:12+00:00"}]}}}}}}},"/api/v2.1/workspace/{workspace_id}/dtable/{base_name}/big-data-state/":{"get":{"tags":["Snapshots"],"summary":"Get Big Data Status","operationId":"getBigDataStatus","description":"Verifies if Big Data is activated in the base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/workspace_id"},{"$ref":"#/components/parameters/base_name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"big_data_enabled":true}}}}}}},"/api/v2.1/universal-apps/":{"get":{"tags":["Apps"],"summary":"List Apps","operationId":"listApps","description":"Lists all universal apps that you manage or have access to.","security":[{"AccountTokenAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"my_managed_apps":[{"app_user_id":13,"app_id":20,"app_name":"test","app_token":"5863cf72-a3fa-488a-84cd-d02d2c578660","app_config":"{\"app_type\": \"universal-app\", \"app_name\": \"test\", \"settings\": {\"pages\": [{\"id\": \"XtTu\", \"name\": \"test\", \"type\": \"custom_page\", \"icon\": \"app-gallery\", \"content_url\": \"https://cloud.seatable.io/workspace/3/asset/2d0d0c32-5e79-4437-a414-766ade7618a5/external-apps/XtTu/XtTu.json\", \"trigger_workflow_option\": {\"can_trigger_workflow\": false}}], \"navigation\": [{\"id\": \"XtTu\", \"type\": \"page\"}]}, \"use_custom_icon\": false, \"icon_class_name\": \"customer-contract-management\", \"app_icon\": \"\", \"app_theme_mode\": \"dark\", \"icon_color_index\": 0, \"app_theme_color\": \"#FF8000\"}","role_name":"admin","permission":"rw","dtable_uuid":"2d0d0c325e794437a414766ade7618a5","dtable_name":"button create two pdf","workspace_id":3,"link":"https://cloud.seatable.io/external-apps/5863cf72-a3fa-488a-84cd-d02d2c578660/","edit_link":"https://cloud.seatable.io/dtable/external-apps-edit/5863cf72-a3fa-488a-84cd-d02d2c578660/","joined_at":"2023-01-05T09:30:25+00:00"},{"app_user_id":16,"app_id":23,"app_name":"app","app_token":"00252a1e-6b47-4df6-bfe7-c69eb8a9f905","app_config":"{\"app_type\": \"universal-app\", \"app_name\": \"app\", \"settings\": {\"pages\": [{\"id\": \"IpvJ\", \"name\": \"test\", \"type\": \"custom_page\", \"icon\": \"app-form\", \"content_url\": \"https://cloud.seatable.io/workspace/3/asset/a81922f3-ead6-4904-942e-4617402b8006/external-apps/IpvJ/IpvJ.json\", \"trigger_workflow_option\": {\"can_trigger_workflow\": false}}], \"navigation\": [{\"id\": \"IpvJ\", \"type\": \"page\"}]}, \"use_custom_icon\": false, \"icon_class_name\": \"customer-contract-management\", \"app_icon\": \"\", \"app_theme_mode\": \"dark\", \"icon_color_index\": 0, \"app_theme_color\": \"#FF8000\"}","role_name":"admin","permission":"rw","dtable_uuid":"f80260f70ad246aca54ffa1a17bc9db6","dtable_name":"history test","workspace_id":178,"link":"https://cloud.seatable.io/external-apps/00252a1e-6b47-4df6-bfe7-c69eb8a9f905/","edit_link":"https://cloud.seatable.io/dtable/external-apps-edit/00252a1e-6b47-4df6-bfe7-c69eb8a9f905/","joined_at":"2023-01-05T15:34:46+00:00"},{"app_user_id":23,"app_id":32,"app_name":"fdsafda","app_token":"d356b5ce-9c5a-41fb-afc5-582dff6d58a4","app_config":"{\"app_type\": \"universal-app\", \"app_name\": \"fdsafda\", \"settings\": {\"pages\": [{\"id\": \"U5cm\", \"name\": \"Jahresbericht Gesch\\u00e4ftsf\\u00fchrung\", \"type\": \"table\", \"icon\": \"app-matter\", \"table_id\": \"3faP\", \"shown_column_keys\": [\"0000\", \"YYNh\", \"Hnyo\", \"VWk1\", \"Gv8f\", \"y7md\", \"3ZI9\", \"THwL\", \"54Y4\", \"e1fM\", \"Ensz\", \"dn48\", \"M2Gt\", \"J62V\", \"NyvH\", \"vp8P\", \"4mE3\", \"qMqR\", \"WZkj\", \"9DqI\", \"HPNC\", \"K9ES\", \"G0y0\"], \"filters\": [], \"sorts\": [], \"filter_conjunction\": \"And\", \"link_columns_settings\": [{\"key\": \"VWk1\", \"link_filter_conjunction\": \"And\", \"link_filters\": [], \"enable_add_new_records\": true, \"enable_link_existing_records\": true, \"add_link_visible_column_fields\": [], \"add_link_required_column_fields\": [], \"link_at_most_one_record\": false, \"link_existed_visible_column_fields\": []}, {\"key\": \"vp8P\", \"link_filter_conjunction\": \"And\", \"link_filters\": [], \"enable_add_new_records\": true, \"enable_link_existing_records\": true, \"add_link_visible_column_fields\": [], \"add_link_required_column_fields\": [], \"link_at_most_one_record\": false, \"link_existed_visible_column_fields\": []}, {\"key\": \"G0y0\", \"link_filter_conjunction\": \"And\", \"link_filters\": [], \"enable_add_new_records\": true, \"enable_link_existing_records\": true, \"add_link_visible_column_fields\": [], \"add_link_required_column_fields\": [], \"link_at_most_one_record\": false, \"link_existed_visible_column_fields\": []}], \"page_permissions\": {\"add_rows_permission\": {\"permission_type\": \"none\", \"permitted_roles\": []}, \"edit_rows_permission\": {\"permission_type\": \"default\", \"permitted_roles\": []}, \"delete_rows_permission\": {\"permission_type\": \"none\", \"permitted_roles\": []}}, \"trigger_workflow_option\": {\"can_trigger_workflow\": false}}], \"navigation\": [{\"id\": \"U5cm\", \"type\": \"page\"}]}, \"use_custom_icon\": false, \"icon_class_name\": \"customer-contract-management\", \"app_icon\": \"\", \"app_theme_mode\": \"dark\", \"icon_color_index\": 0, \"app_theme_color\": \"#FF8000\"}","role_name":"admin","permission":"rw","dtable_uuid":"061bed9f886b4862a51b2c4fd0bde478","dtable_name":"BusinessHippies Final (1)","workspace_id":3,"link":"https://cloud.seatable.io/external-apps/d356b5ce-9c5a-41fb-afc5-582dff6d58a4/","edit_link":"https://cloud.seatable.io/dtable/external-apps-edit/d356b5ce-9c5a-41fb-afc5-582dff6d58a4/","joined_at":"2023-02-10T10:35:02+00:00"}],"can_use_apps":[]}}}}}}},"/api/v2.1/universal-apps/{app_token}/app-users/batch/":{"post":{"tags":["Apps"],"summary":"Import Users to App","operationId":"importUsersToApp","description":"Imports multiple users to a universal app in a single batch operation.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/app_token"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"users_info":{"type":"array","items":{"$ref":"#/components/schemas/users_info"}}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"example":{"success":[{"id":73,"email":"53f1af67b0dd492491264dd8143040b3@auth.local","created_at":"2022-08-05T16:58:33+08:00","is_active":true,"name":"org_guest","app_name":"My App","role_id":21,"role_name":"default","role_permission":"rw","avatar_url":"https://cloud.seatable.io/media/avatars/default.png"}]}}}}}}},"/api/v2.1/universal-apps/{app_token}/app-users/":{"get":{"tags":["Apps"],"summary":"List Universal App Users","operationId":"listUniversalAppUsers","description":"Lists all users of a specific universal app.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/app_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"app_users":[{"id":54,"email":"145504ae043c438cbb55f2afb084d586@auth.local","created_at":"2023-04-02T20:59:23+00:00","is_active":true,"name":"Hulk","app_name":"Dgdfh","role_id":101,"role_name":"admin","role_permission":"rw","avatar_url":"https://cloud.seatable.io/media/avatars/1/1/10f6c82c6733f96517798c7dd123a1/resized/80/96a6957d9995a2cd05039f8a1fff6e80_xUDfC2V.png"}],"total_count":1}}}}}}},"/api/v2.1/universal-apps/{app_token}/invite-links/":{"get":{"tags":["Apps"],"summary":"List App Invite Links","operationId":"listAppInviteLinks","description":"Lists all invite links for a specific universal app.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/app_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"app_share_links":[{"username":"145504ae043c438cbb55f2afb084d586@auth.local","token":"a3ec5042d7ae47f18c2e","link":"https://cloud.seatable.io/dtable/universal-app/links/a3ec5042d7ae47f18c2e/","app_name":"Dgdfh","app_id":72,"expire_date":"","ctime":"2023-04-02T21:23:21+00:00","is_protected":false,"role_name":"default","role_permission":"rw","role_id":100}]}}}}}}},"/api/v2.1/external-apps/{app_token}/status/":{"put":{"tags":["Apps"],"summary":"Change App Status","operationId":"changeAppStatus","description":"Activate or deactivate a universal app. Pay attention that `true` means the app is inactive. `false` means the app is active.","security":[{"AccountTokenAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/is_inactive"}}}},"parameters":[{"$ref":"#/components/parameters/app_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"external_app":{"id":296,"token":"a3ec5042d7ae47f18c2e","dtable_uuid":"92b3bf0e4e2c4f5486a229a3cbb8e160","app_type":"universal-app","app_config:":{"app_type":"universal-app","app_name":"My first universal app","settings":{"pages":["..."]}},"created_at":"2023-04-02T21:23:21+00:00","external_app_url":"https://cloud.seatable.io/dtable/universal-app/links/a3ec5042d7ae47f18c2e/","visit_times":3,"creator":"Hulk","can_anonymous_access":false,"inactive":false}}}}}}}},"/api/v2.1/dtable-activities/":{"get":{"tags":["Activities & Logs"],"summary":"Get Base Activities","operationId":"getBaseActivities","description":"List the user's base activities in the past week.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/per_page"},{"$ref":"#/components/parameters/tz"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"table_activities":[{"dtable_uuid":"d48c3aae-dbc1-4325-a890-1c2e79ea5319","workspace_id":125,"dtable_name":"SeaTable API Docs","dtable_icon":"icon-research","dtable_color":"#1688FC","op_date":"2020-11-09T09:59:13+00:00","insert_row":0,"modify_row":13,"delete_row":0},{"dtable_uuid":"d48c3aae-dbc1-4325-a890-1c2e79ea5319","workspace_id":131,"dtable_name":"Release Date management","dtable_icon":"","dtable_color":"","op_date":"2020-11-09T08:16:13+00:00","insert_row":0,"modify_row":1,"delete_row":0}]}}}}}}},"/api/v2.1/dtable-activities/detail/":{"get":{"tags":["Activities & Logs"],"summary":"Get Base Activity Details","operationId":"getBaseActivityDetails","description":"List all activities of one specific base.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/dtable_uuid_query"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/per_page"},{"$ref":"#/components/parameters/op_date"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"},"example":{"activities":[{"dtable_uuid":"d48c3aae-dbc1-4325-a890-1c2e79ea5319","row_id":"TMtyvDMNROq-dOJJqaqq9w","op_type":"modify_row","author_email":"2d67c225c64f4305ada3e5820ce6d660@auth.local","author_name":"John Smith","author_contact_email":"john@example.com","op_time":"2023-06-29T15:21:19+02:00","table_id":0,"table_name":"SeaTable API Docs","row_count":1,"row_name":"Hans","row_name_option":"","row_data":["..."],"op_app":null,"avatar_url":"https://cloud.seatable.io/media/avatars/default.png"}]}}}}}}},"/api/v2.1/dtables/{base_uuid}/big-data-operation-logs/":{"get":{"tags":["Activities & Logs"],"summary":"Get Big Data Operation Logs","operationId":"getBigDataOperationLogs","description":"Fetches big data operation logs for a specified base identified by its base_uuid. Every page returns 100 entries by default.","security":[{"AccountTokenAuth":[]}],"parameters":[{"$ref":"#/components/parameters/base_uuid"},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/per_page"}],"responses":{"200":{"description":"OK with the queried big data operation logs.","content":{"application/json":{"schema":{"type":"object","properties":{"operations":{"type":"array","description":"A list of big data operation logs.","items":{"type":"object","properties":{"dtable_uuid":{"type":"string","format":"uuid","description":"The UUID of the dtable where the operation occurred.","example":"36b5bf9994054ef2bc33ba762deaecb7"},"id":{"type":"integer","description":"The ID of the operation.","example":8},"op_time":{"type":"integer","description":"The Unix timestamp of when the operation occurred.","example":1724039595},"author":{"type":"string","description":"The username of the person who performed the operation.","example":"509fe338ed4f44099158d7143e4e4de3@auth.local"},"operation":{"type":"object","description":"Details of the specific operation.","properties":{"row_id":{"type":"string","description":"The ID of the row affected by the operation.","example":"SQNJkddjSDGBdWBtdLZC6g"},"table_id":{"type":"string","description":"The ID of the table affected by the operation.","example":"plBR"},"op_type":{"type":"string","description":"The type of operation (e.g., `update_row`, `add_row`).","example":"update_row"},"updated":{"type":"object","description":"The updated values in the row after the operation.","additionalProperties":{"type":"string"},"example":{"_last_modifier":"509fe338ed4f44099158d7143e4e4de3@auth.local","_mtime":"2024-08-19T11:53:15.971162964+08:00","h1Xs":"wwww"}},"old_row":{"type":"object","description":"The original values in the row before the operation.","additionalProperties":{"type":"string"},"example":{"_last_modifier":"509fe338ed4f44099158d7143e4e4de3@auth.local","_mtime":"2024-08-19T11:53:14.969+08:00","h1Xs":null}},"row_data":{"type":"object","description":"Data of the row being added (for `add_row` operation).","additionalProperties":{"type":"string"},"example":{"_creator":"509fe338ed4f44099158d7143e4e4de3@auth.local","_ctime":"2024-08-19T11:53:13.103871879+08:00","_id":"SQNJkddjSDGBdWBtdLZC6g","_last_modifier":"509fe338ed4f44099158d7143e4e4de3@auth.local","_mtime":"2024-08-19T11:53:13.103871879+08:00"}}}}}}}}},"example":{"operations":[]}}}}}}}}}