---
title: "surfaceCompositionQueryBinding"
url: https://developers.dagio.ai/reference/surface-composition-query-binding/
---

# surfaceCompositionQueryBinding

   
                                       
                                                                                         
                                                   
                  
           
          
   

This reference describes the full structure of `surfaceCompositionQueryBinding`. Paths include nested objects, list items and conditional branches. A branch selected by `kind`, `contract` or `mode` only admits its own properties.

## Structure and values

| Field | Options / expected values | Description |
| --- | --- | --- |
| `[kind=work-section].kind` | `"work-section"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=work-section].experienceKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=work-section].sectionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=work-section].bindingKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=work-section].viewKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=collection].kind` | `"collection"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=collection].destinationKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=collection].viewKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=home-section].kind` | `"home-section"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=home-section].sectionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=home-section].viewKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=record-section].kind` | `"record-section"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=record-section].recordProfileKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=record-section].sectionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=record-section].viewKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=record-relations].kind` | `"record-relations"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `[kind=record-relations].recordProfileKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |
| `[kind=record-relations].groupKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility. |

## Reading the contract

A path ending in `[]` describes each list item; `{key}` describes each dictionary value. The `↻` marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.

An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.

## Structural example

This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.

```json
{
  "kind": "home-section",
  "sectionKey": "continue-work",
  "viewKey": "workshop-view"
}
```

## Related references

[Complete Model index](https://developers.dagio.ai/reference/) · [Build a Model](https://developers.dagio.ai/models/)

<!-- surface-examples:start -->

## Applied examples : Choose each component for its role

The Field edits Notes; the table presents quotes from a relation group.

### Configuration

Contract object `surfaceCompositionQueryBinding`. [Properties and accepted values](https://developers.dagio.ai/reference/surface-composition-query-binding/).

```json
{
  "kind": "home-section",
  "sectionKey": "continue-work",
  "viewKey": "workshop-view"
}
```

### Variation and connection

Component properties `QueryTable.props`. [Properties and accepted values](https://developers.dagio.ai/surface-components/#querytable).

```json
{
  "binding": {
    "kind": "record-relations",
    "recordProfileKey": "client",
    "groupKey": "quotes"
  }
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Client identity
2. Notes and follow-up
3. Settings
4. Linked quotes

<!-- surface-examples:end -->
