服务端 API/云文档/多维表格/数据表/新增一个数据表
# 新增一个数据表

新增一个数据表，支持传入数据表名称、视图名称和字段。

## 前提条件

调用此接口前，请确保当前调用身份（tenant_access_token 或 user_access_token）已有多维表格的编辑等文档权限，否则接口将返回 HTTP 403 或 400 状态码。了解更多，参考[如何为应用或用户开通文档权限](https://open.larksuite.com/document/ukTMukTMukTM/uczNzUjL3czM14yN3MTN#16c6475a)。

## 使用限制

每个多维表格中，数据表与仪表盘的总数量上限为 100。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.larksuite.com/open-apis/bitable/v1/apps/:app_token/tables
HTTP Method | POST
接口频率限制 | [10 次/秒](https://open.larksuite.com/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 新增数据表(base:table:create)<br>查看、评论、编辑和管理多维表格(bitable:app)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 路径参数

名称 | 类型 | 描述
---|---|---
app_token | string | 多维表格 App 的唯一标识。不同形态的多维表格，其 app_token 的获取方式不同：<br>- 如果多维表格的 URL 以 ==**larksuite.com/base**== 开头，该多维表格的 `app_token` 是 base 之后的字符串<br>- 如果多维表格的 URL 以 ==**larksuite.com/wiki**== 开头，你需调用知识库相关[获取知识空间节点信息](https://open.larksuite.com/document/ukTMukTMukTM/uUDN04SN0QjL1QDN/wiki-v2/space/get_node)接口获取多维表格的 app_token。当 `obj_type` 的值为 `bitable` 时，`obj_token` 字段的值才是多维表格的 `app_token`<br>**示例值**："appbcbWCzen6D8dezhoCH2RpMAh"<br>**数据校验规则**：<br>- 最小长度：`1` 字符

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
table | req_table | 否 | 数据表
name | string | 否 | 数据表名称。该字段必填。<br>**注意**：<br>- 名称中的首尾空格将会被默认去除。<br>- 数据表名称不可以包含 `/ \ ? * :  [ ]` 等特殊字符。<br>**示例值**："一个新的数据表"<br>**数据校验规则**：<br>- 长度范围：`1` ～ `100` 字符
default_view_name | string | 否 | 默认表格视图的名称，不填则默认为“表格视图 1”。<br>注意：<br>- 名称中的首尾空格将会被去除。<br>- 名称中不允许包含 [ ] 两个字符<br>**示例值**："表格视图"
fields | app.table.create_header\[\] | 否 | 数据表的初始字段。了解如何填写字段，参考[字段编辑指南](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-field/guide)。<br>**注意**：<br>- 如果 `default_view_name` 字段和 `fields` 字段都不填写，将会创建一个仅包含索引字段的空数据表。<br>- 数据表的第一个字段为索引字段。索引字段仅支持以下类型：<br>- 1：多行文本<br>- 2：数字<br>- 5：日期<br>- 13：电话号码<br>- 15：超链接<br>- 20：公式<br>- 22：地理位置 <br>**数据校验规则**：<br>- 长度范围：`1` ～ `300`
field_name | string | 是 | 字段名称<br>**示例值**："问题描述"
type | int | 是 | 字段类型。不支持新增 19 查找引用字段类型。<br>**示例值**：1<br>**可选值有**：<br>- 1：文本<br>- 2：数字<br>- 3：单选<br>- 4：多选<br>- 5：日期<br>- 7：复选框<br>- 11：人员<br>- 13：电话号码<br>- 15：超链接<br>- 17：附件<br>- 18：单向关联<br>- 20：公式<br>- 21：双向关联<br>- 22：地理位置<br>- 23：群组<br>- 1001：创建时间<br>- 1002：最后更新时间<br>- 1003：创建人<br>- 1004：修改人<br>- 1005：自动编号
ui_type | string | 否 | 字段在界面上的展示类型，例如 Progress 进度字段是数字的一种展示形态<br>**示例值**："Progress"<br>**可选值有**：<br>- Text：文本<br>- Barcode：条码<br>- Number：数字<br>- Progress：进度<br>- Currency：货币<br>- Rating：评分<br>- SingleSelect：单选<br>- MultiSelect：多选<br>- DateTime：日期<br>- Checkbox：复选框<br>- User：人员<br>- GroupChat：群组<br>- Phone：电话号码<br>- Url：超链接<br>- Attachment：附件<br>- SingleLink：单向关联<br>- Formula：公式<br>- DuplexLink：双向关联<br>- Location：地理位置<br>- CreatedTime：创建时间<br>- ModifiedTime：最后更新时间<br>- CreatedUser：创建人<br>- ModifiedUser：修改人<br>- AutoNumber：自动编号
property | app.table.field.property | 否 | 字段属性
options | app.table.field.property.option\[\] | 否 | 单选、多选字段的选项信息
name | string | 否 | 选项名<br>**示例值**："红色"
id | string | 否 | 选项 ID，创建时不可指定 ID<br>**示例值**："optKl35lnG"
color | int | 否 | 选项颜色，详情参考[字段编辑指南](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-field/guide)。<br>**示例值**：0<br>**数据校验规则**：<br>- 取值范围：`0` ～ `54`
formatter | string | 否 | 数字、公式字段的显示格式。详情参考[字段编辑指南](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-field/guide)。<br>**示例值**："0"
date_formatter | string | 否 | 日期、创建时间、最后更新时间字段的显示格式。详情参考[字段编辑指南](https://open.larksuite.com/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-field/guide)。<br>**示例值**："日期格式"
auto_fill | boolean | 否 | 日期字段中新纪录自动填写创建时间<br>**示例值**：false
multiple | boolean | 否 | 人员字段中允许添加多个成员，单向关联、双向关联中允许添加多个记录<br>**示例值**：false
table_id | string | 否 | 单向关联、双向关联字段中关联的数据表的id<br>**示例值**："tblsRc9GRRXKqhvW"
table_name | string | 否 | 单向关联、双向关联字段中关联的数据表的名字<br>**示例值**："table2"
back_field_name | string | 否 | 双向关联字段中关联的数据表中对应的双向关联字段的名字<br>**示例值**："table1-双向关联"
auto_serial | app.field.property.auto_serial | 否 | 自动编号类型
type | string | 是 | 自动编号类型<br>**示例值**："auto_increment_number"<br>**可选值有**：<br>- custom：自定义编号<br>- auto_increment_number：自增数字
options | app.field.property.auto_serial.options\[\] | 否 | 自动编号规则列表
type | string | 是 | 自动编号的可选规则项类型<br>**示例值**："created_time"<br>**可选值有**：<br>- system_number：自增数字位,value范围1-9<br>- fixed_text：固定字符，最大长度：20<br>- created_time：创建时间，支持格式 "yyyyMMdd"、"yyyyMM"、"yyyy"、"MMdd"、"MM"、"dd"
value | string | 是 | 与自动编号的可选规则项类型相对应的取值<br>**示例值**："yyyyMMdd"
location | app.field.property.location | 否 | 地理位置输入方式
input_type | string | 是 | 地理位置输入限制<br>**示例值**："not_limit"<br>**可选值有**：<br>- only_mobile：只允许移动端上传<br>- not_limit：无限制
formula_expression | string | 否 | 公式字段的表达式<br>**示例值**："bitable::$table[tblNj92WQBAasdEf].$field[fldMV60rYs]*2"
allowed_edit_modes | allowed_edit_modes | 否 | 字段支持的编辑模式
manual | boolean | 否 | 是否允许手动录入<br>**示例值**：true
scan | boolean | 否 | 是否允许移动端录入<br>**示例值**：true
min | number(float) | 否 | 进度、评分等字段的数据范围最小值<br>**示例值**：0
max | number(float) | 否 | 进度、评分等字段的数据范围最大值<br>**示例值**：10
range_customize | boolean | 否 | 进度等字段是否支持自定义范围<br>**示例值**：true
currency_code | string | 否 | 货币币种<br>**示例值**："CNY"
rating | rating | 否 | 评分字段的相关设置
symbol | string | 否 | 评分字段的符号展示<br>**示例值**："star"
description | app.table.field.description | 否 | 字段的描述
disable_sync | boolean | 否 | 是否禁止同步，如果为true，表示禁止同步该描述内容到表单的问题描述<br>**示例值**：true<br>**默认值**：`true`
text | string | 否 | 字段描述内容，支持换行\n<br>**示例值**："请按 name_id 格式填写\n例如：“Alice_20202020”"

### 请求体示例
```json
{
  "table": {
    "name": "数据表名称",
    "default_view_name": "默认的表格视图",
    "fields": [
      {
        "field_name": "索引字段",
        "type": 1
      },
      {
        "field_name": "单选",
        "type": 3,
        "ui_type": "SingleSelect",
        "property": {
          "options": [
            {
              "name": "Enabled",
              "color": 0
            },
            {
              "name": "Disabled",
              "color": 1
            },
            {
              "name": "Draft",
              "color": 2
            }
          ]
        }
      }
    ]
  }
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
table_id | string | 多维表格数据表的 ID
default_view_id | string | 默认表格视图的 ID。该字段仅在请求参数中填写了`default_view_name` 或 `fields` 字段才会返回
field_id_list | string\[\] | 数据表初始字段的 ID 列表，该字段仅在请求参数中填写了 `fields` 才会返回

### 响应体示例
```json
{
	"code": 0,
	"msg": "success",
	"data": {
		"table_id": "tblDBTWm6Es84d8c",
		"default_view_id": "vewUuKOz2R",
		"field_id_list": [
			"fldhr2hBEA"
		]
	}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
200 | 1254000 | WrongRequestJson | 请求体错误
200 | 1254001 | WrongRequestBody | 请求体错误
200 | 1254002 | Fail | 内部错误，请联系[技术支持](https://applink.larksuite.com/TLJpeNdW)
200 | 1254003 | WrongBaseToken | app_token 错误
200 | 1254004 | WrongTableId | table_id 错误
200 | 1254007 | EmptyValue | 空值
200 | 1254008 | EmptyView | 空视图
200 | 1254009 | WrongFieldId | 字段 id 错误
200 | 1254010 | ReqConvError | 请求错误
400 | 1254012 | NotSupportFieldOrView | 不支持的字段或视图。注意数据表的初始索引字段仅支持以下类型：<br>- 1：多行文本<br>- 2：数字<br>- 5：日期<br>- 13：电话号码<br>- 15：超链接<br>- 20：公式<br>- 22：地理位置
200 | 1254013 | TableNameDuplicated | 表名重复
400 | 1254014 | FieldNameDuplicated | 字段名重复
400 | 1254021 | EmptyViewName | 视图名为空
400 | 1254022 | InvalidViewName | 视图名无效
400 | 1254029 | InvalidFieldName | 字段名无效
200 | 1254030 | TooLargeResponse | 响应体过大
200 | 1254036 | Base is copying, please try again later. | 复制多维表格为异步操作，该错误码表示当前多维表格仍在复制中，在复制期间无法操作当前多维表格。需要等待复制完成后再操作
200 | 1254040 | BaseTokenNotFound | app_token 不存在
200 | 1254041 | TableIdNotFound | table_id 不存在
200 | 1254044 | FieldIdNotFound | field_id  不存在
200 | 1254060 | TextFieldConvFail | 多行文本字段错误
200 | 1254061 | NumberFieldConvFail | 数字字段错误
200 | 1254062 | SingleSelectFieldConvFail | 单选字段错误
200 | 1254063 | MultiSelectFieldConvFail | 多选字段错误
200 | 1254064 | DatetimeFieldConvFail | 日期字段错误
200 | 1254065 | CheckboxFieldConvFail | 复选框字段错误
200 | 1254066 | UserFieldConvFail | 人员字段有误。原因可能是：<br>- `user_id_type` 参数指定的 ID 类型与传入的 ID 类型不匹配<br>- 传入了不识别的类型或结构，目前只支持填写 `id` 参数，且需要传入数组<br>- 跨应用传入了 `open_id`。如果跨应用传入 ID，建议使用 `user_id`。不同应用获取的 `open_id` 不能交叉使用<br>- 若想对人员字段传空，可传 null
200 | 1254067 | LinkFieldConvFail | 关联字段错误
200 | 1254100 | TableExceedLimit | 数据表或仪表盘数量超限。每个多维表格中，数据表加仪表盘的数量最多为 100 个
200 | 1254101 | ViewExceedLimit | 视图数量超限, 限制200个
200 | 1254130 | TooLargeCell | 格子内容过大
200 | 1254290 | TooManyRequest | 请求过快，稍后重试
200 | 1254291 | Write conflict | 同一个数据表(table) 不支持并发调用写接口，请检查是否存在并发调用写接口。写接口包括：新增、修改、删除记录；新增、修改、删除字段；修改表单；修改视图等。
200 | 1254301 | OperationTypeError | 多维表格未开启高级权限或不支持开启高级权限
403 | 1254302 | Permission denied. | 调用身份缺少多维表格的高级权限。你需要为调用身份授予高级权限：<br>- 对用户授予高级权限，你需要在多维表格页面右上方 **分享** 入口为当前用户添加可管理权限。![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/df3911b4f747d75914f35a46962d667d_dAsfLjv3QC.png?height=546&lazyload=true&maxWidth=550)<br>- 对应用授予高级权限，你需通过多维表格页面右上方 **「...」** -> **「...更多」** ->**「添加文档应用」** 入口为应用添加可管理权限。<br>![](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/22c027f63c540592d3ca8f41d48bb107_CSas7OYJBR.png?height=1994&maxWidth=550&width=3278)<br>![image.png](//sf16-sg.larksuitecdn.com/obj/open-platform-opendoc-sg/9f3353931fafeea16a39f0eb887db175_0tjzC9P3zU.png?maxWidth=550)<br>**注意**：<br>在 **添加文档应用** 前，你需确保目标应用至少开通了一个多维表格的 [API 权限](https://open.larksuite.com/document/ukTMukTMukTM/uYTM5UjL2ETO14iNxkTN/scope-list)。否则你将无法在文档应用窗口搜索到目标应用。    <br>- 你也可以在 **多维表格高级权限设置** 中添加用户或一个包含应用的群组, 给予这个群自定义的读写等权限。
400 | 1254607 | Data not ready, please try again later | 该报错一般是由于前置操作未执行完成，或本次操作数据太大，服务器计算超时导致。遇到该错误码时，建议等待一段时间后重试。通常有以下几种原因：<br>- **编辑操作频繁**：开发者对多维表格的编辑操作非常频繁。可能会导致由于等待前置操作处理完成耗时过长而超时的情况。多维表格底层对数据表的处理基于版本维度的串行方式，不支持并发。因此，并发请求时容易出现此类错误，不建议开发者对单个数据表进行并发请求。<br>- **批量操作负载重**：开发者在多维表格中进行批量新增、删除等操作时，如果数据表的数据量非常大，可能会导致单次请求耗时过长，最终导致请求超时。建议开发者适当降低批量请求的 page_size 以减少请求耗时。<br>- **资源分配与计算开销**：资源分配是基于单文档维度的，如果读接口涉及公式计算、排序等计算逻辑，会占用较多资源。例如，并发读取一个文档下的多个数据表也可能导致该文档阻塞。
200 | 1255001 | InternalError | 内部错误，请联系[技术支持](https://applink.larksuite.com/TLJpeNdW)
200 | 1255002 | RpcError | 内部错误，请联系[技术支持](https://applink.larksuite.com/TLJpeNdW)
200 | 1255003 | MarshalError | 序列化错误，请联系[技术支持](https://applink.larksuite.com/TLJpeNdW)
200 | 1255004 | UmMarshalError | 反序列化错误
200 | 1255005 | ConvError | 服务内部错误，请联系[技术支持](https://applink.larksuite.com/TLJpeNdW)

