---
title: "modelSourceRights"
url: https://developers.dagio.ai/reference/model-source-rights/
---

# modelSourceRights

   
                          
                                                                            
                                     
                  
           
          
   

This reference describes the full structure of `modelSourceRights`. 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` | `"ModelSourceRights@1"` | **Required.** Exact discriminant of this contract variant. Match the literal value shown. |
| `issuer` | `string; min length 1; max length 4000` | **Required.** Defines issuer for this object. Observe the type, variants and bounds in the Options column. |
| `readSource` | `true` | **Required.** Defines read Source for this object. Observe the type, variants and bounds in the Options column. |
| `privateAdaptation` | `true` | **Required.** Declared private-adaptation permission under source terms. |
| `publicRedistribution` | `false` | **Required.** Declared public-redistribution permission under source terms. |
| `requiredCapabilities` | `Array<"flow.custom.create" \| "studio.access">; length 2; semantic validation` | **Required.** Defines required Capabilities for this object. Observe the type, variants and bounds in the Options column. |

## 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": "ModelSourceRights@1",
  "issuer": "dagio-ai",
  "readSource": true,
  "privateAdaptation": true,
  "publicRedistribution": false,
  "requiredCapabilities": [
    "flow.custom.create",
    "studio.access"
  ]
}
```

## Related references

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

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

## Applied examples : Publish a reusable app

Publication describes the app; policies preserve access to instance Actions.

### Configuration

Contract object `modelSourceRights`. [Properties and accepted values](https://developers.dagio.ai/reference/model-source-rights/).

```json
{
  "contract": "ModelSourceRights@1",
  "issuer": "dagio-ai",
  "readSource": true,
  "privateAdaptation": true,
  "publicRedistribution": false,
  "requiredCapabilities": [
    "flow.custom.create",
    "studio.access"
  ]
}
```

### Variation and connection

Fragment placed in `contentActions[]`. [Properties and accepted values](https://developers.dagio.ai/reference/content-space-action-policy/).

```json
{
  "contract": "ContentSpaceActionPolicy@1",
  "spaceKey": "clients",
  "actionKey": "prepare-quote",
  "minimumRole": "editor"
}
```

### 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. Target object
2. Proposed change
3. Checks
4. Confirm

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