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

# Figma REST API

> Figma is a collaborative design platform for building user interfaces, prototyping, and design systems. The Figma REST API provides access to files, projects, components, styles, comments, version history, webhooks, and team/organization management. Base URL: https://api.figma.com with v1 and v2 versioned endpoints.

Figma is a collaborative design platform for building user interfaces, prototyping, and design systems. The Figma REST API provides access to files, projects, components, styles, comments, version history, webhooks, and team/organization management. Base URL: [https://api.figma.com](https://api.figma.com) with v1 and v2 versioned endpoints.

<Tabs>
  <Tab title="Overview">
    Connect Parable to Figma using either a Personal Access Token (PAT) or a Plan Access Token. Enter whichever you have in the same token field. Parable ingests design assets, version history, team structure, and (Enterprise, opt-in) activity logs.

    > **Info:** **Which token should I use?** A **Plan Access Token** is preferred for Organization/Enterprise plans: it is not tied to an individual user, supports up to a 1-year expiration, and can be scoped with a resource allowlist. A **Personal Access Token** is tied to the minting user and expires within 90 days. If you use a Plan Access Token, make sure its resource allowlist includes every team you configure in Parable.

    #### Design assets

    Projects, files, components, variables, and version history

    #### Activity & admin

    File comments and org-level activity logs (Enterprise, opt-in)

    ## Data streams

    This Provider Plugin defines 12 data streams.

    | Stream                | Description                                                                                                                                                                                                                                                                                                         | Sync        |
    | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
    | `team_projects`       | Lists all projects within a Figma team. Requires a team\_id parent context. Returns project id and name.                                                                                                                                                                                                            | full        |
    | `project_files`       | Lists all files within a Figma project. Requires a project\_id parent context. Returns file key, name, thumbnail URL, and last modified timestamp.                                                                                                                                                                  | full        |
    | `file_versions`       | Returns paginated version history for a Figma file. Requires a file\_key parent context. Pagination uses next\_page URL from the pagination object in the response.                                                                                                                                                 | full        |
    | `file_comments`       | Returns all comments on a Figma file. Requires a file\_key parent context.                                                                                                                                                                                                                                          | full        |
    | `team_components`     | Lists all published components for a Figma team. Cursor-based pagination using after parameter. Requires team\_id parent context.                                                                                                                                                                                   | full        |
    | `team_component_sets` | Lists all published component sets for a Figma team. Cursor-based pagination using after parameter. Requires team\_id parent context.                                                                                                                                                                               | full        |
    | `team_styles`         | Lists all published styles for a Figma team. Cursor-based pagination using after parameter. Requires team\_id parent context.                                                                                                                                                                                       | full        |
    | `file_components`     | Lists all components within a specific Figma file. Requires a file\_key parent context.                                                                                                                                                                                                                             | full        |
    | `file_styles`         | Lists all styles within a specific Figma file. Requires a file\_key parent context.                                                                                                                                                                                                                                 | full        |
    | `comment_reactions`   | Returns reactions on a specific comment in a Figma file. Requires file\_key and comment\_id parent context. Cursor-based pagination.                                                                                                                                                                                | full        |
    | `file_dev_resources`  | Returns dev resources attached to a Figma file. Requires a file\_key parent context.                                                                                                                                                                                                                                | full        |
    | `activity_logs`       | Retrieve organization activity log events from Figma. Returns timestamped events covering user and admin activity: file opens, edits, creation/deletion, comments, sharing changes, team membership changes, plugin usage, and administrative actions. Enterprise plan required. Organization admin must authorize. | incremental |
  </Tab>

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

    #### What You'll Need

    | Credential                | What it is                                                                                             |
    | ------------------------- | ------------------------------------------------------------------------------------------------------ |
    | **Personal Access Token** | Long-lived token minted from a user's Figma account settings                                           |
    | **Plan Access Token**     | Org/Enterprise token created by a plan admin, not tied to a user (recommended for org-wide automation) |

    > **Info:** **Service account required.** PATs are tied to the minting user -- if that user is removed from the team the token is revoked immediately and ingestion stops. Always mint from a **dedicated service-account user** on a **paid plan** (Professional, Organization, or Enterprise).

    * **`activity_logs`** is **disabled by default**. Enable it only if your organization is on the **Enterprise plan** with the service-account user having org admin access. Non-Enterprise tenants will receive `402 payment_required` on every sync.

    > **Info:** **Using a Plan Access Token instead?** Org/Enterprise admins can create one at [figma.com/developers/tokens](https://www.figma.com/developers/tokens) (requires 2FA). Choose the same scopes listed in Step 2, and on the **Choose resources** page either allow all resources or add every team you will sync in Parable. Then skip to Step 3 and paste it into the token field.

    #### Step 1: Open Figma Security settings

    1. Sign in to Figma as the dedicated service-account user.
    2. Click your avatar in the top-right and open **Settings**.
    3. Switch to the **Security** tab.
    4. Scroll to **Personal access tokens**.

    #### Step 2: Generate the token

    1. Click **Generate new token**.
    2. Set:
       * **Token name** -- something traceable, e.g. `parable-platform-prod`.
       * **Expiration** -- choose the longest duration your security policy allows (`30 days`, `60 days`, `90 days`, `180 days`, or `No expiration`). Rotate at least every 12 months even if using no expiration.
       * **Scopes** -- add the following:

    | Scope                       | Purpose                                             |
    | --------------------------- | --------------------------------------------------- |
    | `projects:read`             | Team projects and project file listings             |
    | `file_versions:read`        | File version history                                |
    | `file_dev_resources:read`   | Dev resources                                       |
    | `file_comments:read`        | File comments and reactions                         |
    | `team_library_content:read` | Team library components, component sets, and styles |
    | `library_content:read`      | File-level library components and styles            |
    | `org:activity_log_read`     | Org activity logs (Enterprise only)                 |

    3. Copy the token.

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

    #### Step 3: Enter values in the form

    1. **Personal Access Token**: Paste the token from Figma.
    2. **Team IDs** (optional): Add one row per Figma team you want to sync.
       Find each team ID in the Figma URL: `figma.com/files/team/{team_id}/...`.
       Leave empty to skip team-scoped taps that require `team_id`.
    3. Click **Save & test connection**.

    Use an environment variable so the secret never enters shell history:

    Probe a team you intend to sync (works for both token types). `/v1/me` does **not** work with a Plan Access Token, so do not use it to verify.

    ```bash Test Authentication theme={null}
    read -rs -p "Figma token: " FIGMA_TOKEN && echo
    read -r -p "Figma team id: " FIGMA_TEAM_ID
    curl --silent -H "X-Figma-Token: ${FIGMA_TOKEN}" "https://api.figma.com/v1/teams/${FIGMA_TEAM_ID}/projects"
    unset FIGMA_TOKEN
    ```

    > **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:** A `200 OK` response with a `projects` array means the token can read that team. A `403` means the token is invalid/revoked, is missing the `projects:read` scope, or -- for a Plan Access Token -- the team is outside its resource allowlist. A `404` means the team id is wrong or the token's user has no access to it.

    > **Tip:** **Rate Limits:** Figma enforces rate limits of **60 requests/minute per token on /v1/files; 10 requests/second overall**.
    >
    > 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">
    <AccordionGroup>
      <Accordion id="provider-permission-tap-figma-activity-logs-e871db17917c" title="Activity Logs" icon="timeline" iconType="sharp-duotone-solid">
        Developer identifier: `activity_logs`

        Activity Logs contain organization activity log events from Figma. Returns timestamped events covering user and admin activity: file opens, edits, creation/deletion, comments, sharing changes, team membership changes, plugin usage, and administrative actions. Enterprise plan required. Organization admin must authorize.

        * **Enables:** trace organization events such as file changes, sharing changes, and membership administration to recorded actors and times.
        * **Scope:** Reads provider changes through `GET /{apiVersion}/activity_logs` using the declared incremental request boundary. This Enterprise-only operation requires organization-administrator authorization; events outside the returned organization log are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-activity-logs-action-ccbab5ccca0b" title="Action" icon="sliders" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.action`

            Action captures the action taken, including its type and event-specific details. It preserves the provider's current classification of this record.

            * **Enables:** separate activity log records by the exact provider-reported action value when describing their recorded state.
            * **Interpretation:** The provider supplies `action` per activity log event record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-action-details-9d55a76ae5f6" title="Details" icon="sliders" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.action.details`

            Details records action-specific details that vary by action type. 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 activity 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.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-action-type-1838d52290e3" title="Type" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.action.type`

            Type states action type (e.g., `file_view`, `file_edit`, `comment_add`, `team_member_add`, `admin_settings_change`). It preserves the provider's current classification of this record.

            * **Enables:** separate activity log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per activity action record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-actor-6ae2bff7d4b7" title="Actor" icon="user-tie" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.actor`

            Actor captures the user who performed the action. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the activity log event record to the provider-reported actor represented by actor.
            * **Interpretation:** The provider supplies `actor` as identity or attribution context on each activity log event record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-actor-email-366f58e6b1e2" title="Email" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.actor.email`

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

            * **Enables:** attribute the activity actor record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each activity actor record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-actor-id-9d5425002198" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.actor.id`

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

            * **Enables:** match activity 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 `ActivityActor`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-actor-name-84e4438b9e62" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.actor.name`

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

            * **Enables:** attribute the activity actor record to the provider-reported person or account represented by name.
            * **Interpretation:** The provider supplies `name` as identity or attribution context on each activity actor record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-actor-type-59546b3107aa" title="Type" icon="user-tie" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.actor.type`

            Type states type of the actor (e.g., user, `service_account`). It preserves the provider's current classification of this record.

            * **Enables:** separate activity log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per activity actor record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-context-b62756be2d77" title="Context" icon="network-wired" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.context`

            Context records client and network context in which the action 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 activity log event record.
            * **Interpretation:** The provider returns `context` as a nested object or reference on `ActivityLogEvent`; an absent value does not prove that no related object exists outside the credential's visibility.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-context-client-name-02dd75819f64" title="Client Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.context.client_name`

            Client Name records name of the client from which the action was performed (e.g., `figma_web`, `figma_desktop`). It preserves the client environment reported with the event.

            * **Enables:** count Mixpanel events by the reported client name client environment.
            * **Interpretation:** Mixpanel supplies `client_name` per tracked event from client metadata; missing values do not identify an operating system or browser.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-context-ip-address-01fa9c9d5a4e" title="IP Address" icon="ip" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.context.ip_address`

            IP Address 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 activity log records by the recorded IP address without inferring a person's physical presence.
            * **Interpretation:** The provider supplies `ip_address` as location or localization context per activity context record; it does not establish a person's real-time physical location.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-context-is-figma-support-tea-010a69603788" title="Is Figma Support Team Action" icon="sitemap" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.context.is_figma_support_team_action`

            Is Figma Support Team Action indicates whether the action was performed by the Figma support team. It preserves the provider-reported yes-or-no condition for this record.

            * **Enables:** select activity log records for which the provider reports is figma support team action as true or false.
            * **Interpretation:** The provider supplies `is_figma_support_team_action` as a boolean per activity context record; false and missing are distinct when the field is optional.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-entity-bf5eca15ed42" title="Entity" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.entity`

            Entity captures the primary entity (file, project, team, etc.) that was acted upon. It preserves the containing or referenced object needed to reconstruct the provider relationship.

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

          <Accordion id="provider-permission-field-figma-activity-logs-entity-key-204e8a72b460" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.entity.key`

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

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

          <Accordion id="provider-permission-field-figma-activity-logs-entity-name-7abda88d2873" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.entity.name`

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

            * **Enables:** inspect the exact name returned for each Figma activity log record.
            * **Interpretation:** The value covers only the activity logs content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-entity-type-766861dd6f2c" title="Type" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.entity.type`

            Type states type of the entity (e.g., file, project, team, org). It preserves the provider's current classification of this record.

            * **Enables:** separate activity log records by the exact provider-reported type value when describing their recorded state.
            * **Interpretation:** The provider supplies `type` per activity entity record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-activity-logs-id-b762c9a2b1a1" title="ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.id`

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

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

          <Accordion id="provider-permission-field-figma-activity-logs-timestamp-5eb935bd7a83" title="Timestamp" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `activity_logs.timestamp`

            Timestamp records unix epoch seconds when the event occurred. It anchors the named event or boundary on the record's timeline.

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

      <Accordion id="provider-permission-tap-figma-comment-reactions-fb6a8977e444" title="Comment Reactions" icon="cubes" iconType="sharp-duotone-solid">
        Developer identifier: `comment_reactions`

        Comment Reactions contain reactions on a specific comment in a Figma file. Requires `file_key` and `comment_id` parent context. Cursor-based pagination.

        * **Enables:** count and attribute the reactions recorded on a specific file comment.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{file_key}/comments/{id}/reactions` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-comment-reactions-comment-id-97da6c130518" title="Comment ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.comment_id`

            Comment ID identifies parent id injected by the ingestor from the `file_comments` to `comment_reactions` 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 comment reaction records to provider records that carry the same comment ID, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `comment_id` as a record-level identifier on `CommentReaction`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-comment-reactions-created-at-a0464bd392be" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.created_at`

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

            * **Enables:** place comment reaction records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per comment reaction 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-figma-comment-reactions-emoji-66e915df4d46" title="Emoji" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.emoji`

            Emoji captures the emoji shortcode representing the reaction. It preserves the provider's visual treatment for the represented object.

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

          <Accordion id="provider-permission-field-figma-comment-reactions-file-key-06a963547f37" title="File Key" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.file_key`

            File Key identifies parent `file_key` injected by the ingestor from the `file_comments` to `comment_reactions` 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 comment reaction records to provider records that carry the same file key, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `file_key` as a record-level identifier on `CommentReaction`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-comment-reactions-id-067c2293c5ce" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.id`

            ID identifies synthetic sha1(`file_key`|`comment_id`|emoji); emoji alone collides across comments. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-comment-reactions-user-9aa9129bf7b9" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.user`

            User captures the user who posted this reaction on the comment. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the comment reaction record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each comment reaction record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-comment-reactions-user-handle-75a83d5e328d" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.user.handle`

            Handle records display name (handle) of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the reaction user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each reaction user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-comment-reactions-user-id-3bf968617835" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.user.id`

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

            * **Enables:** match comment reaction 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 `ReactionUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-comment-reactions-user-img-url-4d6ff77924f2" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `comment_reactions.user.img_url`

            Img URL records URL to the user's profile image/avatar. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-file-comments-6c9842bbc9c1" title="File Comments" icon="comments" iconType="sharp-duotone-solid">
        Developer identifier: `file_comments`

        File Comments contain all comments on a Figma file. Requires a `file_key` parent context.

        * **Enables:** review comment text and authorship attached to each design file.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{key}/comments` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-file-comments-client-meta-18ae6d743a22" title="Client Meta" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta`

            Client Meta records positional metadata indicating where the comment was placed on the canvas or within a frame. 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 client meta.
            * **Interpretation:** The provider supplies `client_meta` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-client-meta-node-id-6191f9b29e9a" title="Node ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.node_id`

            Node ID captures the node ID the comment is pinned to, if applicable. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-comments-client-meta-node-offset-c2b79956f986" title="Node Offset" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.node_offset`

            Node Offset records offset from the node origin where the comment is pinned. 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 node offset.
            * **Interpretation:** The provider supplies `node_offset` in its canvas coordinate system for this object; it is not a geographic coordinate.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-client-meta-node-offset-x-9ca0b57ab7a4" title="X Coordinate" icon="calculator" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.node_offset.x`

            X Coordinate records x component. 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-figma-file-comments-client-meta-node-offset-y-3444f9c7ea08" title="Y Coordinate" icon="calculator" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.node_offset.y`

            Y Coordinate records y component. 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-figma-file-comments-client-meta-x-a097ca009aba" title="X Coordinate" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.x`

            X Coordinate records x coordinate of the comment pin. 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-figma-file-comments-client-meta-y-7ccb5b504d4c" title="Y Coordinate" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.client_meta.y`

            Y Coordinate records y coordinate of the comment pin. 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-figma-file-comments-created-at-bb9e149e3628" title="Created At" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.created_at`

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

            * **Enables:** place file comment records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per file comment 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-figma-file-comments-file-key-1d4307d21f0e" title="File Key" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.file_key`

            File Key captures the key of the Figma file this comment belongs to. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-comments-id-6c8e2469fc2f" title="ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.id`

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

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

          <Accordion id="provider-permission-field-figma-file-comments-message-7dfd9c4493e0" title="Message" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.message`

            Message captures the comment message text. Returned as markdown when `as_md`=true. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact message returned for each Figma file comment record.
            * **Interpretation:** The value covers only the file comments content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-order-id-083cf857e070" title="Order ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.order_id`

            Order ID contains an ordering identifier used to sort comments chronologically. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-comments-parent-id-27c266cc5d8d" title="Parent ID" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.parent_id`

            Parent ID captures the ID of the parent comment if this comment is a reply. Empty string if top-level. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-comments-resolved-at-1867bf370f13" title="Resolved At" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.resolved_at`

            Resolved At records ISO 8601 timestamp when the comment was resolved. Null if unresolved. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place file comment records on a timeline by resolved at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `resolved_at` per file comment 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-figma-file-comments-user-bd8f0f747c87" title="User" icon="comment-dots" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.user`

            User captures the user who posted the comment. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the file comment record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each file comment record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-user-handle-35bcdd13dcaa" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.user.handle`

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

            * **Enables:** attribute the comment user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each comment user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-user-id-dd8e684e2ce9" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.user.id`

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

            * **Enables:** match file comment 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 `CommentUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-comments-user-img-url-91f4bba62edb" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_comments.user.img_url`

            Img URL records URL of the user's profile image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-file-components-36cd0221b05b" title="File Components" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `file_components`

        File Components contain all components within a specific Figma file. Requires a `file_key` parent context.

        * **Enables:** inspect component definitions local to a specific design file.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{key}/components` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-file-components-component-set-id-d398d8f33bd9" title="Component Set ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.component_set_id`

            Component Set ID identifies if this component is part of a component set (variants), this is the key of the parent component set. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-component-set-name-90879dd08978" title="Component Set Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.component_set_name`

            Component Set Name captures the name of the parent component set, if applicable. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact component set name returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-c36c8240ce3c" title="Containing Frame" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame`

            Containing Frame records information about the frame that contains this component in the file. It preserves the containing or referenced object needed to reconstruct the provider relationship.

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

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-backgroun-0188b5566e6e" title="Background Color" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.backgroundColor`

            Background Color records background color of the containing frame. It preserves the provider's visual treatment for the represented object.

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

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-containin-9bef29d33909" title="Containing State Group" icon="sitemap" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.containingStateGroup`

            Containing State Group states if the component is inside a state group, information about that group. It preserves the provider's current classification of this record.

            * **Enables:** separate file component records by the exact provider-reported containing state group value when describing their recorded state.
            * **Interpretation:** The provider supplies `containingStateGroup` per containing frame record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-containin-de65ee6435ad" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.containingStateGroup.name`

            Name captures the name of the state group. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-containin-fc6a0f0e8e7d" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.containingStateGroup.nodeId`

            Node ID captures the node ID of the state group. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-name-17a32b73240a" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.name`

            Name captures the name of the containing frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-nodeid-01d2435f0c2b" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.nodeId`

            Node ID captures the node ID of the containing frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-pageid-6673e23dfda9" title="Page ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.pageId`

            Page ID captures the node ID of the page that contains this frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-containing-frame-pagename-9720b981ce00" title="Page Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.containing_frame.pageName`

            Page Name captures the name of the page that contains this frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact page name returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-created-at-43f48500efed" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.created_at`

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

            * **Enables:** place file component records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per file component 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-figma-file-components-description-6f43b0bd8330" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.description`

            Description contains a human-readable description of the component. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-file-key-482a1f6225a9" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.file_key`

            File Key captures the key of the Figma file containing this component. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-key-742bb087ddd2" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.key`

            Key is the unique component key that globally identifies this component. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-file-components-name-6e266613e257" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.name`

            Name captures the name of the component as displayed in Figma. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma file component record.
            * **Interpretation:** The value covers only the file components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-node-id-8d3f4ef06bcc" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.node_id`

            Node ID captures the node ID of this component within the file's document tree. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-components-thumbnail-url-9fd4e7e39f17" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.thumbnail_url`

            Thumbnail URL records URL to a thumbnail image of the component. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-file-components-updated-at-40100b52b832" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.updated_at`

            Updated At records ISO 8601 timestamp indicating when the component was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place file component records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per file component 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-figma-file-components-user-882e72c1c821" title="User" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.user`

            User captures the user who last modified or published this component. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the file component record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each file component record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-user-handle-8a162a181290" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.user.handle`

            Handle records display name (handle) of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-user-id-ca192e133642" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.user.id`

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

            * **Enables:** match file component 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 `User`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-components-user-img-url-56d254d4ad28" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_components.user.img_url`

            Img URL records URL to the user's profile image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-file-dev-resources-a75e4f552619" title="File Dev Resources" icon="cubes" iconType="sharp-duotone-solid">
        Developer identifier: `file_dev_resources`

        File Dev Resources contain dev resources attached to a Figma file. Requires a `file_key` parent context.

        * **Enables:** trace developer-resource links attached to nodes in a specific file.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{key}/dev_resources` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-file-dev-resources-created-at-cc07cc0cda52" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.created_at`

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

            * **Enables:** place file dev resource records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per dev resource 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-figma-file-dev-resources-created-by-c41246dd8ef0" title="Created By" icon="user-tie" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.created_by`

            Created By captures the user who created this dev resource. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the dev resource record to the provider-reported person or account represented by created by.
            * **Interpretation:** The provider supplies `created_by` as identity or attribution context on each dev resource record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-created-by-handle-a43ddb17173f" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.created_by.handle`

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

            * **Enables:** attribute the user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-created-by-id-27ffb71afef1" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.created_by.id`

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

            * **Enables:** match file dev resource 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 `User`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-created-by-img-url-97c3313d7960" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.created_by.img_url`

            Img URL records URL of the user's profile image. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-dev-resource-type-909e7c23f452" title="Dev Resource Type" icon="sliders" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.dev_resource_type`

            Dev Resource Type captures the type/category of the dev resource. It preserves the provider's current classification of this record.

            * **Enables:** separate file dev resource records by the exact provider-reported dev resource type value when describing their recorded state.
            * **Interpretation:** The provider supplies `dev_resource_type` per dev resource record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-file-key-1e05862ab248" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.file_key`

            File Key captures the key of the Figma file this dev resource belongs to. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-id-ff4835e6fc52" title="ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.id`

            ID is the unique identifier for the dev resource. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-inherited-from-19b97d80c1a2" title="Inherited From" icon="route" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.inherited_from`

            Inherited From identifies the component or instance from which the development resource inherits. It preserves the source relationship needed to explain inherited resource metadata.

            * **Enables:** follow the inheritance link back to its source component or instance and distinguish inherited resources from directly defined ones.
            * **Interpretation:** The provider returns `inherited_from` as a nested source reference on `DevResource`; absence means no inheritance source was reported on that resource.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-inherited-from-file-key-0adf5679e5bf" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.inherited_from.file_key`

            File Key captures the file key of the source file from which the dev resource was inherited. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-inherited-from-node-id-4e856c171291" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.inherited_from.node_id`

            Node ID captures the node ID in the source file from which the dev resource was inherited. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-name-775b0813bf66" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.name`

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

            * **Enables:** inspect the exact name returned for each Figma file dev resource record.
            * **Interpretation:** The value covers only the file dev resources content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-dev-resources-node-id-0e3930a69cda" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.node_id`

            Node ID captures the ID of the node within the file that this dev resource is attached to. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-dev-resources-updated-at-cf93bdf4e8a5" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.updated_at`

            Updated At records ISO 8601 timestamp of when the dev resource was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place file dev resource records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per dev resource 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-figma-file-dev-resources-url-18d300d3d40a" title="URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_dev_resources.url`

            URL records URL of the external dev resource. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-file-styles-2d46238bcb3e" title="File Styles" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `file_styles`

        File Styles contain all styles within a specific Figma file. Requires a `file_key` parent context.

        * **Enables:** inspect style definitions local to a specific design file.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{key}/styles` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-file-styles-created-at-456857dc0025" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.created_at`

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

            * **Enables:** place file style records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per figma file style 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-figma-file-styles-description-4ccf10d967ba" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.description`

            Description records description of the style provided by the designer. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma file style record.
            * **Interpretation:** The value covers only the file styles content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-file-key-0f2972fffad4" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.file_key`

            File Key captures the key of the Figma file that contains this style. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-styles-key-d8f80499e845" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.key`

            Key is the unique identifier key for the style. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-file-styles-name-d3497128fc68" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.name`

            Name records human-readable name of the style. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma file style record.
            * **Interpretation:** The value covers only the file styles content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-node-id-a01540aa2491" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.node_id`

            Node ID captures the node ID within the file where this style is defined. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-file-styles-sort-position-2abeb13c2dc3" title="Sort Position" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.sort_position`

            Sort Position contains a string used for sorting the style within its category or file. It preserves the stated measure at this record's granularity.

            * **Enables:** order or classify file style records using the provider-defined sort position value.
            * **Interpretation:** The provider supplies `sort_position` at figma file style 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-figma-file-styles-style-type-62f43b89cf65" title="Style Type" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.style_type`

            Style Type captures the type of style (e.g., FILL, TEXT, EFFECT, GRID). It preserves the provider's current classification of this record.

            * **Enables:** separate file style records by the exact provider-reported style type value when describing their recorded state.
            * **Interpretation:** The provider supplies `style_type` per figma file style record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-thumbnail-url-2b113862e417" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.thumbnail_url`

            Thumbnail URL records URL to a thumbnail image representing the style. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-file-styles-updated-at-d06321f9ff9e" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.updated_at`

            Updated At records ISO 8601 timestamp indicating when the style was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place file style records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per figma file style 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-figma-file-styles-user-1a427906ab7e" title="User" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.user`

            User captures the user who last modified or published the style. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the figma file style record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each figma file style record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-user-handle-121eccc48dc4" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.user.handle`

            Handle records display name (handle) of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the figma user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each figma user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-user-id-f0fa8bd048f1" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.user.id`

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

            * **Enables:** match file style 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 `FigmaUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-styles-user-img-url-faf149300e03" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_styles.user.img_url`

            Img URL records URL to the user's profile image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-file-versions-4931e975f9e5" title="File Versions" icon="timeline" iconType="sharp-duotone-solid">
        Developer identifier: `file_versions`

        File Versions contain paginated version history for a Figma file. Requires a `file_key` parent context. Pagination uses `next_page` URL from the pagination object in the response.

        * **Enables:** reconstruct the version history returned for each design file.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/files/{key}/versions` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-file-versions-created-at-fb35884da347" title="Created At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.created_at`

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

            * **Enables:** place file version records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per file version 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-figma-file-versions-description-c5405af6dfb0" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.description`

            Description records user-provided description for this version. May be empty if no description was set. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma file version record.
            * **Interpretation:** The value covers only the file versions content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-file-key-c2a90ff1e9fd" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.file_key`

            File Key identifies parent key injected by the ingestor from the `project_files` to `file_versions` 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 file version records to provider records that carry the same file key, without assuming that this field alone makes every row unique.
            * **Interpretation:** The provider supplies `file_key` as a record-level identifier on `FileVersion`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-id-c39c6b9582d4" title="ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.id`

            ID is the unique identifier for this file version. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-file-versions-label-79821eb2cd49" title="Label" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.label`

            Label records user-assigned label or name for this version. May be empty if no label was set. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact label returned for each Figma file version record.
            * **Interpretation:** The value covers only the file versions content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-thumbnail-url-d778d4dfcf12" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.thumbnail_url`

            Thumbnail URL records URL to a thumbnail image representing the file at this version. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-file-versions-user-cece4138f36f" title="User" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.user`

            User captures the user who created or saved this version. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the file version record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each file version record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-user-email-f1c9497e29f4" title="Email" icon="map-location-dot" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.user.email`

            Email records email address of the user. Typically only populated on the /v1/me endpoint; may be absent here. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the user record to the provider-reported person or account represented by email.
            * **Interpretation:** The provider supplies `email` as identity or attribution context on each user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-user-handle-dfba67020eba" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.user.handle`

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

            * **Enables:** attribute the user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-user-id-f132322b5440" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.user.id`

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

            * **Enables:** match file version 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 `User`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-file-versions-user-img-url-5eabfd0c7e09" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `file_versions.user.img_url`

            Img URL records URL to the user's profile avatar image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-project-files-07e3bc9bed36" title="Project Files" icon="folder-open" iconType="sharp-duotone-solid">
        Developer identifier: `project_files`

        Project Files contain all files within a Figma project. Requires a `project_id` parent context. Returns file key, name, thumbnail URL, and last modified timestamp.

        * **Enables:** catalog design files in each project with their names, thumbnails, and modification times.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/projects/{id}/files` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-project-files-branches-7dc4d54a8b88" title="Branches" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.branches`

            Branches records list of branches for this file. Only present when `branch_data` query parameter is set to true. It preserves the containing or referenced object needed to reconstruct the provider relationship.

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

          <Accordion id="provider-permission-field-figma-project-files-branches-key-2d96776ea634" title="Key" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.branches.key`

            Key is the unique key identifier for the branch file. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-project-files-branches-last-modified-7a93c82eeb82" title="Last Modified" icon="code-branch" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.branches.last_modified`

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

            * **Enables:** place project file records on a timeline by last modified and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `last_modified` per branch 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-figma-project-files-branches-name-1b96a3d2061d" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.branches.name`

            Name captures the human-readable name of the branch. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma project file record.
            * **Interpretation:** The value covers only the project files content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-project-files-branches-thumbnail-url-1770c8d3b846" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.branches.thumbnail_url`

            Thumbnail URL records URL of the branch's thumbnail image. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-project-files-key-26ac09f82694" title="Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.key`

            Key is the unique file key identifier used to reference this file across the Figma API. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-project-files-last-modified-d1fba591d71c" title="Last Modified" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.last_modified`

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

            * **Enables:** place project file records on a timeline by last modified and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `last_modified` per project file 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-figma-project-files-name-8ec094ed9291" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.name`

            Name captures the human-readable name of the file. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma project file record.
            * **Interpretation:** The value covers only the project files content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-project-files-team-id-cb5617029bf0" title="Team ID" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.team_id`

            Team ID identifies parent id injected by the ingestor from the `team_projects` to `project_files` 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 project file 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 `ProjectFile`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-project-files-thumbnail-url-1c2c6bea98bd" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `project_files.thumbnail_url`

            Thumbnail URL records URL of the file's thumbnail image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-team-component-sets-02e020c82d10" title="Team Component Sets" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `team_component_sets`

        Team Component Sets contain all published component sets for a Figma team. Cursor-based pagination using after parameter. Requires `team_id` parent context.

        * **Enables:** catalog published component families available from each team.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/teams/{team_id}/component_sets` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-b4abfaafa0c3" title="Containing Frame" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame`

            Containing Frame records information about the frame that contains this component set in the file. It preserves the containing or referenced object needed to reconstruct the provider relationship.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-backg-87214d01e606" title="Background Color" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.backgroundColor`

            Background Color records background color of the containing frame. It preserves the provider's visual treatment for the represented object.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-conta-f62071de878d" title="Containing State Group" icon="sitemap" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.containingStateGroup`

            Containing State Group states if the component set is inside a state group, this describes that group. It preserves the provider's current classification of this record.

            * **Enables:** separate team component set records by the exact provider-reported containing state group value when describing their recorded state.
            * **Interpretation:** The provider supplies `containingStateGroup` per containing frame record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-conta-11e5d4de3c50" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.containingStateGroup.name`

            Name captures the name of the containing state group. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team component set record.
            * **Interpretation:** The value covers only the team component sets content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-conta-6e61eea13e8d" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.containingStateGroup.nodeId`

            Node ID captures the node ID of the containing state group. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-name-1a87d8b5af3b" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.name`

            Name captures the name of the containing frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team component set record.
            * **Interpretation:** The value covers only the team component sets content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-nodei-e66cdcb16f45" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.nodeId`

            Node ID captures the node ID of the containing frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-pagei-96915cee3366" title="Page ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.pageId`

            Page ID captures the node ID of the page that contains this frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-containing-frame-pagen-3782a3c0e1a1" title="Page Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.containing_frame.pageName`

            Page Name captures the name of the page that contains this frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact page name returned for each Figma team component set record.
            * **Interpretation:** The value covers only the team component sets content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-created-at-2032fb07d7db" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.created_at`

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

            * **Enables:** place team component set records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per team component set 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-figma-team-component-sets-description-7c32ccb37067" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.description`

            Description contains a text description of the component set. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma team component set record.
            * **Interpretation:** The value covers only the team component sets content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-file-key-50cbe17fed97" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.file_key`

            File Key captures the key of the file that contains this component set. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-key-0191d9319ca8" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.key`

            Key is the unique identifier key for this component set. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-name-e5a92d7b0996" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.name`

            Name captures the name of the component set. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team component set record.
            * **Interpretation:** The value covers only the team component sets content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-node-id-db8c36837315" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.node_id`

            Node ID captures the node ID of this component set within its file. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-team-id-23aa63dd4f6f" title="Team ID" icon="brackets-curly" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.team_id`

            Team ID identifies team id injected by the ingestor from config fan-out `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 component set 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 `TeamComponentSet`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-thumbnail-url-bf129a5367c7" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.thumbnail_url`

            Thumbnail URL records URL of the thumbnail image for this component set. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-team-component-sets-updated-at-230e46c5772c" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.updated_at`

            Updated At records ISO 8601 timestamp indicating when this component set was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team component set records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per team component set 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-figma-team-component-sets-user-b43cb90ce011" title="User" icon="user-tie" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.user`

            User captures the user who last published this component set. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the team component set record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each team component set record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-user-handle-e4da2e42afa2" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.user.handle`

            Handle records display name (handle) of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the figma user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each figma user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-user-id-ac24bcf58ea7" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.user.id`

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

            * **Enables:** match team component set 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 `FigmaUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-component-sets-user-img-url-98021b064b87" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_component_sets.user.img_url`

            Img URL records URL of the user's profile image. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-team-components-8db1fc3e04cf" title="Team Components" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `team_components`

        Team Components contain all published components for a Figma team. Cursor-based pagination using after parameter. Requires `team_id` parent context.

        * **Enables:** catalog published components available from each team.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/teams/{team_id}/components` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-team-components-component-set-id-dd742aa9dc72" title="Component Set ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.component_set_id`

            Component Set ID identifies if this component is part of a component set (variants), the ID of the parent component set. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-component-set-name-3a99ea669b9a" title="Component Set Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.component_set_name`

            Component Set Name records if this component is part of a component set, the name of the parent component set. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact component set name returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-2d98eed064da" title="Containing Frame" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame`

            Containing Frame records information about the frame that contains this component in the file. It preserves the containing or referenced object needed to reconstruct the provider relationship.

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

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-backgroun-167d98ee115e" title="Background Color" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.backgroundColor`

            Background Color captures the background color of the containing frame. It preserves the provider's visual treatment for the represented object.

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

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-containin-694a4f89bfda" title="Containing State Group" icon="sitemap" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.containingStateGroup`

            Containing State Group states if the component is inside a state group, information about that group. It preserves the provider's current classification of this record.

            * **Enables:** separate team component records by the exact provider-reported containing state group value when describing their recorded state.
            * **Interpretation:** The provider supplies `containingStateGroup` per containing frame record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-containin-ec75fbc6a965" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.containingStateGroup.name`

            Name captures the name of the state group. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-containin-5fbac5e4968c" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.containingStateGroup.nodeId`

            Node ID captures the node ID of the state group. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-name-9b4d0988ec80" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.name`

            Name captures the name of the containing frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-nodeid-27cdceefbefe" title="Node ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.nodeId`

            Node ID captures the node ID of the containing frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-pageid-23478a90f40d" title="Page ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.pageId`

            Page ID captures the node ID of the page that contains this frame. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-containing-frame-pagename-8f965f646547" title="Page Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.containing_frame.pageName`

            Page Name captures the name of the page that contains this frame. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact page name returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-created-at-fb24a18afef8" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.created_at`

            Created At records ISO 8601 timestamp indicating when the component was first created/published. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team component records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per team component 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-figma-team-components-description-168cc87d8e6f" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.description`

            Description contains a text description of the component, typically set by the designer. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-file-key-383a903ea152" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.file_key`

            File Key captures the key of the Figma file that contains this component. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-key-1cf034ffeeb2" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.key`

            Key is the unique identifier key for the component. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-team-components-name-af346a571ff0" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.name`

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

            * **Enables:** inspect the exact name returned for each Figma team component record.
            * **Interpretation:** The value covers only the team components content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-node-id-8bfc42ecd49b" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.node_id`

            Node ID captures the node ID of this component within its containing file. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-components-team-id-731f5a99a3a7" title="Team ID" icon="brackets-curly" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.team_id`

            Team ID identifies team id injected by the ingestor from config fan-out `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 component 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 `TeamComponent`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-thumbnail-url-7c1e3d545a86" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.thumbnail_url`

            Thumbnail URL records URL of the component's thumbnail image. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-team-components-updated-at-3b8255921be5" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.updated_at`

            Updated At records ISO 8601 timestamp indicating when the component was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team component records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per team component 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-figma-team-components-user-46e91a18dd4e" title="User" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.user`

            User captures the user who last published or updated the component. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the team component record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each team component record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-user-handle-ef5a2b59cd45" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.user.handle`

            Handle captures the user's display name / handle. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the figma user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each figma user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-user-id-e336b621d4d6" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.user.id`

            ID is the unique numeric identifier for the user, represented as a string. It is needed to resolve references that repeat the same provider identifier.

            * **Enables:** match team component 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 `FigmaUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-components-user-img-url-d440d681ff87" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_components.user.img_url`

            Img URL records URL of the user's profile image / avatar. It retains the exact provider location for the referenced resource.

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

      <Accordion id="provider-permission-tap-figma-team-projects-273cf09c8766" title="Team Projects" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `team_projects`

        Team Projects contain all projects within a Figma team. Requires a `team_id` parent context. Returns project id and name.

        * **Enables:** enumerate projects inside each configured Figma team.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/teams/{team_id}/projects` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-team-projects-id-b15566c0ca4c" title="ID" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_projects.id`

            ID is the unique identifier for the project within Figma. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-team-projects-name-15819868b543" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_projects.name`

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

            * **Enables:** inspect the exact name returned for each Figma team project record.
            * **Interpretation:** The value covers only the team projects content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-projects-team-id-3cbe89bedb78" title="Team ID" icon="brackets-curly" iconType="sharp-duotone-solid">
            Developer identifier: `team_projects.team_id`

            Team ID identifies team id injected by the ingestor from config fan-out `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 project 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 `TeamProject`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>
        </AccordionGroup>
      </Accordion>

      <Accordion id="provider-permission-tap-figma-team-styles-12116fedf298" title="Team Styles" icon="table" iconType="sharp-duotone-solid">
        Developer identifier: `team_styles`

        Team Styles contain all published styles for a Figma team. Cursor-based pagination using after parameter. Requires `team_id` parent context.

        * **Enables:** catalog published styles available from each team.
        * **Scope:** Reads the declared collection through `GET /{apiVersion}/teams/{team_id}/styles` as a full snapshot. Results are limited by the token's granted scopes and team resource allowlist; inaccessible files and teams are absent.

        <AccordionGroup>
          <Accordion id="provider-permission-field-figma-team-styles-created-at-496c685fffb6" title="Created At" icon="calendar-clock" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.created_at`

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

            * **Enables:** place team style records on a timeline by created at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `created_at` per team style 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-figma-team-styles-description-2ebd488505f5" title="Description" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.description`

            Description records description of the style provided by the creator. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact description returned for each Figma team style record.
            * **Interpretation:** The value covers only the team styles content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-file-key-31eb8aa30135" title="File Key" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.file_key`

            File Key captures the key of the file that contains this style. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-styles-key-dc1a814400af" title="Key" icon="badge-check" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.key`

            Key is the unique style key that identifies this style across Figma. It supplies the declared record identity used when repeated ingestions represent the same source row.

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

          <Accordion id="provider-permission-field-figma-team-styles-name-5d9f251aec8c" title="Name" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.name`

            Name records human-readable name of the style. It keeps the exact text, label, or authored value needed to interpret the record.

            * **Enables:** inspect the exact name returned for each Figma team style record.
            * **Interpretation:** The value covers only the team styles content returned by this Figma operation; unrequested canvas content is not inferred.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-node-id-ab0a3bac6792" title="Node ID" icon="folder-open" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.node_id`

            Node ID captures the node ID within the file where this style is defined. It is needed to resolve references that repeat the same provider identifier.

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

          <Accordion id="provider-permission-field-figma-team-styles-sort-position-793fcc554010" title="Sort Position" icon="circle-info" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.sort_position`

            Sort Position reports sort position of the style. It preserves the stated measure at this record's granularity.

            * **Enables:** order or classify team style records using the provider-defined sort position value.
            * **Interpretation:** The provider supplies `sort_position` at team style 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-figma-team-styles-style-type-1810bc542872" title="Style Type" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.style_type`

            Style Type captures the type of the style (e.g., FILL, TEXT, EFFECT, GRID). It preserves the provider's current classification of this record.

            * **Enables:** separate team style records by the exact provider-reported style type value when describing their recorded state.
            * **Interpretation:** The provider supplies `style_type` per team style record using its own state vocabulary; unknown and missing values must remain distinct.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-team-id-ecdbed441cf2" title="Team ID" icon="brackets-curly" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.team_id`

            Team ID identifies team id injected by the ingestor from config fan-out `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 style 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 `TeamStyle`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-thumbnail-url-b9296be2dea9" title="Thumbnail URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.thumbnail_url`

            Thumbnail URL records URL to a thumbnail image representing this style. It retains the exact provider location for the referenced resource.

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

          <Accordion id="provider-permission-field-figma-team-styles-updated-at-4567f9fdc0cc" title="Updated At" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.updated_at`

            Updated At records ISO 8601 timestamp indicating when the style was last updated. It anchors the named event or boundary on the record's timeline.

            * **Enables:** place team style records on a timeline by updated at and select the records within an explicit reporting window.
            * **Interpretation:** The provider supplies `updated_at` per team style 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-figma-team-styles-user-f236a18ae0d2" title="User" icon="clock-rotate-left" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.user`

            User captures the user who published or last updated this style. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the team style record to the provider-reported actor represented by user.
            * **Interpretation:** The provider supplies `user` as identity or attribution context on each team style record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-user-handle-e843b824cc15" title="Handle" icon="comment" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.user.handle`

            Handle records display name (handle) of the user. It keeps the provider-reported person or account context attached to the record.

            * **Enables:** attribute the style user record to the provider-reported person or account represented by handle.
            * **Interpretation:** The provider supplies `handle` as identity or attribution context on each style user record. Names and contact values can change and are not stable identifiers unless the provider documents them as such.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-user-id-d90aaa0a6c15" title="ID" icon="id-card" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.user.id`

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

            * **Enables:** match team style 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 `StyleUser`. It is not a uniqueness guarantee unless a connector directive says so.
          </Accordion>

          <Accordion id="provider-permission-field-figma-team-styles-user-img-url-d0906c98412e" title="Img URL" icon="globe" iconType="sharp-duotone-solid">
            Developer identifier: `team_styles.user.img_url`

            Img URL records URL to the user's avatar image. It retains the exact provider location for the referenced resource.

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

  <Tab title="Troubleshooting">
    | Error                             | Meaning                                        | Solution                                                                                           |
    | --------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- |
    | `403 Invalid token`               | Bad PAT, or PAT was revoked                    | Re-mint from Figma Settings → Security; confirm minting user is still active                       |
    | `403 Invalid scope`               | PAT missing a required scope                   | Re-mint with the full scope list above                                                             |
    | `404 Not found` on a file or team | Minting user lacks access                      | Add service-account user to the team, or remove the missing resource                               |
    | `403` on a Plan Access Token      | Team is outside the token's resource allowlist | Edit the token at figma.com/developers/tokens and add the team, or allow all resources             |
    | `404` / `403` on `/v1/me`         | Expected for a Plan Access Token               | `/v1/me` is not supported for plan tokens; verify against `/v1/teams/{id}/projects` instead        |
    | `429 Too many requests`           | Rate limit exceeded                            | Parable respects `Retry-After` and backs off automatically                                         |
    | `Activity logs return empty`      | Tap is disabled by default                     | Enable the `activity_logs` tap in Provider settings; requires Enterprise plan and org admin access |

    #### Common Issues

    #### Token works in curl but the Provider reports invalid

    Confirm you copied the full token string -- Figma PATs are 40+ characters and may contain hyphens. Trailing whitespace from a paste also fails; re-paste into the Provider form.

    #### `activity_logs` returns 402 / `payment_required`

    Activity logs are an Enterprise-only feature and are disabled by default. Enable the `activity_logs` tap only on Enterprise plans with org admin access.

    **[Figma REST API](https://www.figma.com/developers/api)** — Full endpoint reference

    **[Personal access tokens](https://www.figma.com/developers/api#access-tokens)** — Official PAT setup guide including scope semantics
  </Tab>
</Tabs>
