🧾 Managing List Entries via REST API
This article explains how to create, update, retrieve, and delete list entries in ValueStreamer via the REST API. The List API is particularly suited for structured, team-based information flows and cascading list types.
🔍 Contents
-
Prerequisites
-
Authentication
-
Overview of Endpoints
-
Creating & Updating List Entries
-
Retrieving & Deleting Entries
-
Viewing Status History
-
Querying Metadata
-
Technical Notes
-
Tips & Best Practices
-
FAQ
📋 Prerequisites
-
🔐 API credentials (HTTP Basic Auth)
-
📄 API specification YAML file (for Swagger Editor)
-
🧪 Swagger UI, Postman, or another automation tool (e.g., Power Automate, Python)
-
🧭 Team ID and List ID (UUIDs)
🔑 Authentication
The API uses HTTP Basic Auth:
Authorization: Basic <Base64-encoded-username:password>
🔗 Overview of Endpoints
📋 List Entries
Method | Path | Description |
---|---|---|
GET | /exchange/list/{list-id}/{team-id} |
Retrieve list entries for a team |
POST | /exchange/list/{list-id}/{team-id} |
Create a new entry |
PUT | /exchange/list/{list-id}/{team-id} |
Create or update multiple entries (bulk) |
GET | /exchange/list/{list-id}/{team-id}/{entry-id} |
Retrieve a single entry |
PUT | /exchange/list/{list-id}/{team-id}/{entry-id} |
Update or create a single entry |
DELETE | /exchange/list/{list-id}/{team-id}/{entry-id} |
Delete an entry |
GET | /exchange/list/{list-id}/{team-id}/{entry-id}/status-history |
View the status history of an entry |
📸 Screenshot: Endpoints in Swagger UI
🧠 Metadata
Method | Path | Description |
---|---|---|
GET | /exchange/list/meta |
Retrieve all available lists |
GET | /exchange/list/meta/{list-id} |
Retrieve fields & types of a specific list |
🆕 Creating an Entry (POST)
{
"dataDescription": "<p>Example description</p>",
"dataStatus": 1,
"data1": "2025-08-14",
"responsibleTeam": "UUID-of-team",
"createdByTeam": "UUID-of-team"
}
✨ Tip: Use data1
–data10
flexibly for your list structure.
🔁 Updating an Entry (PUT)
{
"dataStatus": 3,
"dataStatusMessage": "completed"
}
⚠️ Note: If dataDone=true
is set, the entry becomes frozen (read-only).
📄 Retrieving an Entry (GET)
GET /exchange/list/{list-id}/{team-id}/{entry-id}
❌ Deleting an Entry (DELETE)
DELETE /exchange/list/{list-id}/{team-id}/{entry-id}
📊 Viewing Status History
GET /exchange/list/{list-id}/{team-id}/{entry-id}/status-history
Returns all status changes with date and UUID.
🧭 Querying Metadata
Retrieve all available lists:
/exchange/list/meta
Retrieve fields & structures of a specific list:
/exchange/list/meta/{list-id}
✨ Tip: Ideal for dynamic UIs or automated field detection.
📌 Technical Notes
-
Format:
Content-Type: application/vs.v2.0+json
-
Each entry receives a unique
dataId
-
Cascading possible: create an entry for another team
-
Timestamps
createdOn
,modifiedOn
,doneOn
are automatically generated and read-only
✨ Tips & Best Practices
-
🔄 Use
PUT
for recurring updates (instead of delete + recreate) -
🗂 Use
createdByTeam
for cross-team reporting -
💡 Retrieve all list fields in advance via
/meta/{list-id}
for validation
❓ FAQ
Can I create entries for other teams?
→ Yes, via the responsibleTeam
field.
What is dataDone
for?
→ It permanently locks an entry. Changes are then no longer possible.
Which fields are mandatory?
→ At least: dataDescription
, responsibleTeam
, createdByTeam
. Additional required fields depend on the list configuration.
How many data fields are available per entry?
→ Up to 10 (data1
to data10
), configurable per list.