{"openapi":"3.1.0","info":{"title":"OpenStela API","version":"1.0","description":"OpenStela is a registry and market for AI characters and works. Characters get a registry ID and a spec fingerprint; works get an authorship record (attribution, date, fingerprint, human contribution for AI-assisted work). Fingerprints are anchored to Arbitrum One nightly.\n\n**Auth**: `Authorization: Bearer alk_…` — create keys in Account settings. A key has the rights of your account (except account deletion). Endpoints tagged Public and Verify need no key.\n\n**Not in this document**: deal-room writes (drafting, signing, paying), billing and admin. Use the app for those.\n\nA record proves that specific data existed at a date; it does not prove authorship, ownership or non-infringement.","contact":{"email":"support@openstela.io"},"termsOfService":"https://openstela.io/terms"},"servers":[{"url":"https://app.openstela.io"}],"tags":[{"name":"Verify"},{"name":"Public"},{"name":"Works"},{"name":"Characters"},{"name":"Messages"},{"name":"Deals (read-only)"},{"name":"Account"}],"paths":{"/api/verify/{spec_hash}":{"get":{"summary":"Verify a SHA-256 fingerprint against the registry and the chain","operationId":"get_api_verify_spec_hash","parameters":[{"name":"spec_hash","in":"path","required":true,"schema":{"type":"string","title":"Spec Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Verify"],"security":[]}},"/api/market/list":{"get":{"summary":"Market: public characters and works","operationId":"get_api_market_list","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Public"],"security":[]}},"/api/public/character/{avlid}":{"get":{"summary":"Public page data of a character by registry ID","operationId":"get_api_public_character_avlid","parameters":[{"name":"avlid","in":"path","required":true,"schema":{"type":"string","title":"Avlid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/public/character/{avlid}/image/{name}":{"get":{"summary":"A reference image of a public character","operationId":"get_api_public_character_avlid_image_name","parameters":[{"name":"avlid","in":"path","required":true,"schema":{"type":"string","title":"Avlid"}},{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/public/user/{handle}":{"get":{"summary":"Public creator page: characters and works","operationId":"get_api_public_user_handle","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/public/work/{wid}":{"get":{"summary":"Public page data of a work","operationId":"get_api_public_work_wid","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/public/work/{wid}/file":{"get":{"summary":"The file of a public work (if uploaded)","operationId":"get_api_public_work_wid_file","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/public/work/{wid}/preview":{"get":{"summary":"Preview image of a public linked work","operationId":"get_api_public_work_wid_preview","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Public"],"security":[]}},"/api/aworks":{"get":{"summary":"List my works (plus my bindable characters and storage)","operationId":"get_api_aworks","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Works"]},"post":{"summary":"Register a work by uploading a file (multipart); optional bind_slug","operationId":"post_api_aworks","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_awork_add_api_aworks_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/link":{"post":{"summary":"Register a work from a URL (snapshot is fingerprinted); optional bind_slug","operationId":"post_api_aworks_link","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AworkLink"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/scan":{"post":{"summary":"Read-only: list a creator account's public works (YouTube channel / Civitai user page) to register one by one","operationId":"post_api_aworks_scan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/{wid}":{"patch":{"summary":"Edit title / note / public flag; set derived_from for a version chain","operationId":"patch_api_aworks_wid","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AworkPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]},"delete":{"summary":"Delete the file (the records and anchoring remain)","operationId":"delete_api_aworks_wid","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/{wid}/bind":{"post":{"summary":"Bind a work to one of my characters (needs a registry ID)","operationId":"post_api_aworks_wid_bind","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AworkBind"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/{wid}/bindings/{avl_id}/evidence":{"post":{"summary":"Re-run one evidence check on a binding","operationId":"post_api_aworks_wid_bindings_avl_id_evidence","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}},{"name":"avl_id","in":"path","required":true,"schema":{"type":"string","title":"Avl Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AworkEvidenceRun"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/{wid}/file":{"get":{"summary":"Download my work's file","operationId":"get_api_aworks_wid_file","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/aworks/{wid}/proof-pack.zip":{"get":{"summary":"Proof Pack: PDF + record.json (with Merkle proofs) + README","operationId":"get_api_aworks_wid_proof_pack_zip","parameters":[{"name":"wid","in":"path","required":true,"schema":{"type":"string","title":"Wid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Works"]}},"/api/packs":{"get":{"summary":"List my characters","operationId":"get_api_packs","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Characters"]},"post":{"summary":"Create a character (empty pack)","operationId":"post_api_packs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewPack"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}":{"get":{"summary":"One of my characters, owner view","operationId":"get_api_packs_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]},"patch":{"summary":"Edit the specification fields","operationId":"patch_api_packs_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpecUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]},"delete":{"summary":"Delete a character (30-day trash; anchored records remain)","operationId":"delete_api_packs_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"confirm","in":"query","required":false,"schema":{"type":"string","default":"","title":"Confirm"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/import":{"post":{"summary":"Upload 1–4 pictures and draft the spec from them","operationId":"post_api_packs_slug_import","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_character_api_packs__slug__import_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/import-url":{"post":{"summary":"Draft the spec from a public URL (Civitai, a post…)","operationId":"post_api_packs_slug_import_url","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlImport"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/import/confirm":{"post":{"summary":"Confirm / edit the drafted spec","operationId":"post_api_packs_slug_import_confirm","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportConfirm"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/finalize":{"post":{"summary":"Finalize the spec (required before issuing an ID)","operationId":"post_api_packs_slug_finalize","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/identity":{"post":{"summary":"Issue the registry ID (AVL-…); anchored that night; public by default","operationId":"post_api_packs_slug_identity","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/listing":{"patch":{"summary":"Public / private, mode (showcase, assignment, exclusive), asking price, contact","operationId":"patch_api_packs_slug_listing","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/works":{"get":{"summary":"Works shown on this character: legacy works + bound account works, with evidence","operationId":"get_api_packs_slug_works","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/proof-pack.zip":{"get":{"summary":"Character Proof Pack: PDF + record.json + README","operationId":"get_api_packs_slug_proof_pack_zip","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/channels":{"post":{"summary":"Declare a channel (website / social account) and get a one-time code","operationId":"post_api_packs_slug_channels","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewChannel"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/channels/{cid}/verify":{"post":{"summary":"Verify the channel (code_in_page or well_known)","operationId":"post_api_packs_slug_channels_cid_verify","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyChannel"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/packs/{slug}/channels/{cid}":{"delete":{"summary":"Remove a channel","operationId":"delete_api_packs_slug_channels_cid","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Characters"]}},"/api/threads":{"get":{"summary":"My message threads","operationId":"get_api_threads","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Messages"]},"post":{"summary":"Open (or reuse) a thread on a public character (avl_id) or work (work_id)","operationId":"post_api_threads","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewThread"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Messages"]}},"/api/threads/{tid}":{"get":{"summary":"Read a thread (marks it read)","operationId":"get_api_threads_tid","parameters":[{"name":"tid","in":"path","required":true,"schema":{"type":"string","title":"Tid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Messages"]}},"/api/threads/{tid}/message":{"post":{"summary":"Post a message","operationId":"post_api_threads_tid_message","parameters":[{"name":"tid","in":"path","required":true,"schema":{"type":"string","title":"Tid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadMsg"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Messages"]}},"/api/deals":{"get":{"summary":"My deals","operationId":"get_api_deals","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Deals (read-only)"]}},"/api/deals/{deal_id}":{"get":{"summary":"One deal: contract blocks, status, next action","operationId":"get_api_deals_deal_id","parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Deals (read-only)"]}},"/api/deals/{deal_id}/record":{"get":{"summary":"Deal Record: fingerprints, signatures, transfer event","operationId":"get_api_deals_deal_id_record","parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Deals (read-only)"]}},"/api/account":{"get":{"summary":"My account, plan limits, tokens (prefixes only)","operationId":"get_api_account","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Account"]}},"/api/account/tokens":{"post":{"summary":"Create an API key (shown once)","operationId":"post_api_account_tokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Account"]}},"/api/account/tokens/{prefix}":{"delete":{"summary":"Revoke an API key","operationId":"delete_api_account_tokens_prefix","parameters":[{"name":"prefix","in":"path","required":true,"schema":{"type":"string","title":"Prefix"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"tags":["Account"]}},"/api/account/export":{"get":{"summary":"Full export of my data (zip)","operationId":"get_api_account_export","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"tags":["Account"]}}},"components":{"schemas":{"AworkPatch":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public"},"derived_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derived From"}},"type":"object","title":"AworkPatch"},"SpecUpdate":{"properties":{"one_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line"},"medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"},"silhouette":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Silhouette"},"structure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Structure"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"},"features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Features"},"palette":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Palette"},"never":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Never"}},"type":"object","title":"SpecUpdate"},"Body_awork_add_api_aworks_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"title":{"type":"string","title":"Title","default":""},"note":{"type":"string","title":"Note","default":""},"attribution":{"type":"string","title":"Attribution","default":""},"claimed_created_at":{"type":"string","title":"Claimed Created At","default":""},"declaration":{"type":"string","title":"Declaration","default":""},"music_composition":{"type":"boolean","title":"Music Composition","default":false},"music_recording":{"type":"boolean","title":"Music Recording","default":false},"ai_generated":{"type":"boolean","title":"Ai Generated","default":false},"tools":{"type":"string","title":"Tools","default":""},"human_contribution":{"type":"string","title":"Human Contribution","default":""},"public":{"type":"boolean","title":"Public","default":true},"bind_slug":{"type":"string","title":"Bind Slug","default":""}},"type":"object","required":["file"],"title":"Body_awork_add_api_aworks_post"},"VerifyChannel":{"properties":{"method":{"type":"string","title":"Method","default":"code_in_page"}},"type":"object","title":"VerifyChannel"},"NewChannel":{"properties":{"platform":{"type":"string","title":"Platform"},"target":{"type":"string","title":"Target"}},"type":"object","required":["platform","target"],"title":"NewChannel"},"NewThread":{"properties":{"avl_id":{"type":"string","title":"Avl Id","default":""},"work_id":{"type":"string","title":"Work Id","default":""}},"type":"object","title":"NewThread"},"ListingBody":{"properties":{"public":{"type":"boolean","title":"Public","default":false},"mode":{"type":"string","title":"Mode","default":"showcase"},"price_hint":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Hint"},"currency":{"type":"string","title":"Currency","default":"USD"},"contact":{"type":"string","title":"Contact","default":""}},"type":"object","title":"ListingBody"},"AworkLink":{"properties":{"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title","default":""},"note":{"type":"string","title":"Note","default":""},"attribution":{"type":"string","title":"Attribution","default":""},"claimed_created_at":{"type":"string","title":"Claimed Created At","default":""},"declaration":{"type":"string","title":"Declaration","default":""},"ai_generated":{"type":"boolean","title":"Ai Generated","default":false},"tools":{"type":"string","title":"Tools","default":""},"human_contribution":{"type":"string","title":"Human Contribution","default":""},"public":{"type":"boolean","title":"Public","default":true},"bind_slug":{"type":"string","title":"Bind Slug","default":""}},"type":"object","required":["url"],"title":"AworkLink"},"AworkEvidenceRun":{"properties":{"method":{"type":"string","title":"Method"}},"type":"object","required":["method"],"title":"AworkEvidenceRun"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"UrlImport":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls"},"source_url":{"type":"string","title":"Source Url","default":""},"prompt":{"type":"string","title":"Prompt","default":""},"platform":{"type":"string","title":"Platform","default":""}},"type":"object","required":["urls"],"title":"UrlImport"},"Body_import_character_api_packs__slug__import_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files"},"prompt":{"type":"string","title":"Prompt","default":""},"platform":{"type":"string","title":"Platform","default":""}},"type":"object","required":["files"],"title":"Body_import_character_api_packs__slug__import_post"},"ScanBody":{"properties":{"url":{"type":"string","title":"Url"}},"type":"object","required":["url"],"title":"ScanBody"},"NewPack":{"properties":{"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"char_type":{"type":"string","title":"Char Type","default":"photoreal_human"},"one_line":{"type":"string","title":"One Line","default":""}},"type":"object","required":["slug","name"],"title":"NewPack"},"TokenBody":{"properties":{"label":{"type":"string","title":"Label","default":""}},"type":"object","title":"TokenBody"},"AworkBind":{"properties":{"slug":{"type":"string","title":"Slug"}},"type":"object","required":["slug"],"title":"AworkBind"},"ImportConfirm":{"properties":{"one_line":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"One Line"},"medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"},"silhouette":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Silhouette"},"structure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Structure"},"surface":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Surface"},"features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Features"},"palette":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Palette"},"never":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Never"},"source_files":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Files"}},"type":"object","title":"ImportConfirm","description":"匯入確認。欄位與 SpecUpdate 相同，多帶來源檔名供 provenance 記錄。"},"ThreadMsg":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"ThreadMsg"}},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Authorization: Bearer alk_… (Account settings → API keys)"}}},"security":[{"apiKey":[]}],"externalDocs":{"description":"Developer guide","url":"https://openstela.io/developers"}}