Skip to main content

Tutorial: Download deliverables

Download floor plans, gallery images, measurement data and CAD files from a published iGUIDE using media URLs and the Portal API.

Time to complete: ~10 minutes

What you'll learn:

  • How to get deliverable URLs from the ready webhook event
  • How to download public and private media files
  • How to download ADS files (DWG, RVT, ESX) via the Portal API
  • Which file formats are available for each package type
  • Change detection limitations

Prerequisites

Before you begin, you need:

  • App ID and Access Token (see Your First iGUIDE for setup)
  • A published iGUIDE with a completed initial work order (status done)

Two ways to download

iGUIDE deliverables come through two different paths depending on the file type:

PathWhat you getHow
Media URLsFloor plans (PDF, SVG, DXF, JPG), gallery images, panorama spheres, embed previewsURLs from the ready webhook event, the Get asset URLs endpoint, or constructed from the view alias
Portal API endpointsADS files (DWG, RVT, ESX, CoreLogic FML)Get asset URLs endpoint or individual GET /iguides/:id/download-* endpoints with API authentication

Media URLs are the primary way to access base deliverables. The Get asset URLs endpoint provides a unified way to retrieve both media URLs and ADS download URLs in a single API call.

Step 1: Get media URLs from the ready event

When an iGUIDE finishes processing, the ready webhook event includes a urls.mediaUrls object with download URLs for all base deliverables, organized by language:

{
"urls": {
"publicUrl": "https://youriguide.com/api-docs-sample/",
"embeddedUrl": "https://youriguide.com/embed/api-docs-sample/",
"mediaUrls": {
"en": {
"pdfMetric": "https://youriguide.com/api-docs-sample/doc/floorplan_metric_en.pdf",
"pdfImperial": "https://youriguide.com/api-docs-sample/doc/floorplan_imperial_en.pdf",
"galleryFrontImage": "https://youriguide.com/api-docs-sample/doc/front.image",
"galleryZip": "https://youriguide.com/api-docs-sample/doc/gallery.zip",
"galleryLowResZip": "https://youriguide.com/api-docs-sample/doc/gallery-low-res.zip",
"svgZip": "https://youriguide.com/api-docs-sample/doc/svg.zip",
"dxfZip": "https://youriguide.com/api-docs-sample/doc/dxf_metric.zip",
"sphereZip": "https://youriguide.com/api-docs-sample/doc/spheres.zip",
"offlineZip": "https://youriguide.com/api-docs-sample/doc/offline_en.zip",
"embedImage": "https://youriguide.com/api-docs-sample/doc/embed_preview.jpg",
"jpgMetric": [
{
"id": 1,
"floorName": "Main Floor",
"url": "https://youriguide.com/api-docs-sample/doc/floor_metric_en_1.jpg"
}
],
"jpgImperial": [
{
"id": 1,
"floorName": "Main Floor",
"url": "https://youriguide.com/api-docs-sample/doc/floor_imperial_en_1.jpg"
}
]
}
}
}
}
tip

Media URLs are localized. If the iGUIDE supports multiple languages, the mediaUrls object contains keys for each language (en, fr, es, it, zh) with language-specific floor plan PDFs, JPGs and offline packages.

Alternative: Use the Get asset URLs endpoint

If you don't have the webhook data available, or if the webhook token has expired, you can retrieve all asset URLs using the Get asset URLs endpoint:

curl -fsSL "https://manage.youriguide.com/api/v1/iguides/$IGUIDE_ID/asset-urls" \
-H "X-Plntr-App-Id: $APP_ID" \
-H "X-Plntr-App-Token: $APP_TOKEN"

This returns both media URLs (organized by language) and ADS download URLs in a single response:

{
"languages": {
"en": {
"pdfMetric": "https://youriguide.com/api-docs-sample/doc/floorplan_metric_en.pdf",
"pdfImperial": "https://youriguide.com/api-docs-sample/doc/floorplan_imperial_en.pdf",
"galleryZip": "https://youriguide.com/api-docs-sample/doc/gallery.zip",
"svgZip": "https://youriguide.com/api-docs-sample/doc/svg.zip",
"dxfZip": "https://youriguide.com/api-docs-sample/doc/dxf_metric.zip",
"jpgMetric": [
{ "id": 1, "floorName": "Main Floor", "url": "https://youriguide.com/api-docs-sample/doc/floor_metric_en_1.jpg" }
]
}
},
"ads": [
{ "type": "dwg", "name": "AutoCAD DWG", "url": "https://..." },
{ "type": "esx", "name": "Xactimate ESX", "url": "https://..." }
]
}

The ads array is only populated if ADS work orders have been completed for this iGUIDE.

Step 2: Download public media files

Some media files are publicly accessible—no authentication required. You can download them directly:

# PDF floor plan (metric)
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/floorplan_metric_en.pdf"

# Front gallery image
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/front.image"

# Embed preview image
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/embed_preview.jpg"

Public files (no token needed):

FileKey in mediaUrls
PDF floor plan (metric)pdfMetric
PDF floor plan (imperial)pdfImperial
Front gallery imagegalleryFrontImage
Embed preview imageembedImage

Step 3: Download private media files

Most downloadable archives and per-floor images are private. To access them, append the authtoken from the ready event as a query parameter:

# Gallery ZIP (private — requires access token)
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/gallery.zip?accessToken=$AUTH_TOKEN"

# SVG floor plans ZIP
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/svg.zip?accessToken=$AUTH_TOKEN"

# DXF floor plans ZIP
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/dxf_metric.zip?accessToken=$AUTH_TOKEN"

# Per-floor JPG (metric, floor 1)
curl -fsSLO "https://youriguide.com/api-docs-sample/doc/floor_metric_en_1.jpg?accessToken=$AUTH_TOKEN"

Private files (require ?accessToken=):

FileKey in mediaUrls
Gallery images ZIPgalleryZip
Low-res gallery ZIPgalleryLowResZip
SVG floor plans ZIPsvgZip
DXF floor plans ZIPdxfZip
Panorama spheres ZIPsphereZip
Offline package ZIPofflineZip
Per-floor JPGs (metric)jpgMetric
Per-floor JPGs (imperial)jpgImperial
Token expiration

The authtoken from the ready event is valid for 3 weeks. If you need to download files after that window, use the Get asset URLs endpoint with your app credentials to retrieve fresh URLs, or request a fresh token by listening for a new ready event after a re-publish.

For the complete reference of public vs private media files, see Webhooks — Media URL object.

Step 4: Download ADS files via the Portal API

ADS deliverables—CAD floor plans (DWG), 3D models (RVT), Xactimate ESX reports, and CoreLogic FML files—are downloaded through the Portal API. These files are only available after you've ordered the corresponding ADS work order and it has completed.

The easiest way to get ADS download URLs is through the Get asset URLs endpoint, which returns them in the ads array alongside media URLs. Alternatively, you can use the individual download endpoints below.

# Download CAD floor plans (DWG)
curl -fsSL -o floorplans.zip \
"https://manage.youriguide.com/api/v1/iguides/$IGUIDE_ID/download-dwg" \
-H "X-Plntr-App-Id: $APP_ID" \
-H "X-Plntr-App-Token: $APP_TOKEN"

# Download 3D model (RVT)
curl -fsSL -o model.zip \
"https://manage.youriguide.com/api/v1/iguides/$IGUIDE_ID/download-rvt" \
-H "X-Plntr-App-Id: $APP_ID" \
-H "X-Plntr-App-Token: $APP_TOKEN"

# Download Xactimate ESX report
curl -fsSL -o report.esx \
"https://manage.youriguide.com/api/v1/iguides/$IGUIDE_ID/download-esx" \
-H "X-Plntr-App-Id: $APP_ID" \
-H "X-Plntr-App-Token: $APP_TOKEN"

# Download CoreLogic FML file
curl -fsSL -o report.fml \
"https://manage.youriguide.com/api/v1/iguides/$IGUIDE_ID/download-corelogic-fml" \
-H "X-Plntr-App-Id: $APP_ID" \
-H "X-Plntr-App-Token: $APP_TOKEN"
note

These endpoints return an HTTP 302 redirect to a time-limited S3 presigned URL where the file is stored. Most HTTP clients (including curl with -L) follow redirects automatically.

ADS download endpoints:

EndpointFile typeDescription
Download CAD Floor Plan.zipCAD floor plans in DWG format
Download 3D Model Files.zip3D model in Revit format
Download ESX File.esxXactimate sketch report
Download CoreLogic FML File.fmlCoreLogic FML file

If the ADS work order hasn't been completed (or was never ordered), these endpoints return 404.

For details on ordering ADS work orders, see Packages & industry types — Add-on deliverables.

File formats by package type

What you can download depends on the iGUIDE package type. Base deliverables are included with every published iGUIDE; ADS files require a separate work order.

Base deliverables (included)

DeliverableStandardPremiumRadixPhotos
PDF floor plans (metric + imperial)YesYesNoNo
SVG floor plans (color-coded)YesYesNoNo
DXF floor plansYesYesYesNo
JPG floor plans (per-floor, metric + imperial)YesYesNoNo
Gallery images (ZIP)YesYesNoYes
Panorama spheres (ZIP)YesYesYesNo
Front imageYesYesYesYes
Embed previewYesYesYesYes
Offline package (ZIP)YesYesYesNo

ADS deliverables (separate work order required)

DeliverableEndpointStandardPremiumRadixPhotos
CAD floor plans (DWG)download-dwgYesYesAfter upgradeNo
3D model (RVT)download-rvtNoYesNoNo
Xactimate ESXdownload-esxYesYesAfter upgradeNo
CoreLogic FMLdownload-fmlYesYesAfter upgradeNo
Radix ADS files

Radix iGUIDEs must be upgraded to Standard or Premium before ordering ADS deliverables. See Packages & industry types — Package upgrades.

Change detection

The Portal API does not provide content versioning or change notifications for individual media files. Keep these limitations in mind when building download pipelines:

  • No URL versioning — Media URLs remain the same when content is updated. A re-drafted floor plan at floorplan_metric_en.pdf keeps the same URL with new content.
  • No file hash or ETag — There's no API field to check whether a file has changed since you last downloaded it.
  • The ready event signals a re-publish — If an iGUIDE is re-published (e.g., after a draft-update work order), a new ready webhook event fires. Treat each ready event as a signal to re-download all deliverables you care about.
  • No event replay — If your server missed a ready event, there's no way to query past events. Fall back to polling the work order status to detect changes.
Recommended approach

Listen for the ready webhook event and re-download all deliverables each time it fires. This ensures you always have the latest version without needing change detection.

Next steps