---
title: "Get properties"
method: GET
path: "/api/v2/teams/{team_slug}/properties"
tags: ["Properties"]
---

# Get properties

`GET /api/v2/teams/{team_slug}/properties`

Get properties with associated values.

## Path parameters

- `team_slug` string, required

## Query parameters

- `annotation_class_ids[]` integer[]
- `include_values` boolean — If true, include the values associated to each Property

## Response `200`

Annotations.Property.PropertiesResponse

- AnnotationsPropertyPropertiesResponse — Properties response information.
  - `properties` AnnotationsPropertyProperty[], required — List of properties
    - `annotation_class_id` integer, nullable, required — Annotation class id
    - `dataset_ids` integer[], required — List of dataset ids associated with the property. Can be set only when `granularity` is `item`
    - `description` string — Description of property
    - `granularity` 'item' | 'annotation' | 'section', required
    - `id` string, uuid, required
    - `inserted_at` string, date-time, required — DateTime in RFC3339 format
    - `max_duration_seconds` number, nullable — Maximum recording duration in seconds. Only allowed on audio properties. Must be greater than 0 and at most 3600 (1 hour). Null means no upper bound; on update, an explicit null clears the bound while omitting the field leaves it unchanged.
    - `min_duration_seconds` number, nullable — Minimum recording duration in seconds. Only allowed on audio properties. Must be greater than 0, at most 3600 (1 hour), and not exceed max_duration_seconds. Null means no lower bound; on update, an explicit null clears the bound while omitting the field leaves it unchanged.
    - `name` string, required — Name of property
    - `parent_property_id` string, uuid, nullable — UUID of the parent property. Null for top-level properties.
    - `position` integer, nullable — Position of property in list
    - `property_values` AnnotationsPropertyPropertyValueResponse[] — Property values
      - `color` string, required — Color in rgba format
      - `id` string, uuid, required
      - `position` integer — Position of property value in list
      - `value` string, required
    - `required` boolean, required — Indicates if property is required
    - `slug` string, required — Name's slug of property
    - `team_id` integer, required — Team id
    - `trigger_condition` AnnotationsPropertyTriggerCondition, nullable — Trigger condition that determines when a child property becomes visible. Null for top-level properties. Otherwise either {"type": "any_value"} or {"type": "value_match", "property_value_ids": [...]}
      - `property_value_ids` string[] — List of property value IDs that trigger visibility (only for value_match)
      - `type` 'any_value' | 'value_match', required — Type of trigger condition
    - `type` 'single_select' | 'multi_select' | 'boolean' | 'text' | 'audio', required

## Other responses

- `401` — Common.APIError
- `404` — Common.APIError
- `422` — Unprocessible Entity

---

[API](https://skmtc.net/v7labs/apis/darwin.md) · [All operations](https://skmtc.net/v7labs/apis/darwin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/v7labs/darwin/revisions/526a5b6b4cdc/schema)
