The integration endpoint is available in the Presenton Cloud API v3. Create the iframe URL on your server, not directly in the browser.
How the integration works
- Your browser asks your application server for a presentation preview.
- Your server verifies that the signed-in application user may access the presentation.
- Your server calls
POST /api/v3/presentation/integratewith its Presenton API key. - Presenton returns a scoped, expiring
frontend_urlcontaining a presentation token. - Your server returns that URL to the browser, which uses it as the iframe
src.
scopes. It does not expose your main API key.
Before you begin
You need:- A Presenton Cloud API key stored in a server-side secret such as
PRESENTON_API_KEY. - The UUID of a presentation owned by the same Presenton account.
- A backend route in your application that authenticates your users before creating preview URLs.
presentation_id. You can also retrieve presentation IDs with List presentations.
1. Choose the iframe permissions
Every request must includepresentation:read. Add only the capabilities your embedded experience needs.
For a preview, use only:
2. Create an integration URL
Call the integrate endpoint from your server with your Presenton API key:Request fields
To set a shorter lifetime, calculate a future UTC timestamp when your server makes the request and send it as
expires_at. The server example in the next section creates a one-hour link.
frontend_url exactly as returned. It already includes the presentation ID, presentation type, and scoped token; you do not need to construct the URL yourself.
3. Add a server endpoint
The following Express route creates a one-hour, read-only preview URL. ReplacerequireUser and userCanViewPresentation with your application’s authentication and authorization checks.
frontend_url.
4. Render the iframe
Use the URL returned by your backend as the iframe source.- HTML and JavaScript
- React
title for assistive technology. If the presentation is essential content, also provide a visible fallback link or explanation outside the iframe.
Refresh expired previews
An expired token cannot be extended. Request a new integration URL from your backend and replace the iframesrc.
A practical pattern is to keep the returned expiresAt value in memory and request a replacement shortly before it expires. Do not persist integration URLs in local storage, analytics events, logs, or shared caches.
Security checklist
- Call the integrate endpoint only from trusted server-side code.
- Authorize the current application user before creating a URL for a presentation.
- Use
presentation:readalone for preview-only experiences. - Choose the shortest useful expiry; the maximum is three days.
- Send
Cache-Control: no-storewhen your backend returns the URL. - Treat
frontend_urlas a temporary credential because it contains the token. - Create a new URL when permissions change instead of reusing an older URL.
Troubleshooting
Create a presentation integration token
Review the complete request and response schema in the API reference.