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