---
title: "tool si.read.attributes"
description: "a population and, where wanted, a window: the attributes its units carry, each with its plain name, the units that carry it, the value type read and up to three examples, most carried first, with the units read and in, and the partial answer when the budget ran out."
section: reference
address: /reference/tools/si-read-attributes
contract: 0476e35e6e275db5
---

# tool si.read.attributes

a population and, where wanted, a window: the attributes its units carry, each with its plain name, the units that carry it, the value type read and up to three examples, most carried first, with the units read and in, and the partial answer when the budget ran out.

[figure: Over MCP, si.read.attributes takes AttributesInput and returns a card whose body is PopulationAttributes.]

the attributes its units carry, each with its plain name, the units that carry it, the value type read and up to three examples, most carried first, with the units read and in, and the partial answer when the budget ran out. The call needs the read grant at the strategy rung.



| | |
|---|---|
| input | [AttributesInput](/concepts/attributesinput) |
| result | a card whose body is [PopulationAttributes](/concepts/populationattributes) |
| read-only | yes |
| destructive | no |
| card address | `ui://scale-intelligence/cards/PopulationAttributes` |
| HTTP route | [`/v1/read/attributes`](/reference/read/attributes) |





| field | type | required | note |
|---|---|---|---|
| `population` | [Population](/concepts/population) | yes |  |
| `window` | [Window](/concepts/window) | no | the units read; the whole record when absent |
