Xeonr Developer Docs
UplApi

Integration Admin

Create and manage integrations, bucket types, content types, new file templates, and thumbnail parse pools

postCreate OAuth client on behalf of another user

Admin-only: provisions a non-app-scoped OAuth client owned by the specified user.

postAggregate integration renderer crashes

Returns count + distinct-user + last-seen buckets grouped by a chosen dimension (archive, content type, error name, kind, build hash, or time) for crashes within an integration the caller owns.

postCreate OAuth client for the calling user

Provisions a non-app-scoped OAuth client owned by the calling user, preconfigured for upl integration.

postCreate integration archive upload intent

Creates a signed upload intent for uploading an integration configuration archive.

postCreate bucket type icon upload intent

Creates a signed upload intent for uploading a custom icon image for an integration bucket type. Same internal bucket as the content-type icon flow; the resulting upload_id goes on IntegrationBucketType.icon_upload_id.

postCreate content type icon upload intent

Creates a signed upload intent for uploading a custom icon image for an integration content type. Same internal bucket as archive uploads; the resulting upload_id goes on IntegrationContentType.icon_upload_id.

postCreate new file template asset upload intent

Creates a signed upload intent for uploading a binary asset that backs a NewFileValue.upload_id reference. Same internal bucket as the icon flow; the resulting upload_id is stored on the IntegrationNewFile via UpsertIntegrationNewFile.

postDelete integration

Deletes an integration with ownership verification.

postDelete integration bucket type

Deletes a bucket type with ownership verification. Fails if buckets are using this type.

postDelete integration content type

Deletes a content type with ownership verification.

postDelete integration metadata key

Deletes a metadata key registration. Existing entries on uploads under this key are cascaded.

postDelete integration new file

Deletes a new file template with ownership verification.

postDisable service account for bucket type

Deletes the service account associated with a bucket type.

postEnable service account for bucket type

Auto-provisions a service account for this bucket type. Returns the token (shown once).

postFix integration client configuration

Applies fixes for all detected validation issues on the client.

postGet integration

Gets an integration by ID with ownership verification.

postGet parsed renderer config for an integration archive

Returns the parsed contents of the renderer archive's config.json (the renderer-authored RendererConfig uploaded into the RENDERER_CONFIG meta slot). Used by the admin UI to display a renderer's declared metadata in content type / bucket type editors.

postList content types installed for the user

Returns every content type from integrations the caller has installed (owned + application-mode + system Default). Lightweight — URN, display label, icon name, and parent integration identity only. Used by the frontend to resolve URNs and populate content type pickers.

postList installed integrations

Lists all installed integrations the caller has access to, each enriched with its backing OAuth client snapshot.

postList integration bucket types

Lists bucket types defined by integrations, optionally filtered by integration ID.

postList integration content types

Lists content types defined by integrations, optionally filtered by integration ID.

postList integration metadata keys

Lists metadata keys registered by integrations, optionally filtered by integration ID.

postList integration new files

Lists new file templates defined by integrations, optionally filtered by integration ID.

postList integration renderer crashes

Returns a paginated list of crashes for renderers belonging to an integration the caller owns. Supports filtering by content type, archive version, error kind / name, build hash, and time range.

postList integration targets

Lists OAuth clients the user has access to, along with their integration status. Optionally filter by application slug.

postList supported magic byte formats + text encodings

Static catalog of magic byte formats (from the `file-type` library plus our custom descriptors) and text encodings the classifier accepts in a ContentTypeMatcher. Used by the matcher editor to populate dropdowns so it stays in sync with backend support.

postList upload IDs affected by a reprocess trigger predicate

Server-side scan that returns a page of upload IDs whose thumbnail dispatch may shift in response to a config change (CT add/update/delete, integration install/uninstall, bucket Open-With default change). Called by the pipeline's tier-1 scan job in batches. Idempotent — running the same predicate again returns the same rows.

postCount uploads a reprocess trigger predicate would affect

Same WHERE clause as ListUploadsForReprocess but returns a COUNT(*) instead of enqueuing or paginating. Drives the admin UI confirmation modal for Default-integration matcher saves (where one click can affect every upload in the system).

postRegenerate bucket type service account token

Regenerates the service account token for a bucket type. Returns the new token (shown once).

postRegenerate integration API key

Generates (or rotates) an API key for the integration. Enables API-key-only write access to the integration's scoped resources. The raw key is returned once.

postRe-classify folders matching a reprocess trigger predicate

Folder-side analog of ListUploadsForReprocess. Walks folders matching the predicate (only ct_changed / ct_deleted have meaningful folder logic today), runs ClassifyFolder on each, writes the resulting URN to Folder.thumbnail_content_type_urn, and cascades to the sentinel root upload for virtual files. Inline — no tier-2 queue — because folder reclassify is pure DB and fast enough at realistic scale (handfuls of folders per owning integration).

postRe-run the content type pipeline on a single upload

Sub-plan H tier-2 entry point: pipeline's per-upload reprocess job (one per affected upload as identified by ListUploadsForReprocess) calls this to mint a fresh update token and dispatch a new ParseUpload task, which will recompute resolvePrimary and rewrite the upload's thumbnail_content_type_urn + regenerate the S3 thumbnail when dispatch differs. Idempotent within the reprocess sweep — running again is harmless.

postRevoke integration API key

Disables API key authentication for the integration and deletes the stored key.

postStart a reprocess sweep over all uploads

Kicks off a one-shot background reprocess of every non-deleted Upload row. Re-runs detect+classify, writes detected_* + thumbnail_content_type_urn, stamps reprocessed_at. Idempotent unless force=true. Returns the count queued; reprocessing runs asynchronously.

postUpsert integration

Creates or updates an integration for an OAuth client, with ownership verification. Application association is derived from the client.

postUpsert integration bucket type

Creates or updates a bucket type for an integration, with ownership verification.

postUpsert integration content type

Creates or updates a content type for an integration, with ownership verification.

postUpsert integration metadata key

Creates or updates a metadata key registration for an integration. The key local part is immutable after creation.

postUpsert integration new file

Creates or updates a new file template for an integration, with ownership verification.

postValidate an OAuth client for integration

Checks the OAuth client is configured correctly for upl integration.