APITable Docs
Configuration

APITable-API Documents【Enterprise】

APITable-API Documents【Enterprise】

1. Explanation of terms

Manual | APITable Help Center

NameDescription
Working directory[Refers to] This is just an abstract concept and does not have any function. It represents a collection of all files and folders in the workspace. A logo displayed on the interface facilitates communication between people.

The working directory is essentially a folder with parent_id = 0
Node[Refers to] If the "working directory" is compared to a towering tree, the "node" is the trunk branch on the tree.

A file is a node, a folder is also a node

For example: folders, tables, magic forms, mirroring, dashboards

2. API interface list

ModuleInterfaceaddressdescription
Open Platformdatasheets , views, fields, records, space, working directoriesAPITable API Introduction | APITable Developer CenterAPITable API Introduction | APITable Developer Center
Node managementCreate node interface/api/v1/node/createCreate magic forms, mirroring, dashboards, and more
Edit node interface/api/v1/node/update/{nodeId}Edit node name, icon, cover image
Delete node interface/api/v1/node/delete/{nodeId}Delete node
Copy node interface/api/v1/node/copyCopy a node
Mobile node interface/api/v1/node/moveCopy a node to the specified folder
Recovery node interface/api/v1/node/rubbish/recoverRestore a node from Recycle Bin
Query node details interface/api/v1/node/showcase?nodeId={nodeId}Query node details
data importExcel import interface/api/v1/node/importExcel data import and automatically generate a wigtable
Template managementSave to specified space station interfaceapi/v1/node/storeShareDataUse this template and save to the specified space station. The "shareId" is obtained by turning on "Public Sharing" and "Save as Copy"
Use template interface/api/v1/node/storeShareDataUse the template and save to the specified space station
Update node sharing configuration interface/api/v1/node/updateShare/{nodeId}For tables, folders, mirroring and other nodes, you can enable "Public Sharing" and set "Save as Copy", "Read Only" or "Editable"
Developer token managementCreate Developer Token Interface/api/v1/user/createApiKeyCreate a developer token, a user can only create one token
Query user information/Developer Token interface/api/v1/user/meQuery user information and return developer Token
Refresh the developer Token interface/api/v1/user/refreshApiKeyReplace a new Developer Token
Embedded APIEmbedded interfaceCreate Embedded Links | APITable Developer CenterCreate Embedded Links | APITable Developer Center
Permission & related interfacePermission callback interface/callback/permission/verifyCurrently supports four roles: manageable, editable, read-only, and updatable.

The embedding party refers to the requirements interface below to provide the corresponding permission interface, and the embedding party performs permission control on the node.

After enabling this function, the node permission in APITable will be controlled by a third party.
3.8 Associated data table pop-up window - datasheet listAPITable-API Documents【Enterprise】
Form management interfaceGenerate form sharing link interface/api/v1/node/updateShare/{formId}Generate a public sharing link for the form, submit form data anonymously by default
Query forms and associated information interfaces/nest/v1/form/{formId}/dataPackAccording to the form ID, query the form information and the corresponding associated table and view information.
Update the form sharing interface/nest/v1/form/{formId}/propGenerate a public sharing link for the form, submit form data anonymously by default
View managementCreate a view interface/fusion/v1/datasheets/{datasheetId}/viewsCreate a new
Delete specify single view interface/fusion/v1/datasheets/{datasheetId}/views/{viewId}Drops a single view of a specified table
Batch deletes multiple view interfaces/fusion/v1/datasheets/{datasheetId}/viewsBatch drops multiple views of a specified table
Edit view interface/fusion/v1/datasheets/{datasheetId}/views/{viewId}Support editing view name, support view lock switch
Copy view interface/fusion/v1/datasheets/{datasheetId}/views/{viewId}/duplicateSupport view copying, automatically generate new views
Space managementFor details, please view: 3.12 Space management interface
User managementFor details, please view: 3.13 User management interface
Team managementFor details, please view: 3.14 Team management interface
Notification managementFor details, please view: 3.15 Notification management interface

3. Access Guide

3.1 API interface call certificate

3.1.1 What is an API Token?

API Token is the user authentication token.When sending API requests to APITAble servers, you must take Authorization: Bearer {Your API Token} at the head of the request to facilitate server authentication.

When authenticated successfully, the API request will have the same permissions as the user has to operate on the APITAble interface, that is, what data the user can do on the interface, and what data can be used in the request.

3.1.2 How to get API Token?

The way to get API Token is as follows:

Sign in to APITable and tap the profile of the lower left corner, enter the User Center and go to the Developer Configuration.

Click "+" to generate an API Token.Note: You need to bind your email when you generate it for the first time.

Copy API Token.

Attention:

  • Please secure your API Token, if API Token leaks, others may tamper with data in your datasheet.
  • If the API Token is leaked, you can regenerate the Token in the Developer Configuration screen to ensure data security.

3.1.3 How to use API Token?

Example HTTPS request in some common languages using the Access API interface:

Note: Before executing the following code, you need to replace the {datasheetid} and {your API Token} to the real datasheetId and API token.

curl "https://api.apitable.com/fusion/v1/datasheets/{datasheetId}/records" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {Your API Token}"

3.2 Node management

3.2.1 Creating a Node Interface

Interface address /api/v1/node/create

Request method POST

Interface request Content-Type application/json

Interface description

Create a new node under the node

Request parameters

Parameter nameParameter descriptionnecessary?Data type
nodeNameNameNoString
typeType. 1: Folder; 2: Table; 3: Magic Form; 4: Dashboard; 5: mirroringYesString
preNodeIdThe previous node of the target position is moved to the first place when it is emptyYesString
parentIdParent Node IdNoString
extraFirst create the table and get the table and view ID, then enter the associated table, view ID, and specify the default generated view name

For example: form and mirroring need to pass these two parameters when creating according to a table and view.
NoJson
checkDuplicateNameVerify whether a node name with the same name already exists in the same directory, and refuse to create it if it existsNoboolean

Sample request parameters

{
  "extra": {
    "datasheetId": "dstxP8YTtNuKcKgLtM",
    "viewId": "viwtGNVtasHNK",
    "viewName": "New view name"
},
  "checkDuplicateName": true,
  "nodeName": "New node name",
  "parentId": "fodYhcLHqURTs",
  "type": 3
} 

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
        "code": 200,
        "data": {
               "columnLimit": true,
               "createTime": "2020-03-18T15:29:59.000",
               "hasChildren": true,
               "icon": ":smile",
               "nodeFavorite": false,
               "nodeId": "nod10",
               "nodeName": "New node name",
               "nodePermitSet": false,
               "nodeShared": false,
               "parentId": "nod10",
               "preNodeId": "nod11",
               "role": "editor",
               "spaceId": "spc09",
               "type": 1,
               "updateTime": "2020-03-18T15:29:59.000"
        },
        "message": "SUCCESS",
        "success": true
}

3.2.2 Edit node interface

Interface address /api/v1/node/update/{nodeId}

Request method POST

Interface request Content-Type application/json

Interface description

Node ID is required, name and icon are not required

Request parameters

Parameter nameParameter descriptionnecessary?Data type
nodeNameNode nameNoString
coverCover image, empty ('null' OR'undefined '), example values (space/2020/5/19/..)YesString
showRecordHistoryWhether to display the recorded history, example value (1), after setting: only look at the cell content, hide the history and comment area on the rightNointeger(int32)
iconEmoji icon, example value (: smile)NoString

Sample request parameters

{
  "cover": "space/2020/5/19/..",
  "icon": ":smile",
  "nodeName": "New node name",
  "showRecordHistory": 1
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS",
  "data": null
}

3.2.3 Delete the node interface

Interface address /api/v1/node/delete/{nodeId}

Request method DELETE

Content-Type application/x-www-form-urlencoded

Interface description

Parameters must be passed

Request parameters

Parameter nameParameter descriptionnecessary?Data type
nodeIdNode IDNoString

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS",
  "data": null
}

3.2.4 Copy node interface

Interface address /api/v1/node/copy

Request method POST

Interface request Content-Type application/json

Interface description

The node ID is required, and the parameter of "Do you need to copy data" is not required.

Request parameters

Parameter nameParameter descriptionnecessary?Data type
dataDo you need to copy dataNoString
nodeIdNode IdYesboolean

Sample request parameters

{
  "data": true,
  "nodeId": "nod10"
}

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
        "code": 0,
        "data": {
                "columnLimit": true,
                "createTime": "2020-03-18T15:29:59.000",
                "hasChildren": true,
                "icon": ":smile",
                "nodeFavorite": false,
                "nodeId": "nod10",
                "nodeName": "It's a node",
                "nodePermitSet": false,
                "nodeShared": false,
                "parentId": "nod10",
                "preNodeId": "nod11",
                "role": "editor",
                "spaceId": "spc09",
                "type": 1,
                "updateTime": "2020-03-18T15:29:59.000"
        },
        "message": "",
        "success": true
}

3.2.5 Move node interface

Interface address /api/v1/node/move

Request method POST

Interface request Content-Type application/json

Interface description

Node ID, Parent Node ID is Required

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
X-Space-IdSpace station IDheaderYesstring
nodeIdNode IdbodyYesstring
parentIdMove to the specified destination folder IDbodyYesstring
preNodeIdThe previous node ID of the destination folderbodyNostring

Sample request parameters

{
  "nodeId": "nod10",
  "parentId": "nod10",
  "preNodeId": "nod10"
}

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
        "code": 0,
        "data": {
                "columnLimit": true,
                "createTime": "2020-03-18T15:29:59.000",
                "hasChildren": true,
                "icon": ":smile",
                "nodeFavorite": false,
                "nodeId": "nod10",
                "nodeName": "New node name",
                "nodePermitSet": false,
                "nodeShared": false,
                "parentId": "nod10",
                "preNodeId": "nod11",
                "role": "editor",
                "spaceId": "spc09",
                "type": 1,
                "updateTime": "2020-03-18T15:29:59.000"
        },
        "message": "",
        "success": true
}

3.2.6 Restore Node Interface

Interface address /api/v1/node/rubbish/recover

Request method POST

Interface request Content-Type application/json

Interface description

Node ID must be passed

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
X-Space-IdSpace station IDheaderYesstring
nodeIdNode IdbodyYesstring
parentIdRestore to the specified destination folder IDbodyNostring

Sample request parameters

{
  "nodeId": "nod10",
  "parentId": "nod10"
}

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
        "code": 0,
        "data": {
                "columnLimit": true,
                "createTime": "2020-03-18T15:29:59.000",
                "hasChildren": true,
                "icon": ":smile",
                "nodeFavorite": false,
                "nodeId": "nod10",
                "nodeName": "New node name",
                "nodePermitSet": false,
                "nodeShared": false,
                "parentId": "nod10",
                "preNodeId": "nod11",
                "role": "editor",
                "spaceId": "spc09",
                "type": 1,
                "updateTime": "2020-03-18T15:29:59.000"
        },
        "message": "",
        "success": true
}

3.2.6 Query node details interface

Interface address /api/v1/node/showcase? nodeId = {nodeId}

Request method GET

Interface request Content-Type application/json

Interface description

It needs to be called after the user login, and the node ID must be passed.

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
nodeIdNode IdbodyYesstring

Response Result Parameters

参数名称参数说明类型
coverCover image, the privatized version can splice the URL by itself, for example: https://{domain name}/vk-assets-ltd/{cover}string
createdMemberInfoNode Creator InformationData Creator View
avatarNode Creator Avatarstring
memberNameNode creator nicknamestring
descriptionNode descriptionstring
iconNode iconstring
nodeFavoriteWhether to collect Nodeboolean
nodeIdNode idstring
nodeNameNode namestring
rolepermission rolestring
typeNode type 0-ROOT (root node)
1-folder (folder) 2-file (table)
integer(int32)
updatedAtnode updatetimestring(date-time)

Return result example

{
        "code": 0,
        "data": {
                "cover": "space/2021/04/26/27a006f669094af2913513abe5a8cb5d",
                "createdMemberInfo": {
                        "avatar": "https://s1.apitable.com/2019/11/12/17123187253.png",
                        "memberName": ""
                },
                "description": "This is a showcase",
                "icon": "smile",
                "nodeFavorite": false,
                "nodeId": "nod10",
                "nodeName": "This is a node",
                "role": "editor",
                "type": 1,
                "updatedAt": ""
        },
        "message": "",
        "success": true
}

3.3 Data import

3.3.1 Excel data import interface

Interface address /api/v1/node/import

Request method POST

Interface request Content-Type multipart/form-data

Interface description

  • Import FAQ can be viewed: Import and Export Data | APITable Help Center
  • Parameter required, prohibit uploading .html type files
  • The size limit for excel and CSV file uploads is 20M by default.
  • The following file formats are supported:
    • Excel (.xlsx files, .xls files)
    • CSV
  • Reasons for file import failure may include the following:
    • File password exists Problem description: When the local file has "open permission password", it cannot be imported successfully. Solution: Cancel the password of the file locally, and then re-import it into the wig table .
    • File size exceeds the upper limit Problem description: If the file exceeds 20 MB, the number of rows exceeds 50,000, and the number of columns exceeds 50, the import will fail. Solution: Split the file into two copies for import. If you want to increase the function limit of this space station, you can follow our subscription plan.
    • File corruption problem description: When the Enterprise Archive File does not match the format, it cannot be imported successfully. Solution: Check whether the file can be opened normally locally. If it can be opened normally, save the file as .xlsx, .xls or CSV format before uploading to the wig table .
    • Network instability solution: When the network is poor or disconnected, it cannot be successfully imported. Description of the problem: Close the file upload window and upload again.

Request parameters

Parameter nameParameter descriptionWhether it is necessary toData type
fileUpload filesYesfile
parentIdParent node IdYesstring
viewNameCustom generated default view nameNostring

Sample request parameters

How to submit the form

file: binary file
parentId: "fodxxxxx"
viewName: "xxxx"

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS",
  "data": {
    "nodeId": "dstXl6JRZqPu44vFpz",
    "nodeName": "Nodename 2",
    "type": 2,
    "spaceId": "spce4cVuY8HSK",
    "parentId": "fodwtvCSAWJRi",
    "preNodeId": null,
    "icon": "",
    "hasChildren": false,
    "nodeShared": false,
    "nodePermitSet": false,
    "nodeFavorite": false,
    "columnLimit": false,
    "createTime": "2023-03-01T07:44:11.000Z",
    "updateTime": "2023-03-01T07:44:11.000Z",
    "role": "manager"
  }
}

Abnormal BigInt

FILE_ERROR_FORMAT(240, "file format error"),

FILE_EXCEED_LIMIT(240, "a single upload file should not exceed 20 mb"),

ROW_EXCEED_LIMIT(240, "The number of lines exceeds the limit of 50000 lines"),

COLUMN_EXCEED_LIMIT(240, "the number of columns exceeds the 200 limit"),

3.4 Template management

3.4.1 Save to the specified space station interface

Interface address api/v1/node/storeShareData

Request method POST

Interface request Content-Type application/json

Interface description

Use this template and save to the specified space station, "shareId" is obtained after turning on "public sharing" and "can be saved as a copy", refer to 3.4.2 to enable public sharing and save as a copy interface

Request parameters

Parameter nameParameter descriptionnecessary?Data type
shareIdThe unique ID shared by the node, which is equivalent to the template IDYesstring
spaceIdSpace IdYesstring

Sample request parameters

{
  "shareId": "shrSJ921CNsj",
  "spaceId": "spc20cjiwis2"
}

Return result example

{
        "code": 0,
        "data": {
                "nodeId": "nod2818jsak"
        },
        "message": "",
        "success": true
}

3.4.2 Update the node sharing configuration interface

Interface address /api/v1/node/updateShare/{nodeId}

Request method POST

Interface request Content-Type application/json

Interface description

For tables, folders, mirroring and other nodes, you can enable "Public Sharing" and set "Save as Copy", "Read Only" or "Editable"

Sample request parameters

{
    "props": "{\"canBeStored\":true}"
}

Return result example

{
        "code": 0,
        "data": {
                "shareId": "shrKsX1map5RfYO"
        },
        "message": "",
        "success": true
}

3.4.3 Using the template interface

Interface address /api/v1/template/quote

Request method POST

Interface request Content-Type application/json

Interface description

On the space station template, save the template to the specified directory of the current space station.

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
templateIdtemplate IDbodyTRUEstring
parentIdUse the template and save to the specified folder IDbodyTRUEstring
dataWhether to bring template data, if set to false, the template will not bring its own databody

Sample request parameters

{
  "templateId": "tplbtANZ8glG8",
  "parentId": "foduWeEymZaWZ",
  "data": true
}

Response Result Parameters

Parameter nameParameter descriptionData type
columnLimitWhen the node is a table, return whether the table field has reached the upper limit.boolean
hasChildrenIs there a sub-node, the node type is folderboolean
iconNode iconstring
nodeFavoriteWhether the node is a starboolean
nodeIdNode IDstring
nodeNameNode namestring
nodePermitSetWhether node permissions are setboolean
nodeSharedWhether the node is sharedboolean
parentIdParent node Idstring
preNodeIdPrevious Node IDstring
roleRolestring
spaceIdSpace IDstring
typeinteger(int32)
createTimeCreation timeobject
updateTimeUpdate timeobject

Return result example

{
  "nodeId": "fodqPw5KnNmXH",
  "nodeName": "Nodename 2",
  "type": 1,
  "spaceId": "spcHTNGSlQ7o7",
  "parentId": "foduWeEymZaWZ",
  "preNodeId": null,
  "icon": "innocent",
  "hasChildren": true,
  "nodeShared": false,
  "nodePermitSet": false,
  "nodeFavorite": false,
  "columnLimit": false,
  "createTime": "2023-01-06T11:01:46.000Z",
  "updateTime": "2023-01-06T11:01:46.000Z",
  "role": "manager"
}

3.5 Developer Token Management

3.5.1 Create Developer Token Interface

Interface address /api/v1/user/createApiKey

Request method POST

Interface request Content-Type application/json

Interface description

Create a developer token, a user can only create one token

Request parameters

No

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS",
  "data": null
}

3.5.2 Query User Information/Developer Token Interface

Interface address /api/v1/user/me

Request method GET

Content-Type application/x-www-form-urlencoded

Interface description

Query user information and return developer Token

Response Result Parameters

Return result example

{
        "code": 0,
        "data": {
                "activeNodeId": "dst151d",
                "activeViewId": "views135",
                "apiKey": "uskPtGBUw8EuVKoo3X6",
                "areaCode": "+1",
                "avatar": "null",
                "closeAt": "",
                "email": "test@apitable.com",
                "isAdmin": false,
                "isDelSpace": false,
                "isMainAdmin": false,
                "isPaused": false,
                "lastLoginTime": "",
                "memberId": 101,
                "memberName": "Member 1",
                "mobile": "\"123123123\"",
                "needPwd": false,
                "nickName": "Jone",
                "signUpTime": "",
                "spaceDomain": "",
                "spaceId": "spcx2yLGGedWc",
                "spaceLogo": "http://...",
                "spaceName": "My Workspace",
                "unitId": 101,
                "userId": "1",
                "uuid": "1261273764218",
        },
        "message": "",
        "success": true
}

3.5.3 Refresh the developer Token interface

Interface address /api/v1/user/refreshApiKey

Request method POST

Interface request Content-Type application/json

Interface description

Create a new node under the node

Request parameters

Sample request parameters

{
  "code": "125484",
  "type": "sms_code"
}

Return result example

{
        "code": 0,
        "data": {
                "apiKey": "xxxxxxx"
        },
        "message": "",
        "success": true
}

3.6 Embedded API interface

Create Embedded Links | APITable Developer Center

3.7 Permission callback interface

Currently supports four roles: manageable, editable, read-only, and updatable.

The embedding party refers to the requirements interface below to provide the corresponding permission interface, and the embedding party performs permission control on the node.

After enabling this function, the node permission in APITable will be controlled by a third party.

The authentication part of the interface can be provided below

Interface address /callback/permission/verify

Request method POST

Interface request Content-Type application/json

Parameter list

Authentication parameters are as follows

Sign instance code

Map<String, Object> paramMap = new HashMap<>();
paramMap.put("nodeId", "dsadsa");
paramMap.put("uid", "332ddd");
paramMap.put("appKey", "1233");
paramMap.put("timestamp", System.currentTimeMillis()/1000);
paramMap.put("salt", "asdsff");
String sign = sign(paramMap, "skey");

/**
 * Signture
 * @param paramMap
 * @param sk secrect
 * @return sign
 */
public static String sign(Map<String, Object> paramMap, String sk) {
    Map<String, Object> params = new TreeMap<>(paramMap);

    String query = HttpUtil.toParams(params, "utf-8");
    String md5 = SecureUtil.md5(query);
    String data = md5 + sk;
    String sha256 = SecureUtil.sha256(data);
    return sha256;
}

Return example

{
  "returnCode": 200,
  "returnMessage": "success",
  "result": {
      "permission": 1 // -1:deleted,0:no permission, 1:reador,2:editor 3 updator,4:manager
    }
}

3.8 Associated data table pop-up window - datasheet list

Refer to the following interface imported parameter exported parameter, the embedding party provides the API interface, the environment variables need to be configured, after opening, the interface will be automatically called back

Environment variables:

Request parameters: request body

Shared with the prefix of the permission callback address, please refer to 3.8 Permission callback interface

Response parameters

{
        "success": true,
        "code": 200,
        "message": "SUCCESS",
        "data": [{
                "nodeId": "fodRmaMkkxhmN",
        }, {
                "nodeId": "fodqsgXRcByur",
        }]
}

3.10 Form management interface

Interface address /api/v1/node/updateShare/{formId}

Request method POST

Interface request Content-Type application/json

Interface description

Generate a public sharing link for the form, submit form data anonymously by default

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
props
canBeEditedSet public sharing to submitTRUEstring

Sample request parameters

{
  "props": "{\"canBeEdited\":true}"
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
shareIdThe public share link ID of the node, a unique valueString

Return result example

{
    "success": true,
    "code": 200,
    "message": "SUCCESS",
    "data": {
        "shareId": "shreeDeXU8hPKrBc0QVy1"
    }
}

3.10.2 Query forms and associated information interfaces

Interface address /nest/v1/form/{formId}/dataPack

Request method GET

Interface request Content-Type application/json

Interface description

According to the form ID, query the form information and the corresponding associated table and view information.

Request parameters

{
    "success": true,
    "code": 200,
    "message": "SUCCESS",
    "data": {
        "shareId": "shreeDeXU8hPKrBc0QVy1"
    }
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean

Return result example

{
    "success": true,
    "code": 200,
    "message": "SUCCESS",
    "data": {
        "sourceInfo": {
            "datasheetIcon": "custard",
            "datasheetRevision": 958,
            "datasheetId": "dstFBd7zsBE525B0yl",
            "viewId": "viwXiwVG3TEig",
            "datasheetName": "Task Management",
            "datasheetPermissions": {
                "nodeId": "dstFBd7zsBE525B0yl",
                "datasheetId": "dstFBd7zsBE525B0yl",
                "manageable": true,
                "editable": true,
                "readable": true,
                "childCreatable": true,
                "renamable": true,
                "iconEditable": true,
                "descriptionEditable": true,
                "movable": true,
                "copyable": true,
                "importable": true,
                "exportable": true,
                "removable": true,
                "sharable": true,
                "allowSaveConfigurable": true,
                "allowEditConfigurable": true,
                "templateCreatable": true,
                "viewCreatable": true,
                "viewRenamable": true,
                "viewRemovable": true,
                "viewMovable": true,
                "viewExportable": true,
                "viewFilterable": true,
                "columnSortable": true,
                "columnHideable": true,
                "fieldSortable": true,
                "fieldGroupable": true,
                "rowHighEditable": true,
                "columnWidthEditable": true,
                "columnCountEditable": true,
                "rowSortable": true,
                "fieldCreatable": true,
                "fieldRenamable": true,
                "fieldPropertyEditable": true,
                "fieldRemovable": true,
                "rowCreatable": true,
                "rowRemovable": true,
                "cellEditable": true,
                "fieldPermissionManageable": true,
                "viewLayoutEditable": true,
                "viewStyleEditable": true,
                "viewKeyFieldEditable": true,
                "viewColorOptionEditable": true,
                "viewLockManageable": true,
                "viewManualSaveManageable": true,
                "viewOptionSaveEditable": true,
                "isDeleted": false
            }
        }
    }
}

3.10.3 Update the form sharing interface

Interface address /nest/v1/form/{formId}/prop

Request method POST

Interface request Content-Type application/json

Interface description

Generate a public sharing link for the form, submit form data anonymously by default

Request parameters

Parameter nameParameter descriptionnecessary?Data type
titleinput form's title nameFALSEstring
submitLimitAfter the login and submission are enabled, whether to limit the submission once is enabled, and 0 means that unlimited submissions are allowedFALSEstring
fillAnonymousWhether to enable anonymous submission, set to false to submit after loginFALSE

Sample request parameters

{
  "title": "test form",
  "submitLimit": 0,
  "fillAnonymous": true
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
shareIdThe public share link ID of the node, a unique valueString

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS"
}

3.11 View management interface

3.11.1 Create a view interface

Interface address /fusion/v1/datasheets/{datasheetId}/views

Request method POST

Interface request Content-Type application/json

Interface description

Create a new and different view from a table

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
datasheetIddatahseet IDpathTRUEstring
nameview namebodyTRUEstring
autoSavewhether to support automatic savingbodyFALSEboolean
typeview type, Grid-table, Gallery-album, Kanban-kanban, Gantt-Gantt chart, Calendar-calendar, Architecture-architecture viewbodyTRUEstring
columnshide Field InformationbodyFALSEarray
fieldIdfield IDbodyFALSEstring
sortInfoField ordering informationbodyFALSEstring
keepSortwhether to enable automatic sortingbodyFALSEstring
rulesfield collationbodyFALSEstring
desctrue,means descending sortbodyFALSEstring
fieldIdfield IDbodyFALSEstring
groupInfoField grouping informationbodyFALSEstring
desctrue,means descending sortbodyFALSEstring
fieldIdfield IDbodyFALSEstring
filterInfofield filter informationbodyFALSEstring
conditionsfilter conditionbodyFALSEstring
fieldIdfield IDbodyFALSEstring
operatorfilter condition,[ is, isNot, contains, doesNotContain, isEmpty, isNotEmpty, isGreater, isGreaterEqual, isLess, isLessEqual, isRepeat ]bodyFALSEstring
valuefilter valuebodyFALSEstring
conjunctionUsed when multiple conditions, ex: and, orbodyFALSEstring=

Sample request parameters

{
  "name": "New niewname",
  "autoSave": true,
  "type": "Grid",
  "columns": [
    {
      "fieldId": "string"
    }
  ],
  "sortInfo": {
    "keepSort": true,
    "rules": [
      {
        "desc": true,
        "fieldId": "string"
      }
    ]
  },
  "groupInfo": [
    {
      "desc": true,
      "fieldId": "string"
    }
  ],
  "filterInfo": {
    "conditions": [
      {
        "fieldId": "string",
        "operator": "is",
        "value": "['string', true]"
      }
    ],
    "conjunction": "and"
  }
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
viewsView informationString
idView IDString
typeView typeString
nameView nameString

Return result example

{
    "code": 200,
    "success": true,
    "data": {
        "views": [
            {
                "id": "viw62ysqDDUUy",
                "type": "Grid",
                "name": "apitable"
            }
        ]
    },
    "message": "SUCCESS"
}

3.11.2 Delete a view interface

Interface address /fusion/v1/datasheets/{datasheetId}/views/{viewId}

Request method DELETE

Interface request Content-Type application/json

Interface description

Delete a view

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
datasheetIddatasheet IDpathTRUEstring
viewIdview IDpathTRUEstring

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean

Return result example

{
  "success": true,
  "code": 200,
  "message": "SUCCESS"
}

3.11.3 Edit View Interface

Interface address /fusion/v1/datasheets/{datasheetId}/views/{viewId}

Request method PUT

Interface request Content-Type application/json

Interface description

Support editing view name, support view lock switch

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
datasheetIddatasheet IDpathTRUEstring
viewIdview IDpathTRUEstring
nameview nameFALSEstring
lockInfoControl video lock on, set to null if you want to turn off video lockFALSEobject
descriptionDescribe the reason for enabling the view lockFALSEstring
autoSaveWhether to support automatic savingFALSEboolean

Sample request parameters

{
  "name": "Rename view",
  "lockInfo": {
    "description": "Write something reason..."
  },
  "autoSave": true
}

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
viewsView informationString
idView IDString
typeView typeString
nameView nameString

Return result example

{
    "code": 200,
    "success": true,
    "data": {
        "views": [
            {
                "id": "viw62ysqDDUUy",
                "type": "Grid",
                "name": "benson"
            }
        ]
    },
    "message": "SUCCESS"
}

3.11.4 Copy View Interface

Interface address /fusion/v1/datasheets/{datasheetId}/views/{viewId}/duplicate

Request method POST

Interface request Content-Type application/json

Interface description

Support view copying, automatically generate new views

Request parameters

Parameter nameParameter descriptionRequest typenecessary?Data type
datasheetIddatasheet IDpathTRUEstring
viewIdview IDpathTRUEstring

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
viewsView informationString
idView IDString
typeView typeString
nameView nameString

Return result example

{
    "code": 200,
    "success": true,
    "data": {
        "views": [
            {
                "id": "viwWkZqJDMXeR",
                "type": "Grid",
                "name": "benson1111"
            }
        ]
    },
    "message": "SUCCESS"
}

Sample request parameters

[
  {
    "toUserId": [],
    "toMemberId": [],
    "toUnitId": [],
    "fromUserId": "1261273764218",
    "nodeId": "nod10",
    "spaceId": "spcHKrd0liUcl",
    "templateId": "user_filed",
    "body": {
      "config": {
        "order": true,
        "ignoreError": true,
        "ignoreCase": true,
        "dateFormat": "",
        "ignoreNullValue": true,
        "transientSupport": true,
        "ignoreTransient": true
      },
      "empty": true
    },
    "version": "v0.12.1.release",
    "expireAt": "1614587900000",
    "notifyId": "1614587900000"
  }
]

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
viewsView informationString
idView IDString
typeView typeString
nameView nameString
namedescriptiontype
successboolean
codeinteger(int32)
messagestring
dataobject

3.12 Space management interface

3.12.1 Create Sapce

Interface address /api/v1/space/create

Request method POST

Interface request Content-Type application/json

Interface description

Create a new and different view from a table

Request parameters

namedescriptiontyperequiretypeschema
nameNameTRUEstring

Sample request parameters

{
  "name": "This is a space"
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataCreateSpaceResultVoCreateSpaceResultVo
spaceIdSpace IDstring

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": {
               "spaceId": "spc10"
        }
}

3.12.2 Get Space info

Interface address /api/v1/space/info/{spaceId}

Request method GET

Interface request Content-Type application/x-www-form-urlencoded

Interface description

Create a new and different view from a table

Request parameters

namedescriptiontyperequiretype
spaceIdspace idpathTRUEstring

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataSpaceInfoVOSpaceInfoVO
spaceNameSpace namestring
spaceLogoSpace logostring
creatorNameCreator namestring
isCreatorNameModifiedWhether the member (creator) has modified the nicknameboolean
creatorAvatarCreator's avatarstring
ownerNameSpace owner namestring
isOwnerNameModifiedWhether the member (owner) has modified the nicknameboolean
ownerAvatarSpace owner's avatarstring
createTimeCreation timestamp (ms)string(date-time)
delTimeFormal deletion timestamp (ms)string(date-time)
socialThird party integrated binding information of the spaceSpaceSocialConfigSpaceSocialConfig
enabledWhether the third party platform binding is enabled for the spaceboolean
platformThird party platform type(1: WeCom, 2: DingTalk, 3: Lark)integer
appIdApp IDstring
appTypeApplication Type(1: Enterprise self built application, 2: Independent service provider)integer
authModeAuthorization mode. 1: Enterprise authorization; 2: Member Authorizationinteger
contactSyncingWhether the address book is being synchronizedboolean
deptNumberNumber of departmentsinteger(int64)
seatsNumber of seatsinteger(int64)
sheetNumsNumber of tablesinteger(int64)
recordNumsTotal rows of all tables in the spaceinteger(int64)
adminNumsNumber of space administratorsinteger(int64)
capacityUsedSizesUsed attachment capacity (in bytes)integer(int64)
apiRequestCountUsageCumulative usage of API callsinteger(int64)
fieldRoleNumsTotal number of field permission settingsinteger(int64)
nodeRoleNumsTotal number of file permission settingsinteger(int64)
kanbanViewNumsTotal Kanban Viewsinteger(int64)
galleryViewNumsTotal Album Viewsinteger(int64)
ganttViewNumsTotal Gantt Viewsinteger(int64)
calendarViewNumsTotal Calendar Viewsinteger(int64)
formViewNumsTotal Form Viewsinteger(int64)
currentBundleCapacityUsedSizesUsed current package attachment capacity (unit: bytes)integer(int64)
giftCapacityUsedSizesUsed complimentary accessory capacity (unit: bytes)integer(int64)
mirrorNumsNumber of tables (mirrors)integer(int64)

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": {
               "spaceName": "My Workspace",
               "spaceLogo": "http://...",
               "creatorName": "Jack",
               "isCreatorNameModified": true,
               "creatorAvatar": "http://...",
               "ownerName": "Li Si",
               "isOwnerNameModified": true,
               "ownerAvatar": "http://...",
               "createTime": "",
               "delTime": "",
               "social": {
                       "enabled": false,
                       "platform": 1,
                       "appId": "1",
                       "appType": 1,
                       "authMode": 1,
                       "contactSyncing": false
               },
               "deptNumber": 5,
               "seats": 5,
               "sheetNums": 5,
               "recordNums": 5,
               "adminNums": 5,
               "capacityUsedSizes": 1024,
               "apiRequestCountUsage": 10,
               "fieldRoleNums": 10,
               "nodeRoleNums": 10,
               "kanbanViewNums": 10,
               "galleryViewNums": 10,
               "ganttViewNums": 10,
               "calendarViewNums": 10,
               "formViewNums": 10,
               "currentBundleCapacityUsedSizes": 1024,
               "giftCapacityUsedSizes": 1024,
               "mirrorNums": 5
        }
}

3.13.3 Update Space

Interface address /api/v1/space/update

Request method POST

Interface request Content-Type application/json

Interface description

At least one item is the name and logo

Request parameters

namedescriptiontyperequiretype
X-Space-Idspace idheaderTRUEstring
nameNameFALSEstring
logoIconFALSEstring

Sample request parameters

{
  "name": "This is a new space name",
  "logo": "https://..."
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataobject

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.14.4 Delete Space

Interface address /api/v1/space/cancel/{spaceId}

Request method POST

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptionrequiretype
spaceIdspace idTRUEstring

Response Params

nametype
successboolean
codeinteger(int32)
messagestring
dataobject

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": {}
}

3.13 User management interface

3.13.1 Create user

Interface address /api/v1/register

Request method POST

Interface request Content-Type application/json

Request parameters

namedescriptionrequiretype
usernameUsername(email/telephone...)TRUEstring
credentialCredential(password/verify code...)TRUEstring

Sample request parameters

{
  "username": "xxxx@apitable.com",
  "credential": "qwer1234 || 261527"
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataCreateSpaceResultVoCreateSpaceResultVo

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.13.2 Get User info

Interface address /api/v1/user/me

Request method GET

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptiontyperequiretype
spaceIdspace idqueryFALSEstring
nodeIdnode idqueryFALSEstring
filterwhether to filter space related informationqueryFALSEboolean

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataUserInfoVoUserInfoVo
userIdUser ID (the actual return is uuid)string
uuidUser UUIDstring
nickNameNicknamestring
areaCodeMobile phone area codestring
mobilePhone numberstring
emailEmailstring
avatarAvatarstring
signUpTimeRegistration timestring(date-time)
lastLoginTimeLast logon timestring(date-time)
thirdPartyInformationAccount association voarrayUserLinkVo
typeAssociation Type:0DingTalk;1WeChatinteger
nickNameAccount nicknamestring
createTimeBinding timestring
needPwdWhether to set a password is required. It indicates that the user does not have a password. It is a standard field for initialization and password settingboolean
needCreateWhether it is necessary to create a space indicates that the user does not have any space association, which is a standard field for space creation guidanceboolean
spaceIdSpace idstring
spaceNameSpace namestring
spaceLogoSpace logostring
memberIdMember ID corresponding to the spaceinteger(int64)
memberNameMember name corresponding to the spacestring
unitIdOrganization unit ID of the corresponding member of the spaceinteger(int64)
activeNodeIdID of the open data table node in the spacestring
activeViewIdID of the view opened in the meterstring
activeNodePosActive node location (0: working directory; 1: star)integer(int32)
isAdminWhether it is a space administrator, and whether the space management menu is displayedboolean
isMainAdminPrimary administrator or notboolean
isPausedWhether the account is cancelled during the cooling off period (account recovery is allowed during the cooling off period)boolean
closeAtAccount destruction timestring(date-time)
isDelSpaceWhether the space is deletedboolean
apiKeyDeveloper Access Tokenstring
wizardsJSONObjectJSONObject
configJSONConfigJSONConfig
orderboolean
ignoreErrorboolean
ignoreCaseboolean
dateFormatstring
ignoreNullValueboolean
transientSupportboolean
ignoreTransientboolean
emptyboolean
inviteCodePersonal invitation codestring
spaceDomainSpace station domain namestring
isNameModifiedWhether the user's space has changed the internal nickname (abandoned)boolean
isNewComerWhether the user is newboolean
isNickNameModified(Used in WeCom)Whether the user has modified the nicknameboolean
isMemberNameModified(Used in WeCom)Whether the member has modified the nicknameboolean
sendSubscriptionNotifyWhether to send subscription related notificationsboolean
usedInviteRewardHave you ever used invitation rewardsboolean
avatarColordefault avatar color numberinteger(int32)
timeZoneuser time zonestring

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": {
               "userId": "1",
               "uuid": "1261273764218",
               "nickName": "Jack",
               "areaCode": "+1",
               "mobile": "\"88888888\"",
               "email": "admin@apitable.com",
               "avatar": "null",
               "signUpTime": "",
               "lastLoginTime": "",
               "thirdPartyInformation": [
                       {
                               "type": 1,
                               "nickName": "A short song line",
                               "createTime": ""
                       }
               ],
               "needPwd": false,
               "needCreate": false,
               "spaceId": "spcx2yLGGedWc",
               "spaceName": "My Workspace",
               "spaceLogo": "http://...",
               "memberId": 0,
               "memberName": "",
               "unitId": 0,
               "activeNodeId": "dst151d",
               "activeViewId": "views135",
               "activeNodePos": 0,
               "isAdmin": false,
               "isMainAdmin": false,
               "isPaused": false,
               "closeAt": "",
               "isDelSpace": false,
               "apiKey": "uskPtGBUw8EuVKoo3X6",
               "wizards": {
                       "config": {
                               "order": true,
                               "ignoreError": true,
                               "ignoreCase": true,
                               "dateFormat": "",
                               "ignoreNullValue": true,
                               "transientSupport": true,
                               "ignoreTransient": true
                       },
                       "empty": true
               },
               "inviteCode": "test",
               "spaceDomain": "",
               "isNameModified": true,
               "isNewComer": true,
               "isNickNameModified": true,
               "isMemberNameModified": true,
               "sendSubscriptionNotify": true,
               "usedInviteReward": true,
               "avatarColor": 0,
               "timeZone": "UTC-5(America/Toronto)"
        }
}

3.13.3 Update User info

Interface address /api/v1/user/update

Request method POST

Interface request Content-Type application/json

Interface description

At least one item is the name and logo

Request parameters

namedescriptionrequiretype
maxSizeFALSEinteger(int32)
avatarAvatarFALSEstring
avatarColordefault avatar colorFALSEinteger(int32)
nickNameNicknameFALSEstring
initWhether it is a registered initialization nicknameFALSEboolean
localeLanguageFALSEstring
timeZoneTime ZoneFALSEstring

Sample request parameters

{
  "maxSize": 0,
  "avatar": "https://...",
  "avatarColor": 1,
  "nickName": "This is a nickname",
  "init": true,
  "locale": "zh-CN",
  "timeZone": "America/Toronto"
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
datastring

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.13.4 Delete User

Interface address/api/v1/user/applyForClosing

Request method POST

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptionrequiretype
spaceIdspace idTRUEstring

Response Params

nametype
successboolean
codeinteger(int32)
messagestring
dataobject

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.14 Team management interface

3.13.1 Create team

Interface address /api/v1/org/team/create

Request method POST

Interface request Content-Type application/json

Request parameters

namedescriptiontyperequiretype
X-Space-Idspace idheaderTRUEstring
nameDepartment nameTRUEstring
superIdParent ID, 0 if the parent is rootTRUEinteger(int64)

Sample request parameters

{
  "name": "Finance Department",
  "superId": 0
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataCreateSpaceResultVoCreateSpaceResultVo

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.13.2 Get Team info

Interface address /api/v1/org/team/read

Request method GET

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptiontyperequiretype
X-Space-Idspace idheaderTRUEstring
teamIdteam idqueryFALSEstring

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataTeamInfoVoTeamInfoVo
teamIdDepartment IDinteger(int64)
teamNameDepartment namestring
memberCountNumber of department membersinteger(int32)

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": {
               "teamId": 1,
               "teamName": "R&D Department",
               "memberCount": 3
        }
}

3.13.3 Update Team info

Interface address /api/v1/org/team/update

Request method POST

Interface request Content-Type application/json

Interface description

Update team info. If modify team level, default sort in the end of parent team

Request parameters

namedescriptiontyperequiretype
X-Space-Idspace idheaderTRUEstring
teamIdDepartment IDTRUEinteger(int64)
teamNameDepartment nameFALSEstring
superIdParent ID, 0 if the parent is rootTRUEinteger(int64)

Sample request parameters

{
  "teamId": 1,
  "teamName": "Design Department",
  "superId": 0
}

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
datastring

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.13.4 Delete Team

Interface address/api/v1/org/team/delete/{teamId}

Request method POST

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptiontyperequiretype
teamIdteam idpathTRUEstring
X-Space-Idspace idheaderTRUEstring

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataobject

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.15 Notification management interface

3.15.1 Create a notification interface

Interface address /api/v1/player/notification/create

Request method POST

Interface request Content-Type application/json

Interface description

About the notification templates, pls view this file [Notification.json]

Request parameters

namedescriptionrequiretypeschema
toUserIdID of the notified user (optional)FALSEarraystring
toMemberIdEither the member ID or to User Id of the notified user (optional)FALSEarraystring
toUnitIdEither the organizational unit ID or to User ID of the notified user (optional)FALSEarraystring
fromUserIdSend the notification user ID, and the system notifies the user as 0 (optional)FALSEstring
nodeIdNode ID (optional)FALSEstring
spaceIdSpace ID (optional)FALSEstring
templateIdTemplate IDTRUEstring
bodyFALSEJSONObjectJSONObject
configFALSEJSONConfigJSONConfig
orderFALSEboolean
ignoreErrorFALSEboolean
ignoreCaseFALSEboolean
dateFormatFALSEstring
ignoreNullValueFALSEboolean
transientSupportFALSEboolean
ignoreTransientFALSEboolean
emptyFALSEboolean
versionVersion number (optional)FALSEstring
expireAtExpiration time (optional) accurate to millisecondsFALSEstring
notifyIdNotification ID (optional)FALSEstring

Sample request parameters

[
  {
    "toUserId": [],
    "toMemberId": [],
    "toUnitId": [],
    "fromUserId": "1261273764218",
    "nodeId": "nod10",
    "spaceId": "spcHKrd0liUcl",
    "templateId": "add_sub_admin",
    "body": {
      "config": {
        "order": true,
        "ignoreError": true,
        "ignoreCase": true,
        "dateFormat": "",
        "ignoreNullValue": true,
        "transientSupport": true,
        "ignoreTransient": true
      },
      "empty": true
    },
    "version": "v0.12.1.release",
    "expireAt": "1614587900000",
    "notifyId": "1614587900000"
  }
]

Response Result Parameters

Parameter nameParameter descriptionData type
codeResult response code, 200 means successinteger(32)
messageResponse result descriptionString
successWhether successfulboolean
viewsView informationString
idView IDString
typeView typeString
nameView nameString

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": null
}

3.15.2 Get notification list

Interface address /api/v1/player/notification/page

Request method GET

Interface request Content-Type application/x-www-form-urlencoded

Request parameters

namedescriptiontyperequiretypeschema
notificationPageRoUser notification paging list parametersqueryTRUENotificationPageRoNotificationPageRo
isReadRead 1 Read, 0 Unread, Not Transferred means to query all,Avalible:FALSEinteger(int32)
notifyTypeNotification TypeFALSEstring
rowNoThe earliest notification line numberFALSEinteger(int32)
pageSizeNumber of entries per pageFALSEinteger(int32)

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataarrayNotificationDetailVo
idMessage IDstring
isReadRead 1 Read, 0 Unreadinteger(int32)
notifyTypeNotification Typestring
createdAtCreation timestring(date-time)
updatedAtUpdate timestring(date-time)
toUserIdNotified user IDstring
toUuidNotified user uuidstring
fromUserBasic user informationPlayerBaseVoPlayerBaseVo
uuidUser's Uuidstring
memberIdMember IDinteger
userNameUser Namestring
memberNameMember Namestring
avatarHEAD PORTRAITstring
teamDEPARTMENTstring
isNickNameModifiedWhether the user has modified the nicknameboolean
isMemberNameModifiedWhether the member has modified the nicknameboolean
emailEmailstring
playerTypeUser player type 1: members in the space have not been removed, 2 members outside the space have been removed, and 3 visitors (non space registered users)integer
avatarColordefault avatar color numberinteger
nickNameNick Namestring
notifyBodyNotice contentNotifyBodyNotifyBody
templateSend notification to usersstring
titleSend notification to usersstring
nodeNode InfoNodeNode
nodeIdnode idstring
nodeTypenode typeinteger
oldParentNameold parent node name(before operation, fixed)string
parentNameparent node name(operating at the time,fixed)string
oldNodeNameold node name(before operation, fixed)string
nodeNamenode name(operating at the time,fixed)string
currentNodeNamecurrent node name(the latest,dynamic)string
oldNodeIconold node icon(before operation, fixed)string
nodeIconnode icon(operating at the time,fixed)string
currentNodeIconcurrent node icon(the latest,dynamic)string
sourceNodeIdthe replicated node idstring
sourceNodeNamethe replicated node name(operating at the time,fixed)string
spaceSpace InfoSpaceSpace
spaceIdspaceIdstring
oldSpaceNameold space name(before operation, fixed)string
spaceNamespace name(operating at the time,fixed)string
oldSpaceLogoold space logo(before operation, fixed)string
spaceLogospace log(operating at the time,fixed)string
extrasJSONObjectJSONObject
configJSONConfigJSONConfig
orderboolean
ignoreErrorboolean
ignoreCaseboolean
dateFormatstring
ignoreNullValueboolean
transientSupportboolean
ignoreTransientboolean
emptyboolean
intentNotify JumpIntentIntent
urlJump linkstring
rowNoNumber of notification lines of the dayinteger(int32)
templateIdNotification template IDstring

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": [
               {
                       "id": "1261273764218",
                       "isRead": 1,
                       "notifyType": "system",
                       "createdAt": "",
                       "updatedAt": "",
                       "toUserId": "1261273764218",
                       "toUuid": "aaaabb",
                       "fromUser": {
                               "uuid": "aadddbccc",
                               "memberId": 1261273764218,
                               "userName": "zoe",
                               "memberName": "zoe",
                               "avatar": "zoe",
                               "team": "Operation Department|Planning Department",
                               "isNickNameModified": true,
                               "isMemberNameModified": true,
                               "email": "52906715@qq.com",
                               "playerType": 1,
                               "avatarColor": 1,
                               "nickName": "Jack"
                       },
                       "notifyBody": {
                               "template": "",
                               "title": "",
                               "node": {
                                      "nodeId": "",
                                      "nodeType": 0,
                                      "oldParentName": "",
                                      "parentName": "",
                                      "oldNodeName": "",
                                      "nodeName": "",
                                      "currentNodeName": "",
                                      "oldNodeIcon": "",
                                      "nodeIcon": "",
                                      "currentNodeIcon": "",
                                      "sourceNodeId": "",
                                      "sourceNodeName": ""
                               },
                               "space": {
                                      "spaceId": "",
                                      "oldSpaceName": "",
                                      "spaceName": "",
                                      "oldSpaceLogo": "",
                                      "spaceLogo": ""
                               },
                               "extras": {
                                      "config": {
                                              "order": true,
                                              "ignoreError": true,
                                              "ignoreCase": true,
                                              "dateFormat": "",
                                              "ignoreNullValue": true,
                                              "transientSupport": true,
                                              "ignoreTransient": true
                                      },
                                      "empty": true
                               },
                               "intent": {
                                      "url": "https://apitable.com"
                               }
                       },
                       "rowNo": 0,
                       "templateId": ""
               }
        ]
}

3.15.3 Delete notification

Interface address/api/v1/player/notification/delete

Request method POST

Interface request Content-Type application/json

Request parameters

namedescriptionrequiretypeschema
idNotification ID, supporting batchTRUEarraystring
isAllFull 1 full, 0 incomplete,Avalible:FALSEinteger(int32)

Sample request parameters

{
  "id": [
    "124324324",
    "243242"
  ],
  "isAll": 0
}

Response Params

nametype
successboolean
codeinteger(int32)
messagestring
databoolean

Response Example

 {
        "success": true,
        "code": 0,
        "message": "",
        "data": true
}

3.16 Widget management interface

3.16.1 Get widget info

Interface address: /api/v1/widget/get

Request method: GET

Interface request Content-Type: application/x-www-form-urlencoded

Request parameters

namedescriptiontyperequiretype
widgetIdswidget idsqueryTRUEstring
linkIdAssociation ID: node sharing ID and template IDqueryFALSEstring

Response Params

namedescriptiontypeschema
successboolean
codeinteger(int32)integer(int32)
messagestring
dataarrayWidgetPack
idWidget IDstring
revisionWidget version numberinteger(int64)
widgetPackageIdPackage IDstring
widgetPackageNameWidget package namestring
widgetPackageIconWidget package iconstring
widgetPackageVersionWidget package version numberstring
snapshotWidget snapshot informationWidgetSnapshotWidgetSnapshot
widgetNameWidget Namestring
datasheetIdData source table IDstring
storageStorage configurationobject
sourceIdData source reference source IDstring
statusWidget status (0: under development; 1: banned; 2: to be published; 3: published; 4: off the shelf)integer(int32)
authorNameWidget Author Namestring
authorEmailWidget author Emailstring
authorIconWidget Author Iconstring
authorLinkWidget Author Web Addressstring
packageTypeWidget package type (0: third party, 1: official)integer(int32)
releaseTypeWidget publishing type (0: space station, 1: global)integer(int32)
releaseCodeBundleWidget code addressstring
sandboxSandbox or notboolean
fatherWidgetPackageIdAudit Applet Parent Applet Idstring
installEnvInstallation environment typearraystring
runtimeEnvOperating environment typearraystring

Response Example

{
        "success": true,
        "code": 0,
        "message": "",
        "data": [
               {
                       "id": "wdt123",
                       "revision": 0,
                       "widgetPackageId": "wpkABC",
                       "widgetPackageName": "Chart",
                       "widgetPackageIcon": "https://apitable.com/space/2020/12/23/aqa",
                       "widgetPackageVersion": "v1.0.0",
                       "snapshot": {
                               "widgetName": "Widget instance name",
                               "datasheetId": "dst123",
                               "storage": {},
                               "sourceId": "mir123"
                       },
                       "status": 0,
                       "authorName": "",
                       "authorEmail": "",
                       "authorIcon": "",
                       "authorLink": "",
                       "packageType": 0,
                       "releaseType": 0,
                       "releaseCodeBundle": "https://apitable.com/code/2020/12/23/aqa",
                       "sandbox": true,
                       "fatherWidgetPackageId": "",
                       "installEnv": "dashboard",
                       "runtimeEnv": "mobile"
               }
        ]
}

3.16.2 Add a widget

add an exist widget package to a dashboard

URL: /fusion/v1/dashboards/&#123;dashboardId&#125;/widgets

Method: POST

Parameters

:paramtypeparam typerequireddescription
namestringBodyfalsewidget name
widgetPackageIdstringBodytruewidget package id
dashboardIdstringPathtruedashboard id
datasheetIdstringBodyfalseIf there is a value, it will automatically link to the specified datasheet
layoutobjectBodyfalse
- xnumberBody.layouttruethe x axis
- ynumberBody.layouttruethe y axis
- heightnumberBody.layouttrue
- widthnumberBody.layouttrue

Example

// request body
{
    "name": "widget name",
    "widgetPackageId": "",
    "layout": {
        "x": 0,
        "y": 0,
        "height": 3,
        "width": 4
    
    
    }
}
 // response data
{
    "code": 200,
    "success": true,
    "message": "SUCCESS",
    "data": {
        "widgetId": "wdt*****",
        "name": "test widget",
        "layout": {
            "x": 0,
            "y": 0,
            "height": 3,
            "width": 4
        }
     }
}

3.16.3 Update a widget

update a widget in dashboard

URL: fusion/v1/dashboards/

/widgets/

Method: PUT

Parameters

paramtypeparam typerequireddescription
widgetIdstringPathtruewidget id
dashboardIdstringPathtruedashboard id
namestringBodyfalsewidget name
layoutobjectBodyfalse
- xnumberBody.layouttruethe x axis
- ynumberBody.layouttruethe y axis
- heightnumberBody.layouttrue
- widthnumberBody.layouttrue

Example

// request body
{
    "name": "widget name",
    "widgetPackageId": "",
    "layout": {
        "x": 0,
        "y": 0,
        "height": 3,
        "width": 4
    
    
    }
}
 // response data
{
    "code": 200,
    "success": true,
    "message": "SUCCESS",
    "data": {
        "widgetId": "wdt*****",
        "name": "test widget",
        "layout": {
            "x": 0,
            "y": 0,
            "height": 3,
            "width": 4
        }
     }
}

3.16.4 Remove a widget

remove a widget from dashbaord

URL: /fusion/v1/dashboards/&#123;dashboardId&#125;/widgets/&#123;widgetId&#125;

Method: DELETE

Parameters

paramtypeparam typerequireddescription
widgetIdstringPathtruewidget id
dashboardIdstringPathtruedashboard id

Example

// Request Url
fusion/v1/dashboards/dsb******/widgets/wdt*****

// Response Data
{
  "code": 200,
  "success": true,
  "message": "SUCCESS"
}

On this page

1. Explanation of terms2. API interface list3. Access Guide3.1 API interface call certificate3.1.1 What is an API Token?3.1.2 How to get API Token?3.1.3 How to use API Token?3.2 Node management3.2.1 Creating a Node Interface3.2.2 Edit node interface3.2.3 Delete the node interface3.2.4 Copy node interface3.2.5 Move node interface3.2.6 Restore Node Interface3.3 Data import3.3.1 Excel data import interface3.4 Template management3.4.1 Save to the specified space station interface3.4.2 Update the node sharing configuration interface3.4.3 Using the template interface3.5 Developer Token Management3.5.1 Create Developer Token Interface3.5.2 Query User Information/Developer Token Interface3.5.3 Refresh the developer Token interface3.6 Embedded API interface3.7 Permission callback interface3.8 Associated data table pop-up window - datasheet list3.10 Form management interface3.10.1 Generate form sharing link interface3.10.2 Query forms and associated information interfaces3.10.3 Update the form sharing interface3.11 View management interface3.11.1 Create a view interface3.11.2 Delete a view interface3.11.3 Edit View Interface3.11.4 Copy View Interface3.12 Space management interface3.12.1 Create Sapce3.12.2 Get Space info3.13.3 Update Space3.14.4 Delete Space3.13 User management interface3.13.1 Create user3.13.2 Get User info3.13.3 Update User info3.13.4 Delete User3.14 Team management interface3.13.1 Create team3.13.2 Get Team info3.13.3 Update Team info3.13.4 Delete Team3.15 Notification management interface3.15.1 Create a notification interface3.15.2 Get notification list3.15.3 Delete notification3.16 Widget management interface3.16.1 Get widget info3.16.2 Add a widget3.16.3 Update a widgetParametersExample3.16.4 Remove a widget