How to Upload and Query App Configuration Files in SICON.FINDER
Step 1: Upload Configuration File
SICON.FINDER URL: https://finder.service.sicon.eco/
To upload a configuration file, the user must be logged in.
Note: User accounts for SICON.FINDER are created by GPS.
Config File format
{
"appVendor": "schmalz", // Required
"appName": "device-monitoring", // Required
"vendorId": 234, // optional
"deviceId": 100212, // optional
"version": "1.0", // optional
"meta": {} // Actual configuration
}
The version field is of the format <Breaking>.<Major> with an optional <Minor> number at the end
Example: “version”: “1.0.1” is also supported
Step 2: Querying the Configuration files from an App
The configuration files can be fetched using the GraphQL endpoint of the Finder:
👉 https://finder-api.service.sicon.eco/graphqlThe above given endpoint also has a front-end to test the GraphQL queries.
An API Token provided by GPS is required to be able to query the endpoint.
Include the API Token in the HTTP Headers using the AUTHORIZATION field.

Below is a sample query demonstrating how to retrieve configuration files for a specific app (e.g., Device Monitoring): 👇
query {
configurations(
pagination: { page: 1, pageSize: 1000 }
filters: {
app: {
name: {eq: "Device Monitoring"}
}
}) {
data {
id
attributes {
version
app {
data {
id
attributes {
name
dockerImage
}
}
}
devices {
data {
id
attributes {
deviceId
productName
vendor{
data{
attributes{
vendorId
name
}
}
}
}
}
}
meta
configFile {
data {
id
attributes {
name
url
}
}
}
}
}
}
}
Understanding the attributes and data types of configurations
Configurations
version
- <string> - Describes the version of the configurationmeta
- <JSON object> - The actual configuration contentapp
- App details (relation)name
- <string> - Name of the appdockerImage
- <String> - Docker image name of the app
devices
- Device details (relation)deviceId
- <int> - ID of the deviceproductName
- <string> - Name of the devicevendor
- Details of the Vendor (relation)vendorId
- <int> - ID of the Vendorname
- <string> - Vendor name
configFile
- Config file details (relation)name
- <string> - Name of the config fileurl
- <string> - The file path (relative to finder’s base URL) where the config file can be downloaded using REST API
Ex: GET https://finder-api.service.sicon.eco/<url>
Filtering the configurations
1. Filter by app name
configurations(
pagination: { page: 1, pageSize: 1000 }
filters: {
app: {
name: {eq: "Device Monitoring"}
}
})
2. Filter by version
configurations(
pagination: { page: 1, pageSize: 1000 }
filters: {
version: { startsWith: "1.0" }
})
4. Filter by app name, deviceId and vendorId
configurations(
pagination: { page: 1, pageSize: 1000 }
filters: {
app: {
name: {eq: "Device Monitoring"}
}
devices: {
deviceId: { eq: 100243 }
vendor: {
vendorId: { eq: 234 }
}
}
})