{"components":{"schemas":{"Error":{"properties":{"reason":{"type":"string"},"status":{"enum":["error"],"type":"string"}},"required":["status","reason"],"type":"object"}},"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"}}},"info":{"description":"API for the dansharpe.com Next.js frontend; see README.md.","title":"Dan Sharpe API","version":"2.0.0"},"openapi":"3.0.3","paths":{"/auth/challenge":{"post":{"operationId":"post_auth_challenge","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"type":"string"},"password":{"format":"password","type":"string"}},"required":["email","password"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"email":{"type":"string"},"password":{"format":"password","type":"string"}},"required":["email","password"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"email":{"type":"string"},"password":{"format":"password","type":"string"}},"required":["email","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/auth/challenge/cancel":{"post":{"operationId":"post_auth_challenge_cancel","requestBody":{"content":{"application/json":{"schema":{"properties":{"challenge_id":{"type":"string"}},"required":["challenge_id"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"challenge_id":{"type":"string"}},"required":["challenge_id"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"challenge_id":{"type":"string"}},"required":["challenge_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/auth/challenge/verify":{"post":{"operationId":"post_auth_challenge_verify","requestBody":{"content":{"application/json":{"schema":{"properties":{"challenge_id":{"type":"string"},"verification_code":{"type":"string"}},"required":["challenge_id","verification_code"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"challenge_id":{"type":"string"},"verification_code":{"type":"string"}},"required":["challenge_id","verification_code"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"challenge_id":{"type":"string"},"verification_code":{"type":"string"}},"required":["challenge_id","verification_code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/auth/introspect":{"post":{"operationId":"post_auth_introspect","requestBody":{"content":{"application/json":{"schema":{"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"token":{"type":"string"}},"required":["token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/auth/refresh":{"post":{"operationId":"post_auth_refresh","requestBody":{"content":{"application/json":{"schema":{"properties":{"refresh_token":{"type":"string"}},"required":["refresh_token"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"refresh_token":{"type":"string"}},"required":["refresh_token"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"refresh_token":{"type":"string"}},"required":["refresh_token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/galleries/metrics":{"get":{"operationId":"get_v1_galleries_metrics","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/mail/send":{"post":{"description":"Requires an active user with the system role.","operationId":"post_v1_mail_send","requestBody":{"content":{"application/json":{"schema":{"properties":{"body":{"type":"string"},"subject":{"type":"string"},"to":{"type":"string"}},"required":["to","subject","body"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"body":{"type":"string"},"subject":{"type":"string"},"to":{"type":"string"}},"required":["to","subject","body"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"body":{"type":"string"},"subject":{"type":"string"},"to":{"type":"string"}},"required":["to","subject","body"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/openapi":{"get":{"operationId":"get_v1_openapi","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/stories":{"get":{"operationId":"get_v1_stories","parameters":[{"description":"Unlock token from POST /v1/story/{story_id}/unlock. A PIN-protected story's summary, body and media are withheld from anyone but its owner without it.","in":"header","name":"X-Story-Unlock","schema":{"type":"string"}},{"in":"query","name":"offset","schema":{"default":0,"maximum":1000000,"minimum":0,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":2,"maximum":500,"minimum":1,"type":"integer"}},{"in":"query","name":"mobile","schema":{"enum":["0","1"],"type":"string"}},{"in":"query","name":"status","schema":{"enum":["public","unlisted","private","draft"],"type":"string"}},{"in":"query","name":"year","schema":{"type":"string"}},{"in":"query","name":"type","schema":{"enum":["comment","story","gallery","video","360-image"],"type":"string"}},{"in":"query","name":"id","schema":{"description":"Look up one story by its stable ID, including detail media. Cannot be combined with title.","format":"uuid","type":"string"}},{"in":"query","name":"title","schema":{"type":"string"}},{"in":"query","name":"search","schema":{"type":"string"}},{"in":"query","name":"mine","schema":{"description":"Only the signed-in user's stories, of every status and date, without counting views. Requires a user token.","enum":["1"],"type":"string"}},{"in":"query","name":"before","schema":{"description":"The next_cursor of the previous page: returns the stories after it, unaffected by stories published or deleted meanwhile. Cannot be combined with offset.","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/stories/views":{"post":{"operationId":"post_v1_stories_views","requestBody":{"content":{"application/json":{"schema":{"properties":{"ids":{"type":"string"}},"required":["ids"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"ids":{"type":"string"}},"required":["ids"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"ids":{"type":"string"}},"required":["ids"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/story":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_story","requestBody":{"content":{"application/json":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}":{"delete":{"description":"Requires an active user access token.","operationId":"delete_v1_story_story_id","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]},"get":{"description":"Requires an active user access token.","operationId":"get_v1_story_story_id","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]},"post":{"description":"Requires an active user access token.","operationId":"post_v1_story_story_id","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"pin":{"type":"string"},"status":{"type":"string"},"story":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["status","type","title","summary"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/like":{"post":{"operationId":"post_v1_story_story_id_like","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/story/{story_id}/media":{"get":{"operationId":"get_v1_story_story_id_media","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Unlock token from POST /v1/story/{story_id}/unlock. A PIN-protected story's summary, body and media are withheld from anyone but its owner without it.","in":"header","name":"X-Story-Unlock","schema":{"type":"string"}},{"in":"query","name":"mobile","schema":{"enum":["0","1"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/story/{story_id}/media/photo":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_story_story_id_media_photo","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_name":{"type":"string"},"upload_id":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["upload_id","file_name"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_name":{"type":"string"},"upload_id":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["upload_id","file_name"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_name":{"type":"string"},"upload_id":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["upload_id","file_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/media/photo/sign":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_story_story_id_media_photo_sign","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"file_name":{"type":"string"}},"required":["file_name"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"file_name":{"type":"string"}},"required":["file_name"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"file_name":{"type":"string"}},"required":["file_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/media/video":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_story_story_id_media_video","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"destination_dir":{"type":"string"},"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_id":{"type":"string"},"file_name":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["file_id","destination_dir","file_name"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"destination_dir":{"type":"string"},"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_id":{"type":"string"},"file_name":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["file_id","destination_dir","file_name"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"destination_dir":{"type":"string"},"featured":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"file_id":{"type":"string"},"file_name":{"type":"string"},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"required":["file_id","destination_dir","file_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/media/video/sign":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_story_story_id_media_video_sign","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"content_type":{"enum":["video/mp4"],"type":"string"}},"required":["content_type"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"content_type":{"enum":["video/mp4"],"type":"string"}},"required":["content_type"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"content_type":{"enum":["video/mp4"],"type":"string"}},"required":["content_type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/media/{file_id}":{"delete":{"description":"Requires an active user access token.","operationId":"delete_v1_story_story_id_media_file_id","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"file_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]},"patch":{"description":"Requires an active user access token.","operationId":"patch_v1_story_story_id_media_file_id","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"file_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"minProperties":1,"properties":{"print":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"additionalProperties":false,"minProperties":1,"properties":{"print":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"type":"object"}},"multipart/form-data":{"schema":{"additionalProperties":false,"minProperties":1,"properties":{"print":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]},"visible":{"oneOf":[{"enum":["0","1"],"type":"string"},{"enum":[0,1],"type":"integer"}]}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/media/{file_id}/download":{"get":{"operationId":"get_v1_story_story_id_media_file_id_download","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"file_id","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Unlock token from POST /v1/story/{story_id}/unlock. A PIN-protected story's summary, body and media are withheld from anyone but its owner without it.","in":"header","name":"X-Story-Unlock","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"Original media attachment"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/story/{story_id}/media/{file_id}/set_featured":{"put":{"description":"Requires an active user access token.","operationId":"put_v1_story_story_id_media_file_id_set_featured","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"file_id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/story/{story_id}/unlock":{"post":{"operationId":"post_v1_story_story_id_unlock","parameters":[{"in":"path","name":"story_id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"pin":{"type":"string"}},"required":["pin"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"pin":{"type":"string"}},"required":["pin"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"pin":{"type":"string"}},"required":["pin"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/system/decrypt":{"post":{"description":"Requires an active user with the system role.","operationId":"post_v1_system_decrypt","requestBody":{"content":{"application/json":{"schema":{"properties":{"encoded_data":{"type":"string"}},"required":["encoded_data"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"encoded_data":{"type":"string"}},"required":["encoded_data"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"encoded_data":{"type":"string"}},"required":["encoded_data"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/system/encrypt":{"post":{"description":"Requires an active user with the system role.","operationId":"post_v1_system_encrypt","requestBody":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"string"}},"required":["data"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"data":{"type":"string"}},"required":["data"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"data":{"type":"string"}},"required":["data"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/system/liveness":{"get":{"operationId":"get_v1_system_liveness","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/system/php":{"get":{"description":"Requires an active user with the system role.","operationId":"get_v1_system_php","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/system/readiness":{"get":{"operationId":"get_v1_system_readiness","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}}}},"/v1/system/time":{"get":{"description":"Requires an active user access token.","operationId":"get_v1_system_time","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/system/uuid":{"get":{"description":"Requires an active user access token.","operationId":"get_v1_system_uuid","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]},"post":{"description":"Requires an active user access token.","operationId":"post_v1_system_uuid","requestBody":{"content":{"application/json":{"schema":{"properties":{"uuid":{"type":"string"}},"required":["uuid"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"uuid":{"type":"string"}},"required":["uuid"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"uuid":{"type":"string"}},"required":["uuid"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/user":{"get":{"description":"Requires an active user access token.","operationId":"get_v1_user","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]},"post":{"description":"Requires an active user access token.","operationId":"post_v1_user","requestBody":{"content":{"application/json":{"schema":{"properties":{"access_role":{"type":"string"},"email":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"status":{"type":"string"}},"required":["status","access_role","email","first_name","last_name"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"access_role":{"type":"string"},"email":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"status":{"type":"string"}},"required":["status","access_role","email","first_name","last_name"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"access_role":{"type":"string"},"email":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"status":{"type":"string"}},"required":["status","access_role","email","first_name","last_name"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}},"/v1/user/profile_image":{"post":{"description":"Requires an active user access token.","operationId":"post_v1_user_profile_image","requestBody":{"content":{"application/json":{"schema":{"properties":{"file_data":{"description":"Base64-encoded file bytes, without a data URL prefix.","format":"byte","type":"string"},"file_name":{"type":"string"}},"required":["file_name","file_data"],"type":"object"}},"application/x-www-form-urlencoded":{"schema":{"properties":{"file_data":{"description":"Base64-encoded file bytes, without a data URL prefix.","format":"byte","type":"string"},"file_name":{"type":"string"}},"required":["file_name","file_data"],"type":"object"}},"multipart/form-data":{"schema":{"properties":{"file_data":{"description":"Base64-encoded file bytes, without a data URL prefix.","format":"byte","type":"string"},"file_name":{"type":"string"}},"required":["file_name","file_data"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Successful legacy-compatible response"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid input"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid credentials or token"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not authorized"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Duplicate upload"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request too large"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many PIN attempts"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal error"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Mail unavailable"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Not ready"}},"security":[{"bearerAuth":[]}]}}}}
