Incantory
Sign in

Votes API

3 operations. Authentication, errors and pagination work as described in the REST API overview.

"Works on" tallies for a version

GET/api/v1/prompts/{owner}/{slug}/votesToken optional

Per-model works/doesn't-work counts from eligible voters (accounts ≥7 days old or with an approved example / published make), the strip view (models with ≥3 votes; the rest collapsed), your own votes and whether they count yet.

getModelVotes parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
version queryinteger (…–9007199254740991)

Responses: 200 OK400, 404, 429

Response fields
getModelVotes response fields
NameTypeDescription
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
striprequiredobject
talliesrequiredobject[]
minerequiredobject[]
eligibilityrequiredobject
Example
curl 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/votes' \
  -H "Authorization: Bearer $INCANTORY_TOKEN"

Cast or change your vote for one model

POST/api/v1/prompts/{owner}/{slug}/votesToken required · scope write

One vote per (version, user, model); casting again flips or edits it.

castModelVote parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug

Request body

castModelVote body fields
NameTypeDescription
versioninteger (…–9007199254740991)
modelrequiredstring
worksrequiredboolean
notestring | null

Responses: 200 OK400, 401, 403, 404, 409, 429

Response fields
castModelVote response fields
NameTypeDescription
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
striprequiredobject
talliesrequiredobject[]
minerequiredobject[]
eligibilityrequiredobject
Example
curl -X POST 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/votes' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"model":"model","works":true}'

Remove your vote for one model

DELETE/api/v1/prompts/{owner}/{slug}/votes/{model}Token required · scope write

deleteModelVote parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
model pathrequiredstringModel slug, e.g. claude-opus-5-5
version queryinteger (…–9007199254740991)

Responses: 200 OK400, 401, 403, 404, 429

Response fields
deleteModelVote response fields
NameTypeDescription
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
striprequiredobject
talliesrequiredobject[]
minerequiredobject[]
eligibilityrequiredobject
Example
curl -X DELETE 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/votes/{model}' \
  -H "Authorization: Bearer $INCANTORY_TOKEN"