---
title: "Native formats"
url: https://developers.dagio.ai/native-formats/
---

# Native formats

   
                       
                                                                              
                      
                  
          
   

## One format per responsibility

App composition selects an editor or view. It does not implicitly convert native content into widget schemas. Documents retain editorial structure; Canvas retains geometry and elements; Assets retain metadata and storage references.

| Format | Expected value | Purpose |
| --- | --- | --- |
| Document | Structured content under its document profile | Structured rich text within Surface objects |
| Markdown | Admitted Markdown text | Portable textual content |
| Code | Code profile content and metadata | Sources and specialized editing |
| Canvas | Native Canvas document | Editable spatial content |
| Asset | Asset reference and policy | Files and media |

## Detailed references

- [Document profiles](https://developers.dagio.ai/reference/managed-document-profile-v2/): document composition and collections.
- [Canvas types](https://developers.dagio.ai/reference/types-types/): native objects, geometry and policies.
- [Asset types](https://developers.dagio.ai/reference/types-surface-asset/): resource references and constraints.
- [Surface sources](https://developers.dagio.ai/reference/types-managed-model-source/): content types admitted by Model variant.

## Example

North Studio’s record has structured Fields. Related meeting notes are a Document, a preparation diagram is a Canvas, and an uploaded PDF is an Asset. A view can present them together without storing everything in one text Field.

## Generate through a tool

Use reference types and profiles to produce the expected format, then validate the operation through its content owner. Respect identities, section protections and versions. Visually plausible JSON alone does not make a valid native document.

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

## Applied examples : Choose Surface content

Component properties select the native editor; each content kind retains its own format.

### Configuration

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

```json
{
  "recordProfileKey": "client",
  "contentKind": "document"
}
```

### Variation and connection

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

```json
{
  "recordProfileKey": "client",
  "contentKind": "code"
}
```

### 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 -->
