{"openapi":"3.0.1","info":{"title":"Journey API","description":"This is Backend For Frontend(BFF) service created using SpringBoot and OAuth2 Framework for Journey Single Page Application(SPA).","contact":{"name":"Ramachandran Nellaiyappan","url":"https://journey.codewithram.dev","email":"ramachandrannellai@gmail.com"},"license":{"name":"Apache 2.0"},"version":"1.8.2"},"servers":[{"url":"http://journey-api.codewithram.dev","description":"Generated server url"}],"security":[{"basicScheme":["bearerAuth"]}],"tags":[{"name":"API Info","description":"Get Information about deployed API"},{"name":"Guest Login","description":"Login as Guest user"},{"name":"Multi Factor Login","description":"Multi factor authentication"},{"name":"Login","description":"Login as application user"},{"name":"Text-to-Speech","description":"Operations for text-to-speech synthesis"}],"paths":{"/rest/journey/{id}":{"get":{"tags":["Search Journey"],"summary":"Find Journey for given ID if exists, else throw error.","operationId":"find","parameters":[{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"Journey created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journey"}}}},"404":{"description":"Journey not exists","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"put":{"tags":["Update Journey"],"summary":"Update Basic details of Journey","operationId":"updateVideosDetails","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/vnd.journey.api.videos.v1+json":{"schema":{"$ref":"#/components/schemas/UpdateJourneyVideosDetailsRequest"}},"application/vnd.journey.api.publish.v1+json":{"schema":{"$ref":"#/components/schemas/PublishJourneyRequest"}},"application/vnd.journey.api.images.v1+json":{"schema":{"$ref":"#/components/schemas/UpdateJourneyImagesDetailsRequest"}},"application/vnd.journey.api.geo.v1+json":{"schema":{"$ref":"#/components/schemas/UpdateJourneyGeoDetailsRequest"}},"application/vnd.journey.api.basic.v1+json":{"schema":{"$ref":"#/components/schemas/UpdateJourneyBasicDetailsRequest"}}},"required":true},"responses":{"200":{"description":"Journey details updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Journey"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"delete":{"tags":["Delete Journey Details Resource"],"operationId":"deleteJourney","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Journey details deleted successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/webauthn/register/start":{"post":{"tags":["web-authn-registration-resource"],"operationId":"startRegistration","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/webauthn/register/finish":{"post":{"tags":["web-authn-registration-resource"],"operationId":"finishRegistration","parameters":[{"name":"User-Agent","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/webauthn/authenticate/start":{"post":{"tags":["web-authn-authentication-resource"],"operationId":"startAuthentication","parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/webauthn/authenticate/finish":{"post":{"tags":["web-authn-authentication-resource"],"operationId":"finishAuthentication","requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}}}},"/rest/verifyEmailCode":{"post":{"tags":["My Account Security - Email Address Settings"],"summary":"Verify Email Confirmation code which was sent to registered email address","operationId":"verifyEmailCode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailCodeVerificationRequest"}}},"required":true},"responses":{"200":{"description":"Email code has been send successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/signup":{"post":{"tags":["Registration"],"summary":"Sign up new account","operationId":"signup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"201":{"description":"Registration completed"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/sendEmailCode":{"post":{"tags":["My Account Security - Email Address Settings"],"summary":"Send Email Confirmation Code to registered email address","operationId":"sendEmailCode","responses":{"200":{"description":"Email code has been send successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/my-account":{"get":{"tags":["My Account Features"],"summary":"Get my account details","operationId":"findMyAccount","responses":{"200":{"description":"User details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"post":{"tags":["My Account Features"],"summary":"Update my account details","operationId":"change","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"required":true},"responses":{"200":{"description":"User details updated successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"delete":{"tags":["My Account Features"],"summary":"Delete my account","operationId":"deleteMyAccount","responses":{"200":{"description":"Application User inactivated and soon will be removed from system"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/my-account/securityAttribute/totp":{"get":{"tags":["My Account Security - Totp Settings"],"summary":"Generate QR Code with new TOTP secret key","operationId":"generateSecret","responses":{"200":{"description":"new totp secret key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRImageDetails"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"post":{"tags":["My Account Security - Totp Settings"],"summary":"Verify Code for the new secret key and activate TOTP 2FA for the user","operationId":"activate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotpActivationRequest"}}},"required":true},"responses":{"200":{"description":"2FA TOTP activated"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}},"delete":{"tags":["My Account Security - Totp Settings"],"summary":"Deactivate TOTP 2FA for the user","operationId":"deactivate","responses":{"200":{"description":"2FA TOTP activated"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/my-account/securityAttribute/totp/verify":{"post":{"tags":["My Account Security - Totp Settings"],"summary":"Verify Code for the user","operationId":"verify","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTotpCodeRequest"}}},"required":true},"responses":{"200":{"description":"2FA TOTP activated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyTotpCodeResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/my-account/securityAttribute/mfa":{"post":{"tags":["My Account Features"],"summary":"Enable/Disable Multi-factor authentication","operationId":"updateMfaStatus","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaStatus"}}},"required":true},"responses":{"200":{"description":"MFA feature updated successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/my-account/changePassword":{"post":{"tags":["My Account Features"],"summary":"Change my password","operationId":"change_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"Password changed successfully"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/mfa":{"post":{"tags":["Multi Factor Login"],"summary":"Multi factor authentication and retrieve JWT token","operationId":"mfa","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiFactorAuthenticationRequest"}}},"required":true},"responses":{"200":{"description":"Authentication successful and return JWT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/login":{"post":{"tags":["Login"],"summary":"login with credentials and retrieve JWT token","operationId":"login","responses":{"200":{"description":"Authentication successful and return JWT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/journey":{"post":{"tags":["Create Journey"],"summary":"Create new Journey with basic details","operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateJourneyRequest"}}},"required":true},"responses":{"201":{"description":"Journey created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateJourneyResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/guestLogin":{"post":{"tags":["Guest Login"],"summary":"login as Guest user without credential and retrieve JWT token","operationId":"guestLogin","responses":{"200":{"description":"Authentication successful and return JWT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/ai/enhance-narration":{"post":{"tags":["narration-enhancer-resource"],"operationId":"enhanceNarration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NarrationEnhancerRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/NarrationEnhancerResponse"}}}}}}},"/rest/activate":{"post":{"tags":["Registration"],"summary":"Activate Registered account","operationId":"activate_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountActivationRequest"}}},"required":true},"responses":{"200":{"description":"Account activation completed"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/api/tts/synthesize":{"post":{"tags":["Text-to-Speech"],"summary":"Synthesize speech from text","description":"Converts text to speech using the Piper TTS server. Returns audio in WAV format.","operationId":"synthesize","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TtsRequest"}}},"required":true},"responses":{"200":{"description":"Audio file","content":{"application/octet-stream":{"schema":{"type":"string","description":"Audio file in WAV format","format":"binary"}}}},"400":{"description":"Invalid request","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}},"500":{"description":"Internal server error","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}}}}},"/webauthn/credentials":{"get":{"tags":["web-authn-manager-resource"],"operationId":"listCredentials","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CredentialInfo"}}}}}}},"delete":{"tags":["web-authn-manager-resource"],"operationId":"deleteCredential","parameters":[{"name":"credentialId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/rest/version":{"get":{"tags":["API Info"],"summary":"Get application name and version","operationId":"version","responses":{"200":{"description":"Return application Name and Version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiVersionResponse"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/users":{"get":{"tags":["Administrator Features"],"summary":"Get all available user details","operationId":"find_1","responses":{"200":{"description":"Available user details","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/timeline":{"get":{"tags":["Timeline"],"summary":"Get Journeys for timeline","operationId":"getTimelineData","parameters":[{"name":"IDs","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"city","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"country","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"category","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"year","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"today","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"upcoming","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimelineData"}}}}}}},"/rest/my-account/securityAttribute/totp/status":{"get":{"tags":["My Account Security - Totp Settings"],"summary":"Status of TOTP 2FA for the user","operationId":"status","responses":{"200":{"description":"2FA TOTP Status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotpStatus"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/journeys":{"get":{"tags":["Search Journey"],"summary":"Find Journeys for given query","operationId":"find_2","parameters":[{"name":"pageIndex","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"createdDate"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","default":"DESC"}},{"name":"publishedOnly","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"q","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"city","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"country","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"category","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[]}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returns available Journeys for given query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataPageableJourney"}}}},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}},"/rest/journeys/upcomingAnniversary":{"get":{"tags":["find-journey-by-query-resource"],"operationId":"getUpcomingAnniversaries","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Journey"}}}}}}}},"/rest/journeys/statistics":{"get":{"tags":["Statistics"],"summary":"Get Statistics about all available Journeys","operationId":"getStatistics","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsResponse"}}}}}}},"/rest/journeys/published":{"get":{"tags":["Search Journey"],"summary":"Find all published Journeys and return result as GeoJSON","operationId":"find_3","responses":{"200":{"description":"OK","content":{"application/geo+json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/Feature"},{"$ref":"#/components/schemas/FeatureCollection"},{"$ref":"#/components/schemas/GeometryCollection"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/Polygon"}]}}}}}}},"/rest/ai/hello":{"get":{"tags":["hello-world-chat-resource"],"operationId":"helloWorld","parameters":[{"name":"prompt","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/rest/user/{username}":{"delete":{"tags":["Administrator Features"],"summary":"Delete application user","operationId":"deleteByUsername","parameters":[{"name":"username","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Application User deleted permanently"},"401":{"description":"Invalid Credentials","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"403":{"description":"Insufficient scope","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"400":{"description":"Validation failure due to invalid data","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"422":{"description":"Non Technical Error e.g. Unexpected condition","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}},"500":{"description":"Technical Error e.g. backend server unavailable ","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetail"}}}}}}}},"components":{"schemas":{"UpdateJourneyVideosDetailsRequest":{"type":"object","properties":{"videos":{"type":"array","items":{"$ref":"#/components/schemas/VideoDetail"}}}},"VideoDetail":{"type":"object","properties":{"videoId":{"type":"string"}}},"ProblemDetail":{"type":"object","properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer","format":"int32"},"detail":{"type":"string"},"instance":{"type":"string","format":"uri"},"properties":{"type":"object","additionalProperties":{"type":"object"}}}},"Feature":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"id":{"type":"string"},"geometry":{"$ref":"#/components/schemas/Geometry"},"properties":{"type":"object","additionalProperties":{"type":"object"}}}}]},"FeatureCollection":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"features":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}}}]},"GeoJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}},"Geometry":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}},"GeometryCollection":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"geometries":{"type":"array","items":{"$ref":"#/components/schemas/Geometry"}}}}]},"Journey":{"required":["createdDate","description","geoDetails","id","journeyDate","name","tags","thumbnail","visibilities"],"type":"object","properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"description":{"minLength":1,"type":"string"},"tags":{"minItems":1,"type":"array","items":{"type":"string"}},"thumbnail":{"minLength":1,"type":"string"},"journeyDate":{"type":"string","format":"date"},"createdDate":{"type":"string","format":"date"},"geoDetails":{"$ref":"#/components/schemas/JourneyGeoDetails"},"imagesDetails":{"$ref":"#/components/schemas/JourneyImagesDetails"},"videosDetails":{"$ref":"#/components/schemas/JourneyVideosDetails"},"visibilities":{"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"string","enum":["MYSELF","ADMINISTRATOR","MAINTAINER","AUTHENTICATED_USER","GUEST"]}},"isPublished":{"type":"boolean"}}},"JourneyGeoDetails":{"required":["category","city","country","geoJson","location","title"],"type":"object","properties":{"title":{"minLength":1,"type":"string"},"city":{"minLength":1,"type":"string"},"country":{"minLength":1,"type":"string"},"category":{"minLength":1,"type":"string"},"location":{"$ref":"#/components/schemas/Geometry"},"geoJson":{"oneOf":[{"$ref":"#/components/schemas/FeatureCollection"},{"$ref":"#/components/schemas/GeometryCollection"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/Polygon"}]}}},"JourneyImageDetail":{"required":["assetId","publicId","url"],"type":"object","properties":{"url":{"minLength":1,"type":"string"},"assetId":{"minLength":1,"type":"string"},"publicId":{"minLength":1,"type":"string"},"title":{"type":"string"},"isFavorite":{"type":"boolean"},"isThumbnail":{"type":"boolean"},"eventDate":{"type":"string","format":"date"}}},"JourneyImagesDetails":{"required":["images"],"type":"object","properties":{"images":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/JourneyImageDetail"}}}},"JourneyVideoDetail":{"required":["videoId"],"type":"object","properties":{"videoId":{"minLength":1,"type":"string"}}},"JourneyVideosDetails":{"required":["videos"],"type":"object","properties":{"videos":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/JourneyVideoDetail"}}}},"LineString":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}}]},"MultiLineString":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}}}]},"MultiPoint":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}}]},"MultiPolygon":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}}}}]},"Point":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"number","format":"double"}}}}]},"Polygon":{"type":"object","allOf":[{"$ref":"#/components/schemas/GeoJson"},{"type":"object","properties":{"type":{"type":"string","writeOnly":true},"coordinates":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}}}]},"PublishJourneyRequest":{"required":["thumbnail"],"type":"object","properties":{"visibilities":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["MYSELF","ADMINISTRATOR","MAINTAINER","AUTHENTICATED_USER","GUEST"]}},"thumbnail":{"minLength":1,"type":"string"},"isPublished":{"type":"boolean"}}},"ImageDetail":{"type":"object","properties":{"url":{"type":"string"},"assetId":{"type":"string"},"publicId":{"type":"string"},"title":{"type":"string"},"isFavorite":{"type":"boolean"},"isThumbnail":{"type":"boolean"},"eventDate":{"type":"string","format":"date"}}},"UpdateJourneyImagesDetailsRequest":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/components/schemas/ImageDetail"}}}},"UpdateJourneyGeoDetailsRequest":{"required":["category","city","country","geoJson","location","title"],"type":"object","properties":{"title":{"minLength":1,"type":"string"},"city":{"minLength":1,"type":"string"},"country":{"minLength":1,"type":"string"},"category":{"minLength":1,"type":"string"},"location":{"$ref":"#/components/schemas/Geometry"},"geoJson":{"oneOf":[{"$ref":"#/components/schemas/FeatureCollection"},{"$ref":"#/components/schemas/GeometryCollection"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/MultiPolygon"},{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/Polygon"}]}}},"UpdateJourneyBasicDetailsRequest":{"required":["description","journeyDate","name","tags","thumbnail"],"type":"object","properties":{"name":{"minLength":1,"type":"string"},"description":{"minLength":1,"type":"string"},"tags":{"minItems":1,"type":"array","items":{"type":"string"}},"thumbnail":{"minLength":1,"type":"string"},"journeyDate":{"type":"string","format":"date"}}},"LoginResponse":{"type":"object","properties":{"token":{"type":"string"},"expiredAt":{"type":"string","format":"date-time"},"authorities":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"name":{"type":"string"},"additionalFactorRequired":{"type":"boolean"},"securityAttributes":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["EMAIL_ADDRESS","TOTP"]}}}},"EmailCodeVerificationRequest":{"required":["code"],"type":"object","properties":{"code":{"minLength":1,"type":"string"}}},"SignupRequest":{"required":["name","password","username"],"type":"object","properties":{"username":{"maxLength":50,"minLength":8,"type":"string","format":"email"},"password":{"maxLength":50,"minLength":8,"pattern":"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@.#$!%*?&^])[A-Za-z\\d@.#$!%*?&]{8,50}$","type":"string"},"name":{"maxLength":50,"minLength":3,"type":"string"}}},"UpdateUserRequest":{"required":["name"],"type":"object","properties":{"name":{"maxLength":50,"minLength":3,"type":"string"}}},"TotpActivationRequest":{"required":["code","secretKey"],"type":"object","properties":{"secretKey":{"minLength":1,"type":"string"},"code":{"minLength":1,"pattern":"\\d{6}","type":"string"}}},"VerifyTotpCodeRequest":{"required":["code"],"type":"object","properties":{"code":{"minLength":1,"pattern":"\\d{6}","type":"string"}}},"VerifyTotpCodeResponse":{"type":"object","properties":{"success":{"type":"boolean"}}},"MfaStatus":{"type":"object","properties":{"status":{"type":"boolean"}}},"ChangePasswordRequest":{"required":["newPassword"],"type":"object","properties":{"newPassword":{"maxLength":50,"minLength":8,"type":"string"}}},"MultiFactorAuthenticationRequest":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["EMAIL_ADDRESS","TOTP"]},"value":{"minLength":1,"type":"string"}}},"CreateJourneyRequest":{"required":["description","journeyDate","name","tags","thumbnail"],"type":"object","properties":{"name":{"minLength":1,"type":"string"},"description":{"minLength":1,"type":"string"},"tags":{"minItems":1,"type":"array","items":{"type":"string"}},"thumbnail":{"minLength":1,"type":"string"},"journeyDate":{"type":"string","format":"date"}}},"CreateJourneyResponse":{"required":["createdDate","description","id","journeyDate","name","tags","thumbnail"],"type":"object","properties":{"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"description":{"minLength":1,"type":"string"},"tags":{"minItems":1,"type":"array","items":{"type":"string"}},"thumbnail":{"minLength":1,"type":"string"},"createdDate":{"type":"string","format":"date"},"journeyDate":{"type":"string","format":"date"}}},"NarrationEnhancerRequest":{"required":["narration","tone"],"type":"object","properties":{"narration":{"minLength":1,"type":"string"},"tone":{"minLength":1,"type":"string"}}},"NarrationEnhancerResponse":{"required":["narration","tone"],"type":"object","properties":{"narration":{"minLength":1,"type":"string"},"tone":{"minLength":1,"type":"string"}}},"AccountActivationRequest":{"required":["emailToken","username"],"type":"object","properties":{"username":{"minLength":1,"type":"string","format":"email"},"emailToken":{"minLength":1,"type":"string"}}},"TtsRequest":{"required":["text"],"type":"object","properties":{"text":{"maxLength":10000,"minLength":0,"type":"string","description":"Text to convert to speech","example":"Hello, this is a test of the text-to-speech system.","default":""},"voice":{"type":"string","description":"Voice model to use","example":"en_US-lessac-medium","default":"en_US-lessac-medium"},"lengthScale":{"type":"number","description":"Length scale for speech (affects speed)","format":"double","example":1.0,"default":1.0},"noiseScale":{"type":"number","description":"Noise scale for speech","format":"double","example":0.7,"default":0.7},"noiseWScale":{"type":"number","description":"Noise w scale for speech","format":"double","example":0.8,"default":0.8}},"description":"Request for text-to-speech synthesis","default":null},"CredentialInfo":{"type":"object","properties":{"credentialId":{"type":"string"},"userHandle":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"deviceInfo":{"type":"string"}}},"ApiVersionResponse":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}}},"User":{"type":"object","properties":{"username":{"type":"string"},"name":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"passwordChangedAt":{"type":"string","format":"date-time"},"enabled":{"type":"boolean"},"roles":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["ADMINISTRATOR","AUTHENTICATED_USER","MAINTAINER","GUEST_USER"]}},"mfaEnabled":{"type":"boolean"}}},"TimelineData":{"type":"object","properties":{"heading":{"type":"string"},"journeys":{"type":"array","items":{"$ref":"#/components/schemas/Journey"}}}},"QRImageDetails":{"type":"object","properties":{"data":{"type":"string","format":"byte"},"secretKey":{"type":"string"}}},"TotpStatus":{"type":"object","properties":{"active":{"type":"boolean"}}},"DataPageableJourney":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Journey"}},"numberOfElements":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"}}},"KeyValueStatistics":{"type":"object","properties":{"name":{"type":"string"},"count":{"type":"integer","format":"int64"}}},"StatisticsResponse":{"type":"object","properties":{"categories":{"type":"array","items":{"$ref":"#/components/schemas/KeyValueStatistics"}},"cities":{"type":"array","items":{"$ref":"#/components/schemas/KeyValueStatistics"}},"countries":{"type":"array","items":{"$ref":"#/components/schemas/KeyValueStatistics"}},"years":{"type":"array","items":{"$ref":"#/components/schemas/KeyValueStatistics"}}}}},"securitySchemes":{"bearerAuth":{"type":"http","name":"bearerAuth","scheme":"bearer","bearerFormat":"JWT"},"basicScheme":{"type":"http","name":"basicScheme","scheme":"basic"}}}}