VIMS API Reference
Visual Integrity Monitoring System — detect changes, anomalies, and deviations in monitored objects using computer vision.
Base path: All VIMS endpoints are under
https://api.aamos.ai/v1/vims/POST /v1/vims/analyze
POST
/v1/vims/analyze
Analyze an image for changes against the registered baseline for a given object. Returns a change score, risk level, and detected anomalies. The baseline is automatically updated if drift is within acceptable thresholds.
Request — multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| image | file | Required | The image to analyze. Accepted formats: JPEG, PNG, WebP. Max 10 MB. |
| object_id | string | Required | Your unique identifier for the monitored object. Must have an existing baseline. |
| lat | float | Optional | GPS latitude of the image capture location. |
| lng | float | Optional | GPS longitude of the image capture location. |
Example Request
bash
curl -X POST https://api.aamos.ai/v1/vims/analyze \ -H "Authorization: Bearer ak_live_YOUR_KEY" \ -F "image=@/path/to/photo.jpg" \ -F "object_id=site-front-gate" \ -F "lat=59.3293" \ -F "lng=18.0686"
Response — 200 OK
json
{
"analysis_id": "an_7f3a9b2c1d",
"object_id": "site-front-gate",
"change_detected": true,
"change_score": 0.74,
"risk_level": "high",
"detections": [
{
"type": "structural_change",
"confidence": 0.91,
"bbox": [120, 45, 380, 290],
"label": "Gate damage detected"
}
],
"baseline_updated": false,
"analyzed_at": "2025-01-15T10:30:00Z"
}
Risk Levels
The risk_level field reflects the severity of detected change:
| Value | change_score range | Meaning |
|---|---|---|
| none | 0.0 – 0.1 | No meaningful change detected. |
| low | 0.1 – 0.3 | Minor variation, within expected range. |
| medium | 0.3 – 0.6 | Notable change, review recommended. |
| high | 0.6 – 1.0 | Significant change, immediate review required. |
POST /v1/vims/baseline
POST
/v1/vims/baseline
Register a new baseline image for an object. The baseline is the reference state used for all subsequent analyze calls. You can update baselines as needed.
Request — multipart/form-data
| Parameter | Type | Required | Description |
|---|---|---|---|
| object_id | string | Required | Your unique identifier for this object. Will be created if it doesn't exist. |
| image | file | Required | The baseline image. JPEG, PNG, or WebP. Max 10 MB. |
Example Request
bash
curl -X POST https://api.aamos.ai/v1/vims/baseline \ -H "Authorization: Bearer ak_live_YOUR_KEY" \ -F "object_id=site-front-gate" \ -F "image=@/path/to/baseline.jpg"
Response — 201 Created
json
{
"baseline_id": "bl_3d8e1f7a9b",
"object_id": "site-front-gate",
"created_at": "2025-01-15T09:00:00Z"
}
GET /v1/vims/objects
GET
/v1/vims/objects
List all monitored objects registered under your API key, with their baseline count and last analysis timestamp.
Example Request
bash
curl https://api.aamos.ai/v1/vims/objects \ -H "Authorization: Bearer ak_live_YOUR_KEY"
Response — 200 OK
json
{
"objects": [
{
"object_id": "site-front-gate",
"baseline_count": 3,
"last_analysis": "2025-01-15T10:30:00Z"
},
{
"object_id": "server-rack-a1",
"baseline_count": 1,
"last_analysis": "2025-01-14T14:15:00Z"
}
]
}
GET /v1/vims/analysis/:analysis_id
GET
/v1/vims/analysis/:analysis_id
Retrieve the full details of a previously completed analysis by its ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| analysis_id | string | The analysis ID returned by POST /v1/vims/analyze. |
Example Request
bash
curl https://api.aamos.ai/v1/vims/analysis/an_7f3a9b2c1d \ -H "Authorization: Bearer ak_live_YOUR_KEY"
Response — 200 OK
json
{
"analysis_id": "an_7f3a9b2c1d",
"object_id": "site-front-gate",
"change_detected": true,
"change_score": 0.74,
"risk_level": "high",
"detections": [
{
"type": "structural_change",
"confidence": 0.91,
"bbox": [120, 45, 380, 290],
"label": "Gate damage detected"
}
],
"baseline_updated": false,
"baseline_id": "bl_3d8e1f7a9b",
"image_url": "https://storage.aamos.ai/analyses/an_7f3a9b2c1d.jpg",
"analyzed_at": "2025-01-15T10:30:00Z"
}