Skip to main content

Works API

Works are the core resource of the Ever Works Platform. Each work represents a curated collection of items (listings) that can be generated by AI, managed manually, and deployed as a website.

All endpoints require JWT authentication.

Work CRUD​

MethodEndpointDescription
GET/api/worksList works (supports ?search= and pagination)
POST/api/worksCreate a new work
GET/api/works/:idGet a work by ID
PUT/api/works/:idUpdate a work
POST/api/works/:id/deleteDelete a work and its repositories

Work Data​

MethodEndpointDescription
GET/api/works/:id/itemsGet work items (cached)
GET/api/works/:id/configGet work config (cached)
GET/api/works/:id/website-settingsGet website settings
PUT/api/works/:id/website-settingsUpdate website settings
GET/api/works/:id/countGet item count and status (cached)
GET/api/works/:id/categories-tagsGet categories and tags (cached)
GET/api/works/:id/historyGet generation history (paginated)

AI Generation​

MethodEndpointDescription
POST/api/works/generate-detailsGenerate work details from a prompt
POST/api/works/:id/generateStart AI-powered item generation
POST/api/works/:id/updateUpdate the generation config and regenerate

Generate Details​

Before creating a work, you can generate its metadata from a natural language prompt:

curl -X POST http://localhost:3100/api/works/generate-details \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"prompt": "A work of open-source design tools"}'

Start Generation​

Trigger the AI generation pipeline for a work:

curl -X POST http://localhost:3100/api/works/:id/generate \
-H "Authorization: Bearer <token>"

Item Management​

MethodEndpointDescription
POST/api/works/:id/submit-itemAdd a new item to the work
POST/api/works/:id/remove-itemRemove an item
POST/api/works/:id/update-itemUpdate item metadata
POST/api/extract-item-detailsExtract item details from a URL
POST/api/works/:id/bulk-capture-imagesCapture screenshots for items in bulk

Repository Operations​

MethodEndpointDescription
POST/api/works/:id/regenerate-markdownRegenerate markdown for all items
POST/api/works/:id/update-readmeUpdate the work README
POST/api/works/:id/update-websiteUpdate the website repository
POST/api/works/:id/sync-dataSync data from the data repository
GET/api/works/:id/repositories/visibilityGet repo visibility settings
PUT/api/works/:id/repositories/visibilityUpdate repo visibility

Domain Type​

MethodEndpointDescription
PUT/api/works/:id/domain-typeSet domain type (software, ecommerce, services, general)

The domain type affects image routing and badge generation strategies.

Categories, Tags & Collections​

MethodEndpointDescription
POST/api/works/:id/categoriesCreate a category
PUT/api/works/:id/categories/:categoryIdUpdate a category
DELETE/api/works/:id/categories/:categoryIdDelete a category
POST/api/works/:id/tagsCreate a tag
PUT/api/works/:id/tags/:tagIdUpdate a tag
DELETE/api/works/:id/tags/:tagIdDelete a tag
POST/api/works/:id/collectionsCreate a collection
PUT/api/works/:id/collections/:collectionIdUpdate a collection
DELETE/api/works/:id/collections/:collectionIdDelete a collection
note

The GET /api/works/:id/categories-tags endpoint (listed under Work Data) returns categories, tags, and collections in a single response. See the Collections feature doc for full CRUD examples.

Advanced Prompts​

MethodEndpointDescription
GET/api/works/:id/advanced-promptsGet custom prompt overrides
PUT/api/works/:id/advanced-promptsSet custom prompt overrides

Advanced prompts let you customize the AI's behavior for specific pipeline steps (relevance assessment, item generation, extraction, search queries, categorization, deduplication, source validation).

Scheduled Updates​

MethodEndpointDescription
GET/api/works/:id/scheduleGet the update schedule
PUT/api/works/:id/scheduleCreate or update a schedule
DELETE/api/works/:id/scheduleCancel scheduled updates
POST/api/works/:id/schedule/runRun a scheduled update immediately

Community PR Processing​

Manually trigger processing of community-submitted pull requests for a work. See the Community PR Processing feature doc for details on configuration and workflow.

MethodEndpointDescription
POST/api/works/:id/process-community-prsProcess unhandled community PRs
curl -X POST http://localhost:3100/api/works/:id/process-community-prs \
-H "Authorization: Bearer <token>"

Returns { "itemsAdded": <number> }. Returns 400 if community PR processing is not enabled for the work.

Comparisons​

Generate and manage A vs B comparison pages. See the Comparisons feature doc for full details.

MethodEndpointDescription
GET/api/works/:id/comparisonsList all comparisons
GET/api/works/:id/comparisons/remaining-countCount remaining un-generated pairs
GET/api/works/:id/comparisons/:slugGet a comparison with markdown
POST/api/works/:id/comparisons/generateAuto-generate next comparison
POST/api/works/:id/comparisons/generate-manualGenerate comparison for specific pair
DELETE/api/works/:id/comparisons/:slugDelete a comparison

Import​

MethodEndpointDescription
POST/api/works/import/analyzeAnalyze a repository for import
POST/api/works/import/analyze-for-linkingAnalyze a repo for linking
POST/api/works/importImport a work from a repository
GET/api/works/import/repositoriesList user's repositories available for import

Deployment​

Deploy a work website. See the Deployment API for full details.

MethodEndpointDescription
POST/api/deploy/works/:idDeploy a work
POST/api/deploy/works/:id/checkCheck deployment capability
POST/api/deploy/works/:id/lookupLookup existing deployment
POST/api/deploy/validate-tokenValidate deployment token
POST/api/deploy/teamsList deployment teams
POST/api/deploy/batchBatch deploy multiple works

Members​

Manage work collaborators:

MethodEndpointDescription
GET/api/works/:id/membersList all members
POST/api/works/:id/membersInvite a member
GET/api/works/:id/members/:memberIdGet member details
PUT/api/works/:id/members/:memberIdUpdate member role
DELETE/api/works/:id/members/:memberIdRemove a member
POST/api/works/:id/members/leaveLeave a work

Member Roles​

RolePermissions
OwnerFull access (reserved for work creator)
ManagerCan manage members, edit content, trigger generation
EditorCan edit content and items
ViewerRead-only access