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

# Miro REST API

> Miro is a collaborative online whiteboard platform that enables teams to work together on visual projects including brainstorming, planning, design, and agile workflows. The REST API v2 provides access to boards, board items (sticky notes, shapes, cards, text, images, etc.), connectors, tags, board members, groups, and enterprise features like organization members, teams, and audit logs.

Miro is a collaborative online whiteboard platform that enables teams to work together on visual projects including brainstorming, planning, design, and agile workflows. The REST API v2 provides access to boards, board items (sticky notes, shapes, cards, text, images, etc.), connectors, tags, board members, groups, and enterprise features like organization members, teams, and audit logs.

<Tabs>
  <Tab title="Overview">
    Connect Parable to Miro using a non-expiring access token. Parable ingests boards, all board items (sticky notes, shapes, cards, frames, and more), board members, tags, groups, connectors, and -- on Enterprise plans -- organization members, teams, and audit logs.

    #### Board data

    Boards, items, members, tags, groups, and connectors

    #### Activity & admin

    Audit logs and organization/team membership (Enterprise)

    ## Data streams

    This Provider Plugin defines 10 data streams.

    | Stream                 | Description                                                                                                                                                                                                                                     | Sync        |
    | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
    | `boards`               | Extracts all boards accessible to the authenticated user from Miro. Boards are the central resource in Miro, containing items, members, and collaboration data.                                                                                 | full        |
    | `board_items`          | Extracts all items (widgets) from a specific Miro board. Items include sticky notes, shapes, text, cards, images, documents, frames, embeds, app cards, and more. Requires board\_id from parent boards tap.                                    | full        |
    | `board_members`        | Extracts all members of a specific Miro board, including their roles and permissions. Requires board\_id from parent boards tap.                                                                                                                | full        |
    | `board_tags`           | Extracts all tags defined on a specific Miro board. Tags are used to categorize and label items. Requires board\_id from parent boards tap.                                                                                                     | full        |
    | `board_connectors`     | Extracts all connectors (lines/arrows connecting items) from a specific Miro board. Requires board\_id from parent boards tap.                                                                                                                  | full        |
    | `board_groups`         | Extracts all groups from a specific Miro board. Groups are collections of items that are logically grouped together. Requires board\_id from parent boards tap.                                                                                 | full        |
    | `audit_logs`           | Extracts audit log events from Miro (Enterprise plan only). Provides who-did-what-when activity data for compliance and monitoring. Requires auditlogs:read scope and an Enterprise plan. Supports incremental sync via createdAfter parameter. | incremental |
    | `organization_members` | Extracts all members of a Miro organization (Enterprise plan only). Requires org\_id ingestion config field. Provides user records with roles and activity data.                                                                                | full        |
    | `organization_teams`   | Extracts all teams within a Miro organization (Enterprise plan only). Requires org\_id ingestion config field.                                                                                                                                  | full        |
    | `team_members`         | Extracts all members of a specific team within a Miro organization (Enterprise plan only). Requires org\_id ingestion config field and team\_id from parent organization\_teams tap.                                                            | full        |
  </Tab>

  <Tab title="Setup Guide">
    ### Miro

    #### What You'll Need

    | Credential          | What it is                                             |
    | ------------------- | ------------------------------------------------------ |
    | **Access Token**    | Non-expiring token from your Miro Developer Portal app |
    | **Organization ID** | Numeric org ID from Company Settings (Enterprise only) |

    > **Info:** **Dedicated app required.** Create a Miro app specifically for Parable in the Developer Portal. The non-expiring token option must be selected at app creation time -- it cannot be changed later.

    * A **Miro account** on any paid plan (Starter, Business, or Enterprise).
    * Enterprise-gated taps (`audit_logs`, `organization_members`, `organization_teams`, `team_members`) additionally require an **Enterprise plan** and your **organization ID**.

    #### Step 1: Open the Miro Developer Portal

    1. Sign in to Miro.
    2. Go to [miro.com/app/settings/user-profile/apps](https://miro.com/app/settings/user-profile/apps).
    3. Click **Create new app**.

    #### Step 2: Configure the app

    1. Enter an app name such as `Parable Platform`.
    2. Select your workspace team.
    3. Under **Token expiration**, select **Non-expiring** (this option cannot be changed after creation).
    4. Click **Create app**.

    #### Step 3: Set app permissions (scopes)

    In your app settings, enable the following permissions:

    | Scope                      | Purpose                                 |
    | -------------------------- | --------------------------------------- |
    | `boards:read`              | Read all board data (required)          |
    | `identity:read`            | Token validation                        |
    | `team:read`                | Team information                        |
    | `auditlogs:read`           | Audit logs -- Enterprise only           |
    | `organizations:read`       | Organization members -- Enterprise only |
    | `organizations:teams:read` | Organization teams -- Enterprise only   |

    Click **Save** after selecting permissions.

    #### Step 4: Copy the access token

    1. In your app settings, scroll to the **App credentials** section.
    2. Copy the **Access token**.

    > **Warning:** **Copy your {tokenName} now!**
    >
    > This is the only time it will be displayed. Store it in a secure password manager before closing this page.

    #### Step 5: Find your Organization ID (Enterprise)

    Required for Enterprise-gated taps: `audit_logs`, `organization_members`, `organization_teams`, and `team_members`. Skip this step if you are not on an Enterprise plan.

    1. Sign in to Miro as a company admin.
    2. Open **Settings** (profile menu) **> Company Settings > Security > Audit log**.
    3. On the Audit log page, copy your **Organization ID** (a numeric value, typically 10-25 digits).
    4. Keep this value for the Parable Provider form.

    > **Info:** Without a valid Organization ID, Enterprise taps are skipped during sync. Board-level taps still run.

    #### Step 6: Connect in Parable

    1. In Parable, open **Platform → Providers** and choose the Provider to add.
    2. Select **Miro**.
    3. Paste your access token into the **Token** field.
    4. (Enterprise) Paste your **Organization ID** from the previous step.
    5. Click **Save & verify**.

    > **Success:** **Success!** If you received a `200 OK` response with valid data, your credentials are configured correctly. You can now configure this Provider in Parable.

    > **Tip:** **Rate Limits:** {platform} enforces rate limits of **{limit}**.
    >
    > Parable handles rate limiting automatically with exponential backoff, but initial syncs of large datasets may take longer due to these limits.
  </Tab>

  <Tab title="Permissions">
    ### Miro

    | Scope                      | Taps enabled                                                                               | Required        |
    | -------------------------- | ------------------------------------------------------------------------------------------ | --------------- |
    | `boards:read`              | `boards`, `board_items`, `board_members`, `board_tags`, `board_connectors`, `board_groups` | Yes             |
    | `identity:read`            | Token validation probe                                                                     | Yes             |
    | `team:read`                | Team metadata on boards                                                                    | Recommended     |
    | `auditlogs:read`           | `audit_logs`                                                                               | Enterprise only |
    | `organizations:read`       | `organization_members`                                                                     | Enterprise only |
    | `organizations:teams:read` | `organization_teams`, `team_members`                                                       | Enterprise only |

    Taps that require scopes not granted will be skipped during ingestion without failing the sync.

    <AccordionGroup>
      <Accordion id="provider-permission-tap-miro-audit-logs-b1e7f8e974e9" title="Audit Logs" icon="user-shield" iconType="sharp-duotone-solid">
        Developer identifier: `audit_logs`

        Audit Logs contain audit log events from Miro (Enterprise plan only). Provides who-did-what-when activity data for compliance and monitoring. Requires auditlogs:read scope and an Enterprise plan. Supports incremental sync via `createdAfter` parameter.

        * **Enables:** trace recorded Enterprise organization actions to their actors and event times.
        * **Scope:** Reads provider changes through `GET /{apiVersion}/audit/logs` using the declared incremental request boundary. The operation is Enterprise-only and is limited to the configured organization and token scopes.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-audit-logs-category-13b61c71a88d" title="Category" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.category`

            Category states event category grouping from Miro (e.g., `boards_and_templates`, authentication). It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported category value when describing their recorded state.
            * **Interpretation:** The provider supplies `category` per audit log event record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, category is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-bd9a598c07fd" title="Context" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context`

            Context records context information about where and how the event occurred. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** expand the nested context object into its declared child fields for each audit log event record.
            * **Interpretation:** The provider returns `context` as a nested object or reference on `AuditLogEvent`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-board-991a4c87bedf" title="Board" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.board`

            Board captures the board related to the event. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each audit context record with the specific provider container named by board.
            * **Interpretation:** The provider returns `board` as a nested object or reference on `AuditContext`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-board-id-1a83a9bb0310" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.board.id`

            ID is the unique identifier of the context entity. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match audit log records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `AuditContextEntity`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-board-name-c2344a6b850f" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.board.name`

            Name records display name of the context entity. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each audit context entity record.
            * **Interpretation:** The provider supplies `name` at audit context entity granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-board-type-a13babdbffd7" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.board.type`

            Type states type of the context entity. It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per audit context entity record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-ip-d9f771443873" title="IP" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.ip`

            IP records IP address from which the action was performed. It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** segment audit log records by the recorded IP without inferring a person's physical presence.
            * **Interpretation:** The provider supplies `ip` as location or localization context per audit context record; it does not establish a person's real-time physical location.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-organization-c94b85c0958c" title="Organization" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.organization`

            Organization captures the organization in which the event occurred. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each audit context record with the specific provider container named by organization.
            * **Interpretation:** The provider returns `organization` as a nested object or reference on `AuditContext`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-project-035e61bc4b4d" title="Project" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.project`

            Project captures the project related to the event. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each audit context record with the specific provider container named by project.
            * **Interpretation:** The provider returns `project` as a nested object or reference on `AuditContext`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-context-team-ff7ad98e5226" title="Team" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.context.team`

            Team captures the team in which the event occurred. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each audit context record with the specific provider container named by team.
            * **Interpretation:** The provider returns `team` as a nested object or reference on `AuditContext`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdat-19b0f27a3a10" title="Created At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdAt`

            Created At records ISO 8601 timestamp when the event occurred. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place audit log records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per audit log event record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdby-5a171d709535" title="Created By" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdBy`

            Created By captures the user or automation that performed the action. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the audit log event record to the provider-reported person or account represented by created by.
            * **Interpretation:** The provider supplies `createdBy` as identity or attribution context on each audit log event record. In Miro, created by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdby-email-3db840f8aacd" title="Email" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdBy.email`

            Email records email address of the creator when type is user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the audit created by record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each audit created by record. In Miro, email is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdby-id-aca093d732d2" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdBy.id`

            ID is the unique identifier of the creator. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match audit log records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `AuditCreatedBy`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdby-name-e2b810414429" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdBy.name`

            Name records display name of the creator. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the audit created by record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each audit created by record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-createdby-type-fdb09b57f5a3" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.createdBy.type`

            Type states type of the creator (user, application, `scim_provisioner`, `miro_automation`). It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per audit created by record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-details-e5f41ce69487" title="Details" icon="circle-check" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.details`

            Details records event-specific detail object. Shape varies by event type (e.g., `board_opened`, `sign_in_succeeded`). Branch on the parent event field. It retains configured attributes whose keys or shape are not fixed by this base schema.

            * **Enables:** interpret details according to the provider and Workspace configuration that produced each audit log record.
            * **Interpretation:** Keys and value shapes within `details` can vary with provider and customer configuration; consumers must inspect the observed Workspace schema rather than assume a fixed contract.

            Provider-defined fields may also be returned for this field.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-event-7b51c6d2acff" title="Event" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.event`

            Event states type/name of the audit event. It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported event value when describing their recorded state.
            * **Interpretation:** The provider supplies `event` per audit log event record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, event is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-id-edfd17a68e5b" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.id`

            ID is the unique identifier of the audit event. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same audit log event source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per audit log event record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-object-5d679eb4de9b" title="Object" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.object`

            Object captures the object that was acted upon. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** expand the nested object object into its declared child fields for each audit log event record.
            * **Interpretation:** The provider returns `object` as a nested object or reference on `AuditLogEvent`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-object-email-0951fdc4295b" title="Email" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.object.email`

            Email records email address of the object, if the object is a user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the audit object record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each audit object record. In Miro, email is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-object-id-723eae9f655a" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.object.id`

            ID is the unique identifier of the object. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match audit log records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `AuditObject`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-object-name-f9e57ec02727" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.object.name`

            Name records display name or title of the object. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each audit object record.
            * **Interpretation:** The provider supplies `name` at audit object granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-object-type-e9ad5ca6311b" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.object.type`

            Type states type of the object. It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per audit object record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-audit-logs-type-52d581839fa1" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `audit_logs.type`

            Type states type of the resource, typically 'event'. It preserves the provider's current classification of this record.

            * **Enables:** separate audit log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per audit log event record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-board-connectors-3a138f6180a0" title="Board Connectors" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `board_connectors`

        Board Connectors contain all connectors (lines/arrows connecting items) from a specific Miro board. Requires `board_id` from parent boards tap.

        * **Enables:** reconstruct the lines and arrows that connect items on a board.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards/{board_id}/connectors` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-board-connectors-board-id-4e937ee4929f" title="Board ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.board_id`

            Board ID identifies parent id injected by the ingestor from the boards to `board_connectors` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board connector records to provider records that carry the same board ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `board_id` as a record-level identifier on `BoardConnector`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-captions-b8c5f2d671c7" title="Captions" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.captions`

            Captions records text captions displayed on the connector. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact captions value attached to each board connector record.
            * **Interpretation:** The provider supplies `captions` at board connector granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-captions-content-2959a77355cd" title="Content" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.captions.content`

            Content captures the text content of the caption. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact content value attached to each connector caption record.
            * **Interpretation:** The provider supplies `content` at connector caption granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-captions-position-b8d65d7673f8" title="Position" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.captions.position`

            Position records position of the caption along the connector (0.0 to 1.0). It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas position.
            * **Interpretation:** The provider supplies `position` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-captions-textalignvertical-38ecce1862b7" title="Text Align Vertical" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.captions.textAlignVertical`

            Text Align Vertical records vertical text alignment of the caption. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied text align vertical for the represented design or board object.
            * **Interpretation:** The provider supplies `textAlignVertical` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-createdat-af0c77df838b" title="Created At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.createdAt`

            Created At records ISO 8601 timestamp when the connector was created. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board connector records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per board connector record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-createdby-282f83cc9b8e" title="Created By" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.createdBy`

            Created By records user who created the connector. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board connector record to the provider-reported person or account represented by created by.
            * **Interpretation:** The provider supplies `createdBy` as identity or attribution context on each board connector record. In Miro, created by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-createdby-id-06e42af96cab" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.createdBy.id`

            ID is the unique identifier of the user. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board connector records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `UserReference`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-createdby-type-225ab1391e59" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.createdBy.type`

            Type states resource type, typically 'user'. It preserves the provider's current classification of this record.

            * **Enables:** separate board connector records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per user reference record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-ea4a94f887ed" title="End Item" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem`

            End Item records end item reference for the connector. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** enumerate the nested end item records contained by each board connector record.
            * **Interpretation:** The provider returns `endItem` as a nested object or reference on `BoardConnector`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-id-fd78fce4a220" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem.id`

            ID is the unique identifier of the connected item. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board connector records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `ConnectorEndpoint`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-position-04a7b2d5daef" title="Position" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem.position`

            Position groups the relative X and Y coordinates where the connector attaches to an item. It preserves the endpoint placement needed to reconstruct the connector.

            * **Enables:** reproduce connector attachment points and compare endpoint placement on board items.
            * **Interpretation:** The provider returns `position` as a nested coordinate object with each axis expressed as a 0-to-1 relative value, not an ordinal rank.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-position-x-2db2dc0ec3d7" title="X Coordinate" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem.position.x`

            X Coordinate records relative X position (0.0 = left, 1.0 = right). It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas x coordinate.
            * **Interpretation:** The provider supplies `x` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-position-y-6a31d8fe1116" title="Y Coordinate" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem.position.y`

            Y Coordinate records relative Y position (0.0 = top, 1.0 = bottom). It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas y coordinate.
            * **Interpretation:** The provider supplies `y` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-enditem-snapto-d0d8d63eb168" title="Snap To" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.endItem.snapTo`

            Snap To records snap-to point on the item. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied snap to for the represented design or board object.
            * **Interpretation:** The provider supplies `snapTo` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-id-d5854bb24843" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.id`

            ID is the unique identifier of the connector. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board connector source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board connector record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-issupported-532b6f2ccdd5" title="Is Supported" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.isSupported`

            Is Supported indicates whether the connector is supported in the current context. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select board connector records for which the provider reports is supported as true or false.
            * **Interpretation:** The provider supplies `isSupported` as a boolean per board connector record; false and missing are distinct when the field is optional. In Miro, is supported is a condition on the work record, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-links-988c659f4471" title="Links" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.links`

            Links groups the provider URLs for the board connector resource. It preserves the exact resource reference returned with the connector.

            * **Enables:** open the connector resource without treating the link object as an integration or inline connector snapshot.
            * **Interpretation:** The provider returns `links` as a nested `ConnectorLinks` object; each value is a resource locator whose availability still follows provider permissions.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-links-self-3dbf9cc20953" title="Self" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.links.self`

            Self records URL to the connector resource itself. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by self on a connector link record.
            * **Interpretation:** The provider supplies `self` as a URL or resource locator on each connector link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-modifiedat-69332e9d2dc2" title="Modified At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.modifiedAt`

            Modified At records ISO 8601 timestamp when the connector was last modified. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board connector records on a timeline by modified at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `modifiedAt` per board connector record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-modifiedby-a4bfc72011f8" title="Modified By" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.modifiedBy`

            Modified By records user who last modified the connector. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board connector record to the provider-reported person or account represented by modified by.
            * **Interpretation:** The provider supplies `modifiedBy` as identity or attribution context on each board connector record. In Miro, modified by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-shape-f401fe205cbb" title="Shape" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.shape`

            Shape records shape/type of the connector line (straight, elbowed, curved). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied shape for the represented design or board object.
            * **Interpretation:** The provider supplies `shape` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-startitem-ea140c2b83fd" title="Start Item" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.startItem`

            Start Item records start item reference for the connector. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** enumerate the nested start item records contained by each board connector record.
            * **Interpretation:** The provider returns `startItem` as a nested object or reference on `BoardConnector`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-05f989f494b0" title="Style" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style`

            Style records visual style of the connector (color, stroke, etc.). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied style for the represented design or board object.
            * **Interpretation:** The provider supplies `style` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-color-e8542896ea31" title="Color" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.color`

            Color records hex color code of the connector line. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied color for the represented design or board object.
            * **Interpretation:** The provider supplies `color` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-endstrokecap-967439ee8663" title="End Stroke Cap" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.endStrokeCap`

            End Stroke Cap records stroke cap style at the end of the connector. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied end stroke cap for the represented design or board object.
            * **Interpretation:** The provider supplies `endStrokeCap` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-fontsize-eaa9794bf61b" title="Font Size" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.fontSize`

            Font Size records font size for connector captions. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied font size for the represented design or board object.
            * **Interpretation:** The provider supplies `fontSize` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-startstrokecap-b4621ed3cfc3" title="Start Stroke Cap" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.startStrokeCap`

            Start Stroke Cap records stroke cap style at the start of the connector. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied start stroke cap for the represented design or board object.
            * **Interpretation:** The provider supplies `startStrokeCap` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-strokecolor-bb5eeb40694f" title="Stroke Color" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.strokeColor`

            Stroke Color records stroke color of the connector line. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied stroke color for the represented design or board object.
            * **Interpretation:** The provider supplies `strokeColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-strokestyle-22e036c82d6f" title="Stroke Style" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.strokeStyle`

            Stroke Style records stroke style of the connector line. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied stroke style for the represented design or board object.
            * **Interpretation:** The provider supplies `strokeStyle` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-strokewidth-4ed3b58d3d27" title="Stroke Width" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.strokeWidth`

            Stroke Width records width of the connector stroke. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied stroke width for the represented design or board object.
            * **Interpretation:** The provider supplies `strokeWidth` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-style-textorientation-4ea6928d2b9d" title="Text Orientation" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.style.textOrientation`

            Text Orientation records orientation of text on the connector. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied text orientation for the represented design or board object.
            * **Interpretation:** The provider supplies `textOrientation` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-connectors-type-677550d1ddb9" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `board_connectors.type`

            Type states resource type, typically 'connector'. It preserves the provider's current classification of this record.

            * **Enables:** separate board connector records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board connector record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-board-groups-c81146f6a57e" title="Board Groups" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `board_groups`

        Board Groups contain all groups from a specific Miro board. Groups are collections of items that are logically grouped together. Requires `board_id` from parent boards tap.

        * **Enables:** reconstruct the logical item groupings returned for a board.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards/{board_id}/groups` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-board-groups-board-id-7310bd4c87b4" title="Board ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_groups.board_id`

            Board ID identifies parent id injected by the ingestor from the boards to `board_groups` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board group records to provider records that carry the same board ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `board_id` as a record-level identifier on `BoardGroup`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-groups-data-83880e48c033" title="Data" icon="arrow-trend-down" iconType="sharp-duotone-solid">
            Developer identifier: `board_groups.data`

            Data records group payload containing the IDs of the board items in the group. It retains configured attributes whose keys or shape are not fixed by this base schema.

            * **Enables:** interpret data according to the provider and Workspace configuration that produced each board group record.
            * **Interpretation:** Keys and value shapes within `data` can vary with provider and customer configuration; consumers must inspect the observed Workspace schema rather than assume a fixed contract.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-groups-data-items-66a1022f1a1b" title="Items" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `board_groups.data.items`

            Items records IDs of the board items contained in the group. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** enumerate the nested items records contained by each board group data record.
            * **Interpretation:** The provider returns `items` as a list on `BoardGroupData`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-groups-id-20044010bf7f" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_groups.id`

            ID is the unique identifier of the group. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board group source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board group record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-groups-type-5a117917f9e5" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `board_groups.type`

            Type states type of the resource. For groups this is typically 'group'. It preserves the provider's current classification of this record.

            * **Enables:** separate board group records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board group record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-board-items-4a2e9d1b355a" title="Board Items" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `board_items`

        Board Items contain all items (widgets) from a specific Miro board. Items include sticky notes, shapes, text, cards, images, documents, frames, embeds, app cards, and more. Requires `board_id` from parent boards tap.

        * **Enables:** inspect the exact sticky notes, shapes, cards, text, images, documents, frames, embeds, and app cards returned for each board.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards/{board_id}/items` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-board-items-board-id-e821c3b20345" title="Board ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.board_id`

            Board ID identifies parent id injected by the ingestor from the boards to `board_items` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board item records to provider records that carry the same board ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `board_id` as a record-level identifier on `BoardItem`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-createdat-ed8d47ef0db8" title="Created At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.createdAt`

            Created At records ISO 8601 timestamp when the item was created. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board item records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per board item record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-createdby-ce3019b569f1" title="Created By" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.createdBy`

            Created By records user who created the item. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board item record to the provider-reported person or account represented by created by.
            * **Interpretation:** The provider supplies `createdBy` as identity or attribution context on each board item record. In Miro, created by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-createdby-id-d23bc19b1541" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.createdBy.id`

            ID is the unique identifier of the user. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board item records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `UserReference`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-createdby-name-8654eaf4a336" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.createdBy.name`

            Name records display name of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the user reference record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each user reference record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-createdby-type-9c4b0c9a4f2d" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.createdBy.type`

            Type states type of the reference, typically 'user'. It preserves the provider's current classification of this record.

            * **Enables:** separate board item records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per user reference record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-8efbffbdf80a" title="Data" icon="triangle-exclamation" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data`

            Data records item-specific data content such as text, title, description, URL, and other type-dependent fields. It retains configured attributes whose keys or shape are not fixed by this base schema.

            * **Enables:** interpret data according to the provider and Workspace configuration that produced each board item record.
            * **Interpretation:** Keys and value shapes within `data` can vary with provider and customer configuration; consumers must inspect the observed Workspace schema rather than assume a fixed contract.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-assigneeid-68b8f7bfd49a" title="Assignee ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.assigneeId`

            Assignee ID identifies user ID of the assignee for card items. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board item records to provider records that carry the same assignee ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `assigneeId` as a record-level identifier on `ItemData`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-content-dce61d99eab7" title="Content" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.content`

            Content records text or HTML content of the item (sticky notes, shapes, text items). It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact content value attached to each item data record.
            * **Interpretation:** The provider supplies `content` at item data granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-description-d75b08752f95" title="Description" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.description`

            Description records description of the item (cards, app cards). It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description value attached to each item data record.
            * **Interpretation:** The provider supplies `description` at item data granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-duedate-b9baa203ff8a" title="Due Date" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.dueDate`

            Due Date records due date for card items in ISO 8601 format. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board item records on a timeline by due date and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `dueDate` per item data record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-59b2339a5213" title="Fields" icon="percent" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields`

            Fields records custom fields for app card items. It retains configured attributes whose keys or shape are not fixed by this base schema.

            * **Enables:** interpret fields according to the provider and Workspace configuration that produced each board item record.
            * **Interpretation:** Keys and value shapes within `fields` can vary with provider and customer configuration; consumers must inspect the observed Workspace schema rather than assume a fixed contract.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-fillcolor-33a8513b6b32" title="Fill Color" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.fillColor`

            Fill Color records background fill color of the field in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied fill color for the represented design or board object.
            * **Interpretation:** The provider supplies `fillColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-iconshape-3e6a46bc5ba9" title="Icon Shape" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.iconShape`

            Icon Shape records shape of the icon in the field. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by icon shape on a app card field record.
            * **Interpretation:** The provider supplies `iconShape` as a URL or resource locator on each app card field record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-iconurl-3655769b8d39" title="Icon URL" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.iconUrl`

            Icon URL records URL of the icon displayed in the field. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by icon URL on a app card field record.
            * **Interpretation:** The provider supplies `iconUrl` as a URL or resource locator on each app card field record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-textcolor-800b068dc67d" title="Text Color" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.textColor`

            Text Color records text color of the field in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied text color for the represented design or board object.
            * **Interpretation:** The provider supplies `textColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-tooltip-665c474fdfab" title="Tooltip" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.tooltip`

            Tooltip records tooltip text for the field. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact tooltip value attached to each app card field record.
            * **Interpretation:** The provider supplies `tooltip` at app card field granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-fields-value-1173a78f4297" title="Value" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.fields.value`

            Value records display value of the field. It preserves the recorded before, after, or contextual value needed to explain a change event.

            * **Enables:** compare the recorded value with the corresponding changed attribute when explaining an audit or changelog event.
            * **Interpretation:** The provider supplies `value` on each change record in the changed attribute's own type or display format; it is not normalized into a common unit.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-format-2e7fc0637a92" title="Format" icon="triangle-exclamation" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.format`

            Format records format type for frame items. It preserves the configuration or technical value needed to explain how the provider object is defined.

            * **Enables:** inspect the exact format when validating the configuration or technical definition of a item data record.
            * **Interpretation:** The provider supplies `format` as configuration or technical metadata on `ItemData`; consumers must preserve the exact syntax and documented vocabulary.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-imageurl-ab268be11ae9" title="Image URL" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.imageUrl`

            Image URL records URL of the image resource for image items. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by image URL on a item data record.
            * **Interpretation:** The provider supplies `imageUrl` as a URL or resource locator on each item data record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-mode-e7a9e639cfa4" title="Mode" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.mode`

            Mode states display mode for embed items. It preserves the provider's current classification of this record.

            * **Enables:** separate board item records by the exact provider-reported mode value when describing their recorded state.
            * **Interpretation:** The provider supplies `mode` per item data record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, mode is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-previewurl-89c3ba910946" title="Preview URL" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.previewUrl`

            Preview URL records preview URL for embed items. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by preview URL on a item data record.
            * **Interpretation:** The provider supplies `previewUrl` as a URL or resource locator on each item data record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-shape-7d0e3528b48b" title="Shape" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.shape`

            Shape records shape type for shape items (rectangle, circle, triangle, etc.). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied shape for the represented design or board object.
            * **Interpretation:** The provider supplies `shape` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-showcontent-9502a3acc519" title="Show Content" icon="code-merge" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.showContent`

            Show Content indicates whether to show content inside a frame. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select board item records for which the provider reports show content as true or false.
            * **Interpretation:** The provider supplies `showContent` as a boolean per item data record; false and missing are distinct when the field is optional. In Miro, show content is a condition on the work record, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-status-4b7304619e92" title="Status" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.status`

            Status states status of an app card item. It preserves the provider's current classification of this record.

            * **Enables:** separate board item records by the exact provider-reported status value when describing their recorded state.
            * **Interpretation:** The provider supplies `status` per item data record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, status is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-title-08645d960d69" title="Title" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.title`

            Title records title of the item (cards, app cards, images, documents, frames). It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact title value attached to each item data record.
            * **Interpretation:** The provider supplies `title` at item data granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-type-b3dfedbba4f9" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.type`

            Type states sub-type qualifier within the data object. It preserves the provider's current classification of this record.

            * **Enables:** separate board item records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per item data record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-data-url-e8c88d205ab0" title="URL" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.data.url`

            URL records URL associated with the item (images, documents, embeds). It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by URL on a item data record.
            * **Interpretation:** The provider supplies `url` as a URL or resource locator on each item data record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-geometry-0b3807a649a7" title="Geometry" icon="sliders" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.geometry`

            Geometry groups the board item's width, height, and rotation. It preserves the dimensions and orientation needed to reconstruct the item on the canvas.

            * **Enables:** compare item footprints and reproduce board layout using the declared dimension units.
            * **Interpretation:** The provider returns `geometry` as a nested object: width and height are in density-independent pixels, while rotation is in degrees.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-geometry-height-d4e3c187ab10" title="Height" icon="code-commit" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.geometry.height`

            Height reports the board item's vertical dimension in density-independent pixels (`dp`). It preserves the provider's canvas sizing unit.

            * **Enables:** compare item footprints and reproduce vertical sizing on the board.
            * **Interpretation:** The provider supplies `height` as a numeric `dp` value per geometry object; zero and missing are not interchangeable.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-geometry-rotation-c0f916052037" title="Rotation" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.geometry.rotation`

            Rotation reports the board item's orientation in degrees from 0 through 360. It preserves the provider's angular canvas setting.

            * **Enables:** reproduce item orientation and identify rotated content in board layouts.
            * **Interpretation:** The provider supplies `rotation` as a numeric degree value per geometry object; zero means no rotation and missing means no angle was reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-geometry-width-d437086ad166" title="Width" icon="code-commit" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.geometry.width`

            Width reports the board item's horizontal dimension in density-independent pixels (`dp`). It preserves the provider's canvas sizing unit.

            * **Enables:** compare item footprints and reproduce horizontal sizing on the board.
            * **Interpretation:** The provider supplies `width` as a numeric `dp` value per geometry object; zero and missing are not interchangeable.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-id-8eb2761bd967" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.id`

            ID is the unique identifier of the item. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board item source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board item record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-issupported-f73de402dac1" title="Is Supported" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.isSupported`

            Is Supported indicates whether the item type is fully supported by the API. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select board item records for which the provider reports is supported as true or false.
            * **Interpretation:** The provider supplies `isSupported` as a boolean per board item record; false and missing are distinct when the field is optional. In Miro, is supported is a condition on the work record, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-links-81cdd6b250df" title="Links" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.links`

            Links groups the provider URLs for the board item and related resources. It preserves resource references returned with the item.

            * **Enables:** open the exact item or follow its related-resource link without treating linked resources as inline snapshots.
            * **Interpretation:** The provider returns `links` as a nested `ItemLinks` object; each value is a resource locator whose availability still follows provider permissions.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-links-related-14cecab5541a" title="Related" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.links.related`

            Related records URL to related resources. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by related on a item link record.
            * **Interpretation:** The provider supplies `related` as a URL or resource locator on each item link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-links-self-1774cd54a42e" title="Self" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.links.self`

            Self records URL to the item resource itself. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by self on a item link record.
            * **Interpretation:** The provider supplies `self` as a URL or resource locator on each item link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-modifiedat-9cc14c35a7a2" title="Modified At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.modifiedAt`

            Modified At records ISO 8601 timestamp when the item was last modified. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board item records on a timeline by modified at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `modifiedAt` per board item record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-modifiedby-81316425fb52" title="Modified By" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.modifiedBy`

            Modified By records user who last modified the item. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board item record to the provider-reported person or account represented by modified by.
            * **Interpretation:** The provider supplies `modifiedBy` as identity or attribution context on each board item record. In Miro, modified by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-parent-c947f99e0072" title="Parent" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.parent`

            Parent records parent item reference, e.g. a frame that contains this item. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** reconstruct the parent-child structure expressed by parent on each board item record.
            * **Interpretation:** The provider returns `parent` as a nested object or reference on `BoardItem`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-parent-id-d5969b0e97d0" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.parent.id`

            ID is the unique identifier of the parent item. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board item records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `ParentReference`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-parent-links-72e569102020" title="Links" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.parent.links`

            Links groups the provider URLs that identify the parent item resource. It preserves the resource reference carried by the parent relationship.

            * **Enables:** open the exact parent item while keeping the parent reference distinct from an inline item snapshot.
            * **Interpretation:** The provider returns `links` as a nested `ItemLinks` object; each value is a resource locator whose availability still follows provider permissions.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-position-763ce5bf61cb" title="Position" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.position`

            Position records position of the item on the board (x, y coordinates and optional origin). It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas position.
            * **Interpretation:** The provider supplies `position` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-position-origin-ee9ce5436cfb" title="Origin" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.position.origin`

            Origin captures the origin point for the position coordinates (e.g., center). It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas origin.
            * **Interpretation:** The provider supplies `origin` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-position-relativeto-14d10e89915d" title="Relative To" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.position.relativeTo`

            Relative To reports indicates what the position is relative to (`canvas_center`, `parent_top_left`). It preserves the stated measure at this record's granularity.

            * **Enables:** order or classify board item records using the provider-defined relative to value.
            * **Interpretation:** The provider supplies `relativeTo` at position granularity as a provider-defined ordinal or planning value rather than elapsed time or money; zero and missing are not interchangeable.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-position-x-45c8bcfffbe7" title="X Coordinate" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.position.x`

            X Coordinate records x-axis coordinate of the item in dp. It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas x coordinate.
            * **Interpretation:** The provider supplies `x` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-position-y-5938977ee4d8" title="Y Coordinate" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.position.y`

            Y Coordinate records y-axis coordinate of the item in dp. It preserves the geographic, locale, time-zone, or coordinate context represented by the field.

            * **Enables:** place the represented design or board object using its provider canvas y coordinate.
            * **Interpretation:** The provider supplies `y` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-e8b0685395e0" title="Style" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style`

            Style records visual style properties of the item (colors, fonts, borders, etc.). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied style for the represented design or board object.
            * **Interpretation:** The provider supplies `style` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-bordercolor-e01488fe850c" title="Border Color" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.borderColor`

            Border Color records border color in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied border color for the represented design or board object.
            * **Interpretation:** The provider supplies `borderColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-borderopacity-d0e6f4068495" title="Border Opacity" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.borderOpacity`

            Border Opacity records border opacity as a string value. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied border opacity for the represented design or board object.
            * **Interpretation:** The provider supplies `borderOpacity` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-borderstyle-64b23754c341" title="Border Style" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.borderStyle`

            Border Style records border style (normal, dashed, dotted). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied border style for the represented design or board object.
            * **Interpretation:** The provider supplies `borderStyle` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-borderwidth-1794fed992e0" title="Border Width" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.borderWidth`

            Border Width records border width as a string value. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied border width for the represented design or board object.
            * **Interpretation:** The provider supplies `borderWidth` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-cardtheme-ba2f4e30dc08" title="Card Theme" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.cardTheme`

            Card Theme records theme color for card items in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied card theme for the represented design or board object.
            * **Interpretation:** The provider supplies `cardTheme` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-color-9f9ff432f687" title="Color" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.color`

            Color records text or foreground color in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied color for the represented design or board object.
            * **Interpretation:** The provider supplies `color` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-fillcolor-145e7c7f440d" title="Fill Color" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.fillColor`

            Fill Color records background fill color in hex format. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied fill color for the represented design or board object.
            * **Interpretation:** The provider supplies `fillColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-fillopacity-01b7b259b16c" title="Fill Opacity" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.fillOpacity`

            Fill Opacity records fill opacity as a string value. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied fill opacity for the represented design or board object.
            * **Interpretation:** The provider supplies `fillOpacity` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-fontfamily-345864d540fc" title="Font Family" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.fontFamily`

            Font Family records font family used for text rendering. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied font family for the represented design or board object.
            * **Interpretation:** The provider supplies `fontFamily` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-fontsize-a34a26396514" title="Font Size" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.fontSize`

            Font Size records font size in points as a string. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied font size for the represented design or board object.
            * **Interpretation:** The provider supplies `fontSize` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-stickynoteshape-10cd76df7410" title="Sticky Note Shape" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.stickyNoteShape`

            Sticky Note Shape records shape of the sticky note (square, rectangle). It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied sticky note shape for the represented design or board object.
            * **Interpretation:** The provider supplies `stickyNoteShape` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-textalign-999531126972" title="Text Align" icon="location-crosshairs" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.textAlign`

            Text Align records horizontal text alignment. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied text align for the represented design or board object.
            * **Interpretation:** The provider supplies `textAlign` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-style-textalignvertical-5f320f8d38a4" title="Text Align Vertical" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.style.textAlignVertical`

            Text Align Vertical records vertical text alignment. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied text align vertical for the represented design or board object.
            * **Interpretation:** The provider supplies `textAlignVertical` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-items-type-8f1654ceb5ae" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `board_items.type`

            Type states type of the item on the board. It preserves the provider's current classification of this record.

            * **Enables:** separate board item records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board item record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-board-members-70b707eb1abf" title="Board Members" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `board_members`

        Board Members contain all members of a specific Miro board, including their roles and permissions. Requires `board_id` from parent boards tap.

        * **Enables:** describe board membership and provider-reported roles as collaboration context.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards/{board_id}/members` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-board-members-board-id-34735cf8b7f0" title="Board ID" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.board_id`

            Board ID identifies parent id injected by the ingestor from the boards to `board_members` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board member records to provider records that carry the same board ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `board_id` as a record-level identifier on `BoardMember`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-id-f1cf59fdc032" title="ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.id`

            ID is the unique identifier of the board member. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board member source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board member record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-links-1275564cdd1b" title="Links" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.links`

            Links groups the provider URLs for the board-member resource and related profile. It preserves resource references returned with the membership.

            * **Enables:** open the exact board-member resource or follow its related profile without treating either link as an inline user snapshot.
            * **Interpretation:** The provider returns `links` as a nested `BoardMemberLinks` object; each value is a resource locator whose availability still follows provider permissions.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-links-related-e59a81934391" title="Related" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.links.related`

            Related records URL to a related resource, such as the user profile. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by related on a board member link record.
            * **Interpretation:** The provider supplies `related` as a URL or resource locator on each board member link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-links-self-53aedd863fc3" title="Self" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.links.self`

            Self records URL to the board member resource itself. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by self on a board member link record.
            * **Interpretation:** The provider supplies `self` as a URL or resource locator on each board member link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-name-11e07e92816d" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.name`

            Name records display name of the board member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board member record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each board member record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-role-f56caf9790ee" title="Role" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.role`

            Role states role of the member on the board (viewer, commenter, editor, coowner, owner). It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported role attached to each board member record.
            * **Interpretation:** The provider supplies `role` at board member granularity. It describes provider-reported context and does not prove effective access beyond the returned record. In Miro, role is access or membership context, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-members-type-ec8fa9956ea1" title="Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `board_members.type`

            Type states type of the resource, typically '`board_member`'. It preserves the provider's current classification of this record.

            * **Enables:** separate board member records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-board-tags-483226d6f8a4" title="Board Tags" icon="route" iconType="sharp-duotone-solid">
        Developer identifier: `board_tags`

        Board Tags contain all tags defined on a specific Miro board. Tags are used to categorize and label items. Requires `board_id` from parent boards tap.

        * **Enables:** apply each board's defined tags to the items that reference them.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards/{board_id}/tags` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-board-tags-board-id-76e1ebb36f2e" title="Board ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_tags.board_id`

            Board ID identifies parent id injected by the ingestor from the boards to `board_tags` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board tag records to provider records that carry the same board ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `board_id` as a record-level identifier on `BoardTag`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-tags-fillcolor-bdb469a3f8e9" title="Fill Color" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `board_tags.fillColor`

            Fill Color records fill color of the tag. It preserves the provider's visual treatment for the represented object.

            * **Enables:** reproduce or compare the provider-supplied fill color for the represented design or board object.
            * **Interpretation:** The provider supplies `fillColor` in its own color, opacity, stroke, emoji, or style vocabulary for the represented object.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-tags-id-0ffd446efc85" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `board_tags.id`

            ID is the unique identifier of the tag. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board tag source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board tag record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-tags-title-75803cf6e354" title="Title" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `board_tags.title`

            Title records title or label text of the tag. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact title value attached to each board tag record.
            * **Interpretation:** The provider supplies `title` at board tag granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-board-tags-type-c592fa2fbf23" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `board_tags.type`

            Type states type of the resource. Always 'tag' for tag objects. It preserves the provider's current classification of this record.

            * **Enables:** separate board tag records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board tag record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-boards-e469e989f4c7" title="Boards" icon="diagram-project" iconType="sharp-duotone-solid">
        Developer identifier: `boards`

        Boards contain all boards accessible to the authenticated user from Miro. Boards are the central resource in Miro, containing items, members, and collaboration data.

        * **Enables:** enumerate accessible whiteboards before resolving their items and membership records.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/boards` as a full snapshot. Results contain only boards and child records visible to the configured token.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-boards-createdat-ef41cc056871" title="Created At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `boards.createdAt`

            Created At records ISO 8601 timestamp when the board was created. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per board record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-createdby-5abb7f936c61" title="Created By" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.createdBy`

            Created By records user who created the board. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board record to the provider-reported person or account represented by created by.
            * **Interpretation:** The provider supplies `createdBy` as identity or attribution context on each board record. In Miro, created by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-createdby-id-2d84679a692c" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `boards.createdBy.id`

            ID is the unique identifier of the user. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `UserInfo`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-createdby-name-e7dbbacb072d" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.createdBy.name`

            Name records display name of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the user info record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each user info record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-createdby-type-6795b26be8b9" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `boards.createdBy.type`

            Type states type of the resource, typically 'user'. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per user info record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-currentusermembership-e4c8f3da7e6a" title="Current User Membership" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.currentUserMembership`

            Current User Membership records current authenticated user's membership details on the board. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each board record with the specific provider container named by current user membership.
            * **Interpretation:** The provider returns `currentUserMembership` as a nested object or reference on `Board`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-currentusermembership-id-a15359c55c1a" title="ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.currentUserMembership.id`

            ID is the unique identifier of the membership. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `CurrentUserMembership`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-currentusermembership-name-dec92d8a8436" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.currentUserMembership.name`

            Name records display name of the member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the current user membership record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each current user membership record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-currentusermembership-role-2851d554075c" title="Role" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.currentUserMembership.role`

            Role states role of the current user on the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported role attached to each current user membership record.
            * **Interpretation:** The provider supplies `role` at current user membership granularity. It describes provider-reported context and does not prove effective access beyond the returned record. In Miro, role is access or membership context, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-currentusermembership-type-98679e67190c" title="Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.currentUserMembership.type`

            Type states type of the resource, typically '`board_member`'. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per current user membership record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-description-e414f576103a" title="Description" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.description`

            Description records description of the board. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description value attached to each board record.
            * **Interpretation:** The provider supplies `description` at board granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-id-7f768ae37408" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `boards.id`

            ID is the unique identifier of the board. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same board source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per board record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-lastopenedat-19d31a3b817e" title="Last Opened At" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `boards.lastOpenedAt`

            Last Opened At records ISO 8601 timestamp when the board was last opened. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board records on a timeline by last opened at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `lastOpenedAt` per board record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-lastopenedby-e70409e2d59b" title="Last Opened By" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.lastOpenedBy`

            Last Opened By records user who last opened the board. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board record to the provider-reported person or account represented by last opened by.
            * **Interpretation:** The provider supplies `lastOpenedBy` as identity or attribution context on each board record. In Miro, last opened by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-links-d2ee7238dd43" title="Links" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.links`

            Links groups the provider URLs for the board resource and its related web location. It preserves resource references returned with the board.

            * **Enables:** open the exact board resource or related Miro page without treating either link as an inline snapshot.
            * **Interpretation:** The provider returns `links` as a nested `BoardLinks` object; each value is a resource locator whose availability still follows provider permissions.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-links-related-70198314b2cf" title="Related" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.links.related`

            Related records URL to the board in the Miro web application. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by related on a board link record.
            * **Interpretation:** The provider supplies `related` as a URL or resource locator on each board link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-links-self-aa6ef5f1a50c" title="Self" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.links.self`

            Self records API URL for this board resource. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by self on a board link record.
            * **Interpretation:** The provider supplies `self` as a URL or resource locator on each board link record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-modifiedat-2db98517b71a" title="Modified At" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `boards.modifiedAt`

            Modified At records ISO 8601 timestamp when the board was last modified. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place board records on a timeline by modified at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `modifiedAt` per board record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-modifiedby-6e57f1e4ca81" title="Modified By" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.modifiedBy`

            Modified By records user who last modified the board. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board record to the provider-reported person or account represented by modified by.
            * **Interpretation:** The provider supplies `modifiedBy` as identity or attribution context on each board record. In Miro, modified by is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-name-d701f36d1b4b" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.name`

            Name records name/title of the board. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each board record.
            * **Interpretation:** The provider supplies `name` at board granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-owner-70ef2731c46f" title="Owner" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.owner`

            Owner records owner of the board. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the board record to the provider-reported actor represented by owner.
            * **Interpretation:** The provider supplies `owner` as identity or attribution context on each board record. In Miro, owner is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-picture-e67a7cc2e81e" title="Picture" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.picture`

            Picture records thumbnail/picture information for the board. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by picture on a board record.
            * **Interpretation:** The provider supplies `picture` as a URL or resource locator on each board record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-picture-id-5f4315307042" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `boards.picture.id`

            ID is the identifier for the picture resource. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `PictureInfo`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-picture-imageurl-b1f75c05ff83" title="Image URL" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.picture.imageURL`

            Image URL records URL of the board thumbnail image. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by image URL on a picture info record.
            * **Interpretation:** The provider supplies `imageURL` as a URL or resource locator on each picture info record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-picture-type-34bcf0f26db0" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `boards.picture.type`

            Type states type of the picture resource. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per picture info record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-7822bbbfba74" title="Policy" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy`

            Policy states sharing and permissions policy wrapper for the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported policy attached to each board record.
            * **Interpretation:** The provider supplies `policy` at board granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-permissionspolicy-2723f17b2959" title="Permissions Policy" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.permissionsPolicy`

            Permissions Policy states permissions policy settings that control what collaborators can do on the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported permissions policy attached to each board policy record.
            * **Interpretation:** The provider supplies `permissionsPolicy` at board policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-permissionspolicy-collaborati-66b626e96a98" title="Collaboration Tools Start Access" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.permissionsPolicy.collaborationToolsStartAccess`

            Collaboration Tools Start Access states defines who can start using collaboration tools. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported collaboration tools start access attached to each permissions policy record.
            * **Interpretation:** The provider supplies `collaborationToolsStartAccess` at permissions policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-permissionspolicy-copyaccess-75d12892cc0b" title="Copy Access" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.permissionsPolicy.copyAccess`

            Copy Access states defines who can copy the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported copy access attached to each permissions policy record.
            * **Interpretation:** The provider supplies `copyAccess` at permissions policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-permissionspolicy-copyaccessl-b2a26c0068d2" title="Copy Access Level" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.permissionsPolicy.copyAccessLevel`

            Copy Access Level states defines the copy access level for the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported copy access level attached to each permissions policy record.
            * **Interpretation:** The provider supplies `copyAccessLevel` at permissions policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-permissionspolicy-sharingacce-45d2bddeb8b3" title="Sharing Access" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.permissionsPolicy.sharingAccess`

            Sharing Access states defines who can change the board's sharing and permissions settings. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported sharing access attached to each permissions policy record.
            * **Interpretation:** The provider supplies `sharingAccess` at permissions policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-sharingpolicy-c11566dd00c2" title="Sharing Policy" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.sharingPolicy`

            Sharing Policy states sharing policy settings that control how the board can be shared. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported sharing policy attached to each board policy record.
            * **Interpretation:** The provider supplies `sharingPolicy` at board policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-sharingpolicy-access-091d2eb508a4" title="Access" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.sharingPolicy.access`

            Access states defines the public-level access for the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported access attached to each sharing policy record.
            * **Interpretation:** The provider supplies `access` at sharing policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-sharingpolicy-accountaccess-52436014d433" title="Account Access" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.sharingPolicy.accountAccess`

            Account Access states defines the organization/account-level access for the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported account access attached to each sharing policy record.
            * **Interpretation:** The provider supplies `accountAccess` at sharing policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-sharingpolicy-invitetoaccount-012599a41b82" title="Invite To Account And Board Link Access" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.sharingPolicy.inviteToAccountAndBoardLinkAccess`

            Invite To Account And Board Link Access states controls whether board link invitations also grant account access. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported invite to account and board link access attached to each sharing policy record.
            * **Interpretation:** The provider supplies `inviteToAccountAndBoardLinkAccess` at sharing policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-policy-sharingpolicy-teamaccess-0a5926ca43fa" title="Team Access" icon="unlock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.policy.sharingPolicy.teamAccess`

            Team Access states defines the team-level access for the board. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported team access attached to each sharing policy record.
            * **Interpretation:** The provider supplies `teamAccess` at sharing policy granularity. It describes provider-reported context and does not prove effective access beyond the returned record.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-project-bb6140b9de5a" title="Project" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `boards.project`

            Project records project information associated with the board, if any. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each board record with the specific provider container named by project.
            * **Interpretation:** The provider returns `project` as a nested object or reference on `Board`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-project-id-4f01a443fb8e" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `boards.project.id`

            ID is the unique identifier of the project. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `ProjectInfo`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-project-name-351a523f72e8" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.project.name`

            Name records display name of the project. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each project info record.
            * **Interpretation:** The provider supplies `name` at project info granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-project-type-55b05adc9419" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `boards.project.type`

            Type states type of the resource, typically 'project'. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per project info record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-team-1f2a43a50f39" title="Team" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `boards.team`

            Team records team information associated with the board. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each board record with the specific provider container named by team.
            * **Interpretation:** The provider returns `team` as a nested object or reference on `Board`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-team-id-206842ea7dab" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `boards.team.id`

            ID is the unique identifier of the team. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match board records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `TeamInfo`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-team-name-086bedc3dbb6" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `boards.team.name`

            Name records display name of the team. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each team info record.
            * **Interpretation:** The provider supplies `name` at team info granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-team-type-de42dabe328d" title="Type" icon="phone" iconType="sharp-duotone-solid">
            Developer identifier: `boards.team.type`

            Type states type of the resource, typically 'team'. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per team info record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-type-1e9b047821b1" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `boards.type`

            Type states type of the resource. Always 'board' for board objects. It preserves the provider's current classification of this record.

            * **Enables:** separate board records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per board record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-boards-viewlink-6c4b67f07ec4" title="View Link" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `boards.viewLink`

            View Link records URL to view the board in the Miro web application. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by view link on a board record.
            * **Interpretation:** The provider supplies `viewLink` as a URL or resource locator on each board record. Availability still follows the provider's permissions and retention.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-organization-members-00ebbf332a59" title="Organization Members" icon="address-book" iconType="sharp-duotone-solid">
        Developer identifier: `organization_members`

        Organization Members contain all members of a Miro organization (Enterprise plan only). Requires `org_id` ingestion config field. Provides user records with roles and activity data.

        * **Enables:** enumerate Enterprise organization members and their provider-reported roles.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/orgs/{org_id}/members` as a full snapshot. The operation is Enterprise-only and is limited to the configured organization and token scopes.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-organization-members-active-ae005065cfda" title="Active" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.active`

            Active indicates whether the member is currently active. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select organization member records for which the provider reports active as true or false.
            * **Interpretation:** The provider supplies `active` as a boolean per organization member record; false and missing are distinct when the field is optional. In Miro, active is a condition on the work record, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-company-b925af1a5af8" title="Company" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.company`

            Company records company name associated with the member's profile. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact company value attached to each organization member record.
            * **Interpretation:** The provider supplies `company` at organization member granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-createdat-878a98a8a45d" title="Created At" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.createdAt`

            Created At records ISO 8601 timestamp when the member was added. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place organization member records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per organization member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-email-377e1c1150d1" title="Email" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.email`

            Email records email address of the member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the organization member record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each organization member record. In Miro, email is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-id-c22d356838d6" title="ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.id`

            ID is the unique identifier of the organization member. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same organization member source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per organization member record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-industry-545694c54eb0" title="Industry" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.industry`

            Industry states industry associated with the member's profile. It preserves the provider's current classification of this record.

            * **Enables:** separate organization member records by the exact provider-reported industry value when describing their recorded state.
            * **Interpretation:** The provider supplies `industry` per organization member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, industry is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-lastactivityat-edc10717995a" title="Last Activity At" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.lastActivityAt`

            Last Activity At records ISO 8601 timestamp of the member's last activity. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place organization member records on a timeline by last activity at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `lastActivityAt` per organization member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-lastloginat-847678c99935" title="Last Login At" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.lastLoginAt`

            Last Login At records ISO 8601 timestamp of the member's last login. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place organization member records on a timeline by last login at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `lastLoginAt` per organization member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-license-f8d9bdd93e1d" title="License" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.license`

            License captures the license type assigned to this member. It preserves the provider's current classification of this record.

            * **Enables:** separate organization member records by the exact provider-reported license value when describing their recorded state.
            * **Interpretation:** The provider supplies `license` per organization member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, license is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-modifiedat-6d62518f958a" title="Modified At" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.modifiedAt`

            Modified At records ISO 8601 timestamp when the member record was last modified. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place organization member records on a timeline by modified at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `modifiedAt` per organization member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-name-bcfbf700fcb3" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.name`

            Name records full name of the member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the organization member record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each organization member record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-role-09f37df2c949" title="Role" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.role`

            Role states role of the member in the organization. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported role attached to each organization member record.
            * **Interpretation:** The provider supplies `role` at organization member granularity. It describes provider-reported context and does not prove effective access beyond the returned record. In Miro, role is access or membership context, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-state-9ceefa8e6644" title="State" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.state`

            State states current state of the member account. It preserves the provider's current classification of this record.

            * **Enables:** separate organization member records by the exact provider-reported state value when describing their recorded state.
            * **Interpretation:** The provider supplies `state` per organization member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, state is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-members-type-4a04722275d9" title="Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `organization_members.type`

            Type states type of the resource. It preserves the provider's current classification of this record.

            * **Enables:** separate organization member records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per organization member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-organization-teams-32925e74b045" title="Organization Teams" icon="people-group" iconType="sharp-duotone-solid">
        Developer identifier: `organization_teams`

        Organization Teams contain all teams within a Miro organization (Enterprise plan only). Requires `org_id` ingestion config field.

        * **Enables:** map the teams configured within a Miro Enterprise organization.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/orgs/{org_id}/teams` as a full snapshot. The operation is Enterprise-only and is limited to the configured organization and token scopes.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-organization-teams-id-e8f5d32e0883" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.id`

            ID is the unique identifier of the team. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same organization team source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per organization team record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-name-51ebcdd956f6" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.name`

            Name records name of the team. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name value attached to each organization team record.
            * **Interpretation:** The provider supplies `name` at organization team granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-picture-42ce347a837c" title="Picture" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.picture`

            Picture records optional picture metadata for the team. It preserves the containing or referenced object needed to reconstruct the provider relationship.

            * **Enables:** associate each organization team record with the specific provider container named by picture.
            * **Interpretation:** The provider returns `picture` as a nested object or reference on `OrganizationTeam`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-picture-id-dd6075c4fc7b" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.picture.id`

            ID is the identifier for the picture resource. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match organization team records to provider records that carry the same ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `id` as a record-level identifier on `OrganizationTeamPicture`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-picture-imageurl-fc81e5d82361" title="Image URL" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.picture.imageURL`

            Image URL records URL of the team picture image. It retains the exact provider location for the referenced resource.

            * **Enables:** open or trace the exact provider resource referenced by image URL on a organization team picture record.
            * **Interpretation:** The provider supplies `imageURL` as a URL or resource locator on each organization team picture record. Availability still follows the provider's permissions and retention.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-picture-type-b096980d6859" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.picture.type`

            Type states type of the picture resource. It preserves the provider's current classification of this record.

            * **Enables:** separate organization team records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per organization team picture record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-organization-teams-type-2c2614c1ce39" title="Type" icon="earth-americas" iconType="sharp-duotone-solid">
            Developer identifier: `organization_teams.type`

            Type states type of the resource. It preserves the provider's current classification of this record.

            * **Enables:** separate organization team records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per organization team record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-miro-team-members-5d4d19e36204" title="Team Members" icon="people-group" iconType="sharp-duotone-solid">
        Developer identifier: `team_members`

        Team Members contain all members of a specific team within a Miro organization (Enterprise plan only). Requires `org_id` ingestion config field and `team_id` from parent `organization_teams` tap.

        * **Enables:** map members to each Enterprise organization team.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/orgs/{org_id}/teams/{team_id}/members` as a full snapshot. The operation is Enterprise-only and is limited to the configured organization and token scopes.

        <AccordionGroup>
          <Accordion id="provider-permission-field-miro-team-members-active-1ae24ad9e472" title="Active" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.active`

            Active indicates whether the team member account is currently active. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select team member records for which the provider reports active as true or false.
            * **Interpretation:** The provider supplies `active` as a boolean per team member record; false and missing are distinct when the field is optional. In Miro, active is a condition on the work record, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-company-44b01141e0be" title="Company" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.company`

            Company records company name associated with the team member. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact company value attached to each team member record.
            * **Interpretation:** The provider supplies `company` at team member granularity in the format stated by its description; omitted or redacted content remains unknown.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-createdat-7ec46ddc719e" title="Created At" icon="lock" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.createdAt`

            Created At records the timestamp indicating when the team member was added to the team. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team member records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `createdAt` per team member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-email-33dc8bd4740a" title="Email" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.email`

            Email records email address of the team member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the team member record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each team member record. In Miro, email is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-id-4b7604f41773" title="ID" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.id`

            ID is the unique identifier of the team member. It supplies the declared record identity used when repeated ingestions represent the same source row.

            * **Enables:** recognize repeated ingestions of the same team member source row before constructing its represented state.
            * **Interpretation:** The provider supplies `id` at one value per team member record, and `x-transformDedupKey` explicitly marks it as the record key.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-industry-1cb9cbb24459" title="Industry" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.industry`

            Industry states industry associated with the team member's profile. It preserves the provider's current classification of this record.

            * **Enables:** separate team member records by the exact provider-reported industry value when describing their recorded state.
            * **Interpretation:** The provider supplies `industry` per team member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, industry is the work record's classification, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-lastactivityat-fd3ff196048b" title="Last Activity At" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.lastActivityAt`

            Last Activity At records the timestamp of the member's last activity within the team. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team member records on a timeline by last activity at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `lastActivityAt` per team member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-modifiedat-8e5c53ec437d" title="Modified At" icon="passport" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.modifiedAt`

            Modified At records the timestamp indicating when the team member record was last modified. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team member records on a timeline by modified at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `modifiedAt` per team member record as a timestamp at the precision returned by the provider; missing values mean the event or boundary was not reported.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-name-97d448eebfa9" title="Name" icon="user-shield" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.name`

            Name records full name of the team member. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the team member record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each team member record. In Miro, name is attribution or membership context for the work record, not a measure of an individual's performance.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-role-5a128ed85b81" title="Role" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.role`

            Role states role of the member within the team. It documents the access-related value reported for this object or membership.

            * **Enables:** describe the provider-reported role attached to each team member record.
            * **Interpretation:** The provider supplies `role` at team member granularity. It describes provider-reported context and does not prove effective access beyond the returned record. In Miro, role is access or membership context, not an individual-performance measure.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-team-id-0f8cfe3eb71f" title="Team ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.team_id`

            Team ID identifies parent id injected by the ingestor from the `organization_teams` to `team_members` traversal `parentContextFields`. Not part of the upstream API response; written into each row at bronze ingestion time. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match team member records to provider records that carry the same team ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `team_id` as a record-level identifier on `TeamMember`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-miro-team-members-type-b9575ac01ee2" title="Type" icon="shield-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_members.type`

            Type states type of the resource. It preserves the provider's current classification of this record.

            * **Enables:** separate team member records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per team member record using its own state vocabulary; unknown and missing values must remain distinct. In Miro, type is the work record's classification, not an individual-performance measure.
          </Accordion>
        </AccordionGroup>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Troubleshooting">
    **[Miro REST API Quickstart](https://developers.miro.com/docs/rest-api-build-your-first-hello-world-app)** — Official guide for creating a developer app and obtaining an access token

    **Validation fails immediately after pasting the token**

    * Confirm you selected the **non-expiring token** option when creating the Miro app. Tokens from apps configured with expiring tokens will show as invalid after 1 hour.
    * Verify `boards:read` and `identity:read` are enabled in your app permissions.
    * Ensure you copied the **Access token** (not the Client ID or Client Secret).

    **Enterprise taps are not syncing**

    * Confirm your Miro account is on an **Enterprise plan**.
    * Confirm you provided the correct **Organization ID** in the Provider configuration. Find it in Miro under **Settings > Company Settings > Security > Audit log**.
    * Confirm `auditlogs:read`, `organizations:read`, and `organizations:teams:read` scopes are enabled on the app.

    **Boards tap returns only some boards**

    * The token's access is scoped to the workspace team it was created in. If boards belong to a different team, the token will not return them.
  </Tab>
</Tabs>
