Xeonr Developer Docs
UplApi

Integrations

Resolve renderers and open-with options for resources, and manage integration launches

postCreate open-with launch

Creates a callback launch URL with a signed token for an integration open-with flow.

postGenerate integration token

Generates a long-lived access token scoped to an integration and resource. Requires upl:private scope and optionally auth:forever for non-expiring tokens.

postInstall an integration on a bucket

Installs an integration onto a bucket. Bucket admin only. Idempotent — reinstalling an uninstalled row flips status back to active without losing installed_at / installed_by_subject_key. Bucket-scoped integrations cannot be manually installed; they're implicit at bucket-create time.

postList integrations available to install

Catalogue of integrations the bucket admin can install: APPLICATION-mode integrations plus owned integrations with discoverable=true.

postList content types visible in a bucket

Per-bucket scoping for the consumer portal's icon resolver / Open-With picker. Returns the system Default integration's content types plus the CTs of every integration with an active install on the bucket. Apps' CTs only show in buckets where the app is installed — pre-M3 they leaked globally via ListInstalledContentTypes.

postList bucket default Open-With preferences

Lists all (content_type, extension) → app defaults configured for the bucket.

postList installations on a bucket

Returns every BucketIntegrationInstallation row for the bucket (active + uninstalled). Same set surfaces to every viewer; UI filters by status.

postList integrations

Lists global integrations registered in the system.

postList new file options

Lists new file templates from all integrations the user has access to, for populating the new file menu.

postReport a renderer crash

Records that the renderer for an integration archive failed (render error, unhandled exception, or unhandled rejection). Best-effort telemetry used for diagnosing broken renderers in production.

postResolve open-with token

Resolves a signed open-with token into resource details and download URL.

postResolve resource integrations

Resolves renderer and open-with options for an upload or folder by matching against integration content types.

postInstall the calling integration on a bucket

Lets an integration with a user-delegated bearer install itself on a bucket the user administers. Rejects bare API-key / client-credentials callers (no user identity). Rejects buckets where the integration was previously uninstalled (bucket admin must reinstall manually via the bucket settings UI).

postSet bucket default Open-With

Records the bucket's default app for the (content_type, extension) pair. Bucket admin only. An empty integration_id records 'use built-in preview'.

postUninstall an integration from a bucket

Soft-uninstalls: status flips to uninstalled, API access from the integration's bearer is blocked, files retain integration_id with a UI marker. Bucket admin only. Cascades the bucket's open-with defaults that referenced the integration. Rejects bucket-scoped integrations — delete the bucket instead.