---
title: "Get last values of selected DCIs"
method: POST
path: "/v1/data-collection/current-values"
tags: ["Data Collection"]
---

# Get last values of selected DCIs

`POST /v1/data-collection/current-values`

## Request

- Base URL: `http://127.0.0.1:8000`
- URL: `http://127.0.0.1:8000/v1/data-collection/current-values`
- Auth: HTTP bearer

Retrieve last collected values of an explicit list of DCIs, possibly on different objects, in one request. Each entry has the same shape as in GET /v1/objects/{object-id}/data-collection/current-values, plus `index` of the request item it answers. Items that cannot be served (object or DCI missing, no access) are listed in `errors` instead. When `delegate` names a network map or dashboard the caller can read, DCIs it references are served on objects the caller holds only "delegated read" on. When an item selects a cell of a table DCI, `dataType` and `value` are the value of that cell and `timestamp` is the time the table containing it was collected; if the cell does not exist (or the table was not collected yet) `dataType` is `null`, `value` is empty and `timestamp` is null, same as for a DCI without collected value.

## Request body

- object
  - `items` object[], required
    - `objectId` integer, required
    - `dciId` integer, required
    - `column` string: Table column. Must be given together with `instance`; both select a table cell. Ignored for a DCI that is not a table.
    - `instance` string: Table row instance. Must be given together with `column`; both select a table cell. Ignored for a DCI that is not a table.
  - `delegate` integer: ID of a network map or dashboard, for delegated read.

## Response `200`

Values retrieved.

- object
  - `values` object[]
    - `ownerId` integer: Object ID that owns this DCI
    - `id` integer: DCI ID
    - `name` string: DCI name
    - `flags` integer: DCI flags
    - `description` string: DCI description
    - `origin` 'internal' | 'agent' | 'snmp' | 'websvc' | 'push' | 'winperf' | 'smclp' | 'script' | 'ssh' | 'mqtt' | 'driver' | 'modbus' | 'ethernetip' | 'cloud' | 'otlp' | 'trafficobserver' | 'netconf' | 'computed': Data origin
    - `dataType` 'int32' | 'uint32' | 'int64' | 'uint64' | 'string' | 'float' | 'null' | 'counter32' | 'counter64': Data type of the current value (`null` if no value was collected and for table DCIs)
    - `value` string: Current value as string
    - `timestamp` string, date-time, nullable: Timestamp of last value collection in ISO 8601 format with milliseconds, or null if no value was collected
    - `status` 'active' | 'disabled' | 'unsupported': Current DCI status (DCIs bound to a cluster resource not active on this node are reported as `disabled`)
    - `type` 'item' | 'table': DCI type
    - `errorCount` integer: Number of consecutive collection errors
    - `lastCollectionError` 'SUCCESS' | 'COMM_ERROR' | 'NOT_SUPPORTED' | 'IGNORE' | 'NO_SUCH_INSTANCE' | 'COLLECTION_ERROR' | 'ACCESS_DENIED' | 'INVALID_DATA' | 'UNKNOWN': Reason of the last data collection error (`SUCCESS` if last collection attempt was successful)
    - `templateItemId` integer: Template item ID if DCI is created from template
    - `unitName` string: Unit name for the value
    - `multiplier` integer: Value multiplier
    - `noValue` boolean: True if DCI has no collected value
    - `comments` string: DCI comments
    - `anomalyDetected` boolean: True if anomaly was detected in recent values
    - `userTag` string: User-defined tag
    - `thresholdDisableEndTime` integer: Time until which threshold processing is disabled (Unix timestamp), 0 if not disabled, -1 if disabled permanently
    - `mappingTableId` integer: ID of the value mapping table, 0 if none
    - `hasActiveThreshold` boolean: True if DCI has active threshold
    - `threshold` object: Active threshold information (present only if hasActiveThreshold is true). Includes `currentSeverity` as severity name (normal, warning, minor, major, critical).
    - `index` integer: Position of the answered item in the request `items` array (0-based).
  - `errors` object[]: Request items that cannot be served.
    - `index` integer: Position of the item in the request `items` array (0-based).
    - `reason` 'Object not found' | 'Access denied' | 'Object is not data collection target' | 'DCI not found'

## Other responses

- `400`: Invalid request - missing or malformed `items`, more than 500 items, an item without positive integer `objectId` and `dciId`, an item with only one of `column` and `instance`, or `delegate` is not a positive integer or not a network map or dashboard.
- `401`: Unauthorized.
- `403`: The caller cannot read the delegate object. Checked before the delegate's class.
- `404`: The delegate object does not exist.

## Changes

- **2026-10-30** `ea6f0284e9b6`: 3 breaking, 15 warning
  - the `values/items/allOf[#/components/schemas/DCIValue]/dataType` response's property type changed from `integer` to `string` for status `200`
  - the `values/items/allOf[#/components/schemas/DCIValue]/status` response's property type changed from `integer` to `string` for status `200`
  - the `values/items/allOf[#/components/schemas/DCIValue]/type` response's property type changed from `integer` to `string` for status `200`
  - removed the optional property `values/items/allOf[#/components/schemas/DCIValue]/sourceType` from the response with the `200` status
  - …14 more
- **2026-10-30** `75f2dedc3fb9`: 1 info
  - added the optional property `values/items/allOf[#/components/schemas/DCIValue]/origin` to the response with the `200` status
- **2026-10-27** `b022584eb387`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/netxms/apis/netxms-api/changes/v1/data-collection/current-values/post.md)

---

[API](https://skmtc.dev/netxms/apis/netxms-api.md) - [All operations](https://skmtc.dev/netxms/apis/netxms-api/llms.txt) - [OpenAPI document](https://skmtc.dev/netxms/apis/netxms-api/revisions/740d85ba6674?raw)
