> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daytalog.com/llms.txt
> Use this file to discover all available pages before exploring further.

# config.yaml

> Schema for Project Settings

<ResponseField name="project_name" type="string" required>
  Name of your project. Only legal characters are allowed.
</ResponseField>

<ResponseField name="logid_template" type="string">
  Template for log id/name
</ResponseField>

<ResponseField name="unit" type="string">
  Default name of the unit/team
</ResponseField>

<ResponseField name="custom_info" type="Object[]">
  Extend with additional project information.
  Each object in the array should be a dictionary of string keys with string values.
  Example: `[{"key1": "value1"}, {"key2": "value2"}]`
</ResponseField>

<ResponseField name="custom_schemas" type="Object">
  Add extra metadata to your logs and clips.

  <Expandable>
    <ResponseField name="id" required type="string">
      The id and name of the schema.
    </ResponseField>

    <ResponseField name="active" type="boolean" default="true">
      Whether the schema is active and visible in the UI.
    </ResponseField>

    <ResponseField name="order" type="number" required>
      Used for hierarchy. If multiple schemas are used and have the same keys, the order will determine which value is used.
    </ResponseField>

    <ResponseField name="sync" type="&#x22;clip&#x22; | &#x22;tc&#x22;" required>
      Match clips by clip name or timecode.
    </ResponseField>

    <ResponseField name="csv_import" type="boolean" default="false">
      Whether the schema can be imported from a CSV file. Will be used for the import button in the UI.
    </ResponseField>

    <ResponseField name="log_fields" type="[text | text_list | text_list_list | kv_map | kv_map_list]">
      Fields to set on the log.

      <Expandable>
        <AccordionGroup>
          <Accordion title="Text">
            It's text. Nothing more, nothing less.

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="Text List">
            A list/array of text.

            *Example:*

            `["applebox", "boom", "clapperboard"]`

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="delimiter" type="delimiters">
                Select delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="Text List List">
            A list of nested lists.

            *Example:*

            ```javascript theme={null}
            [
              ['Johnny', 'Bravo', 'Gaffer'],
              ['Jane', 'Doe', 'Video Assist']
            ]
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="KV Map">
            Key-value pairs inside an object.

            *Example:*

            ```javascript theme={null}
            {
             Location: 'Studio 1',
             UserInfo1: 'bananas, oat milk, 12 eggs, avocados (ripe, but not too ripe)'
            }
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="KV Map List">
            A list of key-value objects.

            *Example:*

            ```javascript theme={null}
            [
             {
               tc: '25:25:25.25',
               urgency: '0',
               issue: 'Operator fell asleep. Shot turned into 20 minutes of clouds'
             },
             {
               tc: '01:23:45.67',
               urgency: '5',
               issue: 'Camera overheated'
             }
            ]
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="subfields" type="array">
                List of nested fields

                <Expandable title="properties">
                  <ResponseField name="key_name" type="string" required />
                </Expandable>
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>
        </AccordionGroup>
      </Expandable>
    </ResponseField>

    <ResponseField name="clip_fields" type="[text | text_list | text_list_list | kv_map | kv_map_list, ...Metadata types]">
      <Expandable>
        <AccordionGroup>
          <Accordion title="Text">
            It's text. Nothing more, nothing less.

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="Text List">
            A list/array of text.

            *Example:*

            `["applebox", "boom", "clapperboard"]`

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="delimiter" type="delimiters">
                Select delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="Text List List">
            A list of nested lists.

            *Example:*

            ```javascript theme={null}
            [
              ['Johnny', 'Bravo', 'Gaffer'],
              ['Jane', 'Doe', 'Video Assist']
            ]
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="KV Map">
            Key-value pairs inside an object.

            *Example:*

            ```javascript theme={null}
            {
             Location: 'Studio 1',
             UserInfo1: 'bananas, oat milk, 12 eggs, avocados (ripe, but not too ripe)'
            }
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>

          <Accordion title="KV Map List">
            A list of key-value objects.

            *Example:*

            ```javascript theme={null}
            [
             {
               tc: '25:25:25.25',
               urgency: '0',
               issue: 'Operator fell asleep. Shot turned into 20 minutes of clouds'
             },
             {
               tc: '01:23:45.67',
               urgency: '5',
               issue: 'Camera overheated'
             }
            ]
            ```

            <Expandable title="properties">
              <ResponseField name="key_name" type="string" required>
                Name of the key
              </ResponseField>

              <ResponseField name="column" type="string">
                CSV column header for parsing CSV
              </ResponseField>

              <ResponseField name="subfields" type="array">
                List of nested fields

                <Expandable title="properties">
                  <ResponseField name="key_name" type="string" required />
                </Expandable>
              </ResponseField>

              <ResponseField name="primary_delimiter" type="delimiters">
                Select primary delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>

              <ResponseField name="secondary_delimiter" type="delimiters">
                Select secondary (nested) delimiter for parsing `",", ";", "|", ":", "="`
              </ResponseField>
            </Expandable>
          </Accordion>
        </AccordionGroup>

        <Accordion title="Metadata types">
          <Warning>The value must match the type format</Warning>

          | type/key      | Format   | Example       |
          | :------------ | :------- | :------------ |
          | clip          | string   | "A001C001"    |
          | tc\_start     | timecode | "00:00:01:00" |
          | tc\_end       | timecode | "00:00:10:00" |
          | duration      | timecode | "00:00:09:00" |
          | camera\_model | string   | "ARRI Alexa"  |
          | reel          | string   | "A001"        |
          | fps           | number   | 24            |
          | sensor\_fps   | number   | 24            |
          | lens          | string   | "50mm"        |
          | shutter       | number   | 180           |
          | resolution    | string   | "1920x1080"   |
          | codec         | string   | "ProRes 4444" |
          | gamma         | string   | "Log-C"       |
          | ei            | number   | 800           |
          | wb            | number   | 5600          |
          | tint          | string   | "-1"          |
          | lut           | string   | "bg-tint"     |
        </Accordion>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="default_ocf_paths" type="string[]">
  Default OCF paths.
</ResponseField>

<ResponseField name="default_sound_paths" type="string[]">
  Default Sound paths.
</ResponseField>

<ResponseField name="default_proxy_path" type="string">
  Default Proxy path
</ResponseField>

<ResponseField name="emails" type="Email[]">
  Email Presets

  <Expandable title="Email">
    <ResponseField name="id" type="string" required>
      5-character unique ID
    </ResponseField>

    <ResponseField name="label" type="string" required>
      Label used for menu options
    </ResponseField>

    <ResponseField name="recipients" type="email[]" required>
      Must contain at least one valid email address.
    </ResponseField>

    <ResponseField name="subject" type="string" required>
      Email Subject
    </ResponseField>

    <ResponseField name="attachments" type="ID[]">
      Contains IDs of PDFs.
    </ResponseField>

    <ResponseField name="message" type="string">
      Email message.
    </ResponseField>

    <ResponseField name="react" type="string" required>
      The react template file.
    </ResponseField>

    <ResponseField name="enabled" type="boolean" default="true">
      Enabled as an option and not hidden from the UI.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pdf" type="Pdf[]">
  A list of PDF Presets

  <Expandable title="PDF">
    <ResponseField name="id" type="string" required>
      5-character unique ID
    </ResponseField>

    <ResponseField name="label" type="string" required>
      Label used for menu options
    </ResponseField>

    <ResponseField name="output_name" type="string" required>
      The template for the output file name. Must end with '.pdf'
    </ResponseField>

    <ResponseField name="react" type="string" required>
      The react template file.
    </ResponseField>

    <ResponseField name="enabled" type="boolean" default="true">
      Enabled as an option and not hidden from the UI.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="email_sender" type="string">
  The sender/From field for sending emails. Can in some cases be both the name and email, check provider documentation for correct format. If unsure, just type the email address.
</ResponseField>
