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

# Bearer Token

> Connect Parable to Miro using a non-expiring access token

export const platform_0 = undefined

export const limit_0 = undefined

export const tokenName_0 = undefined

<Tabs>
  <Tab title="Setup">
    <Card title="What You'll Need" icon="key">
      | 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) |
    </Card>

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

    <CardGroup cols={2}>
      <Card title="Board data" icon="table">
        Boards, items, members, tags, groups, and connectors
      </Card>

      <Card title="Activity & admin" icon="clock">
        Audit logs and organization/team membership (Enterprise)
      </Card>
    </CardGroup>

    ## Prerequisites

    <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.
    </Info>

    * 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**.

    ## Setup Guide

    <Steps>
      <Step title="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>

      <Step title="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>

      <Step title="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>

      <Step title="Copy the access token">
        1. In your app settings, scroll to the **App credentials** section.
        2. Copy the **Access token**.

        <Warning>
          **Copy your {tokenName_0} now!**

          This is the only time it will be displayed. Store it in a secure password manager before closing this page.
        </Warning>
      </Step>

      <Step title="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 connector form.

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

      <Step title="Connect in Parable">
        1. In Parable, open **Settings > Connectors > Add connector**.
        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**.

        <Check>
          **Success!** If you received a `200 OK` response with valid data, your credentials are configured correctly. You can now proceed to configure this connector in Parable.
        </Check>
      </Step>
    </Steps>

    <Tip>
      **Rate Limits:** {platform_0} enforces rate limits of **{limit_0}**.

      Parable handles rate limiting automatically with exponential backoff, but initial syncs of large datasets may take longer due to these limits.
    </Tip>

    ## Additional Resources

    <CardGroup cols={2}>
      <Card title="Miro REST API Quickstart" icon="book" href="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
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Scopes">
    ## Required Scopes

    | 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.
  </Tab>

  <Tab title="Troubleshooting">
    ## Common Issues

    **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 connector config. 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>
