APITable-API Documents【Enterprise】

APITable-API Documents【Enterprise】

1. Explanation of terms

Manual | APITable Help Center



Name

Description

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

Module

Interface

address

description

Open Platform

datasheets , views, fields, records, space, working directories

APITable API Introduction | APITable Developer Center

APITable API Introduction | APITable Developer Center

Node management

Create node interface

/api/v1/node/create

Create 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/copy

Copy a node


Mobile node interface

/api/v1/node/move

Copy a node to the specified folder


Recovery node interface

/api/v1/node/rubbish/recover

Restore a node from Recycle Bin


Query node details interface

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

Query node details


data import

Excel import interface

/api/v1/node/import

Excel data import and automatically generate a wigtable

Template management

Save to specified space station interface

api/v1/node/storeShareData

Use 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/storeShareData

Use 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 management

Create Developer Token Interface

/api/v1/user/createApiKey

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

Query user information/Developer Token interface

/api/v1/user/me

Query user information and return developer Token


Refresh the developer Token interface

/api/v1/user/refreshApiKey

Replace a new Developer Token


Embedded API

Embedded interface

Create Embedded Links | APITable Developer Center

Create Embedded Links | APITable Developer Center

Permission & related interface

Permission callback interface

/callback/permission/verify

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.

3.8 Associated data table pop-up window - datasheet list

APITable-API Documents【Enterprise】



Form management interface

Generate 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}/dataPack

According 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}/prop

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


View management

Create a view interface

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

Create 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}/views

Batch 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}/duplicate

Support view copying, automatically generate new views


Space management

For details, please view: 3.12 Space management interface



User management

For details, please view: 3.13 User management interface



Team management

For details, please view: 3.14 Team management interface



Notification management

For 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 name

Parameter description

necessary?

Data type

nodeName

Name

No

String

type

Type. 1: Folder; 2: Table; 3: Magic Form; 4: Dashboard; 5: mirroring

Yes

String

preNodeId

The previous node of the target position is moved to the first place when it is empty

Yes

String

parentId

Parent Node Id

No

String

extra

First 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.

No

Json

checkDuplicateName

Verify whether a node name with the same name already exists in the same directory, and refuse to create it if it exists

No

boolean

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 name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

necessary?

Data type

nodeName

Node name

No

String

cover

Cover image, empty ('null' OR'undefined '), example values (space/2020/5/19/..)

Yes

String

showRecordHistory

Whether to display the recorded history, example value (1), after setting: only look at the cell content, hide the history and comment area on the right

No

integer(int32)

icon

Emoji icon, example value (: smile)

No

String

Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

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 name

Parameter description

necessary?

Data type

nodeId

Node ID

No

String

Response Result Parameters




Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

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 name

Parameter description

necessary?

Data type

data

Do you need to copy data

No

String

nodeId

Node Id

Yes

boolean

Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

Request type

necessary?

Data type

X-Space-Id

Space station ID

header

Yes

string

nodeId

Node Id

body

Yes

string

parentId

Move to the specified destination folder ID

body

Yes

string

preNodeId

The previous node ID of the destination folder

body

No

string

Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

Request type

necessary?

Data type

X-Space-Id

Space station ID

header

Yes

string

nodeId

Node Id

body

Yes

string

parentId

Restore to the specified destination folder ID

body

No

string

Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

Request type

necessary?

Data type

nodeId

Node Id

body

Yes

string

Response Result Parameters

参数名称

参数说明

类型

cover

Cover image, the privatized version can splice the URL by itself, for example: https://{domain name}/vk-assets-ltd/{cover}

string

createdMemberInfo

Node Creator Information

Data Creator View

avatar

Node Creator Avatar

string

memberName

Node creator nickname

string

description

Node description

string

icon

Node icon

string

nodeFavorite

Whether to collect Node

boolean

nodeId

Node id

string

nodeName

Node name

string

role

permission role

string

type

Node type 0-ROOT (root node)
1-folder (folder) 2-file (table)

integer(int32)

updatedAt

node updatetime

string(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 name

Parameter description

Whether it is necessary to

Data type

file

Upload files

Yes

file

parentId

Parent node Id

Yes

string

viewName

Custom generated default view name

No

string

Sample request parameters

How to submit the form

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


Response Result Parameters

Parameter name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

necessary?

Data type

shareId

The unique ID shared by the node, which is equivalent to the template ID

Yes

string

spaceId

Space Id

Yes

string

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 name

Parameter description

Request type

necessary?

Data type

templateId

template ID

body

TRUE

string

parentId

Use the template and save to the specified folder ID

body

TRUE

string

data

Whether to bring template data, if set to false, the template will not bring its own data

body



Sample request parameters

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

Response Result Parameters




Parameter name

Parameter description

Data type

columnLimit

When the node is a table, return whether the table field has reached the upper limit.

boolean

hasChildren

Is there a sub-node, the node type is folder

boolean

icon

Node icon

string

nodeFavorite

Whether the node is a star

boolean

nodeId

Node ID

string

nodeName

Node name

string

nodePermitSet

Whether node permissions are set

boolean

nodeShared

Whether the node is shared

boolean

parentId

Parent node Id

string

preNodeId

Previous Node ID

string

role

Role

string

spaceId

Space ID

string

type


integer(int32)

createTime

Creation time

object

updateTime

Update time

object

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 name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

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:

  • ONEACCESS_ENABLED: true

  • ONEACCESS_IAM_HOST: https://wecom.com/wiki/ku/datasheet

  • INFOFLOW_PERMISSIONS_ENABLED: 'true'

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

3.10.1 Generate form sharing link 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 name

Parameter description

Request type

necessary?

Data type

props





canBeEdited

Set public sharing to submit


TRUE

string


Sample request parameters

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

Response Result Parameters




Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

shareId

The public share link ID of the node, a unique value

String

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 name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

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 name

Parameter description

necessary?

Data type

title

input form's title name

FALSE

string

submitLimit

After the login and submission are enabled, whether to limit the submission once is enabled, and 0 means that unlimited submissions are allowed

FALSE

string

fillAnonymous

Whether to enable anonymous submission, set to false to submit after login

FALSE


Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

shareId

The public share link ID of the node, a unique value

String

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 name

Parameter description

Request type

necessary?

Data type

datasheetId

datahseet ID

path

TRUE

string

name

view name

body

TRUE

string

autoSave

whether to support automatic saving

body

FALSE

boolean

type

view type, Grid-table, Gallery-album, Kanban-kanban, Gantt-Gantt chart, Calendar-calendar, Architecture-architecture view

body

TRUE

string

columns

hide Field Information

body

FALSE

array

fieldId

field ID

body

FALSE

string

sortInfo

Field ordering information

body

FALSE

string

keepSort

whether to enable automatic sorting

body

FALSE

string

rules

field collation

body

FALSE

string

desc

true,means descending sort

body

FALSE

string

fieldId

field ID

body

FALSE

string

groupInfo

Field grouping information

body

FALSE

string

desc

true,means descending sort

body

FALSE

string

fieldId

field ID

body

FALSE

string

filterInfo

field filter information

body

FALSE

string

conditions

filter condition

body

FALSE

string

fieldId

field ID

body

FALSE

string

operator

filter condition,[ is, isNot, contains, doesNotContain, isEmpty, isNotEmpty, isGreater, isGreaterEqual, isLess, isLessEqual, isRepeat ]

body

FALSE

string

value

filter value

body

FALSE

string

conjunction

Used when multiple conditions, ex: and, or

body

FALSE

string=

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 name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

views

View information

String

id

View ID

String

type

View type

String

name

View name

String

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 name

Parameter description

Request type

necessary?

Data type

datasheetId

datasheet ID

path

TRUE

string

viewId

view ID

path

TRUE

string

Response Result Parameters

Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

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 name

Parameter description

Request type

necessary?

Data type

datasheetId

datasheet ID

path

TRUE

string

viewId

view ID

path

TRUE

string

name

view name


FALSE

string

lockInfo

Control video lock on, set to null if you want to turn off video lock


FALSE

object

description

Describe the reason for enabling the view lock


FALSE

string

autoSave

Whether to support automatic saving


FALSE

boolean


Sample request parameters

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

Response Result Parameters

Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

views

View information

String

id

View ID

String

type

View type

String

name

View name

String

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 name

Parameter description

Request type

necessary?

Data type

datasheetId

datasheet ID

path

TRUE

string

viewId

view ID

path

TRUE

string

Response Result Parameters

Parameter name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

views

View information

String

id

View ID

String

type

View type

String

name

View name

String

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 name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

views

View information

String

id

View ID

String

type

View type

String

name

View name

String

name

description

type

success


boolean

code


integer(int32)

message


string

data


object


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

name

description

type

require

type

schema

name

Name


TRUE

string



Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


CreateSpaceResultVo

CreateSpaceResultVo

spaceId

Space ID

string



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

name

description

type

require

type

spaceId

space id

path

TRUE

string


Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


SpaceInfoVO

SpaceInfoVO

spaceName

Space name

string


spaceLogo

Space logo

string


creatorName

Creator name

string


isCreatorNameModified

Whether the member (creator) has modified the nickname

boolean


creatorAvatar

Creator's avatar

string


ownerName

Space owner name

string


isOwnerNameModified

Whether the member (owner) has modified the nickname

boolean


ownerAvatar

Space owner's avatar

string


createTime

Creation timestamp (ms)

string(date-time)


delTime

Formal deletion timestamp (ms)

string(date-time)


social

Third party integrated binding information of the space

SpaceSocialConfig

SpaceSocialConfig

enabled

Whether the third party platform binding is enabled for the space

boolean


platform

Third party platform type(1: WeCom, 2: DingTalk, 3: Lark)

integer


appId

App ID

string


appType

Application Type(1: Enterprise self built application, 2: Independent service provider)

integer


authMode

Authorization mode. 1: Enterprise authorization; 2: Member Authorization

integer


contactSyncing

Whether the address book is being synchronized

boolean


deptNumber

Number of departments

integer(int64)


seats

Number of seats

integer(int64)


sheetNums

Number of tables

integer(int64)


recordNums

Total rows of all tables in the space

integer(int64)


adminNums

Number of space administrators

integer(int64)


capacityUsedSizes

Used attachment capacity (in bytes)

integer(int64)


apiRequestCountUsage

Cumulative usage of API calls

integer(int64)


fieldRoleNums

Total number of field permission settings

integer(int64)


nodeRoleNums

Total number of file permission settings

integer(int64)


kanbanViewNums

Total Kanban Views

integer(int64)


galleryViewNums

Total Album Views

integer(int64)


ganttViewNums

Total Gantt Views

integer(int64)


calendarViewNums

Total Calendar Views

integer(int64)


formViewNums

Total Form Views

integer(int64)


currentBundleCapacityUsedSizes

Used current package attachment capacity (unit: bytes)

integer(int64)


giftCapacityUsedSizes

Used complimentary accessory capacity (unit: bytes)

integer(int64)


mirrorNums

Number 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

name

description

type

require

type

X-Space-Id

space id

header

TRUE

string

name

Name


FALSE

string

logo

Icon


FALSE

string

Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


object



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

name

description

require

type

spaceId

space id

TRUE

string


Response Params

name

type

success

boolean

code

integer(int32)

message

string

data

object


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

name

description

require

type

username

Username(email/telephone...)

TRUE

string

credential

Credential(password/verify code...)

TRUE

string


Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


CreateSpaceResultVo

CreateSpaceResultVo


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

name

description

type

require

type

spaceId

space id

query

FALSE

string

nodeId

node id

query

FALSE

string

filter

whether to filter space related information

query

FALSE

boolean


Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


UserInfoVo

UserInfoVo

userId

User ID (the actual return is uuid)

string


uuid

User UUID

string


nickName

Nickname

string


areaCode

Mobile phone area code

string


mobile

Phone number

string


email

Email

string


avatar

Avatar

string


signUpTime

Registration time

string(date-time)


lastLoginTime

Last logon time

string(date-time)


thirdPartyInformation

Account association vo

array

UserLinkVo

type

Association Type:0DingTalk;1WeChat

integer


nickName

Account nickname

string


createTime

Binding time

string


needPwd

Whether 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 setting

boolean


needCreate

Whether 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 guidance

boolean


spaceId

Space id

string


spaceName

Space name

string


spaceLogo

Space logo

string


memberId

Member ID corresponding to the space

integer(int64)


memberName

Member name corresponding to the space

string


unitId

Organization unit ID of the corresponding member of the space

integer(int64)


activeNodeId

ID of the open data table node in the space

string


activeViewId

ID of the view opened in the meter

string


activeNodePos

Active node location (0: working directory; 1: star)

integer(int32)


isAdmin

Whether it is a space administrator, and whether the space management menu is displayed

boolean


isMainAdmin

Primary administrator or not

boolean


isPaused

Whether the account is cancelled during the cooling off period (account recovery is allowed during the cooling off period)

boolean


closeAt

Account destruction time

string(date-time)


isDelSpace

Whether the space is deleted

boolean


apiKey

Developer Access Token

string


wizards


JSONObject

JSONObject

config


JSONConfig

JSONConfig

order


boolean


ignoreError


boolean


ignoreCase


boolean


dateFormat


string


ignoreNullValue


boolean


transientSupport


boolean


ignoreTransient


boolean


empty


boolean


inviteCode

Personal invitation code

string


spaceDomain

Space station domain name

string


isNameModified

Whether the user's space has changed the internal nickname (abandoned)

boolean


isNewComer

Whether the user is new

boolean


isNickNameModified

(Used in WeCom)Whether the user has modified the nickname

boolean


isMemberNameModified

(Used in WeCom)Whether the member has modified the nickname

boolean


sendSubscriptionNotify

Whether to send subscription related notifications

boolean


usedInviteReward

Have you ever used invitation rewards

boolean


avatarColor

default avatar color number

integer(int32)


timeZone

user time zone

string



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

name

description

require

type

maxSize


FALSE

integer(int32)

avatar

Avatar

FALSE

string

avatarColor

default avatar color

FALSE

integer(int32)

nickName

Nickname

FALSE

string

init

Whether it is a registered initialization nickname

FALSE

boolean

locale

Language

FALSE

string

timeZone

Time Zone

FALSE

string


Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


string



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

name

description

require

type

spaceId

space id

TRUE

string


Response Params

name

type

success

boolean

code

integer(int32)

message

string

data

object


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

name

description

type

require

type

X-Space-Id

space id

header

TRUE

string

name

Department name


TRUE

string

superId

Parent ID, 0 if the parent is root


TRUE

integer(int64)


Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


CreateSpaceResultVo

CreateSpaceResultVo


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

name

description

type

require

type

X-Space-Id

space id

header

TRUE

string

teamId

team id

query

FALSE

string

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


TeamInfoVo

TeamInfoVo

teamId

Department ID

integer(int64)


teamName

Department name

string


memberCount

Number of department members

integer(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

name

description

type

require

type

X-Space-Id

space id

header

TRUE

string

teamId

Department ID


TRUE

integer(int64)

teamName

Department name


FALSE

string

superId

Parent ID, 0 if the parent is root


TRUE

integer(int64)


Sample request parameters

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

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


string



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

name

description

type

require

type

teamId

team id

path

TRUE

string

X-Space-Id

space id

header

TRUE

string


Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


object



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

name

description

require

type

schema

toUserId

ID of the notified user (optional)

FALSE

array

string

toMemberId

Either the member ID or to User Id of the notified user (optional)

FALSE

array

string

toUnitId

Either the organizational unit ID or to User ID of the notified user (optional)

FALSE

array

string

fromUserId

Send the notification user ID, and the system notifies the user as 0 (optional)

FALSE

string


nodeId

Node ID (optional)

FALSE

string


spaceId

Space ID (optional)

FALSE

string


templateId

Template ID

TRUE

string


body


FALSE

JSONObject

JSONObject

config


FALSE

JSONConfig

JSONConfig

order


FALSE

boolean


ignoreError


FALSE

boolean


ignoreCase


FALSE

boolean


dateFormat


FALSE

string


ignoreNullValue


FALSE

boolean


transientSupport


FALSE

boolean


ignoreTransient


FALSE

boolean


empty


FALSE

boolean


version

Version number (optional)

FALSE

string


expireAt

Expiration time (optional) accurate to milliseconds

FALSE

string


notifyId

Notification ID (optional)

FALSE

string



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 name

Parameter description

Data type

code

Result response code, 200 means success

integer(32)

message

Response result description

String

success

Whether successful

boolean

views

View information

String

id

View ID

String

type

View type

String

name

View name

String

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

name

description

type

require

type

schema

notificationPageRo

User notification paging list parameters

query

TRUE

NotificationPageRo

NotificationPageRo

isRead

Read 1 Read, 0 Unread, Not Transferred means to query all,Avalible:


FALSE

integer(int32)


notifyType

Notification Type


FALSE

string


rowNo

The earliest notification line number


FALSE

integer(int32)


pageSize

Number of entries per page


FALSE

integer(int32)



Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


array

NotificationDetailVo

id

Message ID

string


isRead

Read 1 Read, 0 Unread

integer(int32)


notifyType

Notification Type

string


createdAt

Creation time

string(date-time)


updatedAt

Update time

string(date-time)


toUserId

Notified user ID

string


toUuid

Notified user uuid

string


fromUser

Basic user information

PlayerBaseVo

PlayerBaseVo

uuid

User's Uuid

string


memberId

Member ID

integer


userName

User Name

string


memberName

Member Name

string


avatar

HEAD PORTRAIT

string


team

DEPARTMENT

string


isNickNameModified

Whether the user has modified the nickname

boolean


isMemberNameModified

Whether the member has modified the nickname

boolean


email

Email

string


playerType

User 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


avatarColor

default avatar color number

integer


nickName

Nick Name

string


notifyBody

Notice content

NotifyBody

NotifyBody

template

Send notification to users

string


title

Send notification to users

string


node

Node Info

Node

Node

nodeId

node id

string


nodeType

node type

integer


oldParentName

old parent node name(before operation, fixed)

string


parentName

parent node name(operating at the time,fixed)

string


oldNodeName

old node name(before operation, fixed)

string


nodeName

node name(operating at the time,fixed)

string


currentNodeName

current node name(the latest,dynamic)

string


oldNodeIcon

old node icon(before operation, fixed)

string


nodeIcon

node icon(operating at the time,fixed)

string


currentNodeIcon

current node icon(the latest,dynamic)

string


sourceNodeId

the replicated node id

string


sourceNodeName

the replicated node name(operating at the time,fixed)

string


space

Space Info

Space

Space

spaceId

spaceId

string


oldSpaceName

old space name(before operation, fixed)

string


spaceName

space name(operating at the time,fixed)

string


oldSpaceLogo

old space logo(before operation, fixed)

string


spaceLogo

space log(operating at the time,fixed)

string


extras


JSONObject

JSONObject

config


JSONConfig

JSONConfig

order


boolean


ignoreError


boolean


ignoreCase


boolean


dateFormat


string


ignoreNullValue


boolean


transientSupport


boolean


ignoreTransient


boolean


empty


boolean


intent

Notify Jump

Intent

Intent

url

Jump link

string


rowNo

Number of notification lines of the day

integer(int32)


templateId

Notification template ID

string



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

name

description

require

type

schema

id

Notification ID, supporting batch

TRUE

array

string

isAll

Full 1 full, 0 incomplete,Avalible:

FALSE

integer(int32)



Sample request parameters

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

Response Params

name

type

success

boolean

code

integer(int32)

message

string

data

boolean


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

name

description

type

require

type

widgetIds

widget ids

query

TRUE

string

linkId

Association ID: node sharing ID and template ID

query

FALSE

string

Response Params

name

description

type

schema

success


boolean


code


integer(int32)

integer(int32)

message


string


data


array

WidgetPack

id

Widget ID

string


revision

Widget version number

integer(int64)


widgetPackageId

Package ID

string


widgetPackageName

Widget package name

string


widgetPackageIcon

Widget package icon

string


widgetPackageVersion

Widget package version number

string


snapshot

Widget snapshot information

WidgetSnapshot

WidgetSnapshot

widgetName

Widget Name

string


datasheetId

Data source table ID

string


storage

Storage configuration

object


sourceId

Data source reference source ID

string


status

Widget status (0: under development; 1: banned; 2: to be published; 3: published; 4: off the shelf)

integer(int32)


authorName

Widget Author Name

string


authorEmail

Widget author Email

string


authorIcon

Widget Author Icon

string


authorLink

Widget Author Web Address

string


packageType

Widget package type (0: third party, 1: official)

integer(int32)


releaseType

Widget publishing type (0: space station, 1: global)

integer(int32)


releaseCodeBundle

Widget code address

string


sandbox

Sandbox or not

boolean


fatherWidgetPackageId

Audit Applet Parent Applet Id

string


installEnv

Installation environment type

array

string

runtimeEnv

Operating environment type

array

string

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/{dashboardId}/widgets

Method: POST

Parameters

:param

type

param type

required

description

name

string

Body

false

widget name

widgetPackageId

string

Body

true

widget package id

dashboardId

string

Path

true

dashboard id

datasheetId

string

Body

false

If there is a value, it will automatically link to the specified datasheet

layout

object

Body

false


- x

number

Body.layout

true

the x axis

- y

number

Body.layout

true

the y axis

- height

number

Body.layout

true


- width

number

Body.layout

true


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/:dashboardId/widgets/:widgetId

Method: PUT

Parameters

param

type

param type

required

description

widgetId

string

Path

true

widget id

dashboardId

string

Path

true

dashboard id

name

string

Body

false

widget name

layout

object

Body

false


- x

number

Body.layout

true

the x axis

- y

number

Body.layout

true

the y axis

- height

number

Body.layout

true


- width

number

Body.layout

true


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/{dashboardId}/widgets/{widgetId}

Method: DELETE

Parameters

param

type

param type

required

description

widgetId

string

Path

true

widget id

dashboardId

string

Path

true

dashboard id

Example

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

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