View access, expiration & deletion
When you share an iGUIDE, you're sharing a View — a presentation layer with its own access controls, expiration date, and branding. Understanding how views are locked, when they expire, and what happens when they're deleted helps you build integrations that handle these edge cases gracefully. This guide covers what breaks (and what doesn't) when view state changes.
View access modes
Every view operates in one of two access modes:
| Mode | Description | Default For |
|---|---|---|
| Public | Anyone with the URL can view the iGUIDE. No authentication required. | Residential iGUIDEs |
| Protected | Only authorized users can view the iGUIDE. Requires sign-in or a valid access token. | Commercial, IRC, AEC iGUIDEs |
Protected views restrict who can load the iGUIDE. A user must either be listed in the view's Viewers list, belong to one of its Viewer Groups, or present a valid access token to gain access.
A temporary access token is included in the ready webhook event. This token grants read access to the view for 3 weeks without requiring the user to sign in. This is useful when you need to fetch iGUIDE data programmatically as part of an automated workflow.
The Portal API is not affected by view protection. Operators and their authorized applications can always read and write view data through the Portal API regardless of the view's access mode.
The authtoken in the ready webhook event grants read access to protected views for 3 weeks. Use it when you need to fetch iGUIDE data programmatically without interactive sign-in.
HTTP responses for protected views:
| Scenario | HTTP Status | Response |
|---|---|---|
| No authenticated user | 302 | Redirect to sign-in page |
| Authenticated but not authorized | 403 | Access Denied |
| Valid access token | 200 | Normal view content |
View expiration
Every view has an expiration date. When a view expires, its content becomes inaccessible to end users while remaining fully manageable through the API.
Defaults:
- New views expire 1 year from creation
- You can set a custom expiration date at creation time or update it later
- Expiration dates can be set up to 10 years in the future (when using the batch endpoint)
- Expiration is checked at day granularity — a view expires at the start of the day at midnight UTC after its
expiresAtdate
What happens when a view expires:
| What | Behavior |
|---|---|
| Public iGUIDE page | Loads but displays a "locked" screen — no floor plans, panoramas or measurements shown |
| Panorama and floor plan assets | Blocked — redirects to a fallback image |
| Data API endpoints | Returns HTTP 403 with "iGUIDE View is locked" |
Status endpoint (/data/status) | Returns {"status": "locked"} (HTTP 200) |
| Portal API | Not affected — you can still read, update, and extend the view through the Portal API |
| Embedded iGUIDE | Shows the locked screen in the iframe |
Expiration blocks end-user access but does NOT delete any data. You can restore access at any time by extending the expiration date.
Extending expiration:
You can extend a single view's expiration date through the API:
curl -X PUT https://manage.youriguide.com/api/v1/views/vXY7P2R1A/expires \
-H 'Content-Type: application/json' \
-H 'X-Plntr-App-Id: YOUR_APP_ID' \
-H 'X-Plntr-App-Token: YOUR_APP_ACCESS_TOKEN' \
-d '{
"expiresAt": "2027-02-17T00:00:00Z"
}'
You can also update expiration for all views of an iGUIDE at once:
curl -X PUT https://manage.youriguide.com/api/v1/iguides/igAB3XR9M2/expires \
-H 'Content-Type: application/json' \
-H 'X-Plntr-App-Id: YOUR_APP_ID' \
-H 'X-Plntr-App-Token: YOUR_APP_ACCESS_TOKEN' \
-d '{
"expiresAt": "2027-02-17T00:00:00Z"
}'
The per-view endpoint (PUT /views/:id/expires) accepts any future date. The batch iGUIDE endpoint (Update View Expiration Dates - PUT /iguides/:id/views/expires) clamps the date to a maximum of 10 years from today.
View deletion
Views can be deleted, with one important exception: the default view can never be deleted.
| View Type | Can Delete? | Method |
|---|---|---|
| Default view | No — returns HTTP 403 | Protected by the system |
| Additional views | Yes — permanent deletion | DELETE /api/v1/views/:id |
When a non-default view is deleted:
- The view is permanently removed — this is not a soft delete
- Any external links, embeds, or bookmarks pointing to the deleted view will return 404
- There is no undo — if you need the view back, you must recreate it
View deletion is permanent and irreversible. There is no deletion webhook or notification — if you maintain references to view URLs, you should periodically verify they are still valid.
Current limitations
Be aware of these platform limitations when building your integration:
| Limitation | Impact | Workaround |
|---|---|---|
| No deletion webhook | You won't know when an iGUIDE or view is deleted | Periodically validate your stored iGUIDE/view references |
| No URL versioning | View URLs don't change when content is updated | Use the ready webhook to detect re-publishes |
| Day-granularity expiration | Views expire at the start of the day at midnight UTC, not at the exact timestamp | Set expiration to the day after your intended cutoff |