# EmbedTokenResponse
## Properties
**token** | Option<**String**> | Scoped token for the app. For sandboxed low-code apps this is the embed token handed to the opaque iframe. For a raw app it is the viewer-scoped frontend SDK token, returned only when the app is sandboxed, its policy declares frontend_sdk_scopes, and the request carries sdk_consent=true. Absent for anonymous viewers and whenever no token is needed. | [optional]
**expiration** | Option<**String**> | Expiration of the embed token. | [optional]
**raw_app** | **bool** | Raw apps render single-iframe and skip the opaque-viewer indirection and the embed token entirely. A sandboxed one may still carry a token here: the viewer-scoped frontend SDK token, which is a different credential from the low-code embed token. |
**sandbox** | **bool** | Publisher opted this app into sandbox isolation. When false the viewer runs the app same-origin with its full session. |
**app_path** | Option<**String**> | The resolved app path; the embedder uses it to scope the app's backing localStorage per app. | [optional]
**workspace_id** | Option<**String**> | The resolved workspace; pairs with app_path so apps at the same path in different workspaces don't share a localStorage store. | [optional]
**sdk_scopes** | Option<**Vec<String>**> | Sandboxed raw apps: scopes the app policy declares for the frontend SDK token. Null when the app is unsandboxed, however the policy reads. The viewer renders these in the permission prompt; token stays absent until the endpoint is re-called with sdk_consent=true. | [optional]
**viewer_email** | Option<**String**> | The caller's own email, returned alongside sdk_scopes so the viewer can key its stored \"do not ask again\" per person. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)