Incantory
Sign in

Examples API

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

Approve a submitted example (prompt owner or admin)

POST/api/v1/examples/{id}/approveToken required · scope write

approveExample parameters
NameTypeDescription
id pathrequiredstringExample id

Request body (optional)

approveExample body fields
NameTypeDescription
notesstring | null

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

Response fields
approveExample response fields
NameTypeDescription
idrequiredstring
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
modelrequiredobject | null
variablesrequiredobject
outputTextrequiredstring
mediaIdsrequiredstring[]
authorrequiredobject
approvalrequired"pending" | "approved" | "rejected"
notesrequiredstring | null
positionrequiredinteger (-9007199254740991–9007199254740991)
contentRatingrequired"general" | "mature" | "explicit"
createdAtrequiredstringISO 8601 timestamp (UTC)
updatedAtrequiredstringISO 8601 timestamp (UTC)
viewerrequiredobject
Example
curl -X POST 'https://incantory.ai/api/v1/examples/{id}/approve' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{}'

Reject a submitted example (prompt owner or admin)

POST/api/v1/examples/{id}/rejectToken required · scope write

rejectExample parameters
NameTypeDescription
id pathrequiredstringExample id

Request body (optional)

rejectExample body fields
NameTypeDescription
notesstring | null

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

Response fields
rejectExample response fields
NameTypeDescription
idrequiredstring
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
modelrequiredobject | null
variablesrequiredobject
outputTextrequiredstring
mediaIdsrequiredstring[]
authorrequiredobject
approvalrequired"pending" | "approved" | "rejected"
notesrequiredstring | null
positionrequiredinteger (-9007199254740991–9007199254740991)
contentRatingrequired"general" | "mature" | "explicit"
createdAtrequiredstringISO 8601 timestamp (UTC)
updatedAtrequiredstringISO 8601 timestamp (UTC)
viewerrequiredobject
Example
curl -X POST 'https://incantory.ai/api/v1/examples/{id}/reject' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{}'

List approved examples (plus your queue)

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

Approved examples in the author's order, keyset-paginated (cursor). model filters by model slug, version by version number. Signed-in callers also get queue: every pending example for the prompt owner/admins, otherwise their own pending and rejected submissions.

listExamples parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
version queryinteger (…–9007199254740991)
model querystring
cursor querystring
limit queryinteger (1–100)

Responses: 200 OK304, 400, 404, 429

Response fields
listExamples response fields
NameTypeDescription
itemsrequiredobject[]
nextCursorrequiredstring | null
queuerequiredobject[]Pending examples you may see
pendingCountrequiredinteger (-9007199254740991–9007199254740991) | null
canModeraterequiredboolean
signedInrequiredboolean
Example
curl 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples' \
  -H "Authorization: Bearer $INCANTORY_TOKEN"

Submit an example output

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

Pending until the prompt owner approves it (the owner is notified); the owner's own examples are approved immediately. mediaIds must be media you uploaded.

createExample parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug

Request body

createExample body fields
NameTypeDescription
versioninteger (…–9007199254740991)
modelstring | null
variablesobject
outputTextstring
mediaIdsstring[]
notesstring | null
contentRating"general" | "mature"

Responses: 201 OK400, 401, 403, 404, 409, 413, 429

Response fields
createExample response fields
NameTypeDescription
idrequiredstring
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
modelrequiredobject | null
variablesrequiredobject
outputTextrequiredstring
mediaIdsrequiredstring[]
authorrequiredobject
approvalrequired"pending" | "approved" | "rejected"
notesrequiredstring | null
positionrequiredinteger (-9007199254740991–9007199254740991)
contentRatingrequired"general" | "mature" | "explicit"
createdAtrequiredstringISO 8601 timestamp (UTC)
updatedAtrequiredstringISO 8601 timestamp (UTC)
viewerrequiredobject
Example
curl -X POST 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{}'

Get one example

GET/api/v1/prompts/{owner}/{slug}/examples/{id}Token optional

getExample parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
id pathrequiredstringExample id

Responses: 200 OK400, 404, 429

Response fields
getExample response fields
NameTypeDescription
idrequiredstring
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
modelrequiredobject | null
variablesrequiredobject
outputTextrequiredstring
mediaIdsrequiredstring[]
authorrequiredobject
approvalrequired"pending" | "approved" | "rejected"
notesrequiredstring | null
positionrequiredinteger (-9007199254740991–9007199254740991)
contentRatingrequired"general" | "mature" | "explicit"
createdAtrequiredstringISO 8601 timestamp (UTC)
updatedAtrequiredstringISO 8601 timestamp (UTC)
viewerrequiredobject
Example
curl 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples/{id}' \
  -H "Authorization: Bearer $INCANTORY_TOKEN"

Edit your example

PATCH/api/v1/prompts/{owner}/{slug}/examples/{id}Token required · scope write

Editing an approved example on someone else's prompt sends it back for approval.

updateExample parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
id pathrequiredstringExample id

Request body

updateExample body fields
NameTypeDescription
modelstring | null
variablesobject
outputTextstring
mediaIdsstring[]
notesstring | null
contentRating"general" | "mature"

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

Response fields
updateExample response fields
NameTypeDescription
idrequiredstring
versionNumberrequiredinteger (-9007199254740991–9007199254740991)
modelrequiredobject | null
variablesrequiredobject
outputTextrequiredstring
mediaIdsrequiredstring[]
authorrequiredobject
approvalrequired"pending" | "approved" | "rejected"
notesrequiredstring | null
positionrequiredinteger (-9007199254740991–9007199254740991)
contentRatingrequired"general" | "mature" | "explicit"
createdAtrequiredstringISO 8601 timestamp (UTC)
updatedAtrequiredstringISO 8601 timestamp (UTC)
viewerrequiredobject
Example
curl -X PATCH 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples/{id}' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{}'

Delete an example (author, prompt owner or admin)

DELETE/api/v1/prompts/{owner}/{slug}/examples/{id}Token required · scope write

deleteExample parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug
id pathrequiredstringExample id

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

Example
curl -X DELETE 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples/{id}' \
  -H "Authorization: Bearer $INCANTORY_TOKEN"

Set the order of approved examples (prompt owner or admin)

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

reorderExamples parameters
NameTypeDescription
owner pathrequiredstringOwner handle
slug pathrequiredstringPrompt slug

Request body

reorderExamples body fields
NameTypeDescription
idsrequiredstring[]

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

Response fields
reorderExamples response fields
NameTypeDescription
updatedrequiredinteger (-9007199254740991–9007199254740991)
Example
curl -X POST 'https://incantory.ai/api/v1/prompts/{owner}/{slug}/examples/reorder' \
  -H "Authorization: Bearer $INCANTORY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"ids":["ids"]}'