Skip to content

REST API overview

The Prophouse REST API is the same interface the desktop app, the Unreal plugin and the web library use. Anything you can do in those clients (search, download, push, pull into a project, review, comment) you can script against it.

https://api.prophouse.dev/api/v1

Every endpoint path in this reference is relative to that base. For example, GET /entries means GET https://api.prophouse.dev/api/v1/entries.

Create an API key (see Authentication), then search your library:

Terminal window
curl -H "Authorization: Bearer ph_live_xxxxxxxxxxxx" \
"https://api.prophouse.dev/api/v1/entries?q=weathered%20wooden%20crate&limit=5"
{
"entries": [
{
"id": 412,
"name": "SM_Crate_Old_A",
"entry_type": "mesh",
"category": "Crates",
"has_thumbnail": true,
"review_status": "approved",
"score": 0.031746
}
],
"next_cursor": "eyJzIjogInJlbGV2YW5jZSIsIC..."
}

(Entry payloads carry more fields than shown here; see Entries and search.)

Topic Summary
Format JSON request and response bodies (Content-Type: application/json), except binary uploads and downloads, which are raw bytes.
Authentication Authorization: Bearer <key> on every request. Keys are read or write scoped.
Versioning Every path is under /api/v1. Responses from your library carry X-PH-API: 1.
IDs Integer ids for entries, objects, packs, jobs and so on. Lineages use string ids such as guid:<32 hex> or ph:<32 hex>.
Hashes SHA-256, lowercase hex, over the exact file bytes.
Timestamps UTC ISO 8601 with a Z suffix, for example 2026-07-12T18:04:05Z.
Errors {"error": {"code", "message", "details"}} with a stable code. See Errors and rate limits.
Downloads File bytes are served through short-lived presigned URLs. Fetch them without the Authorization header.

Details are in Conventions.

Resource What it covers Page
Entries Browse, search, search by image, facets, entry detail, dependency closure, thumbnails and previews Entries and search
Curation Renaming and categorizing entries, tags, collections, packs, projects Curation
Blobs Downloading file bytes Downloads
Push Uploading new props and new versions from a script Push (uploads)
Pull jobs Delivering props into an Unreal project Pull jobs
Locks Exclusive check-out while you edit a prop Check-out locks
Lineages Version history and restoring older versions Versions
Reviews Review state and review requests Reviews
Comments Comments, replies, reactions, mentions, attachments and annotations Comments and annotations
Notifications Your inbox, preferences and watches Notifications and watches
Activity The user-facing activity feed and the catalog change feed Activity and changes
Members Who is in the workspace Members
Editor sessions Unreal editor presence and agent-delivered imports Editor sessions
Webhooks Outbound event delivery (admins) Webhooks
Admin Denylist and other admin-only operations Admin endpoints

GET https://api.prophouse.dev/api/v1/health needs no key and answers {"ok": true} when the API is reachable.

Your library serves an OpenAPI document at GET /openapi.json (that is, https://api.prophouse.dev/api/v1/openapi.json, with your key). It lists more routes than this reference; routes not documented here are internal to Prophouse clients and may change without notice.