---
id: attribute-definitions
slug: /apis/conventions/attribute-definitions
title: 'Attribute Definition Syntax'
description: 'Where to find the normative attribute-path and filter-expression grammar shared by every Agility query surface.'
sidebar_label: 'Attribute Definition Syntax'
sidebar_position: 5
tags: ['api', 'conventions', 'attributes', 'query']
---

Every Agility query surface — `rest-1.v1`, `query.v1`, `~/api/asset` and webhook event
definitions — selects and filters data using the same attribute-path and filter grammar.

That grammar is **not documented here**. It is maintained as a single normative reference
derived from the parser grammars and the server implementation. See [Query grammar reference](/reference/query-grammar).

Go there for:

- **Attribute paths** — dot traversal, downcast (`Workitems:Story.Category`), inline path
  filters, the eight aggregation functions, and the now-only marker.
- **Filter expressions** — comparison operators, value lists, boolean composition, and the
  filter context.
- **Sorting and paging** parameters.

:::note One source of truth
This section deliberately does not restate the grammar. Attribute-path and filter syntax is
identical across every API in Agility, so it is documented once. If you find operator or path
syntax duplicated in an API page, treat the query grammar reference as authoritative.
:::

## What This Section Does Cover

The conventions section covers what is genuinely shared at the transport layer rather than the
query layer:

- [Base URL](/apis/conventions/base-url)
- [HTTP headers](/apis/conventions/http-headers)
- [Errors](/apis/conventions/errors)
- [Terminology](/apis/conventions/terminology)

## Related Topics

- [Query grammar reference](/reference/query-grammar) — the normative syntax
- [Attributes](/concepts/attributes) — what attributes and attribute definitions are
- [Relations](/concepts/relations) — how assets reference each other
- [Query API (query.v1)](/apis/query-v1)
