Informat WebAPI
Overview
If you need to access data from Informat applications in your own system, we provide a rich set of WebAPIs. You can use WebAPIs to retrieve and process data.
Unified Specifications
Unified use of UTF-8 encoding. Please ensure the encoding of your files and the format of incoming parameters. All interfaces use POST as the request method.
How to Obtain apiKey
In Informat, go to 【Workbench】>【Application Management】>【Settings】>【Generate API Key】 
Data Table Operations
Query Data Table Record List
Request URL
https://next.informat.cn/web0/webapi/table_record_listBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| pageIndex | Number | No | Page number; defaults to 1 when not passed |
| pageSize | Number | No | Number of records per page; defaults to 50 when not passed, -1 means query all data |
| filter | Filter | No | Filter conditions; defaults to {} when not passed |
| aggregationQueryList | Array<AggregationQuery> | No | Aggregation query list; defaults to [] when not passed |
| groupByList | Array<String> | No | Grouping field list; no grouping when not passed |
| excludeFields | Array<String> | No | List of field identifiers to exclude from return values; query all fields when not passed or empty array |
| orderByList | Array<OrderBy> | No | Sorting method list; earlier array elements have higher sorting priority |
Return Value Returns the queried record list, type is Array<Object>
Example 1: Query Data Table with Condition Filtering
Query all records in the data table with identifier dataModelBasics where the field integerNum is greater than or equal to 100
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"pageSize": -1,
"filter": {
"conditionList": [
{
"fieldId": "integerNum",
"opt": "ge",
"value": 100
}
]
}
}Return Example
{
"requestId": "b91d8upmbviqy",
"message": "success",
"code": 0,
"data": {
"recordList": [
{
"integerNum": 222,
"id": "v4ln4hun0hzkc",
"seq": 1,
"singleText": "informat-next"
},
{
"integerNum": 100,
"id": "y9j5n6q86us1b",
"seq": 2,
"singleText": "informat"
}
],
"count": 2
},
"timestamp": 1740653036527,
"remark": null
}Example 2: Aggregation Query on Data Table
Aggregation query for the average age of active employees in the Staff Table (identifier: staffs)
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "staffs",
"pageSize": -1,
"filter": {
"conditionList": [
{
"fieldId": "status",
"opt": "eq",
"value": "onjob"
}
]
},
"aggregationQueryList": [
{
"func": "avg",
"fieldId": "age"
}
]
}Return Example
{
"requestId": "w6dvurgfs63lm",
"message": "success",
"code": 0,
"data": {
"recordList": [
{
"age_avg": 28.82
}
],
"count": 1
},
"timestamp": 1743310798279,
"remark": null
}Query Data Table Record by ID
Request URL
https://next.informat.cn/web0/webapi/table_record_getBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| id | String | Yes | Record ID |
Return Value Returns the queried record details, type is Object
Body Example
Query the record details with ID v4ln4hun0hzkc in the data table with identifier dataModelBasics
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"id": "v4ln4hun0hzkc"
}Return Example
{
"requestId": "b91d8upmbviqy",
"message": "success",
"code": 0,
"data": {
"integerNum": 222,
"id": "v4ln4hun0hzkc",
"seq": 1,
"singleText": "informat-next"
},
"timestamp": 1740653036527,
"remark": null
}Insert Data Table Record
Request URL
https://next.informat.cn/web0/webapi/table_record_insertBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| rowData | Object | Yes | Record to be created |
Return Value Returns the inserted record, type is Object
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"rowData": {
"integerNum": 100,
"singleText": "informat"
}
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": {
"id": "m0d77w6c8ptul",
"seq": 1,
"integerNum": 100,
"singleText": "informat"
},
"timestamp": 1740653292358,
"remark": null
}Batch Insert Data Table Records
Request URL
https://next.informat.cn/web0/webapi/table_record_batch_insertBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| rowDataList | Array<Object> | Yes | List of records to be created |
Return Value Returns the number of inserted records, type is Number
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"rowDataList": [
{
"integerNum": 100,
"singleText": "informat"
},
{
"integerNum": 200,
"singleText": "informat"
}
]
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": 2,
"timestamp": 1740653292358,
"remark": null
}Update Data Table Record
Request URL
https://next.informat.cn/web0/webapi/table_record_updateBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| rowData | Object | Yes | Record to be updated, must include id |
| updateFields | Array<String> | Yes | List of field identifiers to update |
Return Value Returns the number of updated records, type is Number
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"rowData": {
"id": "m0d77w6c8ptul",
"integerNum": 200
},
"updateFields": ["integerNum"]
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": 1,
"timestamp": 1740653292358,
"remark": null
}Batch Update Data Table Records
Request URL
https://next.informat.cn/web0/webapi/table_record_batch_updateBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| rowDataList | Array<Object> | Yes | List of records to be updated, must include id |
Return Value Returns the number of updated records, type is Number
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"rowDataList": [
{
"id": "m0d77w6c8ptul",
"integerNum": 101,
"singleText": "informat"
},
{
"id": "d239lnruys24t",
"integerNum": 102,
"singleText": "informat"
}
],
"updateFields": ["integerNum", "singleText"]
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": 2,
"timestamp": 1740653292358,
"remark": null
}Delete Data Table Record
Request URL
https://next.informat.cn/web0/webapi/table_record_deleteBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| id | String | Yes | Record ID |
Return Value Returns the number of deleted records, type is Number
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"id": "m0d77w6c8ptul"
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": 1,
"timestamp": 1740653292358,
"remark": null
}Batch Delete Data Table Records
Request URL
https://next.informat.cn/web0/webapi/table_record_batch_deleteBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| tableId | String | Yes | Data table identifier |
| idList | Array<String> | Yes | List of record IDs to be deleted |
Return Value Returns the number of deleted records, type is Number
Body Example
{
"apiKey": "ok3lluet8ni30ztwto0sj",
"tableId": "dataModelBasics",
"idList": ["m0d77w6c8ptul", "d239lnruys24t"]
}Return Example
{
"requestId": "wzrnibc1hrzh5",
"message": "success",
"code": 0,
"data": 2,
"timestamp": 1740653292358,
"remark": null
}Application Design
Get Design Definition List
Request URL
https://next.informat.cn/web0/webapi/app_define_object_listBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| name | String | No | Definition name, such as data table name |
| type | String | No | Definition type |
Return Value Returns the definition list, type is Array<DefineObject>
Body Example
{
"apiKey": "jjw76elhtybxp3ew7gcay",
"name": "Data Table",
"type": "Table"
}Return Example
{
"requestId": "adwvj2ianlqba",
"message": "success",
"code": 0,
"data": [
{
"id": "zt2jjro99m7k1",
"key": "zt2jjro99m7k1",
"scope": "App",
"name": "Data Table",
"displayName": null,
"remark": "This module details how to configure data table cards in Informat's [Dashboard Module].",
"build": 4,
"draftVersion": 3,
"ignoreAddVersion": false,
"isDeleted": false,
"parentId": null,
"parentName": null,
"createUser": "Wang Yanfeng",
"updateUser": "skydu",
"createTime": "Mon Aug 19 16:09:54 CST 2024",
"updateTime": "Mon Feb 17 22:43:48 CST 2025",
"type": "Dashboard",
"icon": "line-chart",
"iconColor": null,
"textColor": null,
"isHiddenWeb": false,
"isHiddenMobile": false,
"moduleHiddenVar": null,
"bgColor": null,
"disableNavBreadcrumb": false,
"disableModuleTitle": false,
"enableModuleTitleRichtext": false,
"moduleTitleRichtext": null,
"modulePadding": null,
"moduleBorderRadius": null,
...
}
],
"timestamp": 1740653171798,
"remark": null
}Get Design Definition
Request URL
https://next.informat.cn/web0/webapi/app_define_object_getBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| id | String | Yes | Definition ID, for example, the ID of a module definition is the module ID |
| scope | String | Yes | Scope, App or other definition ID. For example, to query data table field definitions, the scope is the data table module definition ID |
Return Value Returns the definition list, type is Array<DefineObject>
Body Example
{
"apiKey": "jjw76elhtybxp3ew7gcay",
"id": "l69kzbnd1f048",
"scope": "App"
}Return Example
{
"requestId": "r23fnl33hbdtl",
"message": "success",
"code": 0,
"data": {
"id": "l69kzbnd1f048",
"key": "l69kzbnd1f048",
"scope": "App",
"name": "Shared Storage",
"displayName": null,
"remark": "Informat uniformly uses S3 protocol-based shared storage to save user-uploaded files, and data generated in applications is stored in different directories according to different scenarios. Shared storage is isolated by team ID and application ID.",
"build": 4,
"draftVersion": 5,
"ignoreAddVersion": false,
"isDeleted": false,
"parentId": null,
"parentName": null,
"updateUser": "skydu",
"createTime": "Tue May 28 14:55:35 CST 2024",
"updateTime": "Mon Feb 17 22:43:50 CST 2025",
"type": "Dashboard",
"icon": "line-chart",
"iconColor": null,
"textColor": null,
"isHiddenWeb": false,
"isHiddenMobile": false,
"moduleHiddenVar": null,
"bgColor": null,
"disableNavBreadcrumb": false,
"disableModuleTitle": false,
"enableModuleTitleRichtext": false,
"moduleTitleRichtext": null,
"modulePadding": null,
"moduleBorderRadius": null,
...
},
"timestamp": 1740652803611,
"remark": null
}Application Management
Get Application Member List
Request URL
https://next.informat.cn/web0/webapi/app_member_listBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| accountIdList | Array<String> | No | Account ID list |
| roleList | Array<String> | No | Role ID list |
Return Value Returns the application member list, type is Array<AppMemberVO>
Body Example
{
"apiKey": "jjw76elhtybxp3ew7gcay",
"roleList": ["admin", "user"]
}Return Example
{
"requestId": "d5vsjebh205uu",
"message": "success",
"code": 0,
"data": {
"list": [
{
"accountId": "zhangsan",
"rowNumber": 1742458050115,
"roleList": ["admin"],
"createTime": "2025-03-20T08:07:30.130+00:00",
"accountName": "Zhang San",
"accountAvatar": "pic15.jpg",
"accountHint": "zhangsan",
"accountRemark": null,
"departmentList": ["jiaofubu"]
},
{
"accountId": "lisi",
"rowNumber": 1741058789049,
"roleList": ["user"],
"createTime": "2025-03-04T03:26:29.052+00:00",
"accountName": "Li Si",
"accountAvatar": "pic16.png",
"accountHint": "lisi",
"accountRemark": null,
"departmentList": ["jsb"]
}
],
"count": 2
},
"timestamp": 1742631942367,
"remark": null
}Get Application Member Details by Account ID
Request URL
https://next.informat.cn/web0/webapi/app_member_getBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| apiKey | String | Yes | Application's Apikey |
| accountId | String | Yes | Account ID |
Return Value Returns the application member list, type is Array<AppMemberVO>
Body Example
{
"apiKey": "jjw76elhtybxp3ew7gcay",
"accountId": "zhangsan"
}Return Example
{
"requestId": "rg60k9kala8l4",
"message": "success",
"code": 0,
"data": {
"accountId": "zhangsan",
"rowNumber": 1740731380122,
"roleList": ["admin"],
"createTime": "2025-02-28T08:29:40.125+00:00",
"accountName": "Zhang San",
"accountAvatar": "pic15.jpg",
"accountHint": "zhangsan",
"accountRemark": null,
"departmentList": ["jiaofubu"]
},
"timestamp": 1742632106330,
"remark": null
}
