Working With Low Code Records
Listing Records
To search over records for a specific module, use the GET $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/
endpoint.
Refer to the documentation on how to get the complete reference.
curl -X GET "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed;
{
"response": {
"filter": {
"moduleID": "$MODULE_ID",
"namespaceID": "$NAMESPACE_ID",
"query": "",
"deleted": 0,
"sort": "id"
},
"set": [
{}
]
}
}
Filtering Records
To search over records for a specific module, use the GET $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/
endpoint with the query
query parameter.
Refer to the documentation on how to get the complete reference.
curl -X GET "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/?query=f2='value+2'" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed;
{
"response": {
"filter": {
"moduleID": "$MODULE_ID",
"namespaceID": "$NAMESPACE_ID",
"query": "f2='value 2'",
"deleted": 0,
"sort": "id"
},
"set": [
{}
]
}
}
Filtering Records With Missing Values
A record value can have two states — existing and nonexisting.
When the value is nonexisting, it is NULL
.
To exemplify; a checkbox field can either be true
, false
, and NULL
, therefore we three values are recognized instead of two.
-
{ "name": "a", "good": true }
-
{ "name": "b", "good": false }
-
{ "name": "c", "good": NULL }
Finding Records Where the Value Is NULL
curl "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/?query=good+IS+NULL" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed;
{
"response": {
"filter": {
"moduleID": "$MODULE_ID",
"namespaceID": "$NAMESPACE_ID",
"query": "good IS NULL",
"deleted": 0,
"sort": "id"
},
"set": [
{
"recordID": "$RECORD_ID",
"moduleID": "$MODULE_ID",
"values": [
{
"name": "name",
"value": "c"
}
],
"namespaceID": "$NAMESPACE_ID"
}
]
}
}
Finding Records Where the Value Is NULL
or false
curl "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/?query=good+IS+NULL+OR+good=false" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed | pp_json;
{
"response": {
"filter": {
"moduleID": "$MODULE_ID",
"namespaceID": "$NAMESPACE_ID",
"query": "good IS NULL OR good=false",
"deleted": 0,
"sort": "id"
},
"set": [
{
"recordID": "$RECORD_ID",
"moduleID": "$MODULE_ID",
"values": [
{
"name": "good"
},
{
"name": "name",
"value": "b"
}
],
"namespaceID": "$NAMESPACE_ID"
},
{
"recordID": "$RECORD_ID",
"moduleID": "$MODULE_ID",
"values": [
{
"name": "name",
"value": "c"
}
],
"namespaceID": "$NAMESPACE_ID"
}
]
}
}
Updating Records
To update a specific record for a specific module, use the POST $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID
endpoint.
The record update API endpoint sets record values to exactly what was provided in the request. If you wish to update only specific fields, first fetch the original record, change the desired values, then update the record.
The fields you omit in the request are removed from the record (value sanitation, automation, and other system processes may still define the value).
Example of Omitting Existing Values
curl -X POST "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID" \
-H 'Accept: application/json, text/plain, */*' \
-H "Authorization: Bearer $JWT" \
-H 'Content-Type: application/json' \
--data-raw '{ "values": [
{ "name": "f2", "value": "value 2" }
]}
' \
--compressed
{
"response": {
"recordID": "$RECORD_ID",
"moduleID": "$MODULE_ID",
"values": [
{ "name": "f2", "value": "value 2" }
],
"namespaceID": "$NAMESPACE_ID"
}
}
Example of Preserving Existing Values
curl -X POST "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID" \
-H 'Accept: application/json, text/plain, */*' \
-H "Authorization: Bearer $JWT" \
-H 'Content-Type: application/json' \
--data-raw '{ "values": [
{ "name": "f1", "value": "value 1" },
{ "name": "f2", "value": "value 2" }
]}
' \
--compressed
{
"response": {
"recordID": "$RECORD_ID",
"moduleID": "$MODULE_ID",
"values": [
{ "name": "f1", "value": "value 1" },
{ "name": "f2", "value": "value 2" }
],
"namespaceID": "$NAMESPACE_ID"
}
}
Creating Records
To search over records for a specific module, use the POST $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/
endpoint.
Refer to the documentation on how to get the complete reference.
curl -X POST "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
-H 'Content-Type: application/json' \
--data-raw '{ "values": [
{ "name": "f1", "value": "value 1" },
{ "name": "f2", "value": "value 2" }
]}' \
--compressed;
{
"response": {
"recordID": "RECORD_ID",
"moduleID": "MODULE_ID",
"values": [
{ "name": "f1", "value": "value 1" },
{ "name": "f2", "value": "value 2" }
],
"namespaceID": "NAMESPACE_ID"
}
}
Read records
To search over records for a specific module, use the GET $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID
endpoint.
Refer to the documentation on how to get the complete reference.
curl -X GET "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed;
{
"response": {
"recordID": "RECORD_ID",
"moduleID": "MODULE_ID",
"values": [
{ "name": "f1", "value": "value 1" },
{ "name": "f2", "value": "value 2" }
],
"namespaceID": "NAMESPACE_ID"
}
}
Deleting Records
To search over records for a specific module, use the DELETE $BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID
endpoint.
Refer to the documentation on how to get the complete reference.
curl -X DELETE "$BASE_URL/compose/namespace/$NAMESPACE_ID/module/$MODULE_ID/record/$RECORD_ID" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT" \
--compressed;
{ "success": { "message": "OK" } }