Makes API
27 operations. Authentication, errors and pagination work as described in the REST API overview.
The makes feed
GET/api/v1/makesToken optional
Published, public makes (plus your own drafts when signed in), newest first or by stars; following = makes by people you follow. Filters: tag, kind (a linked prompt's kind), model (slug), author (handle), q. Keyset-paginated with cursor.
| Name | Type | Description |
|---|---|---|
sort query | "new" | "top" | "following" | |
tag query | string | |
kind query | "text" | "chat" | "image" | "video" | "skill" | "rules" | "agent" | |
model query | string | |
author query | string | |
q query | string | |
cursor query | string | |
limit query | integer (1–60) |
Responses: 200 OK304, 400, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
itemsrequired | object[] | |
nextCursorrequired | string | null | Opaque cursor for the next page; null at the end |
curl 'https://incantory.ai/api/v1/makes' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Create a make
POST/api/v1/makesToken required
A draft unless publish: true (publishing needs at least one linked prompt version). Links to your own prompts are approved immediately; others wait for the prompt owner, who is notified when the make is published. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
Request body
| Name | Type | Description |
|---|---|---|
titlerequired | string | |
slug | string | |
body | string | |
repoUrl | string | null | |
demoUrl | string | null | |
model | string | null | |
modelText | string | null | |
tags | string[] | |
contentRating | "general" | "mature" | |
visibility | "public" | "unlisted" | |
publish | boolean | |
prompts | object[] | |
remixOf | string |
Responses: 201 OK400, 401, 403, 404, 409, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string | |
slugrequired | string | |
titlerequired | string | |
excerptrequired | string | |
authorrequired | object | |
statusrequired | "draft" | "published" | |
visibilityrequired | "public" | "unlisted" | "private" | |
contentRatingrequired | "general" | "mature" | "explicit" | |
coverrequired | object | null | |
modelrequired | object | null | |
modelTextrequired | string | null | |
tagsrequired | string[] | |
promptsrequired | object[] | |
starCountrequired | integer (-9007199254740991–9007199254740991) | |
commentCountrequired | integer (-9007199254740991–9007199254740991) | |
remixCountrequired | integer (-9007199254740991–9007199254740991) | |
createdAtrequired | string | ISO 8601 timestamp (UTC) |
publishedAtrequired | string | null | |
updatedAtrequired | string | ISO 8601 timestamp (UTC) |
bodyrequired | string | Markdown |
repoUrlrequired | string | null | |
demoUrlrequired | string | null | |
remixOfrequired | object | null | |
linksrequired | object[] | |
galleryrequired | object[] | |
filesrequired | object[] | |
partsrequired | object[] | |
commentsLockedrequired | boolean | |
deletedrequired | boolean | |
hiddenByModeratorrequired | boolean | |
canonicalPathrequired | string | |
viewerrequired | object |
curl -X POST 'https://incantory.ai/api/v1/makes' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"title":"title"}'Get one make
GET/api/v1/makes/{slug}Token optional
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Responses: 200 OK400, 404, 410, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string | |
slugrequired | string | |
titlerequired | string | |
excerptrequired | string | |
authorrequired | object | |
statusrequired | "draft" | "published" | |
visibilityrequired | "public" | "unlisted" | "private" | |
contentRatingrequired | "general" | "mature" | "explicit" | |
coverrequired | object | null | |
modelrequired | object | null | |
modelTextrequired | string | null | |
tagsrequired | string[] | |
promptsrequired | object[] | |
starCountrequired | integer (-9007199254740991–9007199254740991) | |
commentCountrequired | integer (-9007199254740991–9007199254740991) | |
remixCountrequired | integer (-9007199254740991–9007199254740991) | |
createdAtrequired | string | ISO 8601 timestamp (UTC) |
publishedAtrequired | string | null | |
updatedAtrequired | string | ISO 8601 timestamp (UTC) |
bodyrequired | string | Markdown |
repoUrlrequired | string | null | |
demoUrlrequired | string | null | |
remixOfrequired | object | null | |
linksrequired | object[] | |
galleryrequired | object[] | |
filesrequired | object[] | |
partsrequired | object[] | |
commentsLockedrequired | boolean | |
deletedrequired | boolean | |
hiddenByModeratorrequired | boolean | |
canonicalPathrequired | string | |
viewerrequired | object |
curl 'https://incantory.ai/api/v1/makes/{slug}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Edit a make
PATCH/api/v1/makes/{slug}Token required
Owner or admin. publish publishes/unpublishes; a new slug 301s the old URL. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
title | string | |
slug | string | |
body | string | |
repoUrl | string | null | |
demoUrl | string | null | |
model | string | null | |
modelText | string | null | |
tags | string[] | |
contentRating | "general" | "mature" | |
visibility | "public" | "unlisted" | |
publish | boolean |
Responses: 200 OK400, 401, 403, 404, 409, 410, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string | |
slugrequired | string | |
titlerequired | string | |
excerptrequired | string | |
authorrequired | object | |
statusrequired | "draft" | "published" | |
visibilityrequired | "public" | "unlisted" | "private" | |
contentRatingrequired | "general" | "mature" | "explicit" | |
coverrequired | object | null | |
modelrequired | object | null | |
modelTextrequired | string | null | |
tagsrequired | string[] | |
promptsrequired | object[] | |
starCountrequired | integer (-9007199254740991–9007199254740991) | |
commentCountrequired | integer (-9007199254740991–9007199254740991) | |
remixCountrequired | integer (-9007199254740991–9007199254740991) | |
createdAtrequired | string | ISO 8601 timestamp (UTC) |
publishedAtrequired | string | null | |
updatedAtrequired | string | ISO 8601 timestamp (UTC) |
bodyrequired | string | Markdown |
repoUrlrequired | string | null | |
demoUrlrequired | string | null | |
remixOfrequired | object | null | |
linksrequired | object[] | |
galleryrequired | object[] | |
filesrequired | object[] | |
partsrequired | object[] | |
commentsLockedrequired | boolean | |
deletedrequired | boolean | |
hiddenByModeratorrequired | boolean | |
canonicalPathrequired | string | |
viewerrequired | object |
curl -X PATCH 'https://incantory.ai/api/v1/makes/{slug}' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Delete a make (soft)
DELETE/api/v1/makes/{slug}Token required
Owner or admin. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Responses: 204 OK400, 401, 403, 404, 410, 429
curl -X DELETE 'https://incantory.ai/api/v1/makes/{slug}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Attach a downloadable file
POST/api/v1/makes/{slug}/filesToken required
Served only once its malware scan is clean. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
mediaIdrequired | string | |
label | string |
Responses: 201 OK400, 401, 403, 404, 409, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/files' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"mediaId":"mediaId"}'Relabel a file
PATCH/api/v1/makes/{slug}/files/{id}Token required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Request body
| Name | Type | Description |
|---|---|---|
labelrequired | string |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X PATCH 'https://incantory.ai/api/v1/makes/{slug}/files/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"label":"label"}'Remove a file
DELETE/api/v1/makes/{slug}/files/{id}Token required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Responses: 204 OK400, 401, 403, 404, 429
curl -X DELETE 'https://incantory.ai/api/v1/makes/{slug}/files/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Download a file (302 to the media host)
GET/api/v1/makes/{slug}/files/{id}/downloadToken optional
409 file_not_ready while the scan runs, 409 file_blocked when it failed.
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Responses: 302, 400, 404, 409, 429
curl 'https://incantory.ai/api/v1/makes/{slug}/files/{id}/download' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Reorder files
POST/api/v1/makes/{slug}/files/reorderToken required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
idsrequired | string[] |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/files/reorder' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"ids":["ids"]}'Add a gallery item (upload or embed)
POST/api/v1/makes/{slug}/mediaToken required
mediaId of an image/video you uploaded (POST /api/v1/uploads), or a YouTube/Vimeo/TikTok/X embedUrl (normalised; rendered as a click-to-load embed). At most 20 images. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
Type: object
Responses: 201 OK400, 401, 403, 404, 409, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/media' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"mediaId":"mediaId"}'Edit a gallery item (caption, alt, cover)
PATCH/api/v1/makes/{slug}/media/{id}Token required
Setting isCover unsets the previous cover. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Request body
| Name | Type | Description |
|---|---|---|
caption | string | null | |
alt | string | null | |
isCover | boolean |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X PATCH 'https://incantory.ai/api/v1/makes/{slug}/media/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Remove a gallery item
DELETE/api/v1/makes/{slug}/media/{id}Token required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Responses: 204 OK400, 401, 403, 404, 429
curl -X DELETE 'https://incantory.ai/api/v1/makes/{slug}/media/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Reorder the gallery
POST/api/v1/makes/{slug}/media/reorderToken required
ids[i] gets position i. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
idsrequired | string[] |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/media/reorder' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"ids":["ids"]}'Add a parts-list line
POST/api/v1/makes/{slug}/partsToken required
At most 100 lines. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
namerequired | string | |
qty | string | |
url | string | null | |
notes | string | null |
Responses: 201 OK400, 401, 403, 404, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/parts' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"name":"name"}'Edit a parts-list line
PATCH/api/v1/makes/{slug}/parts/{id}Token required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Request body
| Name | Type | Description |
|---|---|---|
name | string | |
qty | string | |
url | string | null | |
notes | string | null |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X PATCH 'https://incantory.ai/api/v1/makes/{slug}/parts/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Remove a parts-list line
DELETE/api/v1/makes/{slug}/parts/{id}Token required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
id pathrequired | string | Item id |
Responses: 204 OK400, 401, 403, 404, 429
curl -X DELETE 'https://incantory.ai/api/v1/makes/{slug}/parts/{id}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Reorder the parts list
POST/api/v1/makes/{slug}/parts/reorderToken required
Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
idsrequired | string[] |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
okrequired | true |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/parts/reorder' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"ids":["ids"]}'Link a prompt version
POST/api/v1/makes/{slug}/promptsToken required
Owner. At most 10 links; yanked versions are refused. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body
| Name | Type | Description |
|---|---|---|
promptrequired | string | |
version | integer (…–9007199254740991) |
Responses: 201 OK400, 401, 403, 404, 409, 422, 429
Response fields
| Name | Type | Description |
|---|---|---|
idrequired | string | |
slugrequired | string | |
titlerequired | string | |
excerptrequired | string | |
authorrequired | object | |
statusrequired | "draft" | "published" | |
visibilityrequired | "public" | "unlisted" | "private" | |
contentRatingrequired | "general" | "mature" | "explicit" | |
coverrequired | object | null | |
modelrequired | object | null | |
modelTextrequired | string | null | |
tagsrequired | string[] | |
promptsrequired | object[] | |
starCountrequired | integer (-9007199254740991–9007199254740991) | |
commentCountrequired | integer (-9007199254740991–9007199254740991) | |
remixCountrequired | integer (-9007199254740991–9007199254740991) | |
createdAtrequired | string | ISO 8601 timestamp (UTC) |
publishedAtrequired | string | null | |
updatedAtrequired | string | ISO 8601 timestamp (UTC) |
bodyrequired | string | Markdown |
repoUrlrequired | string | null | |
demoUrlrequired | string | null | |
remixOfrequired | object | null | |
linksrequired | object[] | |
galleryrequired | object[] | |
filesrequired | object[] | |
partsrequired | object[] | |
commentsLockedrequired | boolean | |
deletedrequired | boolean | |
hiddenByModeratorrequired | boolean | |
canonicalPathrequired | string | |
viewerrequired | object |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/prompts' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"prompt":"alice/haiku"}'Unlink a prompt version
DELETE/api/v1/makes/{slug}/prompts/{linkId}Token required
The make's owner or an admin. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
linkId pathrequired | string | MakePrompt (link) id |
Responses: 204 OK400, 401, 403, 404, 429
curl -X DELETE 'https://incantory.ai/api/v1/makes/{slug}/prompts/{linkId}' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Approve a make link (prompt owner, moderator, admin)
POST/api/v1/makes/{slug}/prompts/{linkId}/approveToken required
Audited; the maker is notified; the prompt's make count is recounted. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
linkId pathrequired | string | MakePrompt (link) id |
Request body (optional)
| Name | Type | Description |
|---|---|---|
reason | string | null |
Responses: 200 OK400, 401, 403, 404, 410, 429
Response fields
| Name | Type | Description |
|---|---|---|
approvalrequired | "approved" | "rejected" |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/prompts/{linkId}/approve' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Pin or unpin an approved make on the prompt's gallery
POST/api/v1/makes/{slug}/prompts/{linkId}/pinToken required
At most 4 pinned per prompt (409 pin_limit). Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
linkId pathrequired | string | MakePrompt (link) id |
Request body (optional)
| Name | Type | Description |
|---|---|---|
pinned | boolean |
Responses: 200 OK400, 401, 403, 404, 409, 429
Response fields
| Name | Type | Description |
|---|---|---|
pinnedrequired | boolean |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/prompts/{linkId}/pin' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Reject a make link, with an optional reason
POST/api/v1/makes/{slug}/prompts/{linkId}/rejectToken required
Audited; the maker is notified with the reason. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
linkId pathrequired | string | MakePrompt (link) id |
Request body (optional)
| Name | Type | Description |
|---|---|---|
reason | string | null |
Responses: 200 OK400, 401, 403, 404, 410, 429
Response fields
| Name | Type | Description |
|---|---|---|
approvalrequired | "approved" | "rejected" |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/prompts/{linkId}/reject' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'Remix a make
POST/api/v1/makes/{slug}/remixToken required
Forks the make's approved prompt versions into your namespace and creates a draft make linking the forks, with remixOfMakeId set. Needs a signed-in session or an admin:mcp token (makes are not writable with a plain write token, PLAN §3).
| Name | Type | Description |
|---|---|---|
slug pathrequired | string | Make slug (global) |
Request body (optional)
| Name | Type | Description |
|---|---|---|
links | string[] |
Responses: 201 OK400, 401, 403, 404, 409, 429
Response fields
| Name | Type | Description |
|---|---|---|
makerequired | object | |
forksrequired | string[] | "owner/slug" of each fork |
skippedrequired | object[] |
curl -X POST 'https://incantory.ai/api/v1/makes/{slug}/remix' \
-H "Authorization: Bearer $INCANTORY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{}'A prompt's family tree
GET/api/v1/makes/family-treeToken optional
Nested JSON from the oldest visible ancestor: prompt → versions (those with forks or makes, plus the latest) → forks and approved makes. Capped at 300 prompts / 8 generations (truncated).
| Name | Type | Description |
|---|---|---|
prompt queryrequired | string |
Responses: 200 OK400, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
rootrequired | __schema0 | |
currentPromptIdrequired | string | |
statsrequired | object | |
truncatedrequired | boolean | |
generatedAtrequired | string | ISO 8601 timestamp (UTC) |
curl 'https://incantory.ai/api/v1/makes/family-tree' \
-H "Authorization: Bearer $INCANTORY_TOKEN"A prompt's approved makes, pinned first
GET/api/v1/makes/galleryToken optional
| Name | Type | Description |
|---|---|---|
prompt queryrequired | string | |
cursor query | string | |
limit query | integer (1–60) |
Responses: 200 OK304, 400, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
itemsrequired | object[] | |
nextCursorrequired | string | null | Opaque cursor for the next page; null at the end |
curl 'https://incantory.ai/api/v1/makes/gallery' \
-H "Authorization: Bearer $INCANTORY_TOKEN"Pending links waiting for your decision
GET/api/v1/makes/inboxToken required
Links to prompts you own, on published makes. Moderators/admins: all=1 for every pending link.
| Name | Type | Description |
|---|---|---|
all query | "0" | "1" | "true" | "false" | |
cursor query | string | |
limit query | integer (1–100) |
Responses: 200 OK400, 401, 403, 404, 429
Response fields
| Name | Type | Description |
|---|---|---|
itemsrequired | object[] | |
nextCursorrequired | string | null | Opaque cursor for the next page; null at the end |
pendingCountrequired | integer (-9007199254740991–9007199254740991) |
curl 'https://incantory.ai/api/v1/makes/inbox' \
-H "Authorization: Bearer $INCANTORY_TOKEN"