---
title: "GetIFrame returns the iframe URL for the given project"
method: POST
path: "/v1/orgs/{org}/projects/{project}/iframe"
---

# GetIFrame returns the iframe URL for the given project

`POST /v1/orgs/{org}/projects/{project}/iframe`

## Path parameters

- `org` string, required
- `project` string, required

## Request body

- object — GetIFrameRequest is the request payload for AdminService.GetIFrame.
  - `attributes` object — If set, will use the provided attributes outright.
  - `branch` string — Branch to embed. If not set, the production branch is used.
  - `externalUserId` string — Optional ID for the external end user of the iframe. If set, the access token enables per-user state, such as AI chat history. Cannot be combined with `user_id`. If `user_email` matches a Rill Cloud user, their attributes are used, but this ID takes precedence for per-user state.
  - `hideNavigationBar` boolean — HideNavigationBar hides the embed's top navigation bar (the home link and dashboard breadcrumbs) without disabling navigation itself. It is only meaningful when `navigation` is true; the bar is always hidden when `navigation` is false. In-dashboard navigation, such as the canvas drill-through to an explore dashboard, remains available.
  - `kind` string — Deprecated: Alias for `type`.
  - `navigation` boolean — Navigation denotes whether navigation between different resources should be enabled in the embed.
  - `query` object — DEPRECATED: Additional parameters to set outright in the generated URL query.
  - `resource` string — Name of the resource to embed. This should identify a resource that is valid for embedding, such as a dashboard or component.
  - `state` string — Blob containing UI state for rendering the initial embed. Not currently supported.
  - `superuserForceAccess` boolean — If true, superusers can access the project even without org/project membership.
  - `theme` string — Theme to use for the embedded resource.
  - `themeMode` string — Theme mode to use for the embedded resource. Valid values: "light", "dark", "system".
  - `ttlSeconds` integer — TTL for the iframe's access token. If not set, defaults to 24 hours.
  - `type` string — Type of resource to embed. If not set, defaults to "rill.runtime.v1.Explore".
  - `userEmail` string — If set, will generate attributes corresponding to a user with this email.
  - `userId` string — If set, will use the attributes of the Rill user with this ID.

## Response `200`

A successful response.

- V1GetIFrameResponse
  - `accessToken` string
  - `iframeSrc` string
  - `instanceId` string
  - `runtimeHost` string
  - `ttlSeconds` integer

## Other responses

- `default` — An unexpected error response.

## Changes

> 54 revisions in range; 1 could not be searched.

- **2026-08-03** (v1) `f100ea110f16` — 1 info
  - added the new optional request property `hideNavigationBar`
- **2026-04-15** (v1) `c99343202596` — 1 info
  - added the new optional request property `superuserForceAccess`
- **2026-04-13** (v1) `6e4c4db590df` — 1 info
  - added the new optional request property `externalUserId`
- **2025-12-12** (v1) `f0d37acbc652` — 1 info
  - added the new optional request property `themeMode`
- **2025-12-11** (v1) `f317ff96998d` — 3 warning
  - removed the request property `externalUserId`
  - removed the request property `superuserForceAccess`
  - removed the request property `themeMode`

[Change history](https://skmtc.dev/rilldata/apis/rill-admin-api/changes/v1/orgs/:org/projects/:project/iframe/post.md)

---

[API](https://skmtc.dev/rilldata/apis/rill-admin-api.md) · [All operations](https://skmtc.dev/rilldata/apis/rill-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rilldata/rill-admin-api/revisions/abe7a430f373/schema)
