{"openapi":"3.1.0","info":{"title":"Curie API","version":"0.1.0"},"paths":{"/api/v1/health":{"get":{"tags":["System Health"],"summary":"Health Check","operationId":"health_check_api_v1_health_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}}}}},"/api/v1/user/login":{"post":{"tags":["User"],"summary":"Log In 🔓","description":"Authenticate and log in to your account.\nYou can use email or username to log in.","operationId":"login_api_v1_user_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLoginDTO"},"examples":{"username":{"summary":"Login with username","description":"Login with username and password","value":{"username":"oleg_vinnyk","password":"password"}},"email":{"summary":"Login with email","description":"Login with email and password","value":{"email":"oleg_vinnyk@gmail.com","password":"password"}}}}},"required":true},"responses":{"200":{"description":"Access and refresh tokens","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/user/signup":{"post":{"tags":["User"],"summary":"Sign Up 📝","description":"Register a new user account","operationId":"signup_api_v1_user_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSignUpDTO"}}},"required":true},"responses":{"201":{"description":"Access and refresh tokens","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/user/access-token":{"get":{"tags":["User"],"summary":"Refresh a token","description":"The endpoint takes a refresh token as a parameter and returns a new access token","operationId":"refresh_token_api_v1_user_access_token_get","parameters":[{"name":"refresh_token","in":"query","required":true,"schema":{"type":"string","title":"Refresh Token"}}],"responses":{"200":{"description":"Access Token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/refresh-tokens":{"get":{"tags":["User"],"summary":"Get a new refresh token","description":"Get a new refresh token and access token using the old refresh token","operationId":"new_refresh_token_api_v1_user_refresh_tokens_get","parameters":[{"name":"old_refresh_token","in":"query","required":true,"schema":{"type":"string","title":"Old Refresh Token"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/microsoft":{"get":{"tags":["User"],"summary":"Login Microsoft","operationId":"login_microsoft_api_v1_user_auth_microsoft_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/x":{"get":{"tags":["User"],"summary":"Login X","operationId":"login_x_api_v1_user_auth_x_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/discord":{"get":{"tags":["User"],"summary":"Login Discord","operationId":"login_discord_api_v1_user_auth_discord_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/google":{"get":{"tags":["User"],"summary":"Login Google","operationId":"login_google_api_v1_user_auth_google_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/github":{"get":{"tags":["User"],"summary":"Login Github","operationId":"login_github_api_v1_user_auth_github_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/auth/facebook":{"get":{"tags":["User"],"summary":"Login Facebook","operationId":"login_facebook_api_v1_user_auth_facebook_get","parameters":[{"name":"redirect_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/update-account":{"patch":{"tags":["User"],"summary":"Update different account data 🔑","description":"Update different account data.","operationId":"update_account_data_api_v1_user_update_account_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountDTO"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user/me":{"get":{"tags":["User"],"summary":"Get Yourself 📇","description":"Retrieve details about the currently authenticated user. Perfect for a quick self-check!","operationId":"get_me_api_v1_user_me_get","responses":{"200":{"description":"User details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLongDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user":{"delete":{"tags":["User"],"summary":"Delete User 🗑️","description":"Permanently remove your account and all related data. This action cannot be undone!","operationId":"delete_current_user_api_v1_user_delete","responses":{"200":{"description":"Resource deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user/add-profile-photo":{"post":{"tags":["User"],"summary":"️Add profile picture","description":"Add profile picture. Be recognizable!","operationId":"add_profile_picture_api_v1_user_add_profile_photo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_add_profile_picture_api_v1_user_add_profile_photo_post"}}},"required":true},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user/delete-profile-photo":{"delete":{"tags":["User"],"summary":"Delete profile picture","description":"Delete profile picture if you don't need it","operationId":"delete_profile_picture_api_v1_user_delete_profile_photo_delete","responses":{"200":{"description":"Resource deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user/send-password-recovery":{"post":{"tags":["User"],"summary":"Password Recovery Email","description":"Forgot your password? No worries! Enter your email and we'll send you a recovery link","operationId":"forgot_password_api_v1_user_send_password_recovery_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDTO"}}},"required":true},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/user/recover-password":{"post":{"tags":["User"],"summary":"Recover Password","description":"Recover password. Use the token from the email to recover the password","operationId":"password_recovery_api_v1_user_recover_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordRecoverySchema"}}},"required":true},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"400":{"description":"Recovery link is expired or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/v1/user/send-email-verification":{"post":{"tags":["User"],"summary":"Verify Email","description":"Verify email. Use the token from the email to verify the email","operationId":"send_email_verification_api_v1_user_send_email_verification_post","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/user/verify-email":{"post":{"tags":["User"],"summary":"Verify Email","operationId":"verify_email_api_v1_user_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EncodedTokenRequest"}}},"required":true},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"400":{"description":"Verification link is expired or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}}},"/api/v1/user/telegram-verification/{user_id}":{"get":{"tags":["User"],"summary":"Verify Telegram","description":"This endpoint is used to bind a Telegram account to a user account. It returns a link to the Telegram bot with a user ID as a parameter","operationId":"get_telegram_deeplink_api_v1_user_telegram_verification__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/telegram-verification/callback":{"post":{"tags":["User"],"summary":"Telegram Verification Callback","operationId":"telegram_verification_callback_api_v1_user_telegram_verification_callback_post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"telegram_id","in":"query","required":true,"schema":{"type":"string","title":"Telegram Id"}},{"name":"username","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLongDTO"}}}},"409":{"description":"Telegram account is already linked to another user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/notifications":{"get":{"tags":["User"],"summary":"Get Notifications","description":"Get all notifications of the user","operationId":"get_notifications_api_v1_user_notifications_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Notifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_NotificationDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/notifications/{notification_id}":{"patch":{"tags":["User"],"summary":"Mark Notification as Read","description":"Mark a specific notification as read or unread","operationId":"mark_notification_as_read_api_v1_user_notifications__notification_id__patch","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}},{"name":"read","in":"query","required":true,"schema":{"type":"boolean","title":"Read"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["User"],"summary":"Delete Notification","description":"Delete a specific notification","operationId":"delete_notification_api_v1_user_notifications__notification_id__delete","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/notifications/read-all":{"put":{"tags":["User"],"summary":"Mark All Notifications as Read","description":"Mark all notifications as read","operationId":"mark_all_notifications_as_read_api_v1_user_notifications_read_all_put","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/application":{"get":{"tags":["Applications (IOS/Android)"],"summary":"List all applications","description":"Get a paginated, optionally filtered/sorted list of all non-banned applications.","operationId":"list_applications_api_v1_application_get","parameters":[{"name":"orderBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByApp","description":"Field to sort by","default":"created_at"},"description":"Field to sort by"},{"name":"orderDirection","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","description":"'asc' or 'desc'","default":"asc"},"description":"'asc' or 'desc'"},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/StoreEnum"},{"type":"null"}],"description":"Filter by store: IOS, ANDROID, or omit for all","title":"Store"},"description":"Filter by store: IOS, ANDROID, or omit for all"},{"name":"search_by_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracker Name"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_FullApplicationDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/application/{app_id}":{"get":{"tags":["Applications (IOS/Android)"],"summary":"Get application by ID","description":"Fetch a single application by its UUID.","operationId":"get_application_api_v1_application__app_id__get","parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"App Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/application/monitoring":{"post":{"tags":["Applications (IOS/Android)"],"summary":"Add and update application","description":"Add and update application","operationId":"add_and_update_monitoring_api_v1_application_monitoring_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringAddUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/application/{id_on_market}":{"delete":{"tags":["Applications (IOS/Android)"],"summary":"Delete application","description":"Delete an application by its id_on_market.","operationId":"delete_application_api_v1_application__id_on_market__delete","parameters":[{"name":"id_on_market","in":"path","required":true,"schema":{"type":"string","title":"Id On Market"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referral_code":{"post":{"tags":["referral_code"],"summary":"Create a new referral code","description":"Create a new referral code","operationId":"create_referral_code_api_v1_referral_code_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReferralCodeRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"get":{"tags":["referral_code"],"summary":"Get all referral codes","description":"Get all referral codes","operationId":"get_all_referral_codes_api_v1_referral_code_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ReferralCodeDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/referral_code/{referral_code_id}":{"delete":{"tags":["referral_code"],"summary":"Delete a referral code","description":"Delete a referral code","operationId":"delete_referral_code_api_v1_referral_code__referral_code_id__delete","parameters":[{"name":"referral_code_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Referral Code Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/tracker":{"post":{"tags":["Tracker (Stream)"],"summary":"Create Tracker 📡","description":"Create a new tracker for an application as a user","operationId":"create_tracker_as_user_api_v1_tracker_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCreateDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCreateResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Tracker (Stream)"],"summary":"Get my trackers 📡","description":"Get all trackers of the current user","operationId":"get_my_trackers_api_v1_tracker_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filter_by_cloaking_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CloakingType"},{"type":"null"}],"title":"Filter by cloaking type"}},{"name":"filter_by_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracker Name"}},{"name":"filter_by_domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OrderByTracker"},{"type":"null"}],"title":"Order by"}},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","title":"Order direction","description":"'asc' or 'desc'","default":"asc"},"description":"'asc' or 'desc'"},{"name":"all_available","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs","default":false,"title":"All Available"},"description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs"},{"name":"filterByCompanyUserId","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by company user ID(s)","title":"Filterbycompanyuserid"},"description":"Filter by company user ID(s)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_FullTrackerResponse_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tracker/options":{"get":{"tags":["Tracker (Stream)"],"summary":"Get tracker options","description":"Get all trackers (id and name) for current user without pagination. Useful for dropdowns/filters.","operationId":"get_tracker_options_api_v1_tracker_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TrackerOptionDTO"},"type":"array","title":"Response Get Tracker Options Api V1 Tracker Options Get"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/tracker/{tracker_id}":{"get":{"tags":["Tracker (Stream)"],"summary":"Get Tracker 📡","description":"Get a tracker by ID","operationId":"get_tracker_by_id_api_v1_tracker__tracker_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerFullDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Tracker (Stream)"],"summary":"Update Tracker 📡","description":"Update a tracker for an application","operationId":"update_tracker_api_v1_tracker__tracker_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"delete":{"tags":["Tracker (Stream)"],"summary":"Delete Tracker 📡","description":"Delete a tracker","operationId":"delete_tracker_api_v1_tracker__tracker_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tracker/{tracker_id}/campaigns":{"post":{"tags":["Tracker (Stream)"],"summary":"Add a traffic source (campaign) to a tracker","description":"Registers a new traffic source (e.g. a new FB ad campaign) pointing at this tracker. Defaults to MODERATION status. Use the returned id as the campaignId query param on the tracker link for that new campaign's destination URL.","operationId":"create_tracker_campaign_api_v1_tracker__tracker_id__campaigns_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignCreateDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Tracker (Stream)"],"summary":"List traffic sources (campaigns) for a tracker","description":"Lists all traffic sources attached to this tracker with their moderation status.","operationId":"list_tracker_campaigns_api_v1_tracker__tracker_id__campaigns_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackerCampaignResponse"},"title":"Response List Tracker Campaigns Api V1 Tracker  Tracker Id  Campaigns Get"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tracker/{tracker_id}/campaigns/{campaign_id}":{"patch":{"tags":["Tracker (Stream)"],"summary":"Update a traffic source's moderation status","description":"Set status to ACTIVE to approve a traffic source once FB has approved the campaign.","operationId":"update_tracker_campaign_api_v1_tracker__tracker_id__campaigns__campaign_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tracker (Stream)"],"summary":"Delete a traffic source","description":"Deletes the campaign (traffic source) and every external identifier mapped to it. Its campaignId/sourceId links stop resolving immediately.","operationId":"delete_tracker_campaign_api_v1_tracker__tracker_id__campaigns__campaign_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign ID"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tracker/{tracker_id}/campaigns/{campaign_id}/sources":{"post":{"tags":["Tracker (Stream)"],"summary":"Add an external traffic source to an existing campaign","description":"Maps an external ad-platform identifier (e.g. an FB sub-campaign ID) onto this campaign. Use it as the sourceId query param on the tracker link for traffic coming through that identifier.","operationId":"add_tracker_campaign_source_api_v1_tracker__tracker_id__campaigns__campaign_id__sources_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign ID"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignSourceCreateDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerCampaignSourceResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tracker/{tracker_id}/campaigns/{campaign_id}/sources/{source_id}":{"delete":{"tags":["Tracker (Stream)"],"summary":"Remove an external traffic source from a campaign","description":"Removes one external identifier mapping. source_id here is the mapping's own id, returned as `id` when it was added — not the external ad-platform string.","operationId":"remove_tracker_campaign_source_api_v1_tracker__tracker_id__campaigns__campaign_id__sources__source_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker ID"}},{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign ID"}},{"name":"source_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Source mapping ID"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pixel":{"get":{"tags":["Pixels (Facebook, TikTok, etc.)"],"summary":"Get my pixels","description":"Get all pixels of current user.","operationId":"get_my_pixels_api_v1_pixel_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByPixel","description":"Field to order by","default":"created_at"},"description":"Field to order by"},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","description":"Order direction: 'asc' or 'desc'","default":"asc"},"description":"Order direction: 'asc' or 'desc'"},{"name":"filter_by_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PixelType","description":"Filter by: PixelType "},"description":"Filter by: PixelType "},{"name":"filterByCompanyUserId","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by company user ID(s)","title":"Filterbycompanyuserid"},"description":"Filter by company user ID(s)"},{"name":"all_available","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs","default":false,"title":"All Available"},"description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_PixelDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Pixels (Facebook, TikTok, etc.)"],"summary":"Create a pixel","description":"Create a pixel with Facebook Pixel Id, EAAG token and an optional comment.","operationId":"create_pixel_api_v1_pixel_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelCreateDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}}},"patch":{"tags":["Pixels (Facebook, TikTok, etc.)"],"summary":"Update a pixel","description":"Update specific fields of an existing pixel.","operationId":"update_pixel_api_v1_pixel_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pixel_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Pixel Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelResponseDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/pixel/{pixel_id}":{"delete":{"tags":["Pixels (Facebook, TikTok, etc.)"],"summary":"Delete pixel by it's ID","description":"Delete pixel you don't need","operationId":"delete_a_pixel_api_v1_pixel__pixel_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pixel_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pixel Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Pixels (Facebook, TikTok, etc.)"],"summary":"Get pixel by ID","description":"Retrieve pixel details by its ID","operationId":"get_pixel_by_id_api_v1_pixel__pixel_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pixel_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pixel Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PixelDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/postback":{"get":{"tags":["S2S Postbacks"],"summary":"Process postback events coming from apps","description":"This endpoint allows to process postback events: install, registration, deposit, open app, open grey part","operationId":"process_postback_events_api_v1_postback_get","parameters":[{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"exid","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Event ID"}},{"name":"pixelId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pixelid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/domains/search":{"get":{"tags":["Domains"],"summary":"Search for available domains","description":"Search for available domains by term with pricing information (includes commission)","operationId":"search_domains_api_v1_domains_search_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"term","in":"query","required":true,"schema":{"type":"string","description":"Search term (e.g., 'mywebsite')","title":"Term"},"description":"Search term (e.g., 'mywebsite')"},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Sort order: casino_first, popular_first, price_asc, price_desc, alphabetical","default":"popular_first","title":"Order By"},"description":"Sort order: casino_first, popular_first, price_asc, price_desc, alphabetical"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/domains/available":{"get":{"tags":["Domains"],"summary":"Get available pre-purchased domains","description":"Get available (pre-purchased) domains that can be bought with pricing (includes commission)","operationId":"get_available_domains_api_v1_domains_available_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Page size","default":50,"title":"Size"},"description":"Page size"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableDomainsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/domains":{"post":{"tags":["Domains"],"summary":"Purchase a domain","description":"Purchase a domain. Price will be deducted from user's balance (includes commission).","operationId":"purchase_domain_api_v1_domains_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainPurchaseRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainPurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Domains"],"summary":"Get all user domains","description":"Get all domains owned by the current user","operationId":"get_user_domains_api_v1_domains_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"domain_status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DomainsStatusType"},{"type":"null"}],"title":"Domain Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_DomainDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/domains/available/purchase":{"post":{"tags":["Domains"],"summary":"Purchase an available (pre-purchased) domain","description":"Purchase an available domain from the pre-purchased domain pool. Price will be deducted from user's balance.","operationId":"purchase_available_domain_api_v1_domains_available_purchase_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableDomainPurchaseRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainPurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/domains/register":{"post":{"tags":["Domains"],"summary":"Register a domain","description":"Register a domain","operationId":"register_domain_api_v1_domains_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainsDTOCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainsCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/domains/check-dns":{"post":{"tags":["Domains"],"summary":"Check DNS records for a domain","description":"Check all required DNS A records for a domain and stream results via Server-Sent Events","operationId":"check_domain_dns_api_v1_domains_check_dns_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainDNSCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/landing":{"post":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Create a landing using existing template","description":"Create a landing using existing template from s3 bucket.","operationId":"save_landing_api_v1_landing_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLandingDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"get":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Get list of custom landings","description":"Get list of custom landings of current user.","operationId":"get_landings_api_v1_landing_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filter_by_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Landing Name"}},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/OrderByLanding"},{"type":"null"}],"title":"Order by"}},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","title":"Order direction","description":"'asc' or 'desc'","default":"asc"},"description":"'asc' or 'desc'"},{"name":"filter_by_template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Filter by template ID"}},{"name":"filterByCompanyUserId","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by company user ID(s)","title":"Filterbycompanyuserid"},"description":"Filter by company user ID(s)"},{"name":"all_available","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs","default":false,"title":"All Available"},"description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_LandingCustomDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Update a landing","description":"Update specific fields of an existing landing.","operationId":"update_landing_api_v1_landing_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLandingDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/landing/copy/{landing_id}":{"post":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Copy landing","description":"Copy landing with all its translations. The new landing will have the same template as the original one.","operationId":"copy_landing_api_v1_landing_copy__landing_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}}],"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/landing/share/{landing_id}":{"post":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Share landing","description":"Share landing with all its translations. The new landing will have the same template as the original one.","operationId":"share_landing_api_v1_landing_share__landing_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}},{"name":"company_user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company User Id"}}],"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/landing/preview":{"get":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Get landings templates preview pictures","description":"Get list of landings templates preview pictures from s3 bucket.","operationId":"get_landing_templates_api_v1_landing_preview_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_LandingTemplatePreviewDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/landing/{template_id}":{"get":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Get landing template html","description":"Get landing template html from s3 bucket.","operationId":"get_landing_template_html_api_v1_landing__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/landing/display/{landing_id}":{"get":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Get custom landing by id","description":"Get custom landing by id. When event_id is provided, pixel events are triggered for direct-to-offer flow.","operationId":"get_custom_landing_by_id_api_v1_landing_display__landing_id__get","parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}},{"name":"offer_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offer Url"}},{"name":"event_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"}},{"name":"user_language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Language"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/landing/{landing_id}":{"delete":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Delete custom landing","description":"Delete custom landing from database.","operationId":"delete_landing_template_api_v1_landing__landing_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/landing/upload-folder/{folder_name}":{"post":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Upload multiple files (folder) to local directory","description":"Upload multiple files and store them in /opt/data/landing_templates/{folder_name}","operationId":"upload_folder_api_v1_landing_upload_folder__folder_name__post","parameters":[{"name":"folder_name","in":"path","required":true,"schema":{"type":"string","title":"Folder Name"}},{"name":"port","in":"query","required":false,"schema":{"type":"integer","default":65432,"title":"Port"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_folder_api_v1_landing_upload_folder__folder_name__post"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}}}},"/api/v1/landing/info/{landing_id}":{"get":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Get landing","description":"Get landing info by id","operationId":"get_landing_api_v1_landing_info__landing_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullLandingDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/landing/translation":{"post":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Create or update landing translation","description":"Create or update a translation for a landing page in a specific language. For automatic translation using DeepL, use the /api/v1/translation/landing endpoint instead.","operationId":"create_or_update_landing_translation_api_v1_landing_translation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLandingTranslationDTO"}}},"required":true},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/landing/translation/{landing_id}/{language_code}":{"delete":{"tags":["Landings (Pre-landing/Post-landing)"],"summary":"Delete landing translation","description":"Delete a specific translation for a landing page.","operationId":"delete_landing_translation_api_v1_landing_translation__landing_id___language_code__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"landing_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Landing Id"}},{"name":"language_code","in":"path","required":true,"schema":{"type":"string","title":"Language Code"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offer":{"post":{"tags":["User Offers"],"summary":"Create a new offer","description":"Create a new offer with URL and optional metadata.","operationId":"create_offer_api_v1_offer_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferCreateDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}},"get":{"tags":["User Offers"],"summary":"Get all user offers","description":"Retrieve all offers belonging to the current user.","operationId":"get_user_offers_api_v1_offer_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filterByCompanyUserId","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by company user ID(s)","title":"Filterbycompanyuserid"},"description":"Filter by company user ID(s)"},{"name":"all_available","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs","default":false,"title":"All Available"},"description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_OfferResponseDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offer/options":{"get":{"tags":["User Offers"],"summary":"Get offer options","description":"Get all offers (id and name) for current user without pagination. Useful for dropdowns/filters.","operationId":"get_offer_options_api_v1_offer_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OfferOptionDTO"},"type":"array","title":"Response Get Offer Options Api V1 Offer Options Get"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/offer/{offer_id}":{"get":{"tags":["User Offers"],"summary":"Get offer by ID","description":"Retrieve a specific offer by its ID.","operationId":"get_offer_api_v1_offer__offer_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponseDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["User Offers"],"summary":"Update offer","description":"Update an existing offer.","operationId":"update_offer_api_v1_offer__offer_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponseDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}},"delete":{"tags":["User Offers"],"summary":"Delete offer","description":"Delete an offer.","operationId":"delete_offer_api_v1_offer__offer_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offer/tracker":{"post":{"tags":["User Offers"],"summary":"Add offer to tracker","description":"Associate an offer with a tracker with a specific weight.","operationId":"add_offer_to_tracker_api_v1_offer_tracker_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerOfferCreateDTO"}}},"required":true},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/offer/tracker/{tracker_id}":{"get":{"tags":["User Offers"],"summary":"Get tracker offers","description":"Get all offers associated with a tracker.","operationId":"get_tracker_offers_api_v1_offer_tracker__tracker_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackerOfferResponseDTO"},"title":"Response Get Tracker Offers Api V1 Offer Tracker  Tracker Id  Get"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offer/tracker/{tracker_offer_id}":{"put":{"tags":["User Offers"],"summary":"Update tracker offer","description":"Update the weight of a tracker-offer association.","operationId":"update_tracker_offer_api_v1_offer_tracker__tracker_offer_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerOfferUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerOfferResponseDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}},"delete":{"tags":["User Offers"],"summary":"Remove offer from tracker","description":"Remove an offer from a tracker.","operationId":"remove_offer_from_tracker_api_v1_offer_tracker__tracker_offer_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker_offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tracker Offer Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/balance":{"get":{"tags":["User balance"],"summary":"Get balance","description":"Get balance of current user's account","operationId":"get_balance_api_v1_balance_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"check_wallet","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Wallet Check","default":false}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllBalancesDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transaction":{"get":{"tags":["User transactions"],"summary":"Get my transactions","description":"Get all transactions of the current user","operationId":"get_user_transactions_api_v1_transaction_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filter_by","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/TransactionType"},{"type":"null"}],"description":"Filter by type or empty for all","title":"Filter By"},"description":"Filter by type or empty for all"},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderByTransaction","description":"Field to sort by","default":"created_at"},"description":"Field to sort by"},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","description":"'asc' or 'desc'","default":"desc"},"description":"'asc' or 'desc'"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_ResponseTransactionDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet":{"get":{"tags":["User wallet"],"summary":"Get user wallet","description":"Get user wallet","operationId":"get_user_wallet_api_v1_wallet_get","responses":{"200":{"description":"User wallet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWalletDTO"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/stats/my-stats":{"get":{"tags":["User Statistics"],"summary":"Get my statistics","description":"Get statistics of current user","operationId":"get_my_statistics_api_v1_stats_my_stats_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"interval","in":"query","required":false,"schema":{"$ref":"#/components/schemas/IntervalEnum","description":"Interval for statistics","default":"week"},"description":"Interval for statistics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserStatisticsDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stats/map-stats":{"get":{"tags":["User Statistics"],"summary":"Get global stats for map","description":"Get statistics of geo","operationId":"get_map_statistics_api_v1_stats_map_stats_get","parameters":[{"name":"reason_block","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If True, includes records with any reason_block (not NULL). If False, includes only NULL. If omitted, includes all records.","title":"Reason Block"},"description":"If True, includes records with any reason_block (not NULL). If False, includes only NULL. If omitted, includes all records."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CountryStatDTO"},"title":"Response Get Map Statistics Api V1 Stats Map Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stats/events-timeseries":{"get":{"tags":["User Statistics"],"summary":"Get My Event Time Series for Charts 📈","description":"Get time-series data for your app events aggregated by interval (hour/day/week/month). Perfect for creating trading-chart-like visualizations with scrolling and zoom.","operationId":"get_my_event_time_series_api_v1_stats_events_timeseries_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Start date for the time series (ISO 8601 format). Required.","title":"Startdate"},"description":"Start date for the time series (ISO 8601 format). Required.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"End date for the time series (ISO 8601 format). Required.","title":"Enddate"},"description":"End date for the time series (ISO 8601 format). Required.","example":"2024-01-31T23:59:59Z"},{"name":"interval","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TimeInterval","description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","default":"day"},"description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","example":"day"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTimeSeriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stats/my-events":{"get":{"tags":["User Statistics"],"summary":"Get My Event Statistics 📊","description":"Get your app events statistics (clicks, installs, leads, sales) for a specific time range. If no time range is provided, statistics for all time are returned.","operationId":"get_my_event_statistics_api_v1_stats_my_events_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date for filtering events (ISO 8601 format). If not provided, all events from the beginning are included.","title":"Startdate"},"description":"Start date for filtering events (ISO 8601 format). If not provided, all events from the beginning are included.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date for filtering events (ISO 8601 format). If not provided, all events until now are included.","title":"Enddate"},"description":"End date for filtering events (ISO 8601 format). If not provided, all events until now are included.","example":"2024-12-31T23:59:59Z"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyEventStatsDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stats/my-resources":{"get":{"tags":["User Statistics"],"summary":"Get My Resource Statistics 📊","description":"Get your resource counts (trackers, offers, PWAs) for a specific time range. If no time range is provided, counts for all time are returned.","operationId":"get_my_resource_statistics_api_v1_stats_my_resources_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date for filtering resources (ISO 8601 format). If not provided, all resources from the beginning are included.","title":"Startdate"},"description":"Start date for filtering resources (ISO 8601 format). If not provided, all resources from the beginning are included.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date for filtering resources (ISO 8601 format). If not provided, all resources until now are included.","title":"Enddate"},"description":"End date for filtering resources (ISO 8601 format). If not provided, all resources until now are included.","example":"2024-12-31T23:59:59Z"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MyResourceStatsDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events":{"get":{"tags":["Events (Clicks)"],"summary":"Get trackers statistics","description":"Get statistics of trackers","operationId":"get_trackers_statistics_api_v1_events_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Tracker"}},{"name":"deviceIp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deviceip"}},{"name":"deviceBrand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicebrand"}},{"name":"deviceModel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicemodel"}},{"name":"deviceType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicetype"}},{"name":"osName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osname"}},{"name":"osVersion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osversion"}},{"name":"browserName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browsername"}},{"name":"browserVersion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browserversion"}},{"name":"store","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StoreEnum"}},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}},{"name":"appNamespace","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appnamespace"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"click","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Click"}},{"name":"install","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Install"}},{"name":"lead","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Lead"}},{"name":"first_sale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"First Sale"}},{"name":"repeatedSale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Repeatedsale"}},{"name":"reasonBlock","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reasonblock"}},{"name":"isBlack","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isblack"}},{"name":"createdAt","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"title":"Createdat"}},{"name":"orderBy","in":"query","required":false,"schema":{"anyOf":[{"enum":["createdAt","click","install","lead","firstSale","repeatedSale","deviceIp","country","city"],"type":"string"},{"type":"null"}],"description":"Field to order results by. Defaults to createdAt if not specified.","title":"Orderby"},"description":"Field to order results by. Defaults to createdAt if not specified."},{"name":"orderDirection","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"description":"Order direction (asc or desc). Defaults to desc if not specified.","title":"Orderdirection"},"description":"Order direction (asc or desc). Defaults to desc if not specified."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_EventsResponse_"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/csv":{"get":{"tags":["Events (Clicks)"],"summary":"Get trackers statistics in CSV format and download","description":"Get statistics of trackers in CSV format and download","operationId":"get_trackers_statistics_csv_api_v1_events_csv_get","parameters":[{"name":"trackerId","in":"query","required":true,"schema":{"type":"array","items":{"type":"string","format":"uuid"},"description":"One or more tracker IDs","title":"Trackerid"},"description":"One or more tracker IDs"},{"name":"createdAt","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(asc|desc)$"},{"type":"null"}],"description":"Sort order (asc or desc)","default":"desc","title":"Createdat"},"description":"Sort order (asc or desc)"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Limit the number of records","title":"Limit"},"description":"Limit the number of records"},{"name":"deviceIp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deviceip"}},{"name":"deviceBrand","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicebrand"}},{"name":"deviceModel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicemodel"}},{"name":"deviceType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicetype"}},{"name":"osName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osname"}},{"name":"osVersion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osversion"}},{"name":"browserName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browsername"}},{"name":"browserVersion","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browserversion"}},{"name":"store","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/StoreEnum"},{"type":"null"}],"title":"Store"}},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"}},{"name":"appNamespace","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appnamespace"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"click","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Click"}},{"name":"install","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Install"}},{"name":"lead","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Lead"}},{"name":"firstSale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Firstsale"}},{"name":"repeatedSale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Repeatedsale"}},{"name":"reasonBlock","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Reasonblock"}},{"name":"isBlack","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isblack"}},{"name":"uniqueClick","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Uniqueclick"}},{"name":"userClickId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userclickid"}},{"name":"preLandingId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Prelandingid"}},{"name":"postLandingId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Postlandingid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/grouped-statistics":{"get":{"tags":["Events (Clicks)"],"summary":"Get grouped app events statistics","description":"Get grouped statistics of app events with various filters.\n\n**Available Filters:**\n- **tracker** - Filter by one or more tracker IDs\n- **offer** - Filter by one or more offer IDs\n- **domain** - Filter by domain name\n- **appNamespace** - Filter by one or more app namespaces (package names)\n- **country** - Filter by country code\n- **startDate** - Start date to filter events (ISO 8601 format)\n- **endDate** - End date to filter events (ISO 8601 format)","operationId":"get_grouped_app_events_statistics_api_v1_events_grouped_statistics_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by one or more tracker IDs","title":"Tracker"},"description":"Filter by one or more tracker IDs"},{"name":"offer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by one or more offer IDs","title":"Offer"},"description":"Filter by one or more offer IDs"},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain name","title":"Domain"},"description":"Filter by domain name"},{"name":"appNamespace","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by one or more app namespaces (package names)","title":"Appnamespace"},"description":"Filter by one or more app namespaces (package names)"},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by country code","title":"Country"},"description":"Filter by country code"},{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional start date to filter events (ISO 8601 format)","title":"Startdate"},"description":"Optional start date to filter events (ISO 8601 format)","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional end date to filter events (ISO 8601 format)","title":"Enddate"},"description":"Optional end date to filter events (ISO 8601 format)","example":"2024-01-31T23:59:59Z"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_AppEventsGroupedStatisticsDTO_"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/grouped-statistics/summary":{"get":{"tags":["Events (Clicks)"],"summary":"Get summary app events statistics","description":"Get summary statistics of app events with various filters.\n\n**Available Filters:**\n- **tracker** - Filter by one or more tracker IDs\n- **offer** - Filter by one or more offer IDs\n- **domain** - Filter by domain name\n- **appNamespace** - Filter by one or more app namespaces (package names)\n- **country** - Filter by country code\n- **startDate** - Start date to filter events (ISO 8601 format)\n- **endDate** - End date to filter events (ISO 8601 format)","operationId":"get_summary_app_events_statistics_api_v1_events_grouped_statistics_summary_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by one or more tracker IDs","title":"Tracker"},"description":"Filter by one or more tracker IDs"},{"name":"offer","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by one or more offer IDs","title":"Offer"},"description":"Filter by one or more offer IDs"},{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by domain name","title":"Domain"},"description":"Filter by domain name"},{"name":"appNamespace","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by one or more app namespaces (package names)","title":"Appnamespace"},"description":"Filter by one or more app namespaces (package names)"},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by country code","title":"Country"},"description":"Filter by country code"},{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional start date to filter events (ISO 8601 format)","title":"Startdate"},"description":"Optional start date to filter events (ISO 8601 format)","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Optional end date to filter events (ISO 8601 format)","title":"Enddate"},"description":"Optional end date to filter events (ISO 8601 format)","example":"2024-01-31T23:59:59Z"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppEventsStatisticsSummaryDTO"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/graph":{"get":{"tags":["Events (Clicks)"],"summary":"Get Event Time Series for Charts 📈","description":"Get time-series data for app events aggregated by interval (hour/day/week/month). Perfect for creating trading-chart-like visualizations with scrolling and zoom. Filters events by specified tracker(s).","operationId":"get_graph_statistics_api_v1_events_graph_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"title":"Tracker"}},{"name":"startDate","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"Start date for the time series (ISO 8601 format). Required.","default":"2026-08-24T08:53:06.117501","title":"Startdate"},"description":"Start date for the time series (ISO 8601 format). Required.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"End date for the time series (ISO 8601 format). Required.","default":"2026-08-31T08:53:06.117511","title":"Enddate"},"description":"End date for the time series (ISO 8601 format). Required.","example":"2024-01-31T23:59:59Z"},{"name":"interval","in":"query","required":false,"schema":{"$ref":"#/components/schemas/IntervalEnum","description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","default":"day"},"description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","example":"day"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppEventsGraphDTO"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/login/{event_id}":{"post":{"tags":["Events (Clicks)"],"summary":"Record app install/login event","description":"Marks the tracked event as installed/logged-in, resolves the offer URL and pixel attribution, and records the client-supplied deviceId notification delivery.","operationId":"log_tracker_click_api_v1_events_login__event_id__post","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}},{"name":"deviceId","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Deviceid"}},{"name":"pixelId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Pixelid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/wp/{kind}":{"get":{"tags":["Events (Clicks)"],"summary":"Serve a server-status white page","description":"Public, unauthenticated white page hosted by the backend instead of an external site: `403` and `404` answer with that status, `blank` with an empty 200. Any other kind renders the 404 page. Normally these are answered inline by the click redirect endpoint (so the visitor keeps the stream domain in the address bar); this route exists so the stored URL also resolves when opened directly.","operationId":"get_white_page_status_api_v1_events_wp__kind__get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"403":{"description":"Forbidden page","content":{"text/html":{}}},"404":{"description":"Not Found page","content":{"text/html":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/events/redirect/{tracker_id}":{"get":{"tags":["Events (Clicks)"],"summary":"Handle tracker click redirect","description":"Processes click redirect with cloaking logic and returns appropriate offer URL or whitepage. When the selected whitepage is one of the backend-hosted status pages (403, 404, blank), the page is returned inline with its own status code instead of a 307.","operationId":"handle_tracker_redirect_api_v1_events_redirect__tracker_id__get","parameters":[{"name":"tracker_id","in":"path","required":true,"schema":{"type":"string","title":"Tracker Id"}},{"name":"pixelId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Pixelid"}},{"name":"campaignId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Campaignid"}},{"name":"sourceId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourceid"}}],"responses":{"307":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/resource-status":{"get":{"tags":["Dashboard"],"summary":"Aggregated resource counters","description":"Per-user counters used by the dashboard Resources widget, onboarding steps and recommendations. Returns all 8 keys even if `resources[]` is provided — the parameter is just a hint for cache warming.","operationId":"get_resource_status_api_v1_dashboard_resource_status_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"resources","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["streams","balance","pwa","landings","domains","pixels"],"type":"string"}},{"type":"null"}],"description":"Optional hint; all counters are always returned.","title":"Resources"},"description":"Optional hint; all counters are always returned."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResourceStatusDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/recent-activity":{"get":{"tags":["Dashboard"],"summary":"Merged recent activity feed","description":"Returns the most recent changes across streams/offers/pwas/landings/domains/pixels already merged and sorted by timestamp desc. Resolution order for parameters: query > user settings > default.","operationId":"get_recent_activity_api_v1_dashboard_recent_activity_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":50,"minimum":1},{"type":"null"}],"description":"Number of items after merge/sort. Default from settings.","title":"Limit"},"description":"Number of items after merge/sort. Default from settings."},{"name":"entityTypes","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["stream","offer","pwa","landing","domain","pixel","push"],"type":"string"}},{"type":"null"}],"description":"Subset of entity types to include.","title":"Entitytypes"},"description":"Subset of entity types to include."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardRecentActivityResponseDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/analytics":{"get":{"tags":["Dashboard"],"summary":"Analytics for current + previous period","description":"Combined KPI summary and time-series for two ranges (current + previous for deltas). All ranges are computed in the user's timezone (query `tz` or UTC fallback). Resolution order: query > user settings > default.","operationId":"get_analytics_api_v1_dashboard_analytics_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tracker","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"},"title":"Tracker"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Narrow analytics to trackers owned by the given teams. Filtered against the caller's permitted set; invalid ids are dropped silently.","title":"Team Id"},"description":"Narrow analytics to trackers owned by the given teams. Filtered against the caller's permitted set; invalid ids are dropped silently."},{"name":"company_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Narrow analytics to trackers owned by the given company members. Filtered against the caller's permitted set; invalid ids are dropped silently.","title":"Company User Id"},"description":"Narrow analytics to trackers owned by the given company members. Filtered against the caller's permitted set; invalid ids are dropped silently."},{"name":"period","in":"query","required":false,"schema":{"anyOf":[{"enum":["today","last_24h","last_7d","this_week","last_30d","this_month","last_90d","this_year","custom"],"type":"string"},{"type":"null"}],"description":"Period preset id. Required unless the user has a stored defaultPeriod.","title":"Period"},"description":"Period preset id. Required unless the user has a stored defaultPeriod."},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Required when period=custom (ISO 8601).","title":"From"},"description":"Required when period=custom (ISO 8601)."},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Required when period=custom (ISO 8601).","title":"To"},"description":"Required when period=custom (ISO 8601)."},{"name":"tz","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"IANA timezone (e.g. Europe/Berlin). UTC fallback.","title":"Tz"},"description":"IANA timezone (e.g. Europe/Berlin). UTC fallback."},{"name":"chartMetrics","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["clicks","uniqueClicks","installs","leads","firstSales","repeatedSales","totalEvents","blockedEvents","whiteClicks","blackClicks"],"type":"string"}},{"type":"null"}],"description":"Subset of fields to include in dataPoints.","title":"Chartmetrics"},"description":"Subset of fields to include in dataPoints."},{"name":"summaryMetrics","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"enum":["totalClicks","uniqueClicks","totalInstalls","totalLeads","totalFirstSales","totalRepeatedSales","totalEvents","blockedEvents","uniqueUsers","repeatBuyers","whiteClicks","blackClicks"],"type":"string"}},{"type":"null"}],"description":"Opt-in summary keys. Currently only `uniqueUsers` (COUNT DISTINCT) actually changes execution; other keys are always populated.","title":"Summarymetrics"},"description":"Opt-in summary keys. Currently only `uniqueUsers` (COUNT DISTINCT) actually changes execution; other keys are always populated."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardAnalyticsResponseDTO"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/settings":{"get":{"tags":["Dashboard"],"summary":"Get dashboard settings","description":"Returns the user's persisted dashboard preferences. If the user has no record yet, returns the hard-coded defaults (without creating a row).","operationId":"get_settings_api_v1_dashboard_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSettingsDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"put":{"tags":["Dashboard"],"summary":"Replace dashboard settings","description":"Full replacement (no partial merge). Validation is strict — unknown enum ids are rejected via 422. First write creates the row.","operationId":"put_settings_api_v1_dashboard_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSettingsDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardSettingsDTO"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/promo_codes":{"get":{"tags":["Promo codes"],"summary":"Use promo codes","description":"Process of promo codes usage","operationId":"process_promo_code_api_v1_promo_codes_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/promo_codesfree_events_balance":{"get":{"tags":["Promo codes"],"summary":"Get free events balance","description":"Get free events balance","operationId":"get_free_events_balance_api_v1_promo_codesfree_events_balance_get","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FreeEventsDTO"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/tag":{"post":{"tags":["Tags"],"summary":"Create a tag","description":"Create new tag","operationId":"create_tag_api_v1_tag_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}}},"get":{"tags":["Tags"],"summary":"Get user's tags","description":"Get all user's tags","operationId":"get_user_tags_api_v1_tag_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_TagWithIDDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tags"],"summary":"Delete tag","description":"Delete a specific user`s tag","operationId":"delete_tag_by_id_api_v1_tag_delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tag_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Tags"],"summary":"Edit tag","description":"Edit tag by id","operationId":"edit_tag_api_v1_tag_put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tag_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}}}},"/api/v1/tag/bind":{"delete":{"tags":["Tags"],"summary":"Delete tag from instance","description":"Deletes a tag from a specific instance","operationId":"delete_tag_instance_api_v1_tag_bind_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDeleteDTO"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tag/{tag_id}":{"get":{"tags":["Tags"],"summary":"Get tag","description":"Get a specific tag by id","operationId":"get_tag_by_id_api_v1_tag__tag_id__get","parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullTagDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tag/instance":{"post":{"tags":["Tags"],"summary":"Create a TagInstance","description":"Create new TagInstance","operationId":"create_tag_instance_api_v1_tag_instance_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"tag_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Instance Id"}},{"name":"instance_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Instances","description":"Type of the instance"},"description":"Type of the instance"}],"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"409":{"description":"The resource already exists or conflicts with an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictResponse"}}}}}}},"/api/v1/tag/instance/groups":{"get":{"tags":["Tags"],"summary":"Get user's instances tags","description":"Get all user's instances tags","operationId":"get_user_instance_tags_api_v1_tag_instance_groups_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupedInstanceTagsDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/tag/instance/tags":{"get":{"tags":["Tags"],"summary":"Get user's instance tags","description":"Get user's specific instance tags","operationId":"get_instance_tags_by_id_api_v1_tag_instance_tags_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"instance_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Instance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceTagByIDDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/all":{"get":{"tags":["PWA"],"summary":"Get all PWAs","description":"Get all the PWAs","operationId":"get_all_pwas_api_v1_pwa_all_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPWA"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa":{"post":{"tags":["PWA"],"summary":"Create a new PWA","description":"Create a new PWA and fill in the details","operationId":"create_pwa_api_v1_pwa_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWADTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWAResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["PWA"],"summary":"Get my PWAs","description":"Get all the PWAs of the user","operationId":"get_my_pwas_api_v1_pwa_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filterByCompanyUserId","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by company user ID(s)","title":"Filterbycompanyuserid"},"description":"Filter by company user ID(s)"},{"name":"all_available","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs","default":false,"title":"All Available"},"description":"Whether to get all PWAs (including those of other users in the same company, if permissions allow) or only the user's own PWAs"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"orderBy","in":"query","required":false,"schema":{"enum":["released_at","updated_app_at","created_at"],"type":"string","default":"created_at","title":"Orderby"}},{"name":"orderDirection","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Orderdirection"}},{"name":"rating","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"}},{"name":"downloadCount","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Downloadcount"}},{"name":"filterByName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filterbyname"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPWA"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["PWA"],"summary":"Delete PWA","description":"Delete users PWA by id","operationId":"delete_pwa_by_id_api_v1_pwa_delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/copy/{pwa_id}":{"post":{"tags":["PWA"],"summary":"Copy PWA","description":"Create a copy of an existing PWA","operationId":"copy_pwa_api_v1_pwa_copy__pwa_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWAResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["PWA"],"summary":"Copy PWA","description":"Create a copy of an existing PWA","operationId":"copy_pwa_api_v1_pwa_copy__pwa_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWAResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/share/{pwa_id}":{"post":{"tags":["PWA"],"summary":"Share PWA","description":"Share a copy of an existing PWA","operationId":"share_pwa_api_v1_pwa_share__pwa_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}},{"name":"company_user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company User Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWAResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/translation":{"post":{"tags":["PWA"],"summary":"Create or update pwa translation","description":"Create or update a translation for a pwa page in a specific language.","operationId":"create_or_update_pwa_translation_api_v1_pwa_translation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePWATranslationDTO"}}},"required":true},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/pwa/slugs":{"get":{"tags":["PWA"],"summary":"Get all PWA slugs of current user","description":"Get all the slugs of the PWAs of the current user","operationId":"get_user_pwa_slugs_api_v1_pwa_slugs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PWASlugsDTO"},"type":"array","title":"Response Get User Pwa Slugs Api V1 Pwa Slugs Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/pwa/slugs/all":{"get":{"tags":["PWA"],"summary":"Get all PWA slugs","description":"Get all the slugs of the PWAs","operationId":"get_pwa_slugs_api_v1_pwa_slugs_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PWASlugsDTO"},"type":"array","title":"Response Get Pwa Slugs Api V1 Pwa Slugs All Get"}}}}}}},"/api/v1/pwa/{pwa_id}":{"get":{"tags":["PWA"],"summary":"Get PWA by ID","description":"Get a PWA by its ID","operationId":"get_pwa_by_id_api_v1_pwa__pwa_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional language code for translation","title":"Language"},"description":"Optional language code for translation"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullPWADTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/public/{pwa_id}":{"get":{"tags":["PWA"],"summary":"Get public PWA by ID","description":"Public, unauthenticated endpoint used by the PWA static generator. Returns only the data required to render the PWA — no auth,no permission checks, and no owner/internal fields.","operationId":"get_pwa_by_id_public_api_v1_pwa_public__pwa_id__get","parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional language code for translation","title":"Language"},"description":"Optional language code for translation"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPWADTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/update/{pwa_id}":{"patch":{"tags":["PWA"],"summary":"Update PWA","description":"Update PWA details","operationId":"update_pwa_api_v1_pwa_update__pwa_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePWADTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/translation/{pwa_id}/{language_code}":{"delete":{"tags":["PWA"],"summary":"Delete landing translation","description":"Delete a specific translation for a landing page.","operationId":"delete_landing_translation_api_v1_pwa_translation__pwa_id___language_code__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}},{"name":"language_code","in":"path","required":true,"schema":{"type":"string","title":"Language Code"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa/manifest/{pwa_id}":{"get":{"tags":["PWA"],"summary":"Generate manifest","description":"Generate manifest for PWA","operationId":"generate_manifest_api_v1_pwa_manifest__pwa_id__get","parameters":[{"name":"pwa_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Id"}},{"name":"event_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Optional event ID","title":"Event Id"},"description":"Optional event ID"},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional language code for translation","title":"Language"},"description":"Optional language code for translation"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManifestDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa_template":{"post":{"tags":["PWATemplate"],"summary":"Create a new PWATemplate","description":"Create a new PWATemplate and fill in the details","operationId":"create_pwa_template_api_v1_pwa_template_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePWATemplateDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PWATemplateResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["PWATemplate"],"summary":"Get all PWATemplates","description":"Get all PWATemplates","operationId":"get_all_pwa_templates_api_v1_pwa_template_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"template_owner","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PWATemplateEnum","description":"The template owner filter","default":"all"},"description":"The template owner filter"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedPWATemplate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["PWATemplate"],"summary":"Delete PWA","description":"Delete users PWA by id","operationId":"delete_pwa_by_id_api_v1_pwa_template_delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_template_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Template Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa_template/{pwa_template_id}":{"get":{"tags":["PWATemplate"],"summary":"Get a PWATemplate","description":"Get a PWATemplate by ID","operationId":"get_pwa_template_api_v1_pwa_template__pwa_template_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullPWATemplateDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/pwa_template/update/{pwa_template_id}":{"patch":{"tags":["PWATemplate"],"summary":"Update PWATemplate","description":"Update PWATemplate details","operationId":"update_pwa_template_api_v1_pwa_template_update__pwa_template_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"pwa_template_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pwa Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePWATemplateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/media":{"post":{"tags":["Media Library"],"summary":"Upload a media asset","description":"Upload a file into the library. Dedup by checksum returns the existing asset.","operationId":"upload_media_api_v1_media_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_media_api_v1_media_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaAssetDTO"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Request Entity Too Large"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Unsupported Media Type"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Unprocessable Entity"}}},"get":{"tags":["Media Library"],"summary":"List media assets","description":"Filter, search and paginate the library. Section is a soft filter (omit = All).","operationId":"list_media_api_v1_media_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaKind"},{"type":"null"}],"title":"Kind"}},{"name":"section","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section"}},{"name":"folderId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"uuid or 'root'","title":"Folderid"},"description":"uuid or 'root'"},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}},{"name":"usedIn","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/MediaEntityType"},{"type":"null"}],"title":"Usedin"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Matches the filename or any of the asset's tags.","title":"Search"},"description":"Matches the filename or any of the asset's tags."},{"name":"minWidth","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Hide images narrower than this (picker gate).","title":"Minwidth"},"description":"Hide images narrower than this (picker gate)."},{"name":"minHeight","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"Hide images shorter than this (picker gate).","title":"Minheight"},"description":"Hide images shorter than this (picker gate)."},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Archived"}},{"name":"includeDerived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Includederived"}},{"name":"sort","in":"query","required":false,"schema":{"$ref":"#/components/schemas/MediaSortField","default":"-createdAt"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedMediaAsset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/media/contexts":{"get":{"tags":["Media Library"],"summary":"Get the media context/preset registry","description":"The single source of truth for field ratios, min-dimensions and derivatives. Cache forever on the client.","operationId":"get_media_contexts_api_v1_media_contexts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MediaContextDTO"},"type":"array","title":"Response Get Media Contexts Api V1 Media Contexts Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/media/tags":{"get":{"tags":["Media Library"],"summary":"List the library's tag vocabulary","description":"Distinct tag names in use on media the caller can see, alphabetically — the autocomplete source for the tag input. Org-scoped like the asset list, unlike GET /tag.","operationId":"list_media_tags_api_v1_media_tags_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response List Media Tags Api V1 Media Tags Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/media/folders":{"get":{"tags":["Media Library"],"summary":"List folders","operationId":"list_folders_api_v1_media_folders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MediaFolderDTO"},"type":"array","title":"Response List Folders Api V1 Media Folders Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["Media Library"],"summary":"Create a folder","operationId":"create_folder_api_v1_media_folders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderDTO"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaFolderDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/media/folders/{folder_id}":{"patch":{"tags":["Media Library"],"summary":"Rename a folder","operationId":"update_folder_api_v1_media_folders__folder_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaFolderDTO"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Media Library"],"summary":"Delete a folder","description":"Assets in the folder fall back to root.","operationId":"delete_folder_api_v1_media_folders__folder_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/media/move":{"post":{"tags":["Media Library"],"summary":"Move assets to a folder","description":"folderId = null moves the assets to root.","operationId":"move_media_api_v1_media_move_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveMediaDTO"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/media/{asset_id}":{"get":{"tags":["Media Library"],"summary":"Get a media asset","description":"Includes variants and usages.","operationId":"get_media_api_v1_media__asset_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaAssetDTO"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Media Library"],"summary":"Update a media asset","description":"Rename, move, archive/unarchive, retag, re-file under another context.","operationId":"update_media_api_v1_media__asset_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMediaAssetDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaAssetDTO"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Unprocessable Entity"}}},"delete":{"tags":["Media Library"],"summary":"Delete a media asset","description":"Blocked with 409 while in use unless force=true (owner or company HEAD).","operationId":"delete_media_api_v1_media__asset_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"204":{"description":"Successful Response"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Conflict"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/media/{asset_id}/crop":{"post":{"tags":["Media Library"],"summary":"Crop an asset","description":"Server cuts a normalized rectangle from the root original into a new derived asset.","operationId":"crop_media_api_v1_media__asset_id__crop_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropMediaDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaAssetDTO"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Unprocessable Entity"}}}},"/api/v1/media/{asset_id}/split":{"post":{"tags":["Media Library"],"summary":"Split an asset into N slices","description":"Slice one image into N derived assets (e.g. a wide background into screenshots).","operationId":"split_media_api_v1_media__asset_id__split_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitMediaDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MediaAssetDTO"},"title":"Response Split Media Api V1 Media  Asset Id  Split Post"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}},"description":"Unprocessable Entity"}}}},"/api/v1/ai/comment":{"get":{"tags":["AI PWA Content Generation"],"summary":"Get Comment","description":"Get a comment from the AI with nested replies","operationId":"get_comment_api_v1_ai_comment_get","parameters":[{"name":"amount_of_comments","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Amount Of Comments"}},{"name":"context","in":"query","required":false,"schema":{"type":"string","default":"Describe my aviator game","title":"Context"}},{"name":"generate_images","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Generate Images"}},{"name":"generate_replies","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Generate Replies"}},{"name":"max_reply_depth","in":"query","required":false,"schema":{"type":"integer","default":2,"title":"Max Reply Depth"}},{"name":"model","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ModelChoices","default":"gpt-3.5-turbo"}},{"name":"temperature","in":"query","required":false,"schema":{"type":"number","default":0.5,"title":"Temperature"}},{"name":"max_tokens","in":"query","required":false,"schema":{"type":"integer","default":2000,"title":"Max Tokens"}},{"name":"top_p","in":"query","required":false,"schema":{"type":"number","default":1.0,"title":"Top P"}},{"name":"frequency_penalty","in":"query","required":false,"schema":{"type":"number","default":0.0,"title":"Frequency Penalty"}},{"name":"presence_penalty","in":"query","required":false,"schema":{"type":"number","default":0.0,"title":"Presence Penalty"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/photo":{"get":{"tags":["AI PWA Content Generation"],"summary":"Proxy image from thispersondoesnotexist.com","operationId":"proxy_photo_api_v1_ai_photo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/ai/pwa/generate":{"get":{"tags":["AI PWA Content Generation"],"summary":"Generate one PWADTO","description":"Generate one PWADTO","operationId":"generate_one_pwa_api_v1_ai_pwa_generate_get","parameters":[{"name":"context","in":"query","required":false,"schema":{"type":"string","default":"Describe my aviator game","title":"Context"}},{"name":"model","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ModelChoices","default":"gpt-3.5-turbo"}},{"name":"temperature","in":"query","required":false,"schema":{"type":"number","default":0.6,"title":"Temperature"}},{"name":"max_tokens","in":"query","required":false,"schema":{"type":"integer","default":3000,"title":"Max Tokens"}},{"name":"top_p","in":"query","required":false,"schema":{"type":"number","default":1.0,"title":"Top P"}},{"name":"frequency_penalty","in":"query","required":false,"schema":{"type":"number","default":0.0,"title":"Frequency Penalty"}},{"name":"presence_penalty","in":"query","required":false,"schema":{"type":"number","default":0.0,"title":"Presence Penalty"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cap-offers":{"post":{"tags":["Cap Offers"],"summary":"Create a new cap offer","description":"Create a new offer cap with name, type, size, Keitaro IDs, comments, and optional user linking.","operationId":"create_cap_offer_api_v1_cap_offers_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapOfferCreateDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}}}},"get":{"tags":["Cap Offers"],"summary":"Get all cap offers","description":"Retrieve all cap offers, optionally filtered by user ID.","operationId":"get_all_cap_offers_api_v1_cap_offers_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by user ID","title":"User Id"},"description":"Filter by user ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CapOfferResponseDTO"},"title":"Response Get All Cap Offers Api V1 Cap Offers Get"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cap-offers/{cap_offer_id}":{"get":{"tags":["Cap Offers"],"summary":"Get cap offer by ID","description":"Retrieve a specific cap offer by its ID.","operationId":"get_cap_offer_api_v1_cap_offers__cap_offer_id__get","parameters":[{"name":"cap_offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cap Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapOfferResponseDTO"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Cap Offers"],"summary":"Update cap offer","description":"Update an existing cap offer.","operationId":"update_cap_offer_api_v1_cap_offers__cap_offer_id__put","parameters":[{"name":"cap_offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cap Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapOfferUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapOfferResponseDTO"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}}}},"delete":{"tags":["Cap Offers"],"summary":"Delete cap offer","description":"Delete a cap offer by ID.","operationId":"delete_cap_offer_api_v1_cap_offers__cap_offer_id__delete","parameters":[{"name":"cap_offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cap Offer Id"}}],"responses":{"204":{"description":"Successful Response"},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"500":{"description":"An unexpected error occurred. Please try again later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keitaro/offers/search":{"get":{"tags":["Keitaro"],"summary":"Search offers in Keitaro","description":"Search offers by term in Keitaro and return id and name.","operationId":"search_offers_api_v1_keitaro_offers_search_get","parameters":[{"name":"term","in":"query","required":true,"schema":{"type":"string","description":"Search term to find offers","title":"Term"},"description":"Search term to find offers"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KeitaroOfferDTO"},"title":"Response Search Offers Api V1 Keitaro Offers Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/users/events":{"get":{"tags":["Admin Analytics"],"summary":"Get Users Event Statistics 📊","description":"Get all users with their app events statistics (clicks, installs, leads, sales) for a specific time range. If no time range is provided, statistics for all time are returned. **SUPERUSER only**","operationId":"get_users_event_statistics_api_v1_analytics_users_events_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date for filtering events (ISO 8601 format). If not provided, all events from the beginning are included.","title":"Startdate"},"description":"Start date for filtering events (ISO 8601 format). If not provided, all events from the beginning are included.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date for filtering events (ISO 8601 format). If not provided, all events until now are included.","title":"Enddate"},"description":"End date for filtering events (ISO 8601 format). If not provided, all events until now are included.","example":"2024-12-31T23:59:59Z"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_UserEventStatsDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/users/resources":{"get":{"tags":["Admin Analytics"],"summary":"Get Users Resource Statistics 📊","description":"Get all users with their resource counts (trackers, offers, PWAs) for a specific time range. If no time range is provided, counts for all time are returned. **SUPERUSER only**","operationId":"get_users_resource_statistics_api_v1_analytics_users_resources_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Start date for filtering resources (ISO 8601 format). If not provided, all resources from the beginning are included.","title":"Startdate"},"description":"Start date for filtering resources (ISO 8601 format). If not provided, all resources from the beginning are included.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"End date for filtering resources (ISO 8601 format). If not provided, all resources until now are included.","title":"Enddate"},"description":"End date for filtering resources (ISO 8601 format). If not provided, all resources until now are included.","example":"2024-12-31T23:59:59Z"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_UserResourceStatsDTO_"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/events/timeseries":{"get":{"tags":["Admin Analytics"],"summary":"Get ALL Users Event Time Series for Charts 📈","description":"Get time-series data for ALL USERS' app events aggregated by interval (hour/day/week/month). Perfect for system-wide analytics and charts. **SUPERUSER only**","operationId":"get_all_users_event_time_series_api_v1_analytics_events_timeseries_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Start date for the time series (ISO 8601 format). Required.","title":"Startdate"},"description":"Start date for the time series (ISO 8601 format). Required.","example":"2024-01-01T00:00:00Z"},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"End date for the time series (ISO 8601 format). Required.","title":"Enddate"},"description":"End date for the time series (ISO 8601 format). Required.","example":"2024-01-31T23:59:59Z"},{"name":"interval","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TimeInterval","description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","default":"day"},"description":"Time interval for data aggregation. Choose based on your date range:\n- **hour**: For ranges < 7 days (detailed view)\n- **day**: For ranges < 3 months (default)\n- **week**: For ranges < 1 year\n- **month**: For ranges > 1 year (overview)","example":"day"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTimeSeriesResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feature_flags/tg_verification":{"get":{"tags":["Feature Flags"],"summary":"Tg Verification","operationId":"tg_verification_api_v1_feature_flags_tg_verification_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/translation/{entity_type}/{entity_id}":{"post":{"tags":["Translation"],"summary":"Translate any entity","description":"Translate the content of any supported entity using DeepL. Supported entity_type values: landing, pwa","operationId":"translate_entity_api_v1_translation__entity_type___entity_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"entity_type","in":"path","required":true,"schema":{"type":"string","title":"Entity Type"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateEntityDTO","default":{"targetLang":"EN-US","saveTranslation":true}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslatedEntityDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/translation/text":{"post":{"tags":["Translation"],"summary":"Translate text","description":"Translate text from one language to another using DeepL API. Source language can be auto-detected if not provided.","operationId":"translate_text_api_v1_translation_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateTextDTO"}}},"required":true},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/translation/dict":{"post":{"tags":["Translation"],"summary":"Translate dictionary values","description":"Translate string values in a dictionary. Useful for translating structured content like landing page data.","operationId":"translate_dict_api_v1_translation_dict_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslateDictDTO"}}},"required":true},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"400":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/translation/languages":{"get":{"tags":["Translation"],"summary":"Get supported languages","description":"Get a list of all supported source and target languages for translation.","operationId":"get_supported_languages_api_v1_translation_languages_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}}}}},"/api/v1/translation/usage":{"get":{"tags":["Translation"],"summary":"Get translation service usage","description":"Get current usage statistics for the translation service.","operationId":"get_translation_usage_api_v1_translation_usage_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/company":{"post":{"tags":["Company"],"summary":"Create a company","description":"Create a company","operationId":"create_company_api_v1_company_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateDTO"}}},"required":true},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/company/add-company-logo":{"post":{"tags":["Company"],"summary":"️Add company logo","description":"Add company logo. Be recognizable!","operationId":"add_company_logo_api_v1_company_add_company_logo_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_add_company_logo_api_v1_company_add_company_logo_post"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/company/{company_id}":{"get":{"tags":["Company"],"summary":"Get company info","description":"Get company info by id","operationId":"get_company_info_api_v1_company__company_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyFullDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"patch":{"tags":["Company"],"summary":"Update company info","description":"Update company info. Be recognizable!","operationId":"update_company_info_api_v1_company__company_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"delete":{"tags":["Company"],"summary":"Delete company","description":"Delete company if you don't need it","operationId":"delete_company_api_v1_company__company_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"200":{"description":"Resource deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/company/delete-company-logo":{"delete":{"tags":["Company"],"summary":"Delete company logo","description":"Delete company logo if you don't need it","operationId":"delete_company_logo_api_v1_company_delete_company_logo_delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}}],"responses":{"200":{"description":"Resource deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/company-user":{"post":{"tags":["Company User"],"summary":"Invite a user to a company","description":"Invite a user to a company","operationId":"invite_company_user_api_v1_company_user_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompanyUserDTO"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationLinkDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"409":{"description":"Email already registered for another user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}}}},"get":{"tags":["Company User"],"summary":"Get company users list","description":"Get company users list","operationId":"get_company_user_list_api_v1_company_user_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"teamId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"roleName","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rolename"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedCompanyUsersDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/company-user/accept":{"post":{"tags":["Company User"],"summary":"Accept a company invitation","description":"Accept a company invitation","operationId":"accept_company_invitation_api_v1_company_user_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInvitationDTO"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/company-user/filter-list":{"get":{"tags":["Company User"],"summary":"Get company users list for filter","description":"Get company users list for filter (id, email and logo only, no pagination)","operationId":"get_company_user_filter_list_api_v1_company_user_filter_list_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}},{"name":"section","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Section","description":"Section to check permissions for"},"description":"Section to check permissions for"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyUserFilterItemDTO"},"title":"Response Get Company User Filter List Api V1 Company User Filter List Get"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/company-user/invitations":{"get":{"tags":["Company User"],"summary":"Get invitations list","description":"Get invitations list","operationId":"get_invitations_list_api_v1_company_user_invitations_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"inviterEmail","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviteremail"}},{"name":"inviteeEmail","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviteeemail"}},{"name":"teamId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedInvitationDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/company-user/invitations/{invitation_id}":{"patch":{"tags":["Company User"],"summary":"Update invitation","description":"Update invitation","operationId":"update_invitation_api_v1_company_user_invitations__invitation_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInvitationDTO"}}}},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/company-user/invitations/info/{hash}":{"get":{"tags":["Company User"],"summary":"Get invitation info by hash (public, no auth)","description":"Returns company name, logo, inviter email, team name and expiry status. No auth required.","operationId":"get_invitation_info_api_v1_company_user_invitations_info__hash__get","parameters":[{"name":"hash","in":"path","required":true,"schema":{"type":"string","title":"Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationInfoDTO"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}}}}},"/api/v1/company-user/{company_user_id}":{"get":{"tags":["Company User"],"summary":"Get company user","description":"Get company user","operationId":"get_company_user_api_v1_company_user__company_user_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUserDTO"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"patch":{"tags":["Company User"],"summary":"Update company user","description":"Update company user","operationId":"update_company_user_api_v1_company_user__company_user_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUserDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"delete":{"tags":["Company User"],"summary":"Delete company user","description":"Delete company user","operationId":"delete_company_user_api_v1_company_user__company_user_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Company User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/role":{"get":{"tags":["Role"],"summary":"Get all role names","description":"et all role names","operationId":"get_all_role_names_api_v1_role_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleNamesDTO"}}}}}}},"/api/v1/role/presets":{"get":{"tags":["Role"],"summary":"Get role presets","description":"et role presets","operationId":"presets_api_v1_role_presets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRolePresetDTO"}}}}}}},"/api/v1/team":{"post":{"tags":["Team"],"summary":"Create a team","description":"Create a team for the company","operationId":"create_team_api_v1_team_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTeamDTO"}}}},"responses":{"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"get":{"tags":["Team"],"summary":"Get all teams for a company","description":"Get all teams for a company","operationId":"get_teams_for_company_api_v1_team_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"company_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Company Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedTeamDTO"}}}},"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/team/{team_id}":{"get":{"tags":["Team"],"summary":"Get team details","description":"Get details of a specific team by ID","operationId":"get_team_by_id_api_v1_team__team_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamDTO"}}}},"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"patch":{"tags":["Team"],"summary":"Update team details","description":"Update details of a specific team by ID","operationId":"update_team_api_v1_team__team_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}},"delete":{"tags":["Team"],"summary":"Delete team details","description":"Delete details of a specific team by ID","operationId":"delete_team_api_v1_team__team_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"201":{"description":"Resource created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedResponse"}}}},"401":{"description":"Authentication required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedResponse"}}}},"403":{"description":"Access denied.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenResponse"}}}},"422":{"description":"Validation error. Please check your input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}},"/api/v1/export/app-events":{"get":{"tags":["Export"],"summary":"List App Events","operationId":"list_app_events_api_v1_export_app_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tracker_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tracker Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_AppEventsExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/transactions":{"get":{"tags":["Export"],"summary":"List Transactions","operationId":"list_transactions_api_v1_export_transactions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_TransactionExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/users":{"get":{"tags":["Export"],"summary":"List Users","operationId":"list_users_api_v1_export_users_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_UserExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/trackers":{"get":{"tags":["Export"],"summary":"List Trackers","operationId":"list_trackers_api_v1_export_trackers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_TrackerExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/offers":{"get":{"tags":["Export"],"summary":"List Offers","operationId":"list_offers_api_v1_export_offers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_OfferExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/tracker-offers":{"get":{"tags":["Export"],"summary":"List Tracker Offers","operationId":"list_tracker_offers_api_v1_export_tracker_offers_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tracker_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tracker Id"}},{"name":"offer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Offer Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_TrackerOfferExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export/pixels":{"get":{"tags":["Export"],"summary":"List Pixels","operationId":"list_pixels_api_v1_export_pixels_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"created_at_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At From"}},{"name":"created_at_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At To"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPage_PixelExportDTO_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AcceptInvitationDTO":{"properties":{"hash":{"type":"string","title":"Hash","description":"Hash from the invitation link."},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"}},"type":"object","required":["hash","password"],"title":"AcceptInvitationDTO","example":{"hash":"abc123def456","password":"new_secure_password"}},"AllBalancesDTO":{"properties":{"currency":{"type":"string","title":"Currency"},"amount":{"type":"string","title":"Amount"},"updatedAt":{"anyOf":[{},{"type":"null"}],"title":"Updatedat"},"promoAmount":{"type":"string","title":"Promoamount"}},"type":"object","required":["currency","amount","promoAmount"],"title":"AllBalancesDTO","example":{"amount":1500.0,"currency":"USD","updatedAt":"2021-08-01T00:00:00.000Z"}},"ApiErrorDetail":{"properties":{"code":{"$ref":"#/components/schemas/ErrorCode"},"message":{"type":"string","title":"Message"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"type":"object","required":["code","message"],"title":"ApiErrorDetail"},"ApiErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ApiErrorDetail"}},"type":"object","required":["error"],"title":"ApiErrorResponse","example":{"error":{"code":"EMAIL_ALREADY_REGISTERED","message":"This email is already used.","params":{}}}},"AppEventsExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"userClickId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userclickid"},"deviceIp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deviceip"},"deviceBrand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicebrand"},"deviceModel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicemodel"},"deviceType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicetype"},"osName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osname"},"osVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osversion"},"browserName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browsername"},"browserVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browserversion"},"store":{"type":"string","title":"Store"},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Useragent"},"domain":{"type":"string","title":"Domain"},"appNamespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appnamespace"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"uniqueClick":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Uniqueclick"},"click":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Click"},"install":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Install"},"lead":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lead"},"firstSale":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Firstsale"},"repeatedSale":{"anyOf":[{},{"type":"null"}],"title":"Repeatedsale"},"offerUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offerurl"},"reasonBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasonblock"},"preLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Prelandingid"},"postLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Postlandingid"},"subs":{"anyOf":[{},{"type":"null"}],"title":"Subs"},"deviceToken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicetoken"},"fbclid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbclid"},"fbp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbp"},"fbc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbc"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","trackerId","store","domain","createdAt"],"title":"AppEventsExportDTO"},"AppEventsGraphDTO":{"properties":{"interval":{"type":"string","title":"Interval","description":"Time interval used for aggregation"},"startDate":{"type":"string","format":"date-time","title":"Startdate"},"endDate":{"type":"string","format":"date-time","title":"Enddate"},"dataPoints":{"items":{"$ref":"#/components/schemas/AppEventsGraphDataPoint"},"type":"array","title":"Datapoints"},"totalDataPoints":{"type":"integer","title":"Totaldatapoints"},"summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Summary"}},"type":"object","required":["interval","startDate","endDate","dataPoints","totalDataPoints","summary"],"title":"AppEventsGraphDTO","description":"Response model for time-series app event analytics","example":{"dataPoints":[{"clicks":150,"firstSales":25,"installs":100,"leads":50,"repeatedSales":10,"timestamp":"2024-01-01T00:00:00Z"}],"endDate":"2024-01-31T23:59:59Z","interval":"day","startDate":"2024-01-01T00:00:00Z","summary":{"totalClicks":4650,"totalEvents":10385,"totalFirstSales":775,"totalInstalls":3100,"totalLeads":1550,"totalRepeatedSales":310,"uniqueClicks":3720},"totalDataPoints":31}},"AppEventsGraphDataPoint":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"clicks":{"type":"integer","title":"Clicks","default":0},"uniqueClicks":{"type":"integer","title":"Uniqueclicks","default":0},"installs":{"type":"integer","title":"Installs","default":0},"leads":{"type":"integer","title":"Leads","default":0},"firstSales":{"type":"integer","title":"Firstsales","default":0},"repeatedSales":{"type":"integer","title":"Repeatedsales","default":0},"totalEvents":{"type":"integer","title":"Totalevents","default":0}},"type":"object","required":["timestamp"],"title":"AppEventsGraphDataPoint","description":"A single data point in the time series for app event analytics","example":{"clicks":150,"firstSales":25,"installs":100,"leads":50,"repeatedSales":10,"timestamp":"2024-01-01T00:00:00Z","totalEvents":335,"uniqueClicks":120}},"AppEventsGroupedStatisticsDTO":{"properties":{"eventDay":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Eventday"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"trackerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trackername"},"offerId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Offerid"},"offerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offername"},"domain":{"type":"string","title":"Domain"},"appNamespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appnamespace"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"preLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Prelandingid"},"preLandingName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prelandingname"},"postLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Postlandingid"},"postLandingName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postlandingname"},"eventCount":{"type":"integer","title":"Eventcount"},"clickCount":{"type":"integer","title":"Clickcount","default":0},"installGrayCount":{"type":"integer","title":"Installgraycount","default":0},"uniqueClickCount":{"type":"integer","title":"Uniqueclickcount","default":0},"leadGrayCount":{"type":"integer","title":"Leadgraycount","default":0},"saleGrayCount":{"type":"integer","title":"Salegraycount","default":0},"repeatedSaleGrayCount":{"type":"integer","title":"Repeatedsalegraycount","default":0},"uniqueClickToInstallPercentage":{"type":"number","title":"Uniqueclicktoinstallpercentage","default":0.0},"installToLeadPercentage":{"type":"number","title":"Installtoleadpercentage","default":0.0},"leadToSalePercentage":{"type":"number","title":"Leadtosalepercentage","default":0.0},"leadToRepeatedSalePercentage":{"type":"number","title":"Leadtorepeatedsalepercentage","default":0.0},"totalCpi":{"type":"number","title":"Totalcpi","default":0.0}},"type":"object","required":["trackerId","trackerName","domain","country","eventCount"],"title":"AppEventsGroupedStatisticsDTO","example":{"appNamespace":"com.mojang.minecraftpe","clickCount":152,"country":"US","domain":"example.com","eventCount":152,"installGrayCount":10,"installToLeadPercentage":13.15,"leadGrayCount":20,"leadToRepeatedSalePercentage":1.5,"leadToSalePercentage":3.29,"offerId":"123e4567-e89b-12d3-a456-426614174010","offerName":"Offer 1","postLandingId":"123e4567-e89b-12d3-a456-426614174002","postLandingName":"Post Landing 1","preLandingId":"123e4567-e89b-12d3-a456-426614174001","preLandingName":"Pre Landing 1","saleGrayCount":5,"totalCpi":1.0,"trackerId":"123e4567-e89b-12d3-a456-426614174000","trackerName":"Tracker 1","uniqueClickToInstallPercentage":6.58}},"AppEventsStatisticsSummaryDTO":{"properties":{"clickCount":{"type":"integer","title":"Clickcount","default":0},"uniqueClickCount":{"type":"integer","title":"Uniqueclickcount","default":0},"leadCount":{"type":"integer","title":"Leadcount","default":0},"installCount":{"type":"integer","title":"Installcount","default":0},"saleCount":{"type":"integer","title":"Salecount","default":0},"repeatedSaleCount":{"type":"integer","title":"Repeatedsalecount","default":0}},"type":"object","title":"AppEventsStatisticsSummaryDTO"},"AvailableDomainDTO":{"properties":{"id":{"type":"integer","title":"Id"},"domain":{"type":"string","title":"Domain"},"tld":{"type":"string","title":"Tld"},"registrationPrice":{"type":"string","title":"Registrationprice","description":"Price including commission (USD)"},"renewalPrice":{"type":"string","title":"Renewalprice"},"currency":{"type":"string","title":"Currency","default":"USD"},"inUse":{"type":"boolean","title":"Inuse","default":false},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat"}},"type":"object","required":["id","domain","tld","registrationPrice","renewalPrice"],"title":"AvailableDomainDTO","description":"Domain available for purchase (from Domain Manager).","example":{"createdAt":"2024-01-01T12:00:00","currency":"USD","domain":"example.com","id":1,"inUse":false,"registrationPrice":12.49,"renewalPrice":16.24,"tld":"com"}},"AvailableDomainPurchaseRequest":{"properties":{"domainId":{"type":"integer","title":"Domainid","description":"ID of the available domain to purchase"}},"type":"object","required":["domainId"],"title":"AvailableDomainPurchaseRequest","description":"Request to purchase an available (pre-purchased) domain.","example":{"domainId":1}},"AvailableDomainsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AvailableDomainDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"AvailableDomainsResponse","description":"Paginated available domains response."},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"The request is invalid."}},"type":"object","title":"BadRequestResponse"},"Body_add_company_logo_api_v1_company_add_company_logo_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_add_company_logo_api_v1_company_add_company_logo_post"},"Body_add_profile_picture_api_v1_user_add_profile_photo_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_add_profile_picture_api_v1_user_add_profile_photo_post"},"Body_upload_folder_api_v1_landing_upload_folder__folder_name__post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"Body_upload_folder_api_v1_landing_upload_folder__folder_name__post"},"Body_upload_media_api_v1_media_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"context":{"type":"string","title":"Context","description":"Upload context id, e.g. 'pwa.logo' or 'uncategorized'."},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"}},"type":"object","required":["file","context"],"title":"Body_upload_media_api_v1_media_post"},"CampaignStatus":{"type":"string","enum":["ACTIVE","MODERATION"],"title":"CampaignStatus"},"CapOfferCreateDTO":{"properties":{"name":{"type":"string","maxLength":100,"title":"Name"},"capType":{"$ref":"#/components/schemas/CapType"},"capSize":{"type":"integer","exclusiveMinimum":0.0,"title":"Capsize"},"keitaroIds":{"items":{"type":"integer"},"type":"array","title":"Keitaroids"},"comments":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Comments"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"}},"type":"object","required":["name","capType","capSize","keitaroIds"],"title":"CapOfferCreateDTO","example":{"capSize":100,"capType":"DAILY","comments":"High-value casino offers for tier 1 GEOs only","keitaroIds":[123,456,789],"name":"Casino VIP Daily Cap"}},"CapOfferResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"capType":{"$ref":"#/components/schemas/CapType"},"capSize":{"type":"integer","title":"Capsize"},"actualCapSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actualcapsize"},"keitaroIds":{"items":{"type":"integer"},"type":"array","title":"Keitaroids"},"comments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comments"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"type":"string","format":"date-time","title":"Updatedat"}},"type":"object","required":["id","name","capType","capSize","keitaroIds","createdAt","updatedAt"],"title":"CapOfferResponseDTO","example":{"capSize":100,"capType":"DAILY","comments":"High-value casino offers for tier 1 GEOs only","createdAt":"2024-01-15T10:30:00Z","id":"123e4567-e89b-12d3-a456-426614174000","keitaroIds":[123,456,789],"name":"Casino VIP Daily Cap","updatedAt":"2024-01-15T10:30:00Z"}},"CapOfferUpdateDTO":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name"},"capType":{"anyOf":[{"$ref":"#/components/schemas/CapType"},{"type":"null"}]},"capSize":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Capsize"},"keitaroIds":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Keitaroids"},"comments":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Comments"}},"type":"object","title":"CapOfferUpdateDTO","example":{"capSize":150,"comments":"Increased cap size due to high-quality traffic","name":"Updated Casino VIP Daily Cap"}},"CapType":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY","YEARLY","PERMANENT"],"title":"CapType","description":"Enum for cap types"},"CloakingType":{"type":"string","enum":["MODERATION","ACTIVE","INACTIVE"],"title":"CloakingType"},"CompanyCreateDTO":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the company"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the company"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"The website of the company"},"contactEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactemail","description":"The contact of the company"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","description":"The phone number of the company"},"telegramAccount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegramaccount","description":"The telegram account of the company"}},"type":"object","required":["name"],"title":"CompanyCreateDTO","example":{"contact_email":"example@ex.com","description":"A leading company in tech innovation, specializing in AI and IoT solutions.","name":"Tech Innovators Inc.","phone":"+1234567890","telegram_account":"@techinnovators","website":"https://www.techinnovators.com"}},"CompanyFullDTO":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the company"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the company"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website","description":"The website of the company"},"contactEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactemail","description":"The contact of the company"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","description":"The phone number of the company"},"telegramAccount":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegramaccount","description":"The telegram account of the company"},"id":{"type":"string","format":"uuid","title":"Id","description":"The unique identifier of the company"},"createdAt":{"type":"string","format":"date-time","title":"Createdat","description":"The date and time when the company was created"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat","description":"The date and time when the company was last updated"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"The URL of the company's logo"}},"type":"object","required":["name","id","createdAt"],"title":"CompanyFullDTO","example":{"contact_email":"example@ex.com","created_at":"2024-01-15T10:30:00Z","description":"A leading company in tech innovation, specializing in AI and IoT solutions.","id":"123e4567-e89b-12d3-a456-426614174000","logo_url":"https://www.techinnovators.com/logo.png","name":"Tech Innovators Inc.","phone":"+1234567890","telegram_account":"@techinnovators","updated_at":"2024-01-15T10:30:00Z","website":"https://www.techinnovators.com"}},"CompanyResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The unique identifier of the company"}},"type":"object","required":["id"],"title":"CompanyResponseDTO","example":{"id":"123e4567-e89b-12d3-a456-426614174000"}},"CompanyUserAccessDTO":{"properties":{"trackersRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trackersread","description":"Permission to read trackers."},"trackersWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trackerswrite","description":"Permission to write trackers."},"trackersDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trackersdelete","description":"Permission to delete trackers."},"trackersShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trackersshowownonly","description":"Permission to show only own trackers."},"balancesRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Balancesread","description":"Permission to read balances."},"balancesWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Balanceswrite","description":"Permission to write balances."},"balancesDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Balancesdelete","description":"Permission to delete balances."},"landingsRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Landingsread","description":"Permission to read landings."},"landingsWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Landingswrite","description":"Permission to write landings."},"landingsDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Landingsdelete","description":"Permission to delete landings."},"landingsShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Landingsshowownonly","description":"Permission to show only own landings."},"pwaRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pwaread","description":"Permission to read PWAs."},"pwaWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pwawrite","description":"Permission to write PWAs."},"pwaDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pwadelete","description":"Permission to delete PWAs."},"pwaShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pwashowownonly","description":"Permission to show only own PWAs."},"pushRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pushread","description":"Permission to read push."},"pushWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pushwrite","description":"Permission to write push"},"pushDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pushdelete","description":"Permission to delete push"},"pushShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pushshowownonly","description":"Permission to show only own push"},"pixelsRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pixelsread","description":"Permission to read pixels."},"pixelsWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pixelswrite","description":"Permission to write pixels."},"pixelsDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pixelsdelete","description":"Permission to delete pixels."},"pixelsShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pixelsshowownonly","description":"Permission to show only own pixels."},"offersRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Offersread","description":"Permission to read offers."},"offersWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Offerswrite","description":"Permission to write offers."},"offersDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Offersdelete","description":"Permission to delete offers."},"offersShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Offersshowownonly","description":"Permission to show only own offers."},"appEventsRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Appeventsread","description":"Permission to read app events."},"appEventsShowOwnOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Appeventsshowownonly","description":"Permission to show only own app events."},"teamsRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Teamsread","description":"Permission to read teams."},"teamsWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Teamswrite","description":"Permission to write teams."},"teamsDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Teamsdelete","description":"Permission to delete teams."},"membersRead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Membersread","description":"Permission to read members."},"membersWrite":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Memberswrite","description":"Permission to write members."},"membersDelete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Membersdelete","description":"Permission to delete members."}},"type":"object","title":"CompanyUserAccessDTO","example":{"app_events_read":true,"app_events_show_own_only":false,"balances_delete":false,"balances_read":true,"balances_write":false,"landings_delete":false,"landings_read":true,"landings_show_own_only":false,"landings_write":false,"members_delete":false,"members_read":true,"members_write":false,"offers_delete":false,"offers_read":true,"offers_show_own_only":false,"offers_write":false,"pixels_delete":false,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":false,"push_delete":true,"push_read":false,"push_show_own_only":false,"push_write":true,"pwa_delete":false,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":false,"teams_delete":false,"teams_read":true,"teams_write":false,"trackers_delete":false,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":false}},"CompanyUserDTO":{"properties":{"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username","description":"Username of the user being invited."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Email address of the user being invited."},"teamId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid","description":"ID of the team to which the user will be assigned"},"rolePresetSlug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rolepresetslug","description":"ID of the role preset to assign."},"companyId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Companyid","description":"ID of the company to which the user is being invited."},"accessList":{"anyOf":[{"$ref":"#/components/schemas/CompanyUserAccessDTO"},{"type":"null"}],"description":"Access rights for the user."}},"type":"object","title":"CompanyUserDTO","example":{"accessList":{"app_events_read":true,"app_events_show_own_only":false,"balances_delete":false,"balances_read":true,"balances_write":false,"landings_delete":false,"landings_read":true,"landings_show_own_only":false,"landings_write":false,"members_delete":false,"members_read":true,"members_write":false,"offers_delete":false,"offers_read":true,"offers_show_own_only":false,"offers_write":false,"pixels_delete":false,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":false,"push_delete":true,"push_read":false,"push_show_own_only":false,"push_write":true,"pwa_delete":false,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":false,"teams_delete":false,"teams_read":true,"teams_write":false,"trackers_delete":false,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":false},"company_id":"123e4567-e89b-12d3-a456-426614174000","email":"example.com","role_preset_id":"admin","team_id":"123e4567-e89b-12d3-a456-426614174111","username":"newuser"}},"CompanyUserFilterItemDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Company user id."},"email":{"type":"string","title":"Email","description":"User email."},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"URL of the user's profile photo."}},"type":"object","required":["id","email"],"title":"CompanyUserFilterItemDTO","example":{"email":"user@example.com","id":"123e4567-e89b-12d3-a456-426614174000","logoUrl":"https://example.com/logo.png"}},"ConflictResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"The resource already exists or conflicts with an existing one."}},"type":"object","title":"ConflictResponse"},"CountryStatDTO":{"properties":{"country":{"type":"string","title":"Country"},"eventCount":{"type":"integer","title":"Eventcount"}},"type":"object","required":["country","eventCount"],"title":"CountryStatDTO","example":{"country":"UA","event_count":450}},"CreateCompanyUserDTO":{"properties":{"username":{"type":"string","title":"Username","description":"Username of the user being invited."},"email":{"type":"string","title":"Email","description":"Email address of the user being invited."},"expiresAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiresat","description":"Expiration date and time of the invitation."},"teamId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid","description":"ID of the team to which the user will be assigned"},"rolePresetSlug":{"type":"string","title":"Rolepresetslug","description":"ID of the role preset to assign."},"companyId":{"type":"string","format":"uuid","title":"Companyid","description":"ID of the company to which the user is being invited."},"accessList":{"anyOf":[{"$ref":"#/components/schemas/CompanyUserAccessDTO"},{"type":"null"}],"description":"Access rights for the user."}},"type":"object","required":["username","email","rolePresetSlug","companyId"],"title":"CreateCompanyUserDTO","example":{"accessList":{"app_events_read":true,"app_events_show_own_only":false,"balances_delete":false,"balances_read":true,"balances_write":false,"landings_delete":false,"landings_read":true,"landings_show_own_only":false,"landings_write":false,"members_delete":false,"members_read":true,"members_write":false,"offers_delete":false,"offers_read":true,"offers_show_own_only":false,"offers_write":false,"pixels_delete":false,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":false,"push_delete":true,"push_read":false,"push_show_own_only":false,"push_write":true,"pwa_delete":false,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":false,"teams_delete":false,"teams_read":true,"teams_write":false,"trackers_delete":false,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":false},"company_id":"123e4567-e89b-12d3-a456-426614174000","email":"example.com","expires_at":"2024-12-31T23:59:59Z","role_preset_slug":"admin","team_id":"123e4567-e89b-12d3-a456-426614174111","username":"newuser"}},"CreateFolderDTO":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"CreateFolderDTO"},"CreateLandingDTO":{"properties":{"name":{"type":"string","title":"Name"},"templateId":{"type":"string","format":"uuid","title":"Templateid"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"defaultLanguage":{"type":"string","title":"Defaultlanguage","description":"Default language code (e.g., 'en', 'es', 'fr', 'en-US')","default":"en"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","required":["name","templateId","data"],"title":"CreateLandingDTO","example":{"comment":"Some user comments","data":{"clickButton":"Click here!","sectors":[{"field_1":"10$","field_2":"8$"},{"field_1":"7$","field_2":"125$"},{"field_1":"30$","field_2":"60$"},{"field_1":"70$","field_2":"80$"},{"field_1":"100$","field_2":"200$"},{"field_1":"50$","field_2":"400$"},{"field_1":"111$","field_2":"25$"},{"field_1":"40$","field_2":"250$"}]},"name":"string","templateId":"132801e5-ba88-49f6-965a-deafcd04319f"}},"CreateLandingTranslationDTO":{"properties":{"landingId":{"type":"string","format":"uuid","title":"Landingid","description":"ID of the landing page"},"languageCode":{"type":"string","title":"Languagecode","description":"Language code (e.g., 'en', 'es', 'fr', 'en-US')"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Translated data for the landing page"}},"type":"object","required":["landingId","languageCode","data"],"title":"CreateLandingTranslationDTO","description":"DTO for creating or updating a landing translation."},"CreatePWATemplateDTO":{"properties":{"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background","default":false},"pwaTemplateName":{"type":"string","title":"Pwatemplatename","description":"Template name"}},"type":"object","required":["pwaTemplateName"],"title":"CreatePWATemplateDTO","description":"Request body for creating a template: the name plus whatever media it starts with."},"CreatePWATranslationDTO":{"properties":{"pwaId":{"type":"string","format":"uuid","title":"Pwaid","description":"ID of the PWA to which this translation belongs"},"languageCode":{"type":"string","title":"Languagecode","description":"Language code (e.g., 'en', 'es', 'uk')"},"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"Translated name of the PWA"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Translated description of the PWA"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Translated information about what's new in the app"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Translated description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Translated types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Translated types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Translated details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Translated details about data deletion policies"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"Translated list of user comments for the app"}},"type":"object","required":["pwaId","languageCode"],"title":"CreatePWATranslationDTO","description":"DTO for creating a new PWA translation."},"CreateReferralCodeRequest":{"properties":{"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"CreateReferralCodeRequest"},"CreateTeamDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the team."},"companyId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Companyid","description":"ID of the organization the team belongs to."}},"type":"object","title":"CreateTeamDTO","example":{"company_id":"123e4567-e89b-12d3-a456-426614174000","name":"Marketing Team"}},"CreateWalletDTO":{"properties":{"address":{"type":"string","title":"Address"}},"type":"object","required":["address"],"title":"CreateWalletDTO"},"CreatedResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Resource created successfully."}},"type":"object","title":"CreatedResponse"},"CropMediaDTO":{"properties":{"rect":{"$ref":"#/components/schemas/CropRectDTO"},"context":{"type":"string","title":"Context","description":"Target context id, e.g. 'pwa.screenshot'."},"width":{"anyOf":[{"type":"integer","maximum":8000.0,"minimum":1.0},{"type":"null"}],"title":"Width","description":"Resample the cut region to exactly this width. Omit (with height) to keep the rect's own pixel size. Both must be given together."},"height":{"anyOf":[{"type":"integer","maximum":8000.0,"minimum":1.0},{"type":"null"}],"title":"Height","description":"See 'width'."}},"type":"object","required":["rect","context"],"title":"CropMediaDTO"},"CropRectDTO":{"properties":{"x":{"type":"number","maximum":1.0,"minimum":0.0,"title":"X"},"y":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Y"},"w":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"W"},"h":{"type":"number","maximum":1.0,"exclusiveMinimum":0.0,"title":"H"}},"type":"object","required":["x","y","w","h"],"title":"CropRectDTO","description":"Normalized 0..1 rectangle over the ROOT original."},"CursorPage_AppEventsExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AppEventsExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[AppEventsExportDTO]"},"CursorPage_OfferExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OfferExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[OfferExportDTO]"},"CursorPage_PixelExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PixelExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[PixelExportDTO]"},"CursorPage_TrackerExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TrackerExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[TrackerExportDTO]"},"CursorPage_TrackerOfferExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TrackerOfferExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[TrackerOfferExportDTO]"},"CursorPage_TransactionExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TransactionExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[TransactionExportDTO]"},"CursorPage_UserExportDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UserExportDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"current_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page","description":"Cursor to refetch the current page"},"current_page_backwards":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Page Backwards","description":"Cursor to refetch the current page starting from the last item"},"previous_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Page","description":"Cursor for the previous page"},"next_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Page","description":"Cursor for the next page"}},"type":"object","required":["items","total"],"title":"CursorPage[UserExportDTO]"},"DashboardActivityContextDTO":{"properties":{"kind":{"type":"string","enum":["clicks","streams","status","pixelType"],"title":"Kind"},"value":{"anyOf":[{"type":"integer"},{"type":"string"}],"title":"Value"}},"type":"object","required":["kind","value"],"title":"DashboardActivityContextDTO","description":"Structured context payload — localized by the frontend."},"DashboardAnalyticsResponseDTO":{"properties":{"period":{"type":"string","enum":["today","last_24h","last_7d","this_week","last_30d","this_month","last_90d","this_year","custom"],"title":"Period"},"interval":{"type":"string","enum":["hour","day","week"],"title":"Interval"},"current":{"$ref":"#/components/schemas/DashboardAnalyticsWindowDTO"},"previous":{"$ref":"#/components/schemas/DashboardAnalyticsWindowDTO"}},"type":"object","required":["period","interval","current","previous"],"title":"DashboardAnalyticsResponseDTO"},"DashboardAnalyticsSummaryDTO":{"properties":{"totalClicks":{"type":"integer","title":"Totalclicks","default":0},"uniqueClicks":{"type":"integer","title":"Uniqueclicks","default":0},"totalInstalls":{"type":"integer","title":"Totalinstalls","default":0},"totalLeads":{"type":"integer","title":"Totalleads","default":0},"totalFirstSales":{"type":"integer","title":"Totalfirstsales","default":0},"totalRepeatedSales":{"type":"integer","title":"Totalrepeatedsales","default":0},"totalEvents":{"type":"integer","title":"Totalevents","default":0},"blockedEvents":{"type":"integer","title":"Blockedevents","default":0},"repeatBuyers":{"type":"integer","title":"Repeatbuyers","default":0},"whiteClicks":{"type":"integer","title":"Whiteclicks","default":0},"blackClicks":{"type":"integer","title":"Blackclicks","default":0},"uniqueUsers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uniqueusers"}},"type":"object","title":"DashboardAnalyticsSummaryDTO","description":"Summary contains the base counters always. `blockedEvents` /\n`repeatBuyers` are also computed in the same scan.\n`uniqueUsers` is opt-in via the `summaryMetrics[]` query param (uses\n`COUNT DISTINCT`, runs as a separate query when requested)."},"DashboardAnalyticsWindowDTO":{"properties":{"startDate":{"type":"string","format":"date-time","title":"Startdate"},"endDate":{"type":"string","format":"date-time","title":"Enddate"},"summary":{"$ref":"#/components/schemas/DashboardAnalyticsSummaryDTO"},"dataPoints":{"items":{"$ref":"#/components/schemas/DashboardTrendPointDTO"},"type":"array","title":"Datapoints"}},"type":"object","required":["startDate","endDate","summary"],"title":"DashboardAnalyticsWindowDTO"},"DashboardRecentActivityItemDTO":{"properties":{"id":{"type":"string","title":"Id"},"entityType":{"type":"string","enum":["stream","offer","pwa","landing","domain","pixel","push"],"title":"Entitytype"},"entityId":{"type":"string","title":"Entityid"},"action":{"type":"string","const":"updated","title":"Action"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"context":{"anyOf":[{"$ref":"#/components/schemas/DashboardActivityContextDTO"},{"type":"null"}]}},"type":"object","required":["id","entityType","entityId","action","timestamp"],"title":"DashboardRecentActivityItemDTO"},"DashboardRecentActivityResponseDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DashboardRecentActivityItemDTO"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"DashboardRecentActivityResponseDTO"},"DashboardResourceStatusDTO":{"properties":{"streams":{"type":"integer","title":"Streams","default":0},"streamsActive":{"type":"integer","title":"Streamsactive","default":0},"streamsInactive":{"type":"integer","title":"Streamsinactive","default":0},"streamsModeration":{"type":"integer","title":"Streamsmoderation","default":0},"balance":{"type":"number","title":"Balance","default":0.0},"promoBalance":{"type":"number","title":"Promobalance","default":0.0},"pwas":{"type":"integer","title":"Pwas","default":0},"landings":{"type":"integer","title":"Landings","default":0},"domains":{"type":"integer","title":"Domains","default":0},"domainsLive":{"type":"integer","title":"Domainslive","default":0},"domainsFree":{"type":"integer","title":"Domainsfree","default":0},"domainsExpired":{"type":"integer","title":"Domainsexpired","default":0},"pixels":{"type":"integer","title":"Pixels","default":0},"offers":{"type":"integer","title":"Offers","default":0}},"type":"object","title":"DashboardResourceStatusDTO","description":"Aggregated resource counters for the current user."},"DashboardSettingsBreakdownDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":true},"enabled":{"items":{"type":"string","enum":["unique-click-install","unique-click-registration","unique-click-deposit","install-registration","registration-deposit","clicks-per-unique","install-deposit","click-deposit","deposit-repeated","block-rate","clicks-per-user","white-rate","push-ctr","push-delivery"]},"type":"array","title":"Enabled"},"order":{"items":{"type":"string","enum":["unique-click-install","unique-click-registration","unique-click-deposit","install-registration","registration-deposit","clicks-per-unique","install-deposit","click-deposit","deposit-repeated","block-rate","clicks-per-user","white-rate","push-ctr","push-delivery"]},"type":"array","title":"Order"}},"type":"object","required":["enabled"],"title":"DashboardSettingsBreakdownDTO"},"DashboardSettingsChartDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":true},"metrics":{"items":{"type":"string","enum":["clicks","uniqueClicks","installs","leads","firstSales","repeatedSales","totalEvents","blockedEvents","whiteClicks","blackClicks"]},"type":"array","title":"Metrics"}},"type":"object","required":["metrics"],"title":"DashboardSettingsChartDTO"},"DashboardSettingsDTO":{"properties":{"defaultPeriod":{"type":"string","enum":["today","last_24h","last_7d","this_week","last_30d","this_month","last_90d","this_year"],"title":"Defaultperiod","default":"last_30d"},"kpi":{"$ref":"#/components/schemas/DashboardSettingsKpiDTO"},"chart":{"$ref":"#/components/schemas/DashboardSettingsChartDTO"},"breakdown":{"$ref":"#/components/schemas/DashboardSettingsBreakdownDTO"},"recentActivity":{"$ref":"#/components/schemas/DashboardSettingsRecentActivityDTO"},"resources":{"$ref":"#/components/schemas/DashboardSettingsResourcesDTO"},"pushSummary":{"$ref":"#/components/schemas/DashboardSettingsPushSummaryDTO"},"recommendations":{"$ref":"#/components/schemas/DashboardSettingsRecommendationsDTO"}},"type":"object","required":["kpi","chart","breakdown","recentActivity","resources"],"title":"DashboardSettingsDTO"},"DashboardSettingsKpiDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":true},"enabled":{"items":{"type":"string","enum":["clicks","uniqueClicks","installs","leads","firstSales","repeatedSales","totalEvents","blockedEvents","uniqueUsers","repeatBuyers","nonUniqueClicks","whiteClicks","blackClicks"]},"type":"array","title":"Enabled"},"order":{"items":{"type":"string","enum":["clicks","uniqueClicks","installs","leads","firstSales","repeatedSales","totalEvents","blockedEvents","uniqueUsers","repeatBuyers","nonUniqueClicks","whiteClicks","blackClicks"]},"type":"array","title":"Order"}},"type":"object","required":["enabled","order"],"title":"DashboardSettingsKpiDTO"},"DashboardSettingsPushSummaryDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":false},"enabled":{"items":{"type":"string","enum":["subscribers","sent","views","clicks"]},"type":"array","title":"Enabled"},"order":{"items":{"type":"string","enum":["subscribers","sent","views","clicks"]},"type":"array","title":"Order"}},"type":"object","title":"DashboardSettingsPushSummaryDTO"},"DashboardSettingsRecentActivityDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":true},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":5},"entityTypes":{"items":{"type":"string","enum":["stream","offer","pwa","landing","domain","pixel","push"]},"type":"array","title":"Entitytypes"}},"type":"object","required":["entityTypes"],"title":"DashboardSettingsRecentActivityDTO"},"DashboardSettingsRecommendationsDTO":{"properties":{"dismissed":{"items":{"type":"string"},"type":"array","title":"Dismissed"}},"type":"object","title":"DashboardSettingsRecommendationsDTO"},"DashboardSettingsResourcesDTO":{"properties":{"visible":{"type":"boolean","title":"Visible","default":true},"enabled":{"items":{"type":"string","enum":["streams","balance","pwa","landings","domains","pixels"]},"type":"array","title":"Enabled"},"order":{"items":{"type":"string","enum":["streams","balance","pwa","landings","domains","pixels"]},"type":"array","title":"Order"}},"type":"object","required":["enabled","order"],"title":"DashboardSettingsResourcesDTO"},"DashboardTrendPointDTO":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"clicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Clicks"},"uniqueClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Uniqueclicks"},"installs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Installs"},"leads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leads"},"firstSales":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Firstsales"},"repeatedSales":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Repeatedsales"},"totalEvents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Totalevents"},"blockedEvents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Blockedevents"},"whiteClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Whiteclicks"},"blackClicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Blackclicks"}},"type":"object","required":["timestamp"],"title":"DashboardTrendPointDTO","description":"A single point on the performance chart.\n\nNumeric fields are optional: when the client supplies `chartMetrics[]`, we\nomit the fields they didn't request (to save bandwidth on long ranges).\nWhen `chartMetrics[]` is empty/absent we return all fields populated."},"DeletedResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Resource deleted successfully."}},"type":"object","title":"DeletedResponse"},"DomainDNSCheckRequest":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain name to check DNS records for"}},"type":"object","required":["domain"],"title":"DomainDNSCheckRequest","example":{"domain":"example.com"}},"DomainDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/DomainsStatusType"},"registrationPrice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Registrationprice"},"pricePaid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricepaid"},"tld":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tld"},"expirationDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expirationdate"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"}},"type":"object","required":["id","name","status","createdAt","userId"],"title":"DomainDTO","description":"Data Transfer Object (DTO) for the Domain entity.","example":{"createdAt":"2024-01-01T12:00:00","expirationDate":"2027-02-05T00:00:00Z","id":"c3d14e92-515f-4bd3-bc63-f61b45392ab2","name":"example.com","pricePaid":12.49,"registrationPrice":9.99,"status":"active","tld":"com","updatedAt":"2024-01-10T12:00:00","userId":"d8c56e92-abc9-44b1-8ef2-c1f56d71b0e3"}},"DomainPurchaseRequest":{"properties":{"domain":{"type":"string","minLength":1,"title":"Domain","description":"Domain name to purchase"}},"type":"object","required":["domain"],"title":"DomainPurchaseRequest","description":"Request to purchase a domain.","example":{"domain":"example.com"}},"DomainPurchaseResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"domain":{"type":"string","title":"Domain"},"status":{"type":"string","title":"Status"},"pricePaid":{"type":"string","title":"Pricepaid"},"expirationDate":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expirationdate"}},"type":"object","required":["id","domain","status","pricePaid"],"title":"DomainPurchaseResponse","description":"Response after successful domain purchase.","example":{"domain":"example.com","expirationDate":"2027-02-05T00:00:00Z","id":"123e4567-e89b-12d3-a456-426614174000","pricePaid":12.49,"status":"registered"}},"DomainSearchResponse":{"properties":{"term":{"type":"string","title":"Term"},"availableCount":{"type":"integer","title":"Availablecount"},"checkedCount":{"type":"integer","title":"Checkedcount"},"availableDomains":{"items":{"$ref":"#/components/schemas/DomainSearchResultDTO"},"type":"array","title":"Availabledomains"}},"type":"object","required":["term","availableCount","checkedCount","availableDomains"],"title":"DomainSearchResponse","description":"Domain search response without pagination."},"DomainSearchResultDTO":{"properties":{"domain":{"type":"string","title":"Domain"},"tld":{"type":"string","title":"Tld"},"registrationPrice":{"type":"string","title":"Registrationprice","description":"Price including commission (USD)"},"renewalPrice":{"type":"string","title":"Renewalprice"},"transferPrice":{"type":"string","title":"Transferprice"},"icannFee":{"type":"string","title":"Icannfee"},"currency":{"type":"string","title":"Currency","default":"USD"},"hasPrivacy":{"type":"boolean","title":"Hasprivacy","default":true},"isPremium":{"type":"boolean","title":"Ispremium","default":false}},"type":"object","required":["domain","tld","registrationPrice","renewalPrice","transferPrice","icannFee"],"title":"DomainSearchResultDTO","description":"Domain search result with pricing (including commission).","example":{"currency":"USD","domain":"example.com","hasPrivacy":true,"icannFee":0.2,"isPremium":false,"registrationPrice":12.49,"renewalPrice":16.24,"tld":"com","transferPrice":9.48}},"DomainsCreateResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"DomainsCreateResponse","example":{"id":"123e4567-e89b-12d3-a456-426614174000"}},"DomainsDTOCreate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"DomainsDTOCreate","example":{"name":"example.com"}},"DomainsStatusType":{"type":"string","enum":["IN_USE","FREE","EXPIRED"],"title":"DomainsStatusType"},"EmailDTO":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"EmailDTO","example":{"email":"oleg_vinnik@gmail.com"}},"EncodedTokenRequest":{"properties":{"encodedToken":{"type":"string","title":"Encodedtoken","description":"Encoded token"}},"type":"object","required":["encodedToken"],"title":"EncodedTokenRequest"},"ErrorCode":{"type":"string","enum":["EMAIL_ALREADY_REGISTERED","VERIFICATION_TOKEN_EXPIRED","VERIFICATION_TOKEN_INVALID","TELEGRAM_ALREADY_BOUND","MEDIA_UNSUPPORTED_TYPE","MEDIA_TOO_LARGE","MEDIA_TOO_SMALL","MEDIA_INVALID_CROP","MEDIA_INVALID_SPLIT","MEDIA_ASSET_IN_USE","MEDIA_NOT_FOUND","MEDIA_INVALID_CONTEXT","MEDIA_KEY_NOT_ALLOWED"],"title":"ErrorCode"},"EventTimeSeriesDataPoint":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"clicks":{"type":"integer","title":"Clicks","default":0},"installs":{"type":"integer","title":"Installs","default":0},"leads":{"type":"integer","title":"Leads","default":0},"firstSales":{"type":"integer","title":"Firstsales","default":0},"repeatedSales":{"type":"integer","title":"Repeatedsales","default":0},"totalEvents":{"type":"integer","title":"Totalevents","default":0}},"type":"object","required":["timestamp"],"title":"EventTimeSeriesDataPoint","description":"A single data point in the time series for event analytics","example":{"clicks":150,"firstSales":25,"installs":100,"leads":50,"repeatedSales":10,"timestamp":"2024-01-01T00:00:00Z","totalEvents":335}},"EventTimeSeriesResponse":{"properties":{"interval":{"$ref":"#/components/schemas/TimeInterval"},"startDate":{"type":"string","format":"date-time","title":"Startdate"},"endDate":{"type":"string","format":"date-time","title":"Enddate"},"dataPoints":{"items":{"$ref":"#/components/schemas/EventTimeSeriesDataPoint"},"type":"array","title":"Datapoints"},"totalDataPoints":{"type":"integer","title":"Totaldatapoints"},"summary":{"additionalProperties":{"type":"integer"},"type":"object","title":"Summary"}},"type":"object","required":["interval","startDate","endDate","dataPoints","totalDataPoints","summary"],"title":"EventTimeSeriesResponse","description":"Response model for time-series event analytics","example":{"dataPoints":[{"clicks":150,"firstSales":25,"installs":100,"leads":50,"repeatedSales":10,"timestamp":"2024-01-01T00:00:00Z","totalEvents":335}],"endDate":"2024-01-31T23:59:59Z","interval":"day","startDate":"2024-01-01T00:00:00Z","summary":{"totalClicks":4650,"totalEvents":10385,"totalFirstSales":775,"totalInstalls":3100,"totalLeads":1550,"totalRepeatedSales":310},"totalDataPoints":31}},"EventsResponse":{"properties":{"eventId":{"type":"string","format":"uuid","title":"Eventid"},"trackerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trackername"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"userClickId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userclickid"},"deviceIp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deviceip"},"deviceBrand":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicebrand"},"deviceModel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicemodel"},"deviceType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Devicetype"},"osName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osname"},"osVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Osversion"},"browserName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browsername"},"browserVersion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Browserversion"},"store":{"$ref":"#/components/schemas/StoreEnum"},"domain":{"type":"string","title":"Domain"},"appNamespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appnamespace"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"uniqueClick":{"type":"boolean","title":"Uniqueclick","default":false},"click":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Click"},"install":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Install"},"lead":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lead"},"firstSale":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Firstsale"},"repeatedSale":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Repeatedsale"},"offerUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Offerurl"},"reasonBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasonblock"},"isBlack":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isblack"},"preLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Prelandingid"},"postLandingId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Postlandingid"},"preLandingName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prelandingname"},"postLandingName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postlandingname"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["eventId","trackerId","store","domain","createdAt"],"title":"EventsResponse"},"ForbiddenResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Access denied."}},"type":"object","title":"ForbiddenResponse"},"FreeEventsDTO":{"properties":{"freeInstalls":{"type":"integer","title":"Freeinstalls"},"freeLeads":{"type":"integer","title":"Freeleads"},"freeSales":{"type":"integer","title":"Freesales"}},"type":"object","required":["freeInstalls","freeLeads","freeSales"],"title":"FreeEventsDTO"},"FullApplicationDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre"},"store":{"$ref":"#/components/schemas/StoreEnum"},"idOnMarket":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idonmarket"},"geoList":{"items":{"type":"string"},"type":"array","title":"Geolist"},"version":{"type":"string","title":"Version"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team"},"screenshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Screenshot"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"}},"type":"object","required":["id","store","version","createdAt"],"title":"FullApplicationDTO","example":{"applicationType":"NATIVE","createdAt":"2023-10-01T12:00:00Z","description":"An example application for demonstration purposes.","downloads":1000000,"geoList":["US","UK","CA"],"icon":"https://example.com/icon.png","id":"f47ac10b-58cc-4372-a567-0e02b2c3d479","name":"Example App","rating":4.5,"screenshots":["https://example.com/screenshot1.png"],"size":2048000,"storeUrl":"https://play.google.com/store/apps/details?id=com.example.app","updatedAt":"2023-10-02T12:00:00Z","version":"1.0.0"}},"FullLandingDTO":{"properties":{"name":{"type":"string","title":"Name"},"templateId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Templateid","description":"ID of the associated template."},"data":{"additionalProperties":true,"type":"object","title":"Data"},"defaultLanguage":{"type":"string","title":"Defaultlanguage","description":"Default language code (e.g., 'en', 'es', 'fr', 'en-US')","default":"en"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"id":{"type":"string","format":"uuid","title":"Id","description":"Unique identifier for the landing page."},"translations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translations"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}],"description":"Owner information of the landing page."}},"type":"object","required":["name","data","id","translations"],"title":"FullLandingDTO","example":{"comment":"Some user comments","data":{"clickButton":"Click here!","sectors":[{"field_1":"10$","field_2":"8$"},{"field_1":"7$","field_2":"125$"},{"field_1":"30$","field_2":"60$"},{"field_1":"70$","field_2":"80$"},{"field_1":"100$","field_2":"200$"},{"field_1":"50$","field_2":"400$"},{"field_1":"111$","field_2":"25$"},{"field_1":"40$","field_2":"250$"}]},"name":"string","templateId":"132801e5-ba88-49f6-965a-deafcd04319f"}},"FullPWADTO":{"properties":{"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"The name of the PWA"},"store":{"anyOf":[{"$ref":"#/components/schemas/PWAStoreEnum"},{"type":"null"}],"description":"Type of the store."},"systemName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Systemname","description":"Name of the app"},"pwaLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwalanguage","description":"Language of the PWA interface"},"forceLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forcelanguage","description":"Force language for PWA, e.g., 'en-GB' or null for no forcing"},"tagsList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tagslist","description":"List of tags associated with the PWA"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Name of the developer"},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verified","description":"Whether the PWA is verified"},"ad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ad","description":"Whether the PWA contains ads"},"purchase":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Purchase","description":"Whether the PWA has in-app purchases"},"editorsChoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editorschoice","description":"Whether the PWA is an editor's choice"},"rating":{"type":"number","title":"Rating","description":"Overall rating of the PWA"},"ratingAbove5":{"type":"integer","title":"Ratingabove5","description":"Number of 5-star ratings"},"ratingAbove4":{"type":"integer","title":"Ratingabove4","description":"Number of 4-star ratings"},"ratingAbove3":{"type":"integer","title":"Ratingabove3","description":"Number of 3-star ratings"},"ratingAbove2":{"type":"integer","title":"Ratingabove2","description":"Number of 2-star ratings"},"ratingAbove1":{"type":"integer","title":"Ratingabove1","description":"Number of 1-star ratings"},"reviewsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviewscount","description":"Total number of reviews"},"downloadCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Downloadcount","description":"Total number of downloads"},"ageRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agerating","description":"Age rating of the PWA"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description","description":"A detailed description of the app"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Version of the app"},"releasedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Releasedat","description":"Release timestamp of the app"},"androidVersion":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Androidversion","description":"Minimum required Android version"},"interactiveElements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interactiveelements","description":"Description of interactive elements"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Information about what's new in the app"},"categoryList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categorylist","description":"List of categories associated with the PWA"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Details about data deletion policies"},"appSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appsize","description":"Size of the app"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"List of user comments for the app"},"userComment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usercomment"},"updatedAppAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedappat","description":"Last updated timestamp of the app"},"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo (Media Library attach branch)","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background (Media Library attach branch)","default":false},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"},"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"ID of the PWA"},"media":{"anyOf":[{"items":{"$ref":"#/components/schemas/app__dto__pwa_dto__MediaDTO"},"type":"array"},{"type":"null"}],"title":"Media","description":"List of media resources associated with the PWA"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"URL of the logo"},"backgroundUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backgroundurl","description":"URL of the background image"},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat","description":"Timestamp when the PWA was created"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat","description":"Timestamp when the PWA was last updated"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}],"description":"Owner information of the PWA"},"translationsCodes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translationscodes","description":"List of available translation languages for the PWA"}},"type":"object","required":["rating","ratingAbove5","ratingAbove4","ratingAbove3","ratingAbove2","ratingAbove1"],"title":"FullPWADTO","example":{"ad":false,"age_rating":18,"android_version":7.0,"app_size":"251MB","category_list":["Productivity","Entertainment"],"comments":[{"author":"John Doe","comment":"Great app","date":"2021-10-01","people_found_helpful":10,"rating":5}],"data_collection":"This app may collect these data types","data_deletion":"You can request that data be deleted","data_encryption":"Data is encrypted in transit","data_transfer":"This app may share these data types with third parties","description":"A detailed description of the app","developer":"Sample Developer","download_count":1000000,"editors_choice":true,"force_language":"en-GB","id":"f47ac10b-58cc-4372-a567-0e02b2c3d479","interactive_elements":"Digital purchases","logo_url":"https://example.com/logo.png","media":[{"media_type":"Image","media_url":"https://example.com/media.png"}],"owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"purchase":true,"pwa_language":"English","pwa_name":"Sample PWA","rating":4.5,"rating_above_1":10,"rating_above_2":20,"rating_above_3":50,"rating_above_4":200,"rating_above_5":1000,"released_at":"2023-10-01T00:00:00Z","reviews_count":1300,"safety_description":"Safety starts with understanding how developers collect and share your data.","store":"Google Play","system_name":"Sample App","tags_list":["Productivity","Tools"],"translations_codes":["en","es","uk"],"updated_app_at":"2023-11-01T00:00:00Z","user_comment":"Some user comments","verified":true,"version":"1.0","whats_new":"Fixed some bugs with opening app"}},"FullPWATemplateDTO":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"ID of the PWA"},"pwaTemplateName":{"type":"string","title":"Pwatemplatename"},"media":{"anyOf":[{"items":{"$ref":"#/components/schemas/app__dto__pwa_template_dto__MediaDTO"},"type":"array"},{"type":"null"}],"title":"Media","description":"List of media resources associated with the PWA"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"URL of the logo"},"backgroundUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backgroundurl","description":"URL of the background image"},"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id behind the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id behind the background"},"isPublic":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ispublic","description":"Whether the template is public (true) or private (false)"},"ownerCompanyUserId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ownercompanyuserid","description":"ID of the company user who owns the template"}},"type":"object","required":["pwaTemplateName"],"title":"FullPWATemplateDTO"},"FullTagDTO":{"properties":{"tag":{"type":"string","title":"Tag"},"userId":{"type":"string","format":"uuid","title":"Userid"}},"type":"object","required":["tag","userId"],"title":"FullTagDTO","example":{"tag":"#production"}},"FullTrackerResponse":{"properties":{"trackerUrl":{"type":"string","title":"Trackerurl"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"trackerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trackername"},"trackerComment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trackercomment"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"cloakingType":{"$ref":"#/components/schemas/CloakingType"},"totalClicks":{"type":"integer","title":"Totalclicks"},"isAvailable":{"type":"boolean","title":"Isavailable","description":"Whether the domain DNS is properly configured and pointing to the expected IP","default":false},"geoList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Geolist","description":"Geo targeting (country codes) of the tracker"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}],"description":"Owner of the tracker"}},"type":"object","required":["trackerUrl","trackerId","createdAt","cloakingType","totalClicks"],"title":"FullTrackerResponse","example":{"cloaking_type":"MODERATION","created_at":"2024-12-11 07:06:21.195444 +00:00","is_available":true,"owner":{"email":"example@.com","logo_url":"https://example.com/logo.png","owner_company_user_id":"123e4567-e89b-12d3-a456-426614174000"},"total_clicks":1000,"tracker_id":"123e4567-e89b-12d3-a456-426614174000","tracker_name":"Example Tracker","tracker_url":"https://app.appsflyer.com/com.docs.platformergame2?pid=facebook&c=tracker_id"}},"GroupedInstanceTagsDTO":{"properties":{"groupedTags":{"additionalProperties":{"items":{"$ref":"#/components/schemas/TagWithIDDTO"},"type":"array"},"type":"object","title":"Groupedtags"}},"type":"object","required":["groupedTags"],"title":"GroupedInstanceTagsDTO","example":{"grouped_tags":{"instance":[{"tag":"#example1","tagId":"f47ac10b-58cc-4372-a567-0e02b2c3d479"},{"tag":"#example2","tagId":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"instance1":[{"tag":"#example3","tagId":"c0ad97b5-1d68-4c68-acae-0efb37306268"}]}}},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InstanceTagByIDDTO":{"properties":{"instanceType":{"type":"string","title":"Instancetype"},"instanceId":{"type":"string","format":"uuid","title":"Instanceid"},"tags":{"items":{"$ref":"#/components/schemas/TagWithIDDTO"},"type":"array","title":"Tags"}},"type":"object","required":["instanceType","instanceId","tags"],"title":"InstanceTagByIDDTO","example":{"instance_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","instance_type":"article","tags":[{"tag":"#example1","tagId":"f47ac10b-58cc-4372-a567-0e02b2c3d479"},{"tag":"#example2","tagId":"d290f1ee-6c54-4b01-90e6-d701748f0851"}]}},"Instances":{"type":"string","enum":["PWA","PIXEL","APPLICATION","ORGANISATION","PRE_LANDING","TRACKER","WALLET","SMART_LINK","MEDIA_ASSET"],"title":"Instances"},"InternalServerErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"An unexpected error occurred. Please try again later."}},"type":"object","title":"InternalServerErrorResponse"},"IntervalEnum":{"type":"string","enum":["year","quarter","month","week","day","hour","minute","second"],"title":"IntervalEnum"},"InvitationDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"inviterEmail":{"type":"string","title":"Inviteremail"},"inviteeEmail":{"type":"string","title":"Inviteeemail"},"status":{"type":"string","title":"Status"},"teamId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid"},"teamName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teamname"},"hash":{"type":"string","title":"Hash"}},"type":"object","required":["id","inviterEmail","inviteeEmail","status","hash"],"title":"InvitationDTO","example":{"hash":"abc123def456","id":"123e4567-e89b-12d3-a456-426614174000","invitee_email":"example2.com","inviter_email":"example.com","status":"expired","team_id":"123e4567-e89b-12d3-a456-426614174111","team_name":"Team1"}},"InvitationInfoDTO":{"properties":{"companyName":{"type":"string","title":"Companyname"},"companyLogoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Companylogourl"},"inviterEmail":{"type":"string","title":"Inviteremail"},"teamName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teamname"},"expiresAt":{"type":"string","format":"date-time","title":"Expiresat"},"isExpired":{"type":"boolean","title":"Isexpired"},"isRedeemed":{"type":"boolean","title":"Isredeemed"}},"type":"object","required":["companyName","inviterEmail","expiresAt","isExpired","isRedeemed"],"title":"InvitationInfoDTO"},"InvitationLinkDTO":{"properties":{"hash":{"type":"string","title":"Hash","description":"URL that the invitee can use to redeem the invitation."}},"type":"object","required":["hash"],"title":"InvitationLinkDTO","example":{"hash":"abc123def456"}},"KeitaroOfferDTO":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"KeitaroOfferDTO","description":"DTO for Keitaro offer search results"},"LandingCustomDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"htmlUrl":{"type":"string","title":"Htmlurl"},"userId":{"type":"string","format":"uuid","title":"Userid"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"previewUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previewurl"},"translations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translations"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}]}},"type":"object","required":["id","name","comment","htmlUrl","userId","createdAt","updatedAt"],"title":"LandingCustomDTO","description":"Full DTO representing all fields of the LandingCustom.","example":{"comment":"Some user comments","createdAt":"2021-09-01T00:00:00","htmlUrl":"https://curie-tech.net/landing/123e4567-e89b-12d3-a456-426614174000","id":"123e4567-e89b-12d3-a456-426614174000","name":"My custom landing","owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"updatedAt":"2021-09-01T00:00:00","userId":"123e4567-e89b-12d3-a456-426614174000"}},"LandingResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"ID of pixel"}},"type":"object","required":["id"],"title":"LandingResponseDTO","example":{"id":"22c29287-7ade-4552-8590-5126ebd090cb"}},"LandingTemplatePreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"previewUrl":{"type":"string","title":"Previewurl"},"gameType":{"anyOf":[{"$ref":"#/components/schemas/LandingTemplateType"},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"}},"type":"object","required":["id","previewUrl","createdAt","updatedAt"],"title":"LandingTemplatePreviewDTO","description":"Preview DTO containing only the id and preview_url.","example":{"createdAt":"2021-09-01T00:00:00","id":"123e4567-e89b-12d3-a456-426614174000","previewUrl":"https://s3.curie-tech.net/landing_templates/preview/123e4567-e89b-12d3-a456-426614174000","updatedAt":"2021-09-01T00:00:00"}},"LandingTemplateType":{"type":"string","enum":["WHEEL","SLOTS","AVIATOR","SCRATCH","BOX","STICK","CARD","PLINKO","BALLOON","CHICKEN","CHICKEN2","IPL_SCRATCH","IPL","FIFA"],"title":"LandingTemplateType"},"LandingTranslationDTO":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"Translation ID (optional for creation)"},"languageCode":{"type":"string","title":"Languagecode","description":"Language code (e.g., 'en', 'es', 'fr', 'en-US')"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Translated data for the landing page"}},"type":"object","required":["languageCode","data"],"title":"LandingTranslationDTO","description":"DTO for landing translation."},"LanguageItemDTO":{"properties":{"locale":{"type":"string","title":"Locale","description":"Language code"},"label":{"type":"string","title":"Label","description":"Language name"}},"type":"object","required":["locale","label"],"title":"LanguageItemDTO"},"ListRolePresetDTO":{"properties":{"rolePresets":{"items":{"$ref":"#/components/schemas/RolePresetDTO"},"type":"array","title":"Rolepresets","description":"List of role presets"}},"type":"object","required":["rolePresets"],"title":"ListRolePresetDTO","example":{"role_presets":[{"app_events_delete":true,"app_events_read":true,"app_events_write":true,"balances_delete":true,"balances_read":true,"balances_write":true,"id":1,"landings_delete":true,"landings_read":true,"landings_show_own_only":false,"landings_write":true,"members_delete":false,"members_read":true,"members_write":true,"name":"Admin","offers_delete":true,"offers_read":true,"offers_show_own_only":false,"offers_write":true,"pixels_delete":true,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":true,"push_show_own_only":false,"pwa_delete":true,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":true,"teams_delete":false,"teams_read":true,"teams_write":true,"trackers_delete":true,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":true},{"id":2,"name":"Manager"}]}},"ManifestDTO":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the PWA"},"name":{"type":"string","title":"Name","description":"Name of the PWA"},"orientation":{"type":"string","title":"Orientation","description":"Orientation of the PWA","default":"any"},"display_override":{"items":{"type":"string"},"type":"array","title":"Display Override","description":"List of display modes for the PWA"},"short_name":{"type":"string","title":"Short Name","description":"Short name of the PWA"},"start_url":{"type":"string","title":"Start Url","description":"Start URL of the PWA","default":"/"},"display":{"type":"string","title":"Display","description":"Display mode of the PWA","default":"standalone"},"background_color":{"type":"string","title":"Background Color","description":"Background color of the PWA","default":"#FFFFFF"},"theme_color":{"type":"string","title":"Theme Color","description":"Theme color of the PWA","default":"#000000"},"icons":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Icons","description":"List of icons for the PWA"},"description":{"type":"string","title":"Description","description":"Description of the PWA"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories","description":"List of categories for the PWA"},"screenshots":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Screenshots","description":"List of screenshots for the PWA"}},"type":"object","required":["id","name","short_name","description"],"title":"ManifestDTO","example":{"background_color":"#FFFFFF","categories":["Productivity","Entertainment"],"description":"A detailed description of the app","display":"standalone","display_override":[],"icons":[],"id":"manifest-123","name":"Sample PWA","orientation":"any","screenshots":[],"short_name":"Sample App","start_url":"/","theme_color":"#000000"}},"MediaAssetDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"$ref":"#/components/schemas/MediaKind"},"filename":{"type":"string","title":"Filename"},"url":{"type":"string","title":"Url","description":"Public URL of the original."},"contentType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contenttype","description":"Sniffed content type, not client-declared."},"sizeBytes":{"type":"integer","title":"Sizebytes"},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"},"durationMs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Durationms","description":"Video duration; null in v1 (no ffmpeg)."},"lqip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lqip","description":"~20px blurred data-URI for next/image placeholder='blur'."},"folderId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folderid","description":"null = library root."},"originContext":{"type":"string","title":"Origincontext","description":"Full upload context, e.g. 'pwa.logo' or 'uncategorized'."},"section":{"type":"string","title":"Section","description":"Derived from originContext prefix; the picker's default facet."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"isArchived":{"type":"boolean","title":"Isarchived","default":false},"sourceAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sourceassetid","description":"Root/source asset for a crop or slice; null for uploads."},"sourceOp":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Sourceop","description":"Transform provenance, e.g. {'type':'crop','rect':{...}}."},"variants":{"items":{"$ref":"#/components/schemas/MediaAssetVariantDTO"},"type":"array","title":"Variants"},"usages":{"items":{"$ref":"#/components/schemas/MediaAssetUsageDTO"},"type":"array","title":"Usages"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"}},"type":"object","required":["id","kind","filename","url","sizeBytes","originContext","section","createdAt"],"title":"MediaAssetDTO"},"MediaAssetUsageDTO":{"properties":{"entityType":{"type":"string","title":"Entitytype","description":"Consumer type: pwa | pwa_template | ..."},"entityId":{"type":"string","format":"uuid","title":"Entityid"},"field":{"type":"string","title":"Field","description":"Field on the consumer: logo | background | screenshot | ..."},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Ordering within a repeated field (screenshots)."}},"type":"object","required":["entityType","entityId","field"],"title":"MediaAssetUsageDTO"},"MediaAssetVariantDTO":{"properties":{"preset":{"type":"string","title":"Preset","description":"Derivative name, e.g. 'pwa_logo_192', 'thumb_512'."},"url":{"type":"string","title":"Url","description":"Public URL of the variant object."},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height"}},"type":"object","required":["preset","url"],"title":"MediaAssetVariantDTO"},"MediaContextDTO":{"properties":{"id":{"type":"string","title":"Id","description":"Full context id, e.g. 'pwa.logo'."},"section":{"type":"string","title":"Section"},"field":{"type":"string","title":"Field"},"ratio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ratio","description":"e.g. '1:1', '9:16'; null when unconstrained."},"ratioMode":{"anyOf":[{"$ref":"#/components/schemas/RatioMode"},{"type":"null"}],"description":"'required' opens crop on mismatch; 'recommended' warns."},"minWidth":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minwidth"},"minHeight":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minheight"},"formats":{"items":{"type":"string"},"type":"array","title":"Formats","description":"Accepted input mime types."},"presets":{"items":{"type":"string"},"type":"array","title":"Presets","description":"Derivatives generated on attach."}},"type":"object","required":["id","section","field","formats","presets"],"title":"MediaContextDTO"},"MediaEntityType":{"type":"string","enum":["pwa","pwa_template","landing","push_template","push_notification","push_rule"],"title":"MediaEntityType","description":"Consumers that can attach a media asset (usage reverse-links).\n\nThe ``push_*`` members come from pwapps-push-service via the ``media.usage`` topic —\nsee ``docs/gallery/push-usage-kafka-plan.md``."},"MediaFolderDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"assetCount":{"type":"integer","title":"Assetcount","description":"Number of (non-deleted, active) assets in the folder.","default":0},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","name","createdAt"],"title":"MediaFolderDTO"},"MediaKind":{"type":"string","enum":["image","video"],"title":"MediaKind"},"MediaSortField":{"type":"string","enum":["createdAt","-createdAt","size","-size"],"title":"MediaSortField"},"ModelChoices":{"type":"string","enum":["gpt-3.5-turbo","gpt-4","gpt-4o-mini"],"title":"ModelChoices"},"MonitoringAddUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"idOnMarket":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idonmarket"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre"},"store":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Store"},"team":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team"},"geoList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Geolist"},"screenshot":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Screenshot"}},"type":"object","title":"MonitoringAddUpdate"},"MoveMediaDTO":{"properties":{"assetIds":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Assetids"},"folderId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folderid","description":"null = library root."}},"type":"object","required":["assetIds"],"title":"MoveMediaDTO"},"MyEventStatsDTO":{"properties":{"clicks":{"type":"integer","title":"Clicks","default":0},"installs":{"type":"integer","title":"Installs","default":0},"leads":{"type":"integer","title":"Leads","default":0},"firstSales":{"type":"integer","title":"Firstsales","default":0},"repeatedSales":{"type":"integer","title":"Repeatedsales","default":0}},"type":"object","title":"MyEventStatsDTO","description":"Current user's event statistics (simplified, no user info needed)","example":{"clicks":150,"firstSales":25,"installs":100,"leads":50,"repeatedSales":10}},"MyResourceStatsDTO":{"properties":{"totalTrackers":{"type":"integer","title":"Totaltrackers","default":0},"totalOffers":{"type":"integer","title":"Totaloffers","default":0},"totalPwas":{"type":"integer","title":"Totalpwas","default":0}},"type":"object","title":"MyResourceStatsDTO","description":"Current user's resource counts (simplified, no user info needed)","example":{"totalOffers":10,"totalPwas":5,"totalTrackers":25}},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"The requested resource was not found."}},"type":"object","title":"NotFoundResponse"},"NotificationDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"content":{"type":"string","title":"Content"},"read":{"type":"boolean","title":"Read"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","content","read","createdAt"],"title":"NotificationDTO","example":{"content":"Some content","createdAt":"2025-01-09T00:07:39.233634+00:00","id":"61ffc5ba-224e-447d-bc67-4d9112c7ed13","read":false}},"OfferCreateDTO":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name","description":"Name of the offer"},"offerUrl":{"type":"string","maxLength":500,"title":"Offerurl","description":"offer_url of the offer"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data","description":"Arbitrary JSON data for the offer"},"comment":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Comment","description":"Optional comment or description for the offer"}},"type":"object","required":["offerUrl"],"title":"OfferCreateDTO","description":"DTO for creating a new offer.","examples":[{"comment":"High payout casino offer for tier 1 GEOs, best for desktop traffic","data":{"currency":"USD","device":"desktop","geo":["US","CA","AU"],"offer_priority":"high","payout":"150","payout_type":"CPA","vertical":"casino"},"name":"Lucky Casino - High Roller","offer_url":"https://tracker.affiliate.com/click?offer_id=1234&aff_id=5678&sub1={click_id}"},{"comment":"European dating offer, optimized for mobile social traffic","data":{"age_targeting":"25-45","currency":"EUR","device":"mobile","geo":["GB","DE","FR"],"payout":"25","payout_type":"CPA","vertical":"dating"},"name":"DateMe - Mobile Dating","offer_url":"https://offers.datingnetwork.com/track/click?campaign=567&publisher=890&subid={tracker_id}"},{"comment":"Finance/crypto educational content with high conversion rate","data":{"content_type":"educational","currency":"USD","geo":["US","UK"],"payout":"75","payout_type":"CPA","traffic_source":"native","vertical":"finance"},"name":"Crypto Trading Guide","offer_url":"https://finance-offers.net/click/crypto-guide?ref=12345&sub={campaign_id}"},{"comment":"Health supplement offer targeting middle-aged women","data":{"currency":"USD","geo":["US"],"payout":"45","payout_type":"CPA","target_audience":"women_30_55","vertical":"health"},"name":"Weight Loss Supplement","offer_url":"https://health-network.com/go/supplement?aff=999&clickid={click_id}&geo={country}"}]},"OfferExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"offerUrl":{"type":"string","title":"Offerurl"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"}},"type":"object","required":["id","offerUrl","createdAt"],"title":"OfferExportDTO"},"OfferOptionDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Offer ID"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Offer name"}},"type":"object","required":["id"],"title":"OfferOptionDTO","description":"DTO for offer options (id and name) for dropdowns/filters."},"OfferResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"offerUrl":{"type":"string","title":"Offerurl"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}],"description":"Owner information"}},"type":"object","required":["id","name","offerUrl","data","comment","createdAt","updatedAt","userId"],"title":"OfferResponseDTO","description":"DTO for offer response.","examples":[{"comment":"High-converting casino offer with VIP treatment","created_at":"2025-07-09T10:30:00Z","data":{"currency":"USD","device":"mobile","geo":["US","CA"],"min_deposit":"20","offer_priority":"premium","payout":"250","payout_type":"CPA","vertical":"casino"},"id":"123e4567-e89b-12d3-a456-426614174000","name":"Slots777 Casino - VIP","offer_url":"https://partners.slots777.com/click?pid=12345&bid=67890&clickid={click_id}","owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"updated_at":"2025-07-09T15:45:00Z","user_id":"456e7890-e89b-12d3-a456-426614174001"},{"comment":"Premium dating platform for educated singles, works great with native ads","created_at":"2025-07-08T14:20:00Z","data":{"age_targeting":"30-50","currency":"USD","device":"desktop","gender_targeting":"both","geo":["UK","AU","NZ"],"payout":"35","payout_type":"CPA","vertical":"dating"},"id":"987e6543-e21b-12d3-a456-426614174002","name":"Elite Dating - Premium","offer_url":"https://track.elitedating.com/aff_c?offer_id=555&aff_id=999&source={source_id}","owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"updated_at":"2025-07-09T09:15:00Z","user_id":"456e7890-e89b-12d3-a456-426614174001"},{"comment":"Cryptocurrency investment education, converts well with email marketing","created_at":"2025-07-07T11:00:00Z","data":{"content_type":"educational","currency":"USD","geo":["US","UK","DE"],"payout":"125","payout_type":"CPA","target_audience":"investors_25_65","vertical":"finance"},"id":"456e7890-e12b-34d5-a678-426614174003","name":"Bitcoin Investment Course","offer_url":"https://financenetwork.pro/go?campaign=btc2024&affiliate=777&subid={campaign_id}","updated_at":"2025-07-09T16:30:00Z","user_id":"456e7890-e89b-12d3-a456-426614174001"}]},"OfferUpdateDTO":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name","description":"Name of the offer"},"offerUrl":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Offerurl","description":"offer_url of the offer"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data","description":"Arbitrary JSON data for the offer"},"comment":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Comment","description":"Optional comment or description for the offer"}},"type":"object","title":"OfferUpdateDTO","description":"DTO for updating an existing offer."},"OkResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Request completed successfully."}},"type":"object","title":"OkResponse"},"OrderByApp":{"type":"string","enum":["name","created_at","updated_at"],"title":"OrderByApp"},"OrderByLanding":{"type":"string","enum":["created_at","updated_at"],"title":"OrderByLanding"},"OrderByPixel":{"type":"string","enum":["created_at","updated_at"],"title":"OrderByPixel"},"OrderByTracker":{"type":"string","enum":["created_at","tracker_name","cloaking_type","total_clicks"],"title":"OrderByTracker"},"OrderByTransaction":{"type":"string","enum":["created_at","amount"],"title":"OrderByTransaction"},"OrderDirection":{"type":"string","enum":["asc","desc"],"title":"OrderDirection"},"OwnerDTO":{"properties":{"ownerCompanyUserId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ownercompanyuserid"},"email":{"type":"string","format":"email","title":"Email"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl"}},"type":"object","required":["email"],"title":"OwnerDTO","example":{"email":"example@.com","logoUrl":"https://example.com/logo.png","ownerCompanyUserId":"123e4567-e89b-12d3-a456-426614174000"}},"PWADTO":{"properties":{"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"The name of the PWA"},"store":{"anyOf":[{"$ref":"#/components/schemas/PWAStoreEnum"},{"type":"null"}],"description":"Type of the store."},"systemName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Systemname","description":"Name of the app"},"pwaLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwalanguage","description":"Language of the PWA interface"},"forceLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forcelanguage","description":"Force language for PWA, e.g., 'en-GB' or null for no forcing"},"tagsList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tagslist","description":"List of tags associated with the PWA"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Name of the developer"},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verified","description":"Whether the PWA is verified"},"ad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ad","description":"Whether the PWA contains ads"},"purchase":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Purchase","description":"Whether the PWA has in-app purchases"},"editorsChoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editorschoice","description":"Whether the PWA is an editor's choice"},"rating":{"type":"number","title":"Rating","description":"Overall rating of the PWA"},"ratingAbove5":{"type":"integer","title":"Ratingabove5","description":"Number of 5-star ratings"},"ratingAbove4":{"type":"integer","title":"Ratingabove4","description":"Number of 4-star ratings"},"ratingAbove3":{"type":"integer","title":"Ratingabove3","description":"Number of 3-star ratings"},"ratingAbove2":{"type":"integer","title":"Ratingabove2","description":"Number of 2-star ratings"},"ratingAbove1":{"type":"integer","title":"Ratingabove1","description":"Number of 1-star ratings"},"reviewsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviewscount","description":"Total number of reviews"},"downloadCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Downloadcount","description":"Total number of downloads"},"ageRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agerating","description":"Age rating of the PWA"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description","description":"A detailed description of the app"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Version of the app"},"releasedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Releasedat","description":"Release timestamp of the app"},"androidVersion":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Androidversion","description":"Minimum required Android version"},"interactiveElements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interactiveelements","description":"Description of interactive elements"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Information about what's new in the app"},"categoryList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categorylist","description":"List of categories associated with the PWA"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Details about data deletion policies"},"appSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appsize","description":"Size of the app"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"List of user comments for the app"},"userComment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usercomment"},"updatedAppAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedappat","description":"Last updated timestamp of the app"},"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo (Media Library attach branch)","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background (Media Library attach branch)","default":false},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"}},"type":"object","required":["rating","ratingAbove5","ratingAbove4","ratingAbove3","ratingAbove2","ratingAbove1"],"title":"PWADTO","example":{"ad":false,"age_rating":18,"android_version":7.0,"app_size":"251MB","category_list":["Productivity","Entertainment"],"comments":[{"author":"John Doe","comment":"Great app","date":"2021-10-01","people_found_helpful":10,"rating":5}],"data_collection":"This app may collect these data types","data_deletion":"You can request that data be deleted","data_encryption":"Data is encrypted in transit","data_transfer":"This app may share these data types with third parties","description":"A detailed description of the app","developer":"Sample Developer","download_count":1000000,"editors_choice":true,"force_language":"en-GB","interactive_elements":"Digital purchases","purchase":true,"pwa_language":"English","pwa_name":"Sample PWA","rating":4.5,"rating_above_1":10,"rating_above_2":20,"rating_above_3":50,"rating_above_4":200,"rating_above_5":1000,"released_at":"2023-10-01T00:00:00Z","reviews_count":1300,"safety_description":"Safety starts with understanding how developers collect and share your data.","store":"Google Play","system_name":"Sample App","tags_list":["Productivity","Tools"],"updated_app_at":"2023-11-01T00:00:00Z","user_comment":"Some user comments","verified":true,"version":"1.0","whats_new":"Fixed some bugs with opening app"}},"PWAResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"PWAResponseDTO","example":{"id":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}},"PWASlugsDTO":{"properties":{"slug":{"type":"string","format":"uuid","title":"Slug","description":"Slug of the PWA"},"name":{"type":"string","title":"Name","description":"Name of the PWA"}},"type":"object","required":["slug","name"],"title":"PWASlugsDTO","example":{"name":"Sample PWA","slug":"sample-pwa-d39bbcac-7962-49cf-be5a-5da54f858e3f"}},"PWAStoreEnum":{"type":"string","enum":["App Store","Google Play"],"title":"PWAStoreEnum"},"PWATemplateEnum":{"type":"string","enum":["my","public","all"],"title":"PWATemplateEnum"},"PWATemplateResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["id"],"title":"PWATemplateResponseDTO","example":{"id":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}},"PWATranslationDTO":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"languageCode":{"type":"string","title":"Languagecode","description":"Language code (e.g., 'en', 'es', 'uk')"},"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"Translated name of the PWA"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Translated description of the PWA"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Translated information about what's new in the app"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Translated description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Translated types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Translated types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Translated details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Translated details about data deletion policies"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"Translated list of user comments for the app"}},"type":"object","required":["languageCode"],"title":"PWATranslationDTO","description":"DTO for PWA translation."},"Page_AppEventsGroupedStatisticsDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AppEventsGroupedStatisticsDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[AppEventsGroupedStatisticsDTO]"},"Page_DomainDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DomainDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[DomainDTO]"},"Page_EventsResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EventsResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[EventsResponse]"},"Page_FullApplicationDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FullApplicationDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[FullApplicationDTO]"},"Page_FullTrackerResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FullTrackerResponse"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[FullTrackerResponse]"},"Page_LandingCustomDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/LandingCustomDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[LandingCustomDTO]"},"Page_LandingTemplatePreviewDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/LandingTemplatePreviewDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[LandingTemplatePreviewDTO]"},"Page_NotificationDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NotificationDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[NotificationDTO]"},"Page_OfferResponseDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OfferResponseDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[OfferResponseDTO]"},"Page_PixelDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PixelDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[PixelDTO]"},"Page_ReferralCodeDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReferralCodeDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ReferralCodeDTO]"},"Page_ResponseTransactionDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ResponseTransactionDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[ResponseTransactionDTO]"},"Page_TagWithIDDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TagWithIDDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[TagWithIDDTO]"},"Page_UserEventStatsDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UserEventStatsDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[UserEventStatsDTO]"},"Page_UserResourceStatsDTO_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UserResourceStatsDTO"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"page":{"type":"integer","minimum":1.0,"title":"Page"},"size":{"type":"integer","minimum":1.0,"title":"Size"},"pages":{"type":"integer","minimum":0.0,"title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"Page[UserResourceStatsDTO]"},"PagedCompanyUsersDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ShortCompanyUserDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedCompanyUsersDTO","example":{"items":[{"email":"example.com","id":"123e4567-e89b-12d3-a456-426614174000","logo_url":"https://example.com/logo.png","role_name":"Editor","status":"pending"},{"email":"example2.com","id":"123e4567-e89b-12d3-a456-426614174001","logo_url":"https://example.com/logo2.png","role_name":"Admin","status":"active"}],"page":1,"pages":1,"size":10,"total":2}},"PagedInvitationDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InvitationDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedInvitationDTO"},"PagedMediaAsset":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MediaAssetDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedMediaAsset","description":"Mirrors the fastapi_pagination ``Page`` shape (see PagedPWA)."},"PagedPWA":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ShortPWADTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedPWA"},"PagedPWATemplate":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FullPWATemplateDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedPWATemplate"},"PagedTeamDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TeamDTO"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PagedTeamDTO","example":{"items":[{"company_id":"123e4567-e89b-12d3-a456-426614174000","name":"Marketing Team"}],"page":1,"pages":1,"size":10,"total":1}},"PasswordRecoverySchema":{"properties":{"password":{"type":"string","title":"Password"},"encodedToken":{"type":"string","title":"Encodedtoken"}},"type":"object","required":["password","encodedToken"],"title":"PasswordRecoverySchema","example":{"encodedToken":"encoded_token_example","password":"recoveredPassword"}},"PixelCreateDTO":{"properties":{"pixel":{"type":"string","title":"Pixel"},"token":{"type":"string","title":"Token"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"pixelType":{"$ref":"#/components/schemas/PixelType"}},"type":"object","required":["pixel","token","pixelType"],"title":"PixelCreateDTO","example":{"comment":"This is an example comment. All data, including pixel ID and EAAG, is a sample","pixel":"32643637483211","pixel_type":"facebook","token":"EAAGm0PX4ZBEBAGqZC1ZC8Jg1ZBZA0nE8Kv1gE0VZBZB8ZBnbZC2qZC5RXX1rZB5eAZDZD"}},"PixelDTO":{"properties":{"pixel":{"type":"string","title":"Pixel"},"token":{"type":"string","title":"Token"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"pixelType":{"$ref":"#/components/schemas/PixelType"},"id":{"type":"string","format":"uuid","title":"Id"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}]}},"type":"object","required":["pixel","token","pixelType","id","createdAt"],"title":"PixelDTO","example":{"comment":"This is an example comment. All data, including pixel ID and EAAG, is a sample","createdAt":"2022-01-01T00:00:00","id":"123e4567-e89-b12-d3a456426614","owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"pixel":"32643637483211","pixel_type":"facebook","token":"EAAGm0PX4ZBEBAGqZC1ZC8Jg1ZBZA0nE8Kv1gE0VZBZB8ZBnbZC2qZC5RXX1rZB5eAZDZD","updatedAt":"2022-01-01T00:00:00"}},"PixelExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"pixel":{"type":"string","title":"Pixel"},"token":{"type":"string","title":"Token"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"pixelType":{"type":"string","title":"Pixeltype"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"userId":{"type":"string","format":"uuid","title":"Userid"}},"type":"object","required":["id","pixel","token","pixelType","createdAt","userId"],"title":"PixelExportDTO"},"PixelResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"ID of pixel"}},"type":"object","required":["id"],"title":"PixelResponseDTO","example":{"id":"22c29287-7ade-4552-8590-5126ebd090cb"}},"PixelType":{"type":"string","enum":["tiktok","facebook","google","twitter"],"title":"PixelType"},"PixelUpdateDTO":{"properties":{"pixel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pixel"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","title":"PixelUpdateDTO","example":{"comment":"This is an example comment. All data, including pixel ID and EAAG, is a sample","pixel":"32643637483211","token":"EAAGm0PX4ZBEBAGqZC1ZC8Jg1ZBZA0nE8Kv1gE0VZBZB8ZBnbZC2qZC5RXX1rZB5eAZDZD"}},"PublicPWADTO":{"properties":{"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"The name of the PWA"},"store":{"anyOf":[{"$ref":"#/components/schemas/PWAStoreEnum"},{"type":"null"}],"description":"Type of the store."},"systemName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Systemname","description":"Name of the app"},"pwaLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwalanguage","description":"Language of the PWA interface"},"forceLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forcelanguage","description":"Force language for PWA, e.g., 'en-GB' or null for no forcing"},"tagsList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tagslist","description":"List of tags associated with the PWA"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Name of the developer"},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verified","description":"Whether the PWA is verified"},"ad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ad","description":"Whether the PWA contains ads"},"purchase":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Purchase","description":"Whether the PWA has in-app purchases"},"editorsChoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editorschoice","description":"Whether the PWA is an editor's choice"},"rating":{"type":"number","title":"Rating","description":"Overall rating of the PWA"},"ratingAbove5":{"type":"integer","title":"Ratingabove5","description":"Number of 5-star ratings"},"ratingAbove4":{"type":"integer","title":"Ratingabove4","description":"Number of 4-star ratings"},"ratingAbove3":{"type":"integer","title":"Ratingabove3","description":"Number of 3-star ratings"},"ratingAbove2":{"type":"integer","title":"Ratingabove2","description":"Number of 2-star ratings"},"ratingAbove1":{"type":"integer","title":"Ratingabove1","description":"Number of 1-star ratings"},"reviewsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviewscount","description":"Total number of reviews"},"downloadCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Downloadcount","description":"Total number of downloads"},"ageRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agerating","description":"Age rating of the PWA"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description","description":"A detailed description of the app"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Version of the app"},"releasedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Releasedat","description":"Release timestamp of the app"},"androidVersion":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Androidversion","description":"Minimum required Android version"},"interactiveElements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interactiveelements","description":"Description of interactive elements"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Information about what's new in the app"},"categoryList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categorylist","description":"List of categories associated with the PWA"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Details about data deletion policies"},"appSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appsize","description":"Size of the app"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"List of user comments for the app"},"userComment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usercomment"},"updatedAppAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedappat","description":"Last updated timestamp of the app"},"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo (Media Library attach branch)","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background (Media Library attach branch)","default":false},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"},"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"ID of the PWA"},"media":{"anyOf":[{"items":{"$ref":"#/components/schemas/app__dto__pwa_dto__MediaDTO"},"type":"array"},{"type":"null"}],"title":"Media","description":"List of media resources associated with the PWA"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"URL of the logo"},"backgroundUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backgroundurl","description":"URL of the background image"},"translationsCodes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translationscodes","description":"List of available translation languages for the PWA"}},"type":"object","required":["rating","ratingAbove5","ratingAbove4","ratingAbove3","ratingAbove2","ratingAbove1"],"title":"PublicPWADTO","description":"Public, unauthenticated view of a PWA used by the static generator.\n\nContains only the data needed to render the PWA. Intentionally excludes\ninternal/owner fields exposed by ``FullPWADTO`` (``owner``, ``created_at``,\n``updated_at``).","example":{"ad":false,"age_rating":18,"android_version":7.0,"app_size":"251MB","category_list":["Productivity","Entertainment"],"comments":[{"author":"John Doe","comment":"Great app","date":"2021-10-01","people_found_helpful":10,"rating":5}],"data_collection":"This app may collect these data types","data_deletion":"You can request that data be deleted","data_encryption":"Data is encrypted in transit","data_transfer":"This app may share these data types with third parties","description":"A detailed description of the app","developer":"Sample Developer","download_count":1000000,"editors_choice":true,"force_language":"en-GB","interactive_elements":"Digital purchases","purchase":true,"pwa_language":"English","pwa_name":"Sample PWA","rating":4.5,"rating_above_1":10,"rating_above_2":20,"rating_above_3":50,"rating_above_4":200,"rating_above_5":1000,"released_at":"2023-10-01T00:00:00Z","reviews_count":1300,"safety_description":"Safety starts with understanding how developers collect and share your data.","store":"Google Play","system_name":"Sample App","tags_list":["Productivity","Tools"],"updated_app_at":"2023-11-01T00:00:00Z","user_comment":"Some user comments","verified":true,"version":"1.0","whats_new":"Fixed some bugs with opening app"}},"RatioMode":{"type":"string","enum":["required","recommended"],"title":"RatioMode"},"ReferralCodeDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"code":{"type":"string","title":"Code"}},"type":"object","required":["id","code"],"title":"ReferralCodeDTO"},"ResponseTransactionDTO":{"properties":{"amount":{"type":"string","title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"type":{"$ref":"#/components/schemas/TransactionType","title":"Transaction Type"},"details":{"type":"string","title":"Transaction Details"},"paymentProvider":{"type":"string","title":"Payment Provider","default":"TRON"},"id":{"type":"string","format":"uuid","title":"Transaction ID"},"createdAt":{"type":"string","format":"date-time","title":"Created at"}},"type":"object","required":["amount","type","details","id","createdAt"],"title":"ResponseTransactionDTO","example":{"amount":0.4,"createdAt":"2021-08-01T00:00:00.000Z","currency":"USD","details":"Some details","id":"123e4567-e89b-12d3-a456-426614174000","paymentProvider":"TRON","type":"DEPOSIT"}},"RoleNameItemDTO":{"properties":{"slug":{"type":"string","title":"Slug","description":"Role slug"},"name":{"type":"string","title":"Name","description":"Role name"}},"type":"object","required":["slug","name"],"title":"RoleNameItemDTO"},"RoleNamesDTO":{"properties":{"roleNames":{"items":{"$ref":"#/components/schemas/RoleNameItemDTO"},"type":"array","title":"Rolenames","description":"List of role names"}},"type":"object","required":["roleNames"],"title":"RoleNamesDTO","example":{"role_names":[{"name":"Admin","slug":"admin"},{"name":"Head","slug":"head"},{"name":"Team Lead","slug":"team_lead"}]}},"RolePresetDTO":{"properties":{"trackersRead":{"type":"boolean","title":"Trackersread","description":"Permission to read trackers"},"trackersWrite":{"type":"boolean","title":"Trackerswrite","description":"Permission to write trackers"},"trackersDelete":{"type":"boolean","title":"Trackersdelete","description":"Permission to delete trackers"},"trackersShowOwnOnly":{"type":"boolean","title":"Trackersshowownonly","description":"Whether the user can only see their own trackers"},"balancesRead":{"type":"boolean","title":"Balancesread","description":"Permission to read balance"},"balancesWrite":{"type":"boolean","title":"Balanceswrite","description":"Permission to write balance"},"balancesDelete":{"type":"boolean","title":"Balancesdelete","description":"Permission to delete balance"},"landingsRead":{"type":"boolean","title":"Landingsread","description":"Permission to read landings"},"landingsWrite":{"type":"boolean","title":"Landingswrite","description":"Permission to write landings"},"landingsDelete":{"type":"boolean","title":"Landingsdelete","description":"Permission to delete landings"},"landingsShowOwnOnly":{"type":"boolean","title":"Landingsshowownonly","description":"Whether the user can only see their own landings"},"pwaRead":{"type":"boolean","title":"Pwaread","description":"Permission to read PWA"},"pwaWrite":{"type":"boolean","title":"Pwawrite","description":"Permission to write PWA"},"pwaDelete":{"type":"boolean","title":"Pwadelete","description":"Permission to delete PWA"},"pwaShowOwnOnly":{"type":"boolean","title":"Pwashowownonly","description":"Whether the user can only see their own PWAs"},"pushRead":{"type":"boolean","title":"Pushread","description":"Permission to read push"},"pushWrite":{"type":"boolean","title":"Pushwrite","description":"Permission to write push"},"pushDelete":{"type":"boolean","title":"Pushdelete","description":"Permission to delete push"},"pushShowOwnOnly":{"type":"boolean","title":"Pushshowownonly","description":"Whether the user can only see their own push notifications"},"pixelsRead":{"type":"boolean","title":"Pixelsread","description":"Permission to read pixels"},"pixelsWrite":{"type":"boolean","title":"Pixelswrite","description":"Permission to write pixels"},"pixelsDelete":{"type":"boolean","title":"Pixelsdelete","description":"Permission to delete pixels"},"pixelsShowOwnOnly":{"type":"boolean","title":"Pixelsshowownonly","description":"Whether the user can only see their own pixels"},"offersRead":{"type":"boolean","title":"Offersread","description":"Permission to read offers"},"offersWrite":{"type":"boolean","title":"Offerswrite","description":"Permission to write offers"},"offersDelete":{"type":"boolean","title":"Offersdelete","description":"Permission to delete offers"},"offersShowOwnOnly":{"type":"boolean","title":"Offersshowownonly","description":"Whether the user can only see their own offers"},"appEventsRead":{"type":"boolean","title":"Appeventsread","description":"Permission to read app events"},"appEventsShowOwnOnly":{"type":"boolean","title":"Appeventsshowownonly","description":"Whether the user can only see their own app events"},"teamsRead":{"type":"boolean","title":"Teamsread","description":"Permission to read teams"},"teamsWrite":{"type":"boolean","title":"Teamswrite","description":"Permission to write teams"},"teamsDelete":{"type":"boolean","title":"Teamsdelete","description":"Permission to delete teams"},"membersRead":{"type":"boolean","title":"Membersread","description":"Permission to read members"},"membersWrite":{"type":"boolean","title":"Memberswrite","description":"Permission to write members"},"membersDelete":{"type":"boolean","title":"Membersdelete","description":"Permission to delete members"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"}},"type":"object","required":["trackersRead","trackersWrite","trackersDelete","trackersShowOwnOnly","balancesRead","balancesWrite","balancesDelete","landingsRead","landingsWrite","landingsDelete","landingsShowOwnOnly","pwaRead","pwaWrite","pwaDelete","pwaShowOwnOnly","pushRead","pushWrite","pushDelete","pushShowOwnOnly","pixelsRead","pixelsWrite","pixelsDelete","pixelsShowOwnOnly","offersRead","offersWrite","offersDelete","offersShowOwnOnly","appEventsRead","appEventsShowOwnOnly","teamsRead","teamsWrite","teamsDelete","membersRead","membersWrite","membersDelete","slug","name"],"title":"RolePresetDTO","example":{"app_events_delete":true,"app_events_read":true,"app_events_write":true,"balance_delete":true,"balance_read":true,"balance_write":true,"landings_delete":true,"landings_read":true,"landings_show_own_only":false,"landings_write":true,"members_delete":false,"members_read":true,"members_write":true,"name":"Admin","offers_delete":true,"offers_read":true,"offers_show_own_only":false,"offers_write":true,"pixels_delete":true,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":true,"push_show_own_only":false,"pwa_delete":true,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":true,"slug":"admin","teams_delete":false,"teams_read":true,"teams_write":true,"trackers_delete":true,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":true}},"Roles":{"type":"string","enum":["SUPERUSER","USER","MEDIA_BUYER","AFFILIATE"],"title":"Roles"},"ScreenshotRefDTO":{"properties":{"assetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assetid","description":"Library asset id for a freshly-picked screenshot"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key","description":"Retained screenshot: a full URL or bare S3 key kept as-is"}},"type":"object","title":"ScreenshotRefDTO","description":"One entry of an ordered, mixed screenshot set — exactly one of the two fields is set.\n\n``asset_id`` is a freshly-picked library asset: the service attaches it, stores the\n``pwa_screenshot`` key and writes a usage row. ``key`` is a screenshot already in S3,\nretained as-is; it accepts a full public URL or a bare key, and is resolved back to its\nasset where one claims it, so the \"used in N\" / safe-delete guard survives.\n\nThe list is the screenshot set in grid order, so a fresh pick can join retained entries."},"Section":{"type":"string","enum":["trackers","balances","landings","pwa","push","pixels","offers","app_events","teams","members"],"title":"Section"},"ShortCompanyUserDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"roleName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rolename"},"teamId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid"},"teamName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teamname"}},"type":"object","required":["id","email","logoUrl","status","roleName","teamId","teamName"],"title":"ShortCompanyUserDTO","example":{"email":"example.com","id":"123e4567-e89b-12d3-a456-426614174000","logo_url":"https://example.com/logo.png","role_name":"Editor","status":"pending","team_id":"123e4567-e89b-12d3-a456-426614174111","team_name":"Team1"}},"ShortPWADTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"pwaName":{"type":"string","title":"Pwaname"},"systemName":{"type":"string","title":"Systemname"},"releasedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Releasedat","description":"Release timestamp of the app"},"updatedAppAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedappat","description":"Last updated timestamp of the app"},"createdAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Createdat","description":"Timestamp when the PWA was created"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat","description":"Timestamp when the PWA was last updated"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logourl","description":"URL of the logo"},"media":{"items":{"$ref":"#/components/schemas/app__dto__pwa_dto__MediaDTO"},"type":"array","title":"Media"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","description":"Average rating"},"usedInTrackers":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Usedintrackers","description":"List of trackers using this PWA with their id and name"},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}],"description":"Owner information of the PWA"},"translationsCodes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Translationscodes","description":"List of available translation languages for the PWA"}},"type":"object","required":["id","pwaName","systemName","media"],"title":"ShortPWADTO","example":{"created_at":"2023-09-15T12:30:00Z","id":"f47ac10b-58cc-4372-a567-0e02b2c3d479","logo_url":"https://example.com/logo.png","media":[{"media_type":"Image","media_url":"https://example.com/media.png"}],"owner":{"email":"example@.com","logo_url":"https://example.com/owner_logo.png","owner_company_user_id":"d290f1ee-6c54-4fbb-9fa6-0e02b2c3d479"},"pwa_name":"Sample PWA","rating":4.5,"released_at":"2023-10-01T00:00:00Z","translations_codes":["en","es","uk"],"updated_app_at":"2023-10-01T00:00:00Z","updated_at":"2023-10-15T14:45:00Z","used_in_trackers":[{"id":"tracker-123","name":"Sample Tracker"},{"id":"tracker-456","name":"Another Tracker"}]}},"SplitMediaDTO":{"properties":{"count":{"type":"integer","maximum":8.0,"minimum":2.0,"title":"Count"},"orientation":{"$ref":"#/components/schemas/SplitOrientation","default":"vertical"},"context":{"type":"string","title":"Context","description":"Target context id for the produced slices."}},"type":"object","required":["count","context"],"title":"SplitMediaDTO"},"SplitOrientation":{"type":"string","enum":["vertical","horizontal"],"title":"SplitOrientation"},"StoreEnum":{"type":"string","enum":["IOS","ANDROID","PWA","APK"],"title":"StoreEnum"},"SupportedLanguagesDTO":{"properties":{"sourceLanguages":{"items":{"$ref":"#/components/schemas/LanguageItemDTO"},"type":"array","title":"Sourcelanguages","description":"Supported source languages"},"targetLanguages":{"items":{"$ref":"#/components/schemas/LanguageItemDTO"},"type":"array","title":"Targetlanguages","description":"Supported target languages"}},"type":"object","required":["sourceLanguages","targetLanguages"],"title":"SupportedLanguagesDTO","description":"Response DTO for supported languages.","example":{"sourceLanguages":[{"label":"English","locale":"EN"},{"label":"German","locale":"DE"},{"label":"Ukrainian","locale":"UK"}],"targetLanguages":[{"label":"English (American)","locale":"EN-US"},{"label":"German","locale":"DE"},{"label":"Ukrainian","locale":"UK"}]}},"TagDTO":{"properties":{"tag":{"type":"string","title":"Tag"}},"type":"object","required":["tag"],"title":"TagDTO","example":{"tag":"#production"}},"TagDeleteDTO":{"properties":{"tagId":{"type":"string","format":"uuid","title":"Tagid"},"instanceId":{"type":"string","format":"uuid","title":"Instanceid"}},"type":"object","required":["tagId","instanceId"],"title":"TagDeleteDTO"},"TagWithIDDTO":{"properties":{"tag":{"type":"string","title":"Tag"},"tagId":{"type":"string","format":"uuid","title":"Tagid"}},"type":"object","required":["tag","tagId"],"title":"TagWithIDDTO","example":{"tag":"#production","tagId":"f47ac10b-58cc-4372-a567-0e02b2c3d479"}},"TeamDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the team."},"companyId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Companyid","description":"ID of the organization the team belongs to."},"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"ID of the team."}},"type":"object","title":"TeamDTO","example":{"company_id":"123e4567-e89b-12d3-a456-426614174000","id":"123e4567-e89b-12d3-a456-426614174002","name":"Marketing Team"}},"TimeInterval":{"type":"string","enum":["hour","day","week","month"],"title":"TimeInterval","description":"Time interval for aggregating analytics data"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["access_token","refresh_token"],"title":"TokenResponse","example":{"access_token":"eyJasdasd","refresh_token":"eyJasdasdasd"}},"TrackerCampaignCreateDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional ops-facing label for this traffic source"},"status":{"anyOf":[{"$ref":"#/components/schemas/CampaignStatus"},{"type":"null"}],"description":"Defaults to MODERATION if omitted — new traffic sources always start unapproved."}},"type":"object","title":"TrackerCampaignCreateDTO"},"TrackerCampaignResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Use this value as the campaignId query param on the tracker link"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"status":{"$ref":"#/components/schemas/CampaignStatus"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"sources":{"items":{"$ref":"#/components/schemas/TrackerCampaignSourceResponse"},"type":"array","title":"Sources","description":"External ad-platform identifiers mapped to this traffic source."}},"type":"object","required":["id","trackerId","status","createdAt"],"title":"TrackerCampaignResponse"},"TrackerCampaignSourceCreateDTO":{"properties":{"sourceId":{"type":"string","maxLength":255,"minLength":1,"title":"Sourceid","description":"External ad-platform identifier, e.g. an FB sub-campaign ID."}},"type":"object","required":["sourceId"],"title":"TrackerCampaignSourceCreateDTO"},"TrackerCampaignSourceResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"campaignId":{"type":"string","format":"uuid","title":"Campaignid"},"sourceId":{"type":"string","title":"Sourceid"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","campaignId","sourceId","createdAt"],"title":"TrackerCampaignSourceResponse"},"TrackerCampaignUpdateDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"status":{"anyOf":[{"$ref":"#/components/schemas/CampaignStatus"},{"type":"null"}],"description":"Set to ACTIVE to approve this traffic source."}},"type":"object","title":"TrackerCampaignUpdateDTO"},"TrackerCreateDTO":{"properties":{"pwas":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedPWADTO"},"type":"array"},{"type":"null"}],"title":"Pwas"},"applications":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedApplicationDTO"},"type":"array"},{"type":"null"}],"title":"Applications"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"offers":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedOfferDTO"},"type":"array"},{"type":"null"}],"title":"Offers"},"whitePageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whitepageurl"},"cloakingType":{"anyOf":[{"$ref":"#/components/schemas/CloakingType"},{"type":"null"}]},"pixelsId":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Pixelsid"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"preLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Prelandings"},"postLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Postlandings"},"domainId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Domainid"},"geoList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Geolist","description":"Geo cloaking"}},"type":"object","title":"TrackerCreateDTO","example":{"applications":[{"applicationId":"123e4567-e89b-12d3-a456-426614174000","deviceType":"ANDROID","weight":100},{"applicationId":"123e4567-e89b-12d3-a456-426614174000","deviceType":"IOS","weight":25}],"cloakingType":"MODERATION","comment":"This is an example comment.","domainId":"123e4567-e89b-12d3-a456-426614174000","geoList":["US","GB"],"name":"Example Tracker","offers":[{"offerId":"123e4567-e89b-12d3-a456-426614174000","weight":60},{"offerId":"223e4567-e89b-12d3-a456-426614174000","weight":40}],"pixelsId":["123e4567-e89b-12d3-a456-426614174000"],"postLandings":[{"landingId":"323e4567-e89b-12d3-a456-426614174000","weight":33},{"landingId":"423e4567-e89b-12d3-a456-426614174000","weight":33},{"landingId":"523e4567-e89b-12d3-a456-426614174000","weight":34}],"preLandings":[{"landingId":"123e4567-e89b-12d3-a456-426614174000","weight":50},{"landingId":"223e4567-e89b-12d3-a456-426614174000","weight":50}],"pwas":[{"deviceType":"IOS","pwaId":"123e4567-e89b-12d3-a456-426614174000","weight":50},{"deviceType":"IOS","pwaId":"123e4567-e89b-12d3-a456-426614174000","weight":25}],"whitePageUrl":"https://gaievskyi.com"}},"TrackerCreateResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"ID of the created tracker"},"link":{"type":"string","title":"Link"}},"type":"object","required":["id","link"],"title":"TrackerCreateResponse","example":{"id":"123e4567-e89b-12d3-a456-426614174000","link":"https://app.appsflyer.com/com.docs.platformergame2?pid=facebook&c=tracker_id"}},"TrackerExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"whitePageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whitepageurl"},"geoList":{"anyOf":[{},{"type":"null"}],"title":"Geolist"},"pwaDomains":{"anyOf":[{},{"type":"null"}],"title":"Pwadomains"},"pwaHosts":{"anyOf":[{},{"type":"null"}],"title":"Pwahosts"},"cloakingType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cloakingtype"},"isDeleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isdeleted"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"domainId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Domainid"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"userId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Userid"}},"type":"object","required":["id","createdAt"],"title":"TrackerExportDTO"},"TrackerFullDTO":{"properties":{"pwas":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedPWADTO"},"type":"array"},{"type":"null"}],"title":"Pwas"},"applications":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedApplicationDTO"},"type":"array"},{"type":"null"}],"title":"Applications"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"offers":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedOfferDTO"},"type":"array"},{"type":"null"}],"title":"Offers"},"whitePageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whitepageurl"},"cloakingType":{"anyOf":[{"$ref":"#/components/schemas/CloakingType"},{"type":"null"}]},"pixelsId":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Pixelsid"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"preLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Prelandings"},"postLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Postlandings"},"domainId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Domainid"},"geoList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Geolist","description":"Geo cloaking"},"id":{"type":"string","format":"uuid","title":"Id"},"domain":{"type":"string","title":"Domain"},"isAvailable":{"type":"boolean","title":"Isavailable","description":"Whether the domain DNS is properly configured and pointing to the expected IP","default":false},"owner":{"anyOf":[{"$ref":"#/components/schemas/OwnerDTO"},{"type":"null"}]}},"type":"object","required":["id","domain"],"title":"TrackerFullDTO","example":{"applications":[{"application_id":"123e4567-e89b-12d3-a456-426614174000","device_type":"ANDROID","weight":100}],"cloaking_type":"MODERATION","comment":"This is an example comment.","domain":"example.com","domain_id":"123e4567-e89b-12d3-a456-426614174000","geo_list":["US","GB"],"id":"123e4567-e89b-12d3-a456-426614174000","is_available":true,"offers":[{"offer_id":"123e4567-e89b-12d3-a456-426614174000","weight":100}],"owner":{"email":"example@.com","logo_url":"https://example.com/logo.png","owner_company_user_id":"123e4567-e89b-12d3-a456-426614174000"},"pixels_id":["123e4567-e89b-12d3-a456-426614174000"],"post_landings":[{"landing_id":"323e4567-e89b-12d3-a456-426614174000","weight":33},{"landing_id":"423e4567-e89b-12d3-a456-426614174000","weight":33},{"landing_id":"523e4567-e89b-12d3-a456-426614174000","weight":34}],"pre_landings":[{"landing_id":"123e4567-e89b-12d3-a456-426614174000","weight":50},{"landing_id":"223e4567-e89b-12d3-a456-426614174000","weight":50}],"pwas":[{"device_type":"IOS","pwa_id":"123e4567-e89b-12d3-a456-426614174000","weight":100}],"type":"TRACKER","white_page_url":"https://gaievskyi.com"}},"TrackerOfferCreateDTO":{"properties":{"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"offerId":{"type":"string","format":"uuid","title":"Offerid"},"weight":{"type":"integer","minimum":1.0,"title":"Weight","description":"Weight for random selection","default":1}},"type":"object","required":["trackerId","offerId"],"title":"TrackerOfferCreateDTO","description":"DTO for creating tracker-offer association."},"TrackerOfferExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"offerId":{"type":"string","format":"uuid","title":"Offerid"},"weight":{"type":"integer","title":"Weight"}},"type":"object","required":["id","trackerId","offerId","weight"],"title":"TrackerOfferExportDTO"},"TrackerOfferResponseDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"trackerId":{"type":"string","format":"uuid","title":"Trackerid"},"offerId":{"type":"string","format":"uuid","title":"Offerid"},"weight":{"type":"integer","title":"Weight"},"offer":{"anyOf":[{"$ref":"#/components/schemas/OfferResponseDTO"},{"type":"null"}]}},"type":"object","required":["id","trackerId","offerId","weight"],"title":"TrackerOfferResponseDTO","description":"DTO for tracker-offer association response."},"TrackerOfferUpdateDTO":{"properties":{"weight":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Weight","description":"Weight for random selection"}},"type":"object","title":"TrackerOfferUpdateDTO","description":"DTO for updating tracker-offer association."},"TrackerOptionDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Tracker ID"},"name":{"type":"string","title":"Name","description":"Tracker name"}},"type":"object","required":["id","name"],"title":"TrackerOptionDTO"},"TrackerUpdateDTO":{"properties":{"pwas":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedPWADTO"},"type":"array"},{"type":"null"}],"title":"Pwas"},"applications":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedApplicationDTO"},"type":"array"},{"type":"null"}],"title":"Applications"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"whitePageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whitepageurl"},"offers":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedOfferDTO"},"type":"array"},{"type":"null"}],"title":"Offers"},"cloakingType":{"anyOf":[{"$ref":"#/components/schemas/CloakingType"},{"type":"null"}]},"pixelsId":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Pixelsid"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"preLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Prelandings"},"postLandings":{"anyOf":[{"items":{"$ref":"#/components/schemas/WeightedLandingDTO"},"type":"array"},{"type":"null"}],"title":"Postlandings"},"geoList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Geolist","description":"Geo cloaking"}},"type":"object","title":"TrackerUpdateDTO","example":{"applications":[{"application_id":"123e4567-e89b-12d3-a456-426614174000","device_type":"ANDROID","weight":100}],"cloaking_type":"MODERATION","comment":"Updated example comment","geo_list":["US","CA"],"name":"Example Tracker","offers":[{"offerId":"123e4567-e89b-12d3-a456-426614174000","weight":50},{"offerId":"223e4567-e89b-12d3-a456-426614174000","weight":50}],"pixels_id":["123e4567-e89b-12d3-a456-426614174000"],"post_landings":[{"landing_id":"323e4567-e89b-12d3-a456-426614174000","weight":100}],"pre_landings":[{"landing_id":"123e4567-e89b-12d3-a456-426614174000","weight":50},{"landing_id":"223e4567-e89b-12d3-a456-426614174000","weight":50}],"pwas":[{"device_type":"IOS","pwa_id":"123e4567-e89b-12d3-a456-426614174000","weight":100}],"type":"TRACKER","white_page_url":"https://docs.google.com"}},"TransactionExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"userId":{"type":"string","format":"uuid","title":"Userid"},"amount":{"type":"string","title":"Amount"},"type":{"type":"string","title":"Type"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"details":{"type":"string","title":"Details"},"paymentProvider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paymentprovider"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"}},"type":"object","required":["id","userId","amount","type","details","createdAt"],"title":"TransactionExportDTO"},"TransactionType":{"type":"string","enum":["DEPOSIT","WITHDRAWAL","REFERRAL BONUS","PROMO CODE","REFUND"],"title":"TransactionType"},"TranslateDictDTO":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Dictionary containing values to translate"},"targetLang":{"type":"string","title":"Targetlang","description":"Target language code (e.g., 'UK' for Ukrainian, 'ES' for Spanish)"},"sourceLang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcelang","description":"Source language code (optional, auto-detected if not provided)"},"fieldsToTranslate":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fieldstotranslate","description":"List of specific field paths to translate (if None, translates all string fields). Use dot notation for nested fields: 'title', 'content.heading', 'items[0].name'"}},"type":"object","required":["data","targetLang"],"title":"TranslateDictDTO","description":"DTO for translating dictionary values.","example":{"data":{"buttons":{"cancel":"Cancel","submit":"Submit"},"description":"The best platform for your needs","title":"Welcome to our site"},"fieldsToTranslate":["title","description"],"sourceLang":"EN","targetLang":"UK"}},"TranslateDictResponseDTO":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Dictionary with translated values"},"targetLanguage":{"type":"string","title":"Targetlanguage","description":"Target language code"}},"type":"object","required":["data","targetLanguage"],"title":"TranslateDictResponseDTO","description":"Response DTO for dictionary translation.","example":{"data":{"buttons":{"cancel":"Cancel","submit":"Submit"},"description":"Найкраща платформа для ваших потреб","title":"Ласкаво просимо на наш сайт"},"targetLanguage":"UK"}},"TranslateEntityDTO":{"properties":{"targetLang":{"type":"string","title":"Targetlang","description":"Target language code (e.g. 'UK', 'ES')","default":"EN-US"},"sourceLang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcelang","description":"Source language code (optional, auto-detected if not provided)"},"saveTranslation":{"type":"boolean","title":"Savetranslation","description":"Whether to save the translation to the database","default":true}},"type":"object","title":"TranslateEntityDTO","description":"DTO for translating any entity via the universal translation endpoint.","example":{"saveTranslation":true,"sourceLang":"EN","targetLang":"UK"}},"TranslateTextDTO":{"properties":{"text":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"title":"Text","description":"Text or list of texts to translate"},"targetLang":{"type":"string","title":"Targetlang","description":"Target language code (e.g., 'UK' for Ukrainian, 'ES' for Spanish, 'DE' for German)"},"sourceLang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcelang","description":"Source language code (optional, auto-detected if not provided)"},"preserveFormatting":{"type":"boolean","title":"Preserveformatting","description":"Whether to preserve formatting in the translation","default":true}},"type":"object","required":["text","targetLang"],"title":"TranslateTextDTO","description":"DTO for translating text.","example":{"preserveFormatting":true,"sourceLang":"EN","targetLang":"UK","text":"Hello, how are you?"}},"TranslateTextResponseDTO":{"properties":{"translatedText":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Translatedtext","description":"Translated text (for single text input)"},"translations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Translations","description":"List of translations (for batch input)"},"detectedSourceLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detectedsourcelanguage","description":"Detected source language code"},"targetLanguage":{"type":"string","title":"Targetlanguage","description":"Target language code"}},"type":"object","required":["targetLanguage"],"title":"TranslateTextResponseDTO","description":"Response DTO for text translation.","example":{"detectedSourceLanguage":"EN","targetLanguage":"UK","translatedText":"Привіт, як справи?"}},"TranslatedEntityDTO":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"entityType":{"type":"string","title":"Entitytype"},"entityId":{"type":"string","format":"uuid","title":"Entityid"},"languageCode":{"type":"string","title":"Languagecode"},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["entityType","entityId","languageCode","data"],"title":"TranslatedEntityDTO","description":"Response DTO for the universal translation endpoint."},"TranslationUsageDTO":{"properties":{"characterCount":{"type":"integer","title":"Charactercount","description":"Number of characters translated"},"characterLimit":{"type":"integer","title":"Characterlimit","description":"Maximum characters allowed"}},"type":"object","required":["characterCount","characterLimit"],"title":"TranslationUsageDTO","description":"Response DTO for translation service usage.","example":{"characterCount":50000,"characterLimit":500000}},"UnauthorizedResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Authentication required."}},"type":"object","title":"UnauthorizedResponse"},"UpdateAccountDTO":{"properties":{"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"oldPassword":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Oldpassword"},"newPassword":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Newpassword"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"contactViber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactviber"},"contactEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactemail"},"contactTelegramNickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramnickname"},"contactTelegramPhone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramphone"},"contactWhatsapp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactwhatsapp"},"contactFacebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactfacebook"},"contactDiscord":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactdiscord"}},"type":"object","title":"UpdateAccountDTO","example":{"bio":"I am a software engineer","contact_discord":"<EMAIL>","contact_email":"<EMAIL>","contact_facebook":"<EMAIL>","contact_telegram_nickname":"<EMAIL>","contact_telegram_phone":"<EMAIL>","contact_viber":"<EMAIL>","contact_whatsapp":"<EMAIL>","email":"oleg_vinnyk@gmail.com","firstName":"Oleg","lastName":"Vinnyk","newPassword":"newPassword123","oldPassword":"oldPassword123","username":"olegVinnyk"}},"UpdateFolderDTO":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"UpdateFolderDTO"},"UpdateInvitationDTO":{"properties":{"expiresAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiresat"}},"type":"object","required":["expiresAt"],"title":"UpdateInvitationDTO","example":{"expires_at":"2024-12-31T23:59:59Z"}},"UpdateLandingDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"templateId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Templateid"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"defaultLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaultlanguage","description":"Default language code"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","title":"UpdateLandingDTO","example":{"comment":"Some user comments","data":{"clickButton":"Click here!","sectors":[{"field_1":"10$","field_2":"8$"},{"field_1":"7$","field_2":"125$"},{"field_1":"30$","field_2":"60$"},{"field_1":"70$","field_2":"80$"},{"field_1":"100$","field_2":"200$"},{"field_1":"50$","field_2":"400$"},{"field_1":"111$","field_2":"25$"},{"field_1":"40$","field_2":"250$"}]},"name":"string","templateId":"132801e5-ba88-49f6-965a-deafcd04319f"}},"UpdateMediaAssetDTO":{"properties":{"filename":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Filename"},"folderId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folderid","description":"null = move to root."},"isArchived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isarchived"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"originContext":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origincontext","description":"Re-file the asset under another context ('pwa.logo') or bare section ('uncategorized'); 'section' is re-derived from it. Validated against the registry served by GET /media/contexts."}},"type":"object","title":"UpdateMediaAssetDTO"},"UpdatePWADTO":{"properties":{"pwaName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwaname","description":"The name of the PWA"},"store":{"anyOf":[{"$ref":"#/components/schemas/PWAStoreEnum"},{"type":"null"}],"description":"Type of the store."},"systemName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Systemname","description":"Name of the app"},"pwaLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwalanguage","description":"Language of the PWA interface"},"forceLanguage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forcelanguage","description":"Force language for PWA, e.g., 'en-GB' or null for no forcing"},"tagsList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tagslist","description":"List of tags associated with the PWA"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Developer","description":"Name of the developer"},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Verified","description":"Whether the PWA is verified"},"ad":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ad","description":"Whether the PWA contains ads"},"purchase":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Purchase","description":"Whether the PWA has in-app purchases"},"editorsChoice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Editorschoice","description":"Whether the PWA is an editor's choice"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","description":"Overall rating of the PWA"},"ratingAbove5":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingabove5","description":"Number of 5-star ratings"},"ratingAbove4":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingabove4","description":"Number of 4-star ratings"},"ratingAbove3":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingabove3","description":"Number of 3-star ratings"},"ratingAbove2":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingabove2","description":"Number of 2-star ratings"},"ratingAbove1":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ratingabove1","description":"Number of 1-star ratings"},"reviewsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviewscount","description":"Total number of reviews"},"downloadCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Downloadcount","description":"Total number of downloads"},"ageRating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agerating","description":"Age rating of the PWA"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"A detailed description of the app"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Version of the app"},"releasedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Releasedat","description":"Release timestamp of the app"},"androidVersion":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Androidversion","description":"Minimum required Android version"},"interactiveElements":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interactiveelements","description":"Description of interactive elements"},"whatsNew":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsnew","description":"Information about what's new in the app"},"categoryList":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categorylist","description":"List of categories associated with the PWA"},"safetyDescription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Safetydescription","description":"Description of the app's safety information"},"dataTransfer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datatransfer","description":"Types of data shared with third parties"},"dataCollection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datacollection","description":"Types of data collected by the app"},"dataEncryption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataencryption","description":"Details about data encryption"},"dataDeletion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datadeletion","description":"Details about data deletion policies"},"appSize":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Appsize","description":"Size of the app"},"comments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comments","description":"List of user comments for the app"},"userComment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Usercomment"},"updatedAppAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedappat","description":"Last updated timestamp of the app"},"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo (Media Library attach branch)","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background (Media Library attach branch)","default":false},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"}},"type":"object","title":"UpdatePWADTO","example":{"ad":false,"age_rating":18,"android_version":7.0,"app_size":"251MB","category_list":["Productivity","Entertainment"],"comments":[{"author":"John Doe","comment":"Great app","date":"2021-10-01","people_found_helpful":10,"rating":5}],"data_collection":"This app may collect these data types","data_deletion":"You can request that data be deleted","data_encryption":"Data is encrypted in transit","data_transfer":"This app may share these data types with third parties","description":"A detailed description of the app","developer":"Sample Developer","download_count":1000000,"editors_choice":true,"force_language":"en-GB","interactive_elements":"Digital purchases","purchase":true,"pwa_language":"English","pwa_name":"Sample PWA","rating":4.5,"rating_above_1":10,"rating_above_2":20,"rating_above_3":50,"rating_above_4":200,"rating_above_5":1000,"released_at":"2023-10-01T00:00:00Z","reviews_count":1300,"safety_description":"Safety starts with understanding how developers collect and share your data.","store":"Google Play","system_name":"Sample App","tags_list":["Productivity","Tools"],"updated_app_at":"2023-11-01T00:00:00Z","user_comment":"Some user comments","verified":true,"version":"1.0","whats_new":"Fixed some bugs with opening app"}},"UpdatePWATemplateDTO":{"properties":{"logoAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Logoassetid","description":"Media Library asset id for the logo"},"backgroundAssetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Backgroundassetid","description":"Media Library asset id for the background"},"screenshots":{"anyOf":[{"items":{"$ref":"#/components/schemas/ScreenshotRefDTO"},"type":"array"},{"type":"null"}],"title":"Screenshots","description":"Ordered mixed screenshots (library asset id or retained key)"},"removeLogo":{"type":"boolean","title":"Removelogo","description":"Clear the logo","default":false},"removeBackground":{"type":"boolean","title":"Removebackground","description":"Clear the background","default":false},"pwaTemplateName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pwatemplatename","description":"New template name"}},"type":"object","title":"UpdatePWATemplateDTO","description":"Request body for updating a template — every field optional, absent = unchanged."},"UpdateTeamDTO":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Name of the team."}},"type":"object","title":"UpdateTeamDTO","example":{"name":"Marketing Team"}},"UserEventStatsDTO":{"properties":{"userId":{"type":"string","format":"uuid","title":"Userid"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"clicks":{"type":"integer","title":"Clicks","default":0},"installs":{"type":"integer","title":"Installs","default":0},"leads":{"type":"integer","title":"Leads","default":0},"firstSales":{"type":"integer","title":"Firstsales","default":0},"repeatedSales":{"type":"integer","title":"Repeatedsales","default":0}},"type":"object","required":["userId","email","firstName","lastName","username"],"title":"UserEventStatsDTO","description":"User information with app events statistics","example":{"clicks":150,"email":"user@example.com","firstName":"John","firstSales":25,"installs":100,"lastName":"Doe","leads":50,"repeatedSales":10,"userId":"123e4567-e89b-12d3-a456-426614174000","username":"johndoe"}},"UserExportDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"profilePhoto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profilephoto"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"role":{"type":"string","title":"Role"},"emailIsVerified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Emailisverified"},"isActive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isactive"},"telegramIsVerified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Telegramisverified"},"isDeleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isdeleted"},"isBlocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Isblocked"},"contactViber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactviber"},"contactTelegramNickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramnickname"},"contactTelegramPhone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramphone"},"contactWhatsapp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactwhatsapp"},"contactEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactemail"},"contactFacebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactfacebook"},"contactDiscord":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactdiscord"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"},"deletedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deletedat"},"referredBy":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Referredby"},"telegramId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegramid"}},"type":"object","required":["id","role","createdAt"],"title":"UserExportDTO"},"UserLoginDTO":{"properties":{"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"}},"type":"object","required":["password"],"title":"UserLoginDTO","example":{"email":"oleg_vinnyk@gmail.com","password":"password123"}},"UserLongDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"role":{"$ref":"#/components/schemas/Roles"},"emailIsVerified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Emailisverified"},"telegramIsVerified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Telegramisverified"},"createdAt":{"title":"Createdat"},"updatedAt":{"title":"Updatedat"},"profileUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profileurl"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"contactViber":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactviber"},"contactEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactemail"},"contactTelegramNickname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramnickname"},"contactTelegramPhone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contacttelegramphone"},"contactWhatsapp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactwhatsapp"},"contactFacebook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactfacebook"},"contactDiscord":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contactdiscord"},"companyName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Companyname"},"companyLogo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Companylogo"},"companyRole":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Companyrole"},"companyId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Companyid"},"companyUserId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Companyuserid"},"teamId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Teamid"},"accessList":{"anyOf":[{"$ref":"#/components/schemas/CompanyUserAccessDTO"},{"type":"null"}]}},"type":"object","required":["id","firstName","lastName","email","role","emailIsVerified","telegramIsVerified","createdAt","updatedAt"],"title":"UserLongDTO","example":{"accessList":{"app_events_delete":false,"app_events_read":true,"app_events_write":false,"balances_delete":false,"balances_read":true,"balances_write":false,"landings_delete":false,"landings_read":true,"landings_show_own_only":false,"landings_write":false,"members_delete":false,"members_read":true,"members_write":false,"offers_delete":false,"offers_read":true,"offers_show_own_only":false,"offers_write":false,"pixels_delete":false,"pixels_read":true,"pixels_show_own_only":false,"pixels_write":false,"push_delete":true,"push_read":false,"push_show_own_only":false,"push_write":true,"pwa_delete":false,"pwa_read":true,"pwa_show_own_only":false,"pwa_write":false,"teams_delete":false,"teams_read":true,"teams_write":false,"trackers_delete":false,"trackers_read":true,"trackers_show_own_only":false,"trackers_write":false},"bio":"I am a software engineer","companyId":"123e4567-e89b-12d3-a456-426614174000","companyLogo":"https://example.com/api/v1/photo/company_logo.jpg","companyName":"Example Company","companyRole":"Software Engineer","companyUserId":"123e4567-e89b-12d3-a456-426614174001","contactDiscord":"<EMAIL>","contactEmail":"<EMAIL>","contactFacebook":"<EMAIL>","contactTelegramNickname":"<EMAIL>","contactTelegramPhone":"<EMAIL>","contactViber":"<EMAIL>","contactWhatsapp":"<EMAIL>","createdAt":"2021-01-01T00:00:00","email":"oleg_vinnyk@gmail.com","emailIsVerified":true,"firstName":"Oleg","id":"123e4567-e89b-12d3-a456-426614174000","lastName":"Vinnyk","profileUrl":"https://example.com/api/v1/photo/user_profile.jpg","roles":"USER","telegramIsVerified":false,"updatedAt":"2021-01-01T00:00:00","username":"olegVinnyk"}},"UserResourceStatsDTO":{"properties":{"userId":{"type":"string","format":"uuid","title":"Userid"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"totalTrackers":{"type":"integer","title":"Totaltrackers","default":0},"totalOffers":{"type":"integer","title":"Totaloffers","default":0},"totalPwas":{"type":"integer","title":"Totalpwas","default":0}},"type":"object","required":["userId","email","firstName","lastName","username"],"title":"UserResourceStatsDTO","description":"User information with resource counts (trackers, offers, PWAs)","example":{"email":"user@example.com","firstName":"John","lastName":"Doe","totalOffers":10,"totalPwas":3,"totalTrackers":5,"userId":"123e4567-e89b-12d3-a456-426614174000","username":"johndoe"}},"UserSignUpDTO":{"properties":{"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"role":{"anyOf":[{"$ref":"#/components/schemas/Roles"},{"type":"null"}]},"referralCode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referralcode"}},"type":"object","required":["email","password"],"title":"UserSignUpDTO","example":{"email":"oleg_vinnyk@gmail.com","firstName":"Oleg","lastName":"Vinnyk","password":"password","referralCode":"REF123","roles":"USER","username":"oleg_vinnyk"}},"UserStatisticsDTO":{"properties":{"installCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Installcount"},"registrationCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Registrationcount"},"depositCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Depositcount"},"allHostsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Allhostscount"},"freeHostsCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Freehostscount"},"iosInst2Dep":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Iosinst2Dep","default":0.0},"androidInst2Dep":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Androidinst2Dep","default":0.0},"pwaInst2Dep":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pwainst2Dep","default":0.0},"activeTrackers":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Activetrackers"},"activePixels":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Activepixels"},"activeLandings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Activelandings"},"iosAppsInUse":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Iosappsinuse"},"androidAppsInUse":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Androidappsinuse"},"pwaInUse":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pwainuse"}},"type":"object","required":["installCount","registrationCount","depositCount","allHostsCount","freeHostsCount","activeTrackers","activePixels","activeLandings","iosAppsInUse","androidAppsInUse","pwaInUse"],"title":"UserStatisticsDTO","example":{"active_landings":3,"active_pixels":2,"active_trackers":4,"all_hosts_count":5,"android_apps_in_use":1,"android_inst2dep":50.0,"deposit_count":9,"free_hosts_count":2,"install_count":42,"ios_apps_in_use":2,"ios_inst2dep":75.0,"pwa_in_use":1,"pwa_inst2dep":33.3,"registration_count":13}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValidationErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":"Validation error. Please check your input."}},"type":"object","title":"ValidationErrorResponse"},"WeightedApplicationDTO":{"properties":{"applicationId":{"type":"string","format":"uuid","title":"Applicationid"},"deviceType":{"$ref":"#/components/schemas/StoreEnum"},"weight":{"type":"integer","title":"Weight","description":"Probability weight for this application"}},"type":"object","required":["applicationId","deviceType","weight"],"title":"WeightedApplicationDTO"},"WeightedLandingDTO":{"properties":{"landingId":{"type":"string","format":"uuid","title":"Landingid","description":"ID of the landing"},"weight":{"type":"integer","title":"Weight","description":"Probability weight for this landing"}},"type":"object","required":["landingId","weight"],"title":"WeightedLandingDTO"},"WeightedOfferDTO":{"properties":{"offerId":{"type":"string","format":"uuid","title":"Offerid","description":"ID of the offer"},"weight":{"type":"integer","title":"Weight","description":"Probability weight for this offer"}},"type":"object","required":["offerId","weight"],"title":"WeightedOfferDTO"},"WeightedPWADTO":{"properties":{"pwaId":{"type":"string","format":"uuid","title":"Pwaid"},"deviceType":{"$ref":"#/components/schemas/StoreEnum"},"weight":{"type":"integer","title":"Weight","description":"Probability weight for this pwa"}},"type":"object","required":["pwaId","deviceType","weight"],"title":"WeightedPWADTO"},"app__dto__pwa_dto__MediaDTO":{"properties":{"mediaUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mediaurl","description":"URL to the media resource"},"mediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mediatype","description":"Type of media (e.g., Image, Video)"}},"type":"object","title":"MediaDTO","example":{"media_type":"Image","media_url":"https://example.com/media.png"}},"app__dto__pwa_template_dto__MediaDTO":{"properties":{"mediaUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mediaurl","description":"URL to the media resource"},"mediaType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mediatype","description":"Type of media (e.g., Image, Video)"},"assetId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assetid","description":"Media Library asset id backing this media"}},"type":"object","title":"MediaDTO","example":{"media_type":"Image","media_url":"https://example.com/media.png"}}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"https://api.pwapps.com/api/v1/user/login"}}},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}