---
title: "knowledgeCurationReviewProfile"
url: https://developers.dagio.ai/reference/knowledge-curation-review-profile/
---

# knowledgeCurationReviewProfile

   
                                       
                                                                                         
                                                   
                  
           
          
   

This reference describes the full structure of `knowledgeCurationReviewProfile`. 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 |
| --- | --- | --- |
| `contract` | `"KnowledgeCurationReviewProfile@1"` | **Required.** Exact discriminant of this contract variant. Match the literal value shown. |
| `key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Stable semantic identifier used by references; changing it changes identity. |
| `workspaceDefinitionPath` | `string; min length 1; max length 1000` | **Required.** Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
| `entryDefinitionPaths` | `Array<string; min length 1; max length 1000>; min length 1; max length 100` | **Required.** Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
| `categoryDefinitionPaths` | `Array<string; min length 1; max length 1000>; min length 1; max length 100` | **Required.** Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
| `indexDefinitionPath` | `string; min length 1; max length 1000` | **Required.** Exact path of the relevant definition type; each reference must exist in the Model and respect declared scope. |
| `bindings` | `Array<closed object OR closed object>; min length 1; max length 10` | **Required.** Defines bindings for this object. Observe the type, variants and bounds in the Options column. |
| `bindings[].[variant 1].kind` | `"duplicate_semantic" \| "link_related" \| "move_entry" \| "create_category" \| "add_alias" \| "refresh_index_summary" \| "flag_stale" \| "flag_conflict" \| "flag_orphan"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `bindings[].[variant 1].actionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Reference to a declared Action; rendering does not execute it. |
| `bindings[].[kind=merge_entries].kind` | `"merge_entries"` | **Required.** Selects the variant and the properties admitted in this branch. |
| `bindings[].[kind=merge_entries].actionKey` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Required.** Reference to a declared Action; rendering does not execute it. |
| `bindings[].[kind=merge_entries].provenanceControlKey` | `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. |
| `bindings[].[kind=merge_entries].sourceArchivePolicyKey` | `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
{
  "contract": "KnowledgeCurationReviewProfile@1",
  "key": "knowledge-curation",
  "workspaceDefinitionPath": "workspace/documentation",
  "entryDefinitionPaths": [
    "workspace/documentation/surface/index/surface/category/surface/entry"
  ],
  "categoryDefinitionPaths": [
    "workspace/documentation/surface/index/surface/category"
  ],
  "indexDefinitionPath": "workspace/documentation/surface/index",
  "bindings": [
    {
      "kind": "create_category",
      "actionKey": "create-knowledge-category"
    }
  ]
}
```

## Related references

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

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

## Applied examples : Prepare a quote with the right prices

Context requires the pricing reference; the policy retains the revision used.

### Configuration

Contract object `knowledgeCurationReviewProfile`. [Properties and accepted values](https://developers.dagio.ai/reference/knowledge-curation-review-profile/).

```json
{
  "contract": "KnowledgeCurationReviewProfile@1",
  "key": "knowledge-curation",
  "workspaceDefinitionPath": "workspace/documentation",
  "entryDefinitionPaths": [
    "workspace/documentation/surface/index/surface/category/surface/entry"
  ],
  "categoryDefinitionPaths": [
    "workspace/documentation/surface/index/surface/category"
  ],
  "indexDefinitionPath": "workspace/documentation/surface/index",
  "bindings": [
    {
      "kind": "create_category",
      "actionKey": "create-knowledge-category"
    }
  ]
}
```

### Variation and connection

Fragment placed in `changePolicies[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-model-foundation/).

```json
{
  "key": "retained-pricing",
  "sourceDefinitionPaths": [
    "workspace/knowledge/surface/pricing"
  ],
  "linkTypePaths": [
    "application/based-on"
  ],
  "mode": "pin-revision",
  "actionKey": null,
  "queryKey": null,
  "maximumTargets": 50
}
```

### 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. Quote S-1042
2. Subject and need
3. Proposal
4. Retained references

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