"], "manager_notification_state": 3, "default_training_reminder_content_simulation": {"en": {"body": "\n\n Hi {first_name},\n
\n\n\n You recently fell for a simulated phishing attack. \n To give you the tools to recognize malicious emails in the future, \n please watch the Phishing Awareness Training video.\n
\n\n\n Please click the link below to start the training. It will only take a few minutes.\n
\n {training_page_url}\n
\n\n\n Thank you,\n
\n The {company_name} Security Team\n
\n", "subject": "Complete your anti-phishing training today"}, "he": {"body": "\n \n
\n שלום {first_name},\n
\n\n
\n לאחרונה נפלת להתקפת דיוג (פישינג) מדומה. על מנת לתת לך את הכלים לזהות הודעות דו\"ל זדוניות בעתיד, אנא צפה בלומדת אבטחת המידע המצורפת.\n
\n\n
\nאנא לחץ על הקישור להלן כדי להתחיל את הלימודה. זה ייקח רק מספר דקות.\n
\n {training_page_url}\n
\n\n
\n בברכה,\n
\n צוות אבטחת המידע {company_name}.\n
\n
\n", "subject": "השלם/י את לומדת אבטחת המידע היום"}}, "default_training_reminder_content_training": {"en": {"body": "\n\n Hi {{ first_name }},\n
\n\n
\n This is a friendly reminder that you haven't completed your Security Awareness Training yet.\n
\n
\n Please complete the training by clicking the video below. It will only take a few minutes.\n
\n
", "subject": "Security Awareness Training: {{ module_title }}"}, "he": {"body": "\n\n ,{{ first_name }} שלום\n
\n\n
\n .זוהי תזכורת על כך שעדיין לא השלמת הדרכה בנושא מודעות לאבטחה\n
\n
\n .נא להשלים את ההדרכה על-ידי לחיצה על הסרטון למטה. זה ייקח רק מספר דקות\n
\n
", "subject": "הדרכה בנושא מודעות לאבטחה {{ module_title }}"}}, "default_campaign_failed_alert_content": {"en": {"body": "Dear {first_name}
\n\nIn our ongoing effort to prevent email phishing at {company_name}, we have launched an anti-phishing campaign.
\n\nUnfortunately, you fell for a phishing attempt and did not pass the test. Please take a few minutes to watch the training video linked: {training_page_url}
\n\nThank you for your participation,
\n{company_name}
\n\nSecurity Team
", "subject": "Action Required - Complete Your anti-phishing Training"}, "he": {"body": "\n\n
\n שלום {first_name},\n
\n\n
\nבמאמץ המתמשך למנוע התקפות פישינג ב {company_name}, ביצענו תרגיל אבטחת מידע.\n
\n\n
\nלצערנו נפלת בתרגיל ולכן עליך לצפות בלומדה בנושא אבטחת מידע. אנא לחץ על הקישור: {training_page_url}\n
\n\n
\nתודה על השתתפותך,\n
{company_name}\n
\n\n
\nצוות אבטחת המידע\n
\n
\n", "subject": "השלם את הלומדה בנושא אבטחת מידע"}}, "default_manager_notification_banner_content": {"en": {"text": "\nYour manager, {manager_full_name}, will be notified that you have not yet completed the mandatory training.\nPlease complete it as soon as possible\n"}, "he": {"text": "\nהמנהל שלך,{manager_full_name}, יקבל התראה שעדיין לא השלמת את הציפייה בלומדת החובה. אנא השלם זאת בהקדם האפשרי.\n"}}, "default_manager_report_email_content": {"en": {"body": "\nDear {first_name},\n\nAs part of the \"{campaign_name}\" campaign, we wanted to notify you that some employees on your team have not yet completed their mandatory training, despite receiving {reminders_count} or more automated reminders.\nThese employees have been informed that their incomplete status has been shared with you.\nWe have attached a file with the details of the employees who have not finished their assigned training.\nPlease review the attached file for more information.\n\nBest regards,\n{company_name}\n", "subject": "Employees with Incomplete Training for \"{campaign_name}\""}, "he": {"body": "\nשלום {first_name},\n\nכחלק מקמפיין \"{campaign_name}\", ברצוננו ליידע אותך כי יש עובדים בצוות שלך שעדיין לא השלימו את הציפייה בלומדת החובה, על אף שקיבלו {reminders_count} תזכורות אוטומטיות.\nעובדים אלה קיבלו הודעה כי הינך מיודע על כך שהם לא השלימו את הציפייה בלומדת.\n\nמצורף למייל זה קובץ המכיל את כל פרטי העובדים שטרם השלימו את הלומדת.\n\nבברכה,\n{company_name}\n", "subject": "עובדים שטרם השלימו את הציפייה בלומדת עבור קמפיין - \"{campaign_name}\""}}}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/sat/{company_id}/templates/": {"get": {"operationId": "Get Templates List", "summary": "Get templates list.", "description": "Returns a paginated list of mail templates filtered by various criteria\nincluding locale, creator, type, level, category, and search term.Scopes:- company.view
- partner.company.view
", "parameters": [{"name": "page", "in": "query", "required": false, "type": "integer", "default": 1, "minimum": 1}, {"name": "page_size", "in": "query", "required": false, "type": "integer", "default": 25, "maximum": 50, "minimum": 1}, {"name": "created_by", "in": "query", "description": "Filter by template creator codes.\n- `1` = System - Templates provided by the system\n- `2` = Company - Templates owned by the current company\n- `3` = MSP - Templates provided by the MSP\n- `4` = Community - Community-contributed templates\n- Provide one or more codes", "required": false, "type": "array", "items": {"type": "integer", "enum": [1, 2, 3, 4]}}, {"name": "locale_ids", "in": "query", "description": "Filter by locale IDs.\n- Use numeric identifiers from the locale catalog\n- If not provided, company's selected locales will be used", "required": false, "type": "array", "items": {"type": "integer"}}, {"name": "type", "in": "query", "description": "Filter by template type codes.\n- `0` = Drive-by (links)\n- `1` = Attachment\n- `2` = Call for Action", "required": false, "type": "array", "items": {"type": "integer", "enum": [0, 1, 2]}}, {"name": "search", "in": "query", "required": false, "type": "string"}, {"name": "category_ids", "in": "query", "description": "Filter by template category (scenario group) IDs. - Use endpoint /appapi/sat/{company_id}/templates/categories/ to get the list of available categories", "required": false, "type": "array", "items": {"type": "integer"}}, {"name": "level", "in": "query", "description": "Array of integers\nFilter by template level (difficulty) codes.\n- `0` = Beginner\n- `1` = Intermediate\n- `2` = Advanced", "required": false, "type": "array", "items": {"type": "integer", "enum": [0, 1, 2]}}, {"name": "sort", "in": "query", "description": "Field to sort templates by:\n- `last_updated` - Sort by last updated date\n- `name` - Sort by template name\n- `avg_click_rate` - Sort by average click rate (per selected locales)\n- `avg_reported_rate` - Sort by average reported rate (per selected locales)", "required": false, "type": "string", "enum": ["last_updated", "name", "avg_click_rate", "avg_reported_rate"]}, {"name": "order", "in": "query", "description": "Sort order: `asc` for ascending, `desc` for descending", "required": false, "type": "string", "enum": ["asc", "desc"], "default": "asc"}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/TemplatesListResponse"}}, "400": {"description": "Bad Request - Invalid request parameters or validation error", "examples": {"application/json": {"field_name": ["Field related error message."]}}}, "401": {"description": "Unauthorized - Authentication credentials were not provided or are invalid", "examples": {"application/json": {"detail": "Authentication credentials were not provided."}}}, "403": {"description": "Forbidden - You do not have permission to perform this action", "examples": {"application/json": {"detail": "You do not have permission for company 123"}}}, "404": {"description": "Not Found - The requested resource was not found", "examples": {"application/json": {"detail": "Not found."}}}, "429": {"description": "Too Many Requests - Rate limit exceeded", "examples": {"application/json": {"detail": "Request was throttled. Expected available in 60 seconds."}}}, "500": {"description": "Internal Server Error - An unexpected error occurred", "examples": {"application/json": {"detail": "Internal server error."}}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/sat/{company_id}/templates/categories/": {"get": {"operationId": "Get Template Categories", "description": "Get template categories.Scopes:- company.view
- partner.company.view
", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/TemplateCategoriesResponse"}}, "400": {"description": "Bad Request - Invalid request parameters or validation error", "examples": {"application/json": {"field_name": ["Field related error message."]}}}, "401": {"description": "Unauthorized - Authentication credentials were not provided or are invalid", "examples": {"application/json": {"detail": "Authentication credentials were not provided."}}}, "403": {"description": "Forbidden - You do not have permission to perform this action", "examples": {"application/json": {"detail": "You do not have permission for company 123"}}}, "404": {"description": "Not Found - The requested resource was not found", "examples": {"application/json": {"detail": "Not found."}}}, "429": {"description": "Too Many Requests - Rate limit exceeded", "examples": {"application/json": {"detail": "Request was throttled. Expected available in 60 seconds."}}}, "500": {"description": "Internal Server Error - An unexpected error occurred", "examples": {"application/json": {"detail": "Internal server error."}}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/sat/{company_id}/trainings/": {"get": {"operationId": "Get Trainings List", "summary": "Get training list.", "description": "Returns a list of training content items filtered by vendor and locale IDs.\nThe results are paginated and include information about training availability\nbased on company licensing.Scopes:- company.view
- partner.company.view
", "parameters": [{"name": "vendor", "in": "query", "description": "Filter by training vendor codes.\n- `1` = NINJIO\n- `3` = Habitu8\n- `4` = Cybermaniacs Videos\n- `5` = Wizer\n- `6` = Ironscales", "required": true, "type": "integer", "enum": [6, 5, 1, 3, 4]}, {"name": "locale_ids", "in": "query", "description": "Filter by locale IDs.\n- Use numeric identifiers from the locale catalog\n- If not provided, company's selected locales will be used", "required": false, "type": "array", "items": {"type": "integer"}}, {"name": "page", "in": "query", "required": false, "type": "integer", "default": 1, "minimum": 1}, {"name": "page_size", "in": "query", "required": false, "type": "integer", "default": 25, "maximum": 50, "minimum": 1}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/TrainingsListResponse"}}, "400": {"description": "Bad Request - Invalid request parameters or validation error", "examples": {"application/json": {"field_name": ["Field related error message."]}}}, "401": {"description": "Unauthorized - Authentication credentials were not provided or are invalid", "examples": {"application/json": {"detail": "Authentication credentials were not provided."}}}, "403": {"description": "Forbidden - You do not have permission to perform this action", "examples": {"application/json": {"detail": "You do not have permission for company 123"}}}, "404": {"description": "Not Found - The requested resource was not found", "examples": {"application/json": {"detail": "Not found."}}}, "429": {"description": "Too Many Requests - Rate limit exceeded", "examples": {"application/json": {"detail": "Request was throttled. Expected available in 60 seconds."}}}, "500": {"description": "Internal Server Error - An unexpected error occurred", "examples": {"application/json": {"detail": "Internal server error."}}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/sat/{company_id}/trainings/providers/": {"get": {"operationId": "Get Training Providers", "summary": "Get training providers.", "description": "Returns information about all available training content providers,\nincluding total count and available count of training items for each provider.\nThe available count is based on company licensing and free content availability.Scopes:- company.view
- partner.company.view
", "parameters": [], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/TrainingProvidersResponse"}}, "401": {"description": "Unauthorized - Authentication credentials were not provided or are invalid", "examples": {"application/json": {"detail": "Authentication credentials were not provided."}}}, "403": {"description": "Forbidden - You do not have permission to perform this action", "examples": {"application/json": {"detail": "You do not have permission for company 123"}}}, "404": {"description": "Not Found - The requested resource was not found", "examples": {"application/json": {"detail": "Not found."}}}, "429": {"description": "Too Many Requests - Rate limit exceeded", "examples": {"application/json": {"detail": "Request was throttled. Expected available in 60 seconds."}}}, "500": {"description": "Internal Server Error - An unexpected error occurred", "examples": {"application/json": {"detail": "Internal server error."}}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/sat/{company_id}/trainings/{training_id}/preview/": {"get": {"operationId": "Get Training Preview URL", "description": "Scopes:- company.view
- partner.company.view
", "parameters": [{"name": "locale_id", "in": "query", "description": "Locale ID to select the training content item for preview.", "required": true, "type": "integer"}], "responses": {"200": {"description": "Preview URL", "schema": {"type": "object", "properties": {"content_url": {"type": "string", "x-nullable": true}, "content_type": {"type": "string", "x-nullable": true}, "subtitles": {"type": "array", "items": {"type": "object"}}}}}, "401": {"description": "Unauthorized - Authentication credentials were not provided or are invalid", "examples": {"application/json": {"detail": "Authentication credentials were not provided."}}}, "403": {"description": "Forbidden - You do not have permission to perform this action", "examples": {"application/json": {"detail": "You do not have permission for company 123"}}}, "404": {"description": "Not Found - The requested resource was not found", "examples": {"application/json": {"detail": "Not found."}}}, "429": {"description": "Too Many Requests - Rate limit exceeded", "examples": {"application/json": {"detail": "Request was throttled. Expected available in 60 seconds."}}}, "500": {"description": "Internal Server Error - An unexpected error occurred", "examples": {"application/json": {"detail": "Internal server error."}}}}, "tags": ["SAT"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}, {"name": "training_id", "in": "path", "required": true, "type": "string"}]}, "/settings/{company_id}/account-takeover/": {"get": {"operationId": "Get account takeover sensitivity settings", "description": "\nRetrieve the account takeover sensitivity settings for the specified company.\n
\nSensitivity Options:\n\n - 1 (Aggressive): Most sensitive - requires fewer alerts to trigger an incident
\n - 2 (Balanced): Default sensitivity level
\n - 3 (Relaxed): Least sensitive - requires more alerts to trigger an incident
\n
\n
Scopes:\n\n - company.all
\n - company.view
\n
\n", "parameters": [], "responses": {"200": {"description": "Successful response containing account takeover sensitivity settings.", "schema": {"$ref": "#/definitions/AccountTakeoverSettings"}, "examples": {"application/json": {"sensitivity": 2}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "put": {"operationId": "Update account takeover sensitivity settings", "description": "\nUpdate account takeover sensitivity settings for the specified company.\n
\nSensitivity Options:\n\n - 1 (Aggressive): Most sensitive - requires fewer alerts to trigger an incident
\n - 2 (Balanced): Default sensitivity level
\n - 3 (Relaxed): Least sensitive - requires more alerts to trigger an incident
\n
\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/AccountTakeoverSettings"}}], "responses": {"200": {"description": "Successfully updated account takeover sensitivity settings.", "schema": {"$ref": "#/definitions/AccountTakeoverSettings"}, "examples": {"application/json": {"sensitivity": 3}}}, "400": {"description": "Invalid request body - validation errors", "schema": {"type": "object", "properties": {"sensitivity": {"description": "Field validation errors", "type": "array", "items": {"type": "string"}}}}, "examples": {"application/json": {"sensitivity": ["This field is required."]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/settings/{company_id}/allow-list/": {"get": {"operationId": "Get allow list settings", "description": "\nRetrieve the list of allow list settings for the specified company.\nScopes:", "parameters": [{"name": "sort", "in": "query", "description": "Options: type | scope | date | allowed_for | noSorting", "required": false, "type": "string", "enum": ["type", "scope", "date", "allowed_for", "noSorting"], "default": "noSorting"}, {"name": "order", "in": "query", "description": "Options: desc | asc", "required": false, "type": "string", "enum": ["desc", "asc"], "default": "desc"}, {"name": "type", "in": "query", "description": "Filter by entry type.", "required": false, "type": "string", "enum": ["all", "ip", "domain", "address", "link_domain"], "default": "all"}, {"name": "search", "in": "query", "description": "Search term to filter entries by their value field (case-insensitive partial match).", "required": false, "type": "string", "x-nullable": true}, {"name": "page", "in": "query", "description": "Page number for pagination results. Starts at 1.", "required": false, "type": "integer", "default": 1, "minimum": 1}, {"name": "items_per_page", "in": "query", "description": "Number of items per page in pagination results. Min: 1, Max: 500, Default: 100.", "required": false, "type": "integer", "default": 100, "maximum": 500, "minimum": 1}], "responses": {"200": {"description": "", "schema": {"$ref": "#/definitions/WhiteListResponse"}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid query parameters, page must be a number, or page not found", "schema": {"type": "object", "properties": {"message": {"description": "Error message for validation failure or pagination error", "type": "string"}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "post": {"operationId": "Create allow list settings", "description": "\nAdd a new entry to the allow list for the specified company.\nScopes:", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/WhitelistAddRow"}}], "responses": {"204": {"description": "Allow list entry successfully added.", "examples": {"application/json": {}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body or allowed records limit reached", "schema": {"type": "object", "properties": {"error_message": {"description": "Error message for validation failure or limits reached", "type": "string"}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "put": {"operationId": "Update allow list entry", "description": "\nUpdate an existing allow list entry for the specified company.\nScopes:", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/WhitelistUpdateRow"}}], "responses": {"204": {"description": "Allow list entry successfully updated.", "examples": {"application/json": {}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body or whitelist entry not found", "schema": {"type": "object", "properties": {"error_message": {"description": "Error message for validation failure or entry not found", "type": "string"}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "delete": {"operationId": "Delete allow list entries", "description": "\nDelete selected entries from the allow list for the specified company.\nScopes:", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/WhiteListDelete"}}], "responses": {"204": {"description": "Allow list entries successfully deleted.", "examples": {"application/json": {}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request data", "schema": {"type": "object", "properties": {"error_message": {"description": "Error message for validation failure", "type": "string"}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/settings/{company_id}/challenged-alerts/": {"get": {"operationId": "Get challenged notification settings", "description": "\nRetrieve the list of email recipients configured for challenged alert notifications for the specified company.\n
Scopes:\n\n - company.all
\n - company.view
\n
\n", "parameters": [], "responses": {"200": {"description": "Successful response containing notification recipients.", "schema": {"$ref": "#/definitions/ChallengedSettings"}, "examples": {"application/json": {"recipients": ["email1@company1.com", "email2@company1.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "post": {"operationId": "Create challenged notification settings", "description": "\nSet the list of email recipients configured for challenged alert notifications for the specified company.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/ChallengedSettings"}}], "responses": {"200": {"description": "Successful response containing the updated recipients list.", "schema": {"$ref": "#/definitions/ChallengedSettings"}, "examples": {"application/json": {"recipients": ["email1@company1.com", "email2@company1.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body - field validations failed", "schema": {"type": "object", "properties": {"recipients": {"description": "Field validation errors", "type": "array", "items": {"type": "string"}}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "put": {"operationId": "Append challenged notification settings", "description": "\nAppend email recipients to existing challenged alert notifications, removing duplicates, returning the updated list.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/ChallengedSettings"}}], "responses": {"200": {"description": "Successful response containing the appended recipients list.", "schema": {"$ref": "#/definitions/ChallengedSettings"}, "examples": {"application/json": {"recipients": ["email1@company1.com", "email2@company1.com", "email3@company1.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body - field validations failed", "schema": {"type": "object", "properties": {"recipients": {"description": "Field validation errors", "type": "array", "items": {"type": "string"}}}}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "delete": {"operationId": "Delete challenged notification settings", "description": "\nRemove all configured email recipients for challenged alert notifications. After deletion, the recipients list will be empty.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [], "responses": {"204": {"description": "Alert emails successfully cleared.", "examples": {"application/json": {}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}, "/settings/{company_id}/incident-alerts/": {"get": {"operationId": "Get company notification settings", "description": "\nRetrieve the list of email recipients configured for incident alert notifications for the specified company.\n
Scopes:\n\n - company.all
\n - company.view
\n
\n", "parameters": [], "responses": {"200": {"description": "Successful response containing notification recipients.", "schema": {"$ref": "#/definitions/NotificationSettings"}, "examples": {"application/json": {"recipients": ["user1@validdomain.com", "user2@validdomain.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "post": {"operationId": "Create company notification settings", "description": "\nSet the list of email recipients for incident alert notifications, replacing any existing recipients.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/NotificationSettings"}}], "responses": {"200": {"description": "Successful response containing the updated recipients list.", "schema": {"$ref": "#/definitions/NotificationSettings"}, "examples": {"application/json": {"recipients": ["user1@validdomain.com", "user2@validdomain.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body - field validations failed", "examples": {"application/json": [{"error_message": "explanation"}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "put": {"operationId": "Append to company notification settings", "description": "\nAppend email recipients to the existing notification settings list, removing duplicates, returning the updated list.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"$ref": "#/definitions/NotificationSettings"}}], "responses": {"200": {"description": "Successful response containing the appended recipients list.", "schema": {"$ref": "#/definitions/NotificationSettings"}, "examples": {"application/json": {"recipients": ["user1@validdomain.com", "user2@validdomain.com", "user3@validdomain.com"]}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "400": {"description": "Invalid request body - field validations failed", "examples": {"application/json": [{"error_message": "explanation"}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "delete": {"operationId": "Delete company notification settings", "description": "\nRemove all configured email recipients for incident alert notifications. After deletion, the recipients list will be empty.\n
Scopes:\n\n - company.all
\n - company.edit
\n
\n", "parameters": [], "responses": {"204": {"description": "Alert emails successfully cleared.", "examples": {"application/json": {}}}, "404": {"description": "Company was not found", "examples": {"application/json": [{"message": "Company not found"}]}}, "403": {"description": "Permission Denied", "examples": {"application/json": [{"detail": "Missing JWT"}, {"detail": "You do not have permission to perform this action."}, {"message": "You do not have permission for company "}]}}, "429": {"description": "Too many requests", "examples": {"application/json": [{"detail": "Request was throttled. Expected available in 60 seconds."}]}}}, "tags": ["Settings"]}, "parameters": [{"name": "company_id", "in": "path", "required": true, "type": "string"}]}}, "definitions": {"CampaignDetails": {"required": ["campaignID", "campaignName", "language", "companyId"], "type": "object", "properties": {"campaignID": {"title": "Campaignid", "type": "integer"}, "campaignName": {"title": "Campaignname", "type": "string", "minLength": 1}, "campaignStatus": {"title": "Campaignstatus", "type": "string", "readOnly": true, "minLength": 1}, "flowType": {"title": "Flowtype", "type": "string", "readOnly": true, "minLength": 1}, "language": {"title": "Language", "type": "string", "minLength": 1}, "maxEmailPerDay": {"title": "Maxemailperday", "description": "0 - Unlimited", "type": "integer", "readOnly": true}, "endDate": {"title": "Enddate", "type": "string", "format": "date-time", "readOnly": true}, "launchDate": {"title": "Launchdate", "type": "string", "format": "date-time", "readOnly": true}, "emailsSent": {"title": "Emailssent", "type": "integer", "readOnly": true}, "participants": {"title": "Participants", "type": "integer", "readOnly": true}, "emailsBounced": {"title": "Emailsbounced", "type": "integer", "readOnly": true}, "numberOfClickedParticipants": {"title": "Numberofclickedparticipants", "type": "integer", "readOnly": true}, "numberOfTrainedParticipants": {"title": "Numberoftrainedparticipants", "type": "integer", "readOnly": true}, "numberOfTrainedParticipatns": {"title": "Numberoftrainedparticipatns", "type": "integer", "readOnly": true}, "numberOfReportedParticipants": {"title": "Numberofreportedparticipants", "type": "integer", "readOnly": true}, "numberOfReadParticipants": {"title": "Numberofreadparticipants", "type": "integer", "readOnly": true}, "numberOfDeleted": {"title": "Numberofdeleted", "type": "integer", "readOnly": true}, "attackReadinessFirstReport": {"title": "Attackreadinessfirstreport", "type": "string", "readOnly": true, "minLength": 1}, "attackReadinessMitigationTime": {"title": "Attackreadinessmitigationtime", "type": "string", "readOnly": true, "minLength": 1}, "attackReadinessLuredBeforeMitigation": {"title": "Attackreadinessluredbeforemitigation", "type": "string", "readOnly": true, "minLength": 1}, "attackReadinessReportsToMitigate": {"title": "Attackreadinessreportstomitigate", "type": "string", "readOnly": true, "minLength": 1}, "companyId": {"title": "Companyid", "type": "integer"}, "randomized": {"title": "Randomized", "type": "boolean", "readOnly": true}}}, "CampaignDetailsPage": {"required": ["page", "total_pages", "campaigns"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "campaigns": {"type": "array", "items": {"$ref": "#/definitions/CampaignDetails"}}}}, "ParticipantsActionsFilters": {"type": "object", "properties": {"emails": {"description": "A list of recipient emails to filter by. Limited to 300 items.", "type": "array", "items": {"type": "string", "format": "email", "minLength": 1}, "maxItems": 300}}}, "ParticipantsActionsRequest": {"required": ["filters", "action"], "type": "object", "properties": {"filters": {"$ref": "#/definitions/ParticipantsActionsFilters"}, "action": {"title": "Action", "description": "The action to perform on participants:
1 - Reported: Mark as reported
2 - Manually Trained: Set training status to manually trained
3 - Postponed: Set training status to postponed (requires expiration_date)
4 - Revert Training: Revert Postponed and Manually Trained statuses only
5 - Revert Reported: Revert Reported status set via appapi only", "type": "integer", "enum": [1, 2, 3, 4, 5]}, "expiration_date": {"title": "Expiration date", "description": "The expiration date of the Postponed Training status (ISO 8601 format, e.g. '2024-01-15'). Only valid when action is 3 (Postponed).", "type": "string", "format": "date", "x-nullable": true}}}, "CampaignParticipantsDetails": {"type": "object", "properties": {"internalID": {"title": "Internalid", "type": "string", "minLength": 1}, "name": {"title": "Name", "type": "string", "minLength": 1}, "displayName": {"title": "Displayname", "type": "string", "minLength": 1}, "lastUpdate": {"title": "Last Update", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "title": {"title": "Title", "type": "string", "minLength": 1}, "department": {"title": "Department", "type": "string", "minLength": 1}, "company": {"title": "Company", "type": "string", "minLength": 1}, "manager": {"title": "Manager", "type": "string", "minLength": 1}, "office": {"title": "Office", "type": "string", "minLength": 1}, "country": {"title": "Country", "type": "string", "x-nullable": true}, "city": {"title": "City", "type": "string", "x-nullable": true}, "sentAt": {"title": "Sent At", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "opened": {"title": "Opened", "type": "string", "enum": ["Yes", "No"]}, "openedAt": {"title": "Opened At", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "enteredDetails": {"title": "Entereddetails", "type": "string", "enum": ["Yes", "No"]}, "trainingModule": {"title": "Trainingmodule", "type": "string", "minLength": 1}, "trainingVideoStarted": {"title": "Trainingvideostarted", "type": "string", "enum": ["Yes", "No"]}, "awarenessLevel": {"title": "Awarenesslevel", "type": "string", "enum": ["Beginner Level", "Mid Level", "Expert Level"], "readOnly": true, "x-nullable": true}, "customTags": {"title": "Customtags", "type": "string", "readOnly": true, "minLength": 1}, "reported": {"title": "Reported", "type": "string", "enum": ["Yes", "No"], "x-nullable": true}, "reportedTime": {"title": "Reported Time", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "read": {"title": "Read", "type": "string", "enum": ["Yes", "No"]}, "clicked": {"title": "Clicked", "type": "string", "enum": ["Yes", "No"], "x-nullable": true}, "clickedTime": {"title": "Clicked Time", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "resendTrainingDates": {"description": "date-time format %b %d, %Y %H:%M", "type": "array", "items": {"type": "string", "format": "date-time"}}, "deleted": {"title": "Deleted", "type": "string", "enum": ["Yes", "No"], "x-nullable": true}, "trained": {"title": "Trained", "type": "string", "enum": ["Postponed", "Manually trained", "Yes", "No", "Started, not completed", "Not started", "N/A", "Scheduled to send"], "readOnly": true, "x-nullable": true}, "trainingCompletionDate": {"title": "Training Completion Date", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "trainingScore": {"title": "Trainingscore", "type": "integer", "readOnly": true, "x-nullable": true}, "trainingDuration": {"title": "Trainingduration", "type": "integer"}, "trainingStartedOn": {"title": "Training Started On", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "x-nullable": true}, "email": {"title": "Email", "type": "string", "minLength": 1}, "template": {"title": "Template", "type": "string", "readOnly": true, "minLength": 1}, "userIp": {"title": "Userip", "type": "string", "minLength": 1}}}, "CampaignParticipantsDetailsPage": {"required": ["page", "total_pages", "campaign_id", "participants"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "campaign_id": {"title": "Campaign id", "type": "integer"}, "participants": {"type": "array", "items": {"$ref": "#/definitions/CampaignParticipantsDetails"}}}}, "DeepfakeEvent": {"required": ["event_uuid", "event_type", "occurred_at"], "type": "object", "properties": {"event_uuid": {"title": "Event uuid", "type": "string", "minLength": 1}, "event_type": {"title": "Event type", "type": "string", "minLength": 1}, "occurred_at": {"title": "Occurred at", "type": "string", "format": "date-time", "x-nullable": true}, "name": {"title": "Name", "type": "string", "minLength": 1, "x-nullable": true}, "severity": {"title": "Severity", "type": "integer", "x-nullable": true}, "deepfake_target_full_name": {"title": "Deepfake target full name", "type": "string", "minLength": 1, "x-nullable": true}, "deepfake_attacker_full_name": {"title": "Deepfake attacker full name", "type": "string", "minLength": 1, "x-nullable": true}, "deepfake_attacker_email": {"title": "Deepfake attacker email", "type": "string", "minLength": 1, "x-nullable": true}, "ms_meeting_name": {"title": "Ms meeting name", "type": "string", "minLength": 1, "x-nullable": true}, "ms_meeting_id": {"title": "Ms meeting id", "type": "string", "minLength": 1, "x-nullable": true}, "ms_meeting_url": {"title": "Ms meeting url", "type": "string", "minLength": 1, "x-nullable": true}, "host_name": {"title": "Host name", "type": "string", "minLength": 1, "x-nullable": true}, "participants_count": {"title": "Participants count", "type": "object", "additionalProperties": {"type": "string", "x-nullable": true}, "x-nullable": true}, "deepfake_type": {"title": "Deepfake type", "type": "string", "minLength": 1, "x-nullable": true}, "video_confidence": {"title": "Video confidence", "type": "number", "x-nullable": true}, "audio_confidence": {"title": "Audio confidence", "type": "number", "x-nullable": true}}}, "DeepfakeEventsPage": {"required": ["events", "next_cursor"], "type": "object", "properties": {"events": {"type": "array", "items": {"$ref": "#/definitions/DeepfakeEvent"}}, "next_cursor": {"title": "Next cursor", "type": "integer", "x-nullable": true}}}, "EmailsDetailFromElastic": {"type": "object", "properties": {"arrival_date": {"title": "Arrival date", "type": "string", "format": "date-time", "readOnly": true}, "incident_id": {"title": "Incident id", "type": "integer", "readOnly": true}, "subject": {"title": "Subject", "type": "string", "readOnly": true, "minLength": 1}, "sender_email": {"title": "Sender email", "type": "string", "readOnly": true, "minLength": 1}, "recipient_name": {"title": "Recipient name", "type": "string", "readOnly": true, "minLength": 1}, "recipient_email": {"title": "Recipient email", "type": "string", "readOnly": true, "minLength": 1}, "primary_threat_type": {"title": "Primary threat type", "type": "string", "readOnly": true, "minLength": 1}, "is_scanback": {"title": "Is scanback", "type": "boolean", "readOnly": true}, "classification": {"title": "Classification", "type": "string", "readOnly": true, "minLength": 1}, "incident_state": {"title": "Incident state", "type": "string", "readOnly": true, "minLength": 1}, "resolution": {"title": "Resolution", "type": "string", "readOnly": true, "minLength": 1}, "sender_ip": {"title": "Sender ip", "type": "string", "readOnly": true, "minLength": 1}, "reported_by": {"title": "Reported by", "type": "string", "readOnly": true, "minLength": 1}, "mailbox_id": {"title": "Mailbox id", "type": "integer", "readOnly": true}, "department": {"title": "Department", "type": "string", "readOnly": true, "minLength": 1}, "remediated_time": {"title": "Remediated time", "type": "string", "format": "date-time", "readOnly": true}, "mitigation_id": {"title": "Mitigation id", "type": "integer", "readOnly": true}, "challenged_type": {"title": "Challenged type", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "challenged_date": {"title": "Challenged date", "type": "string", "format": "date-time", "readOnly": true, "x-nullable": true}, "challenged_by": {"title": "Challenged by", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "challenged_reason": {"title": "Challenged reason", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "challenged_comment": {"title": "Challenged comment", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "opened_on": {"title": "Opened on", "description": "Get the timestamp when the email was opened/read by the user (before remediation)", "type": "string", "format": "date-time", "readOnly": true, "x-nullable": true}}}, "EmailsResponse": {"required": ["emails", "page", "total_pages", "total_count"], "type": "object", "properties": {"emails": {"type": "array", "items": {"$ref": "#/definitions/EmailsDetailFromElastic"}}, "page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}}}, "JwtRequest": {"required": ["key", "scopes"], "type": "object", "properties": {"key": {"title": "Key", "type": "string", "minLength": 1}, "scopes": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "AccountDetails": {"description": "Account information", "required": ["name", "title", "department", "email", "country", "phone_number"], "type": "object", "properties": {"name": {"title": "Name", "description": "Full name of the account holder", "type": "string", "minLength": 1}, "title": {"title": "Title", "description": "Job title", "type": "string", "minLength": 1, "x-nullable": true}, "department": {"title": "Department", "description": "Department", "type": "string", "minLength": 1, "x-nullable": true}, "email": {"title": "Email", "description": "Email address", "type": "string", "format": "email", "minLength": 1}, "country": {"title": "Country", "description": "Country", "type": "string", "minLength": 1, "x-nullable": true}, "phone_number": {"title": "Phone number", "description": "Phone number", "type": "string", "minLength": 1, "x-nullable": true}}}, "AlertDetail": {"description": "List of alert details", "required": ["ip", "location", "logon_time"], "type": "object", "properties": {"ip": {"title": "Ip", "description": "IP address associated with the alert", "type": "string", "minLength": 1}, "location": {"title": "Location", "description": "Geographic location", "type": "string", "minLength": 1}, "logon_time": {"title": "Logon time", "description": "Time of the logon event", "type": "string", "format": "date-time"}}}, "Alert": {"description": "List of security alerts", "required": ["id", "title", "description", "type", "details", "created"], "type": "object", "properties": {"id": {"title": "Id", "description": "Unique alert identifier", "type": "integer"}, "title": {"title": "Title", "description": "Alert title", "type": "string", "minLength": 1}, "description": {"title": "Description", "description": "Alert description", "type": "string", "minLength": 1}, "type": {"title": "Type", "description": "Alert type identifier", "type": "integer"}, "details": {"description": "List of alert details", "type": "array", "items": {"$ref": "#/definitions/AlertDetail"}}, "created": {"title": "Created", "description": "Alert creation timestamp", "type": "string", "format": "date-time"}}}, "Assignee": {"description": "Assigned user information", "required": ["id", "email", "first_name", "last_name"], "type": "object", "properties": {"id": {"title": "Id", "description": "User ID", "type": "integer", "x-nullable": true}, "email": {"title": "Email", "description": "User email", "type": "string", "format": "email", "minLength": 1, "x-nullable": true}, "first_name": {"title": "First name", "description": "First name", "type": "string", "minLength": 1, "x-nullable": true}, "last_name": {"title": "Last name", "description": "Last name", "type": "string", "minLength": 1, "x-nullable": true}}}, "AccountTakeoverIncidentDetails": {"description": "Account takeover incident details", "required": ["id", "account_details", "alerts", "state", "original_state", "resolved_by", "resolved_on", "created", "assignee"], "type": "object", "properties": {"id": {"title": "Id", "description": "Incident identifier", "type": "integer"}, "account_details": {"$ref": "#/definitions/AccountDetails"}, "alerts": {"description": "List of security alerts", "type": "array", "items": {"$ref": "#/definitions/Alert"}}, "state": {"title": "State", "description": "Incident state", "type": "integer"}, "original_state": {"title": "Original state", "description": "Original incident state", "type": "integer"}, "resolved_by": {"title": "Resolved by", "description": "Name of resolver", "type": "string", "minLength": 1, "x-nullable": true}, "resolved_on": {"title": "Resolved on", "description": "Resolution timestamp", "type": "string", "format": "date-time", "x-nullable": true}, "created": {"title": "Created", "description": "Incident creation timestamp", "type": "string", "format": "date-time"}, "assignee": {"$ref": "#/definitions/Assignee"}}}, "FilterOptions": {"description": "Available filter options", "required": ["titles", "locations", "ips"], "type": "object", "properties": {"titles": {"description": "Available alert titles for filtering", "type": "array", "items": {"type": "string", "minLength": 1}}, "locations": {"description": "Available locations for filtering", "type": "array", "items": {"type": "string", "minLength": 1}}, "ips": {"description": "Available IP addresses for filtering", "type": "array", "items": {"type": "string", "minLength": 1}}}}, "AccountTakeoverDetailsResponse": {"required": ["incident_details", "filter_options", "pages_count", "page", "items_per_page"], "type": "object", "properties": {"incident_details": {"$ref": "#/definitions/AccountTakeoverIncidentDetails"}, "filter_options": {"$ref": "#/definitions/FilterOptions"}, "pages_count": {"title": "Pages count", "description": "Total number of pages", "type": "integer"}, "page": {"title": "Page", "description": "Current page number", "type": "integer"}, "items_per_page": {"title": "Items per page", "description": "Number of items per page", "type": "integer"}}}, "AccountTakeoverRemediation": {"required": ["state"], "type": "object", "properties": {"state": {"title": "State", "description": "ATO remediation state: 2 (Safe), 3 (Compromised)", "type": "integer", "enum": [2, 3]}, "action": {"title": "Action", "description": "ATO remediation action: 2 (DISABLE_ACCOUNT), 3 (SIGN_OUT)", "type": "integer", "enum": [3, 2], "x-nullable": true}}}, "AccountTakeoverRemediationResponse": {"required": ["state"], "type": "object", "properties": {"state": {"title": "State", "description": "Updated incident state: 2 (Safe), 3 (Compromised)", "type": "integer", "enum": [2, 3]}}}, "AccountTakeoverRemediationError": {"required": ["data"], "type": "object", "properties": {"data": {"title": "Data", "description": "Validation errors for request fields", "type": "object", "additionalProperties": {"description": "Field validation errors", "type": "array", "items": {"type": "string", "minLength": 1}}}}}, "IncidentClassification": {"required": ["classification", "prev_classification", "classifying_user_email"], "type": "object", "properties": {"classification": {"title": "Classification", "description": "The same classification can be achieved using multiple values:\n\n \n \n | Value | \n Classification | \n
\n \n \n | reportunclassified | Report |
| attackphishingmalicious | Attack |
| safefpfalse positive | False Positive |
| spam | Spam |
| close phishing | Close Phishing |
\n \n
\n", "type": "string", "minLength": 1}, "prev_classification": {"title": "Prev classification", "type": "string", "enum": ["Attack", "False Positive", "Spam", "Close Phishing", "Report"]}, "classifying_user_email": {"title": "Classifying user email", "type": "string", "format": "email", "minLength": 1}}}, "MailServer": {"required": ["host", "ip"], "type": "object", "properties": {"host": {"title": "Host", "type": "string", "minLength": 1}, "ip": {"title": "Ip", "type": "string", "minLength": 1}}}, "FederationDetails": {"required": ["companies_affected", "companies_marked_phishing", "companies_marked_spam", "companies_marked_fp", "companies_unclassified", "phishing_ratio"], "type": "object", "properties": {"companies_affected": {"title": "Companies affected", "type": "integer"}, "companies_marked_phishing": {"title": "Companies marked phishing", "type": "integer"}, "companies_marked_spam": {"title": "Companies marked spam", "type": "integer"}, "companies_marked_fp": {"title": "Companies marked fp", "type": "integer"}, "companies_unclassified": {"title": "Companies unclassified", "type": "integer"}, "phishing_ratio": {"title": "Phishing ratio", "type": "number", "format": "decimal"}}}, "Header": {"required": ["name", "value"], "type": "object", "properties": {"name": {"title": "Name", "type": "string", "minLength": 1}, "value": {"title": "Value", "type": "string", "minLength": 1}}}, "ReportedEmail": {"required": ["name", "email", "subject", "sender_email", "mail_server", "headers"], "type": "object", "properties": {"name": {"title": "Name", "type": "string", "minLength": 1}, "email": {"title": "Email", "type": "string", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}, "sender_email": {"title": "Sender email", "type": "string", "minLength": 1}, "mail_server": {"$ref": "#/definitions/MailServer"}, "headers": {"type": "array", "items": {"$ref": "#/definitions/Header"}}}}, "Link": {"required": ["url", "name", "scan_result"], "type": "object", "properties": {"url": {"title": "Url", "type": "string", "minLength": 1}, "name": {"title": "Name", "type": "string", "minLength": 1}, "scan_result": {"title": "Scan result", "type": "string", "minLength": 1, "x-nullable": true}}}, "Attachment": {"required": ["file_name", "file_size", "md5", "scan_result"], "type": "object", "properties": {"file_name": {"title": "File name", "type": "string", "minLength": 1}, "file_size": {"title": "File size", "type": "integer"}, "md5": {"title": "Md5", "type": "string", "minLength": 1}, "scan_result": {"title": "Scan result", "type": "string", "minLength": 1, "x-nullable": true}}}, "AffectedMailbox": {"description": "List of affected mailboxes (mitigations) for this incident", "required": ["id", "recipient", "recipient_id", "employee_active", "first_reported", "not_found", "can_recluster"], "type": "object", "properties": {"id": {"title": "Id", "description": "Mitigation ID", "type": "integer"}, "recipient": {"title": "Recipient", "description": "Email address of the affected mailbox", "type": "string", "minLength": 1}, "recipient_id": {"title": "Recipient id", "description": "Employee ID", "type": "integer"}, "employee_active": {"title": "Employee active", "description": "employee is active", "type": "boolean"}, "first_reported": {"title": "First reported", "description": "Is first reporter", "type": "boolean"}, "not_found": {"title": "Not found", "description": "Email not found in mailbox", "type": "boolean"}, "can_recluster": {"title": "Can recluster", "description": "Email can be reclustered back to the original incident. False for the root email (first_reported) of a reclassified incident.", "type": "boolean"}}}, "IncidentComment": {"description": "Comments on the incident, across the internal and community threads.", "required": ["id", "author", "text", "created", "type"], "type": "object", "properties": {"id": {"title": "Id", "description": "Comment ID", "type": "integer"}, "author": {"title": "Author", "description": "Display name of the comment author", "type": "string"}, "text": {"title": "Text", "description": "Comment body text", "type": "string"}, "created": {"title": "Created", "description": "When the comment was created", "type": "string", "format": "date-time"}, "type": {"title": "Type", "description": "Comment thread: 'internal' (private analyst notes) or 'community' (shared).", "type": "string", "enum": ["internal", "community"]}}}, "IncidentDetails": {"required": ["company_id", "company_name", "incident_id", "classification", "first_reported_by", "first_reported_date", "affected_mailbox_count", "sender_reputation", "banner_displayed", "sender_email", "reply_to", "spf_result", "sender_is_internal", "themis_proba", "themis_verdict", "mail_server", "federation", "reports", "links", "attachments", "original_email_body", "email_body_text", "reported_by_end_user", "reporter_name", "challenged_type", "challenged_events", "first_challenged_date", "related_incidents", "resolved_by", "resolved_on", "reclassified_by", "reclassified_on", "affected_mailboxes", "is_reclassified", "original_cluster_incident_id", "can_revert", "revert_blocked_reason", "resolution_tags", "additional_tags", "threat_type", "comments"], "type": "object", "properties": {"company_id": {"title": "Company id", "type": "integer"}, "company_name": {"title": "Company name", "type": "string", "minLength": 1}, "incident_id": {"title": "Incident id", "type": "integer"}, "classification": {"title": "Classification", "type": "string", "minLength": 1}, "first_reported_by": {"title": "First reported by", "type": "string", "minLength": 1}, "first_reported_date": {"title": "First reported date", "type": "string", "format": "date-time"}, "affected_mailbox_count": {"title": "Affected mailbox count", "type": "integer"}, "sender_reputation": {"title": "Sender reputation", "type": "string", "minLength": 1}, "banner_displayed": {"title": "Banner displayed", "type": "string", "minLength": 1}, "sender_email": {"title": "Sender email", "type": "string", "minLength": 1}, "reply_to": {"title": "Reply to", "type": "string", "minLength": 1}, "spf_result": {"title": "Spf result", "type": "string", "minLength": 1}, "sender_is_internal": {"title": "Sender is internal", "type": "boolean"}, "themis_proba": {"title": "Themis proba", "type": "number", "format": "decimal"}, "themis_verdict": {"title": "Themis verdict", "type": "string", "minLength": 1}, "mail_server": {"$ref": "#/definitions/MailServer"}, "federation": {"$ref": "#/definitions/FederationDetails"}, "reports": {"type": "array", "items": {"$ref": "#/definitions/ReportedEmail"}}, "links": {"type": "array", "items": {"$ref": "#/definitions/Link"}}, "attachments": {"type": "array", "items": {"$ref": "#/definitions/Attachment"}}, "original_email_body": {"title": "Original email body", "type": "string", "minLength": 1}, "email_body_text": {"title": "Email body text", "type": "string", "minLength": 1}, "reported_by_end_user": {"title": "Reported by end user", "type": "boolean"}, "reporter_name": {"title": "Reporter name", "type": "string", "minLength": 1}, "challenged_type": {"title": "Challenged type", "type": "string", "minLength": 1, "x-nullable": true}, "challenged_events": {"description": "List of challenged events, each containing challenged_date, challenged_by, challenged_reason, and challenged_comment", "type": "array", "items": {"type": "object", "additionalProperties": {"type": "string", "x-nullable": true}}, "x-nullable": true}, "first_challenged_date": {"title": "First challenged date", "type": "string", "format": "date-time", "x-nullable": true}, "related_incidents": {"description": "Array of incident IDs that are related through unclustering (both unclustered_to and unclustered_from)", "type": "array", "items": {"type": "integer"}}, "resolved_by": {"title": "Resolved by", "description": "Who classified the incident. Null when is_reclassified is true (use reclassified_by for that case).", "type": "string", "minLength": 1, "x-nullable": true}, "resolved_on": {"title": "Resolved on", "description": "When the incident was classified. Null when is_reclassified is true (use reclassified_on for that case).", "type": "string", "format": "date-time", "x-nullable": true}, "reclassified_by": {"title": "Reclassified by", "description": "Who reclassified this incident from another cluster. Only set when is_reclassified is true; null otherwise. Uses the same resolver source as resolved_by for non-reclassified incidents.", "type": "string", "minLength": 1, "x-nullable": true}, "reclassified_on": {"title": "Reclassified on", "description": "When the incident was reclassified from another cluster. Only set when is_reclassified is true; null otherwise. Uses the same resolver source as resolved_on for non-reclassified incidents.", "type": "string", "format": "date-time", "x-nullable": true}, "affected_mailboxes": {"description": "List of affected mailboxes (mitigations) for this incident", "type": "array", "items": {"$ref": "#/definitions/AffectedMailbox"}}, "is_reclassified": {"title": "Is reclassified", "description": "Incident was created by reclassifying emails from another incident", "type": "boolean"}, "original_cluster_incident_id": {"title": "Original cluster incident id", "description": "The ID of the original incident this was reclassified from (null if not reclassified)", "type": "integer", "x-nullable": true}, "can_revert": {"title": "Can revert", "description": "Can be reverted to the original incident", "type": "boolean"}, "revert_blocked_reason": {"title": "Revert blocked reason", "description": "Why revert is not possible (null if revert is possible)", "type": "string", "minLength": 1, "x-nullable": true}, "resolution_tags": {"description": "Tags on the incident whose type matches the incident's current classification (Phishing/Spam/Safe). Empty list when none.", "type": "array", "items": {"type": "string", "minLength": 1}}, "additional_tags": {"description": "Tags on the incident whose type does not match the current classification (e.g. left over from a prior classification). Empty list when none.", "type": "array", "items": {"type": "string", "minLength": 1}}, "threat_type": {"title": "Threat type", "description": "Categorized threat/attack label derived from Themis (e.g. 'VIP Impersonation', 'Business Email Compromise'). Empty string when Themis is disabled or produced no label.", "type": "string"}, "comments": {"description": "Comments on the incident, across the internal and community threads.", "type": "array", "items": {"$ref": "#/definitions/IncidentComment"}}}}, "IncidentList": {"required": ["incidentID", "emailSubject", "linksCount", "attachmentsCount", "recipientEmail", "recipientName", "classification", "assignee", "senderName", "senderEmail", "affectedMailboxesCount", "created", "reportedBy", "resolvedBy", "challengedType", "firstChallengedDate", "incidentType", "commentsCount", "internalCommentsCount", "communityCommentsCount", "releaseRequestCount", "latestEmailDate"], "type": "object", "properties": {"incidentID": {"title": "Incidentid", "type": "integer"}, "emailSubject": {"title": "Emailsubject", "type": "string", "minLength": 1, "x-nullable": true}, "linksCount": {"title": "Linkscount", "type": "integer", "x-nullable": true}, "attachmentsCount": {"title": "Attachmentscount", "type": "integer", "x-nullable": true}, "recipientEmail": {"title": "Recipientemail", "type": "string", "minLength": 1, "x-nullable": true}, "recipientName": {"title": "Recipientname", "type": "string", "minLength": 1, "x-nullable": true}, "classification": {"title": "Classification", "type": "string", "minLength": 1}, "assignee": {"title": "Assignee", "type": "string", "minLength": 1, "x-nullable": true}, "senderName": {"title": "Sendername", "type": "string", "minLength": 1}, "senderEmail": {"title": "Senderemail", "type": "string", "format": "email", "minLength": 1}, "affectedMailboxesCount": {"title": "Affectedmailboxescount", "type": "integer"}, "created": {"title": "Created", "type": "string", "format": "date-time"}, "reportedBy": {"title": "Reportedby", "type": "string", "minLength": 1, "x-nullable": true}, "resolvedBy": {"title": "Resolvedby", "type": "string", "minLength": 1, "x-nullable": true}, "challengedType": {"title": "Challengedtype", "type": "string", "minLength": 1, "x-nullable": true}, "firstChallengedDate": {"title": "Firstchallengeddate", "type": "string", "format": "date-time", "x-nullable": true}, "incidentType": {"title": "Incidenttype", "type": "string", "minLength": 1}, "commentsCount": {"title": "Commentscount", "type": "integer"}, "internalCommentsCount": {"title": "Internalcommentscount", "description": "Number of internal (non-public) comments on this incident", "type": "integer"}, "communityCommentsCount": {"title": "Communitycommentscount", "description": "Number of community (public) comments on this incident", "type": "integer"}, "releaseRequestCount": {"title": "Releaserequestcount", "type": "integer", "x-nullable": true}, "latestEmailDate": {"title": "Latestemaildate", "type": "string", "format": "date-time", "x-nullable": true}}}, "IncidentListPage": {"required": ["page", "total_pages", "total_count", "incidents"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "incidents": {"type": "array", "items": {"$ref": "#/definitions/IncidentList"}}}}, "ReclusterIncident": {"type": "object", "properties": {"mitigationsList": {"description": "List of mitigation IDs to move.", "type": "array", "items": {"type": "integer"}}, "excludeMitigations": {"description": "List of mitigation IDs to exclude when using the 'all' flag.", "type": "array", "items": {"type": "integer"}, "default": []}, "notFoundFilter": {"title": "Notfoundfilter", "description": "Filter mitigations that were not found in mailbox.", "type": "boolean", "default": false}, "isReadFilter": {"title": "Isreadfilter", "description": "Filter mitigations by read status.", "type": "boolean", "x-nullable": true}, "reclusterAll": {"title": "Reclusterall", "description": "If true, move all mitigations matching filters (uses incident_id from URL).", "type": "boolean", "default": false}}}, "ScanBackList": {"required": ["incidentID", "emailSubject", "linksCount", "attachmentsCount", "recipientEmail", "recipientName", "classification", "assignee", "senderName", "senderEmail", "affectedMailboxesCount", "created", "reportedBy", "resolvedBy", "challengedType", "firstChallengedDate"], "type": "object", "properties": {"incidentID": {"title": "Incidentid", "type": "integer"}, "emailSubject": {"title": "Emailsubject", "type": "string", "minLength": 1, "x-nullable": true}, "linksCount": {"title": "Linkscount", "type": "integer", "x-nullable": true}, "attachmentsCount": {"title": "Attachmentscount", "type": "integer", "x-nullable": true}, "recipientEmail": {"title": "Recipientemail", "type": "string", "minLength": 1, "x-nullable": true}, "recipientName": {"title": "Recipientname", "type": "string", "minLength": 1, "x-nullable": true}, "classification": {"title": "Classification", "type": "string", "minLength": 1}, "assignee": {"title": "Assignee", "type": "string", "minLength": 1, "x-nullable": true}, "senderName": {"title": "Sendername", "type": "string", "minLength": 1}, "senderEmail": {"title": "Senderemail", "type": "string", "format": "email", "minLength": 1}, "affectedMailboxesCount": {"title": "Affectedmailboxescount", "type": "integer"}, "created": {"title": "Created", "type": "string", "format": "date-time"}, "reportedBy": {"title": "Reportedby", "type": "string", "minLength": 1, "x-nullable": true}, "resolvedBy": {"title": "Resolvedby", "type": "string", "minLength": 1, "x-nullable": true}, "challengedType": {"title": "Challengedtype", "type": "string", "minLength": 1, "x-nullable": true}, "firstChallengedDate": {"title": "Firstchallengeddate", "type": "string", "format": "date-time", "x-nullable": true}}}, "ScanBackPage": {"required": ["page", "total_pages", "total_count", "incidents"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "incidents": {"type": "array", "items": {"$ref": "#/definitions/ScanBackList"}}}}, "RemediationStatusStats": {"required": ["incidents_count", "emails_count"], "type": "object", "properties": {"incidents_count": {"title": "Incidents count", "type": "integer"}, "emails_count": {"title": "Emails count", "type": "integer"}}}, "RemediationStatusesStats": {"required": ["phishing", "spam", "safe", "unclassified"], "type": "object", "properties": {"phishing": {"$ref": "#/definitions/RemediationStatusStats"}, "spam": {"$ref": "#/definitions/RemediationStatusStats"}, "safe": {"$ref": "#/definitions/RemediationStatusStats"}, "unclassified": {"$ref": "#/definitions/RemediationStatusStats"}}}, "UnclusterIncident": {"required": ["classification"], "type": "object", "properties": {"mitigationsList": {"description": "List of mitigation IDs to move.", "type": "array", "items": {"type": "integer"}}, "excludeMitigations": {"description": "List of mitigation IDs to exclude when using the 'all' flag.", "type": "array", "items": {"type": "integer"}, "default": []}, "notFoundFilter": {"title": "Notfoundfilter", "description": "Filter mitigations that were not found in mailbox.", "type": "boolean", "default": false}, "isReadFilter": {"title": "Isreadfilter", "description": "Filter mitigations by read status.", "type": "boolean", "x-nullable": true}, "unclusterAll": {"title": "Unclusterall", "description": "If true, move all mitigations matching filters (uses incident_id from URL).", "type": "boolean", "default": false}, "classification": {"title": "Classification", "description": "New classification for the unclustered incident. Must be one of: Attack, False Positive, Spam", "type": "string", "minLength": 1}}}, "MailboxesUserComplianceReport": {"required": ["firstName", "email"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "firstName": {"title": "First name", "type": "string", "maxLength": 40, "minLength": 1}, "lastName": {"title": "Last name", "type": "string", "maxLength": 40, "x-nullable": true}, "country": {"title": "Country", "type": "string", "maxLength": 100, "x-nullable": true}, "department": {"title": "Department", "type": "string", "maxLength": 100, "x-nullable": true}, "title": {"title": "Title", "type": "string", "maxLength": 250, "x-nullable": true}, "email": {"title": "Email", "type": "string", "format": "email", "maxLength": 254, "minLength": 1}, "language": {"title": "Language", "type": "string", "readOnly": true}, "simulationCampaignsCompletionsCount": {"title": "Simulation campaigns completions count", "type": "integer", "readOnly": true}, "lastSimulationCampaignDate": {"title": "Last simulation campaign date", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "readOnly": true, "x-nullable": true}, "trainingCampaignsCompletionsCount": {"title": "Training campaigns completions count", "type": "integer", "readOnly": true}, "lastTrainingCampaignDate": {"title": "Last training campaign date", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time", "readOnly": true, "x-nullable": true}, "riskLevel": {"title": "Risk level", "type": "string", "enum": ["Low", "Medium", "High"], "readOnly": true}, "awarenessLevel": {"title": "Awareness level", "type": "string", "enum": ["Beginner Level", "Mid Level", "Expert Level"], "readOnly": true}}}, "MailboxesUserComplianceReportResponse": {"required": ["page", "total_pages", "data"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "data": {"type": "array", "items": {"$ref": "#/definitions/MailboxesUserComplianceReport"}}}}, "MailboxesDetails": {"required": ["id", "firstName", "lastName", "title", "department", "email", "phoneNumber", "tags", "language", "riskLevel", "awarenessLevel", "protected", "unprotectedReason"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "firstName": {"title": "Firstname", "type": "string", "minLength": 1, "x-nullable": true}, "lastName": {"title": "Lastname", "type": "string", "minLength": 1, "x-nullable": true}, "title": {"title": "Title", "type": "string", "minLength": 1, "x-nullable": true}, "department": {"title": "Department", "type": "string", "minLength": 1, "x-nullable": true}, "email": {"title": "Email", "type": "string", "minLength": 1}, "phoneNumber": {"title": "Phonenumber", "type": "string", "minLength": 1, "x-nullable": true}, "tags": {"type": "array", "items": {"type": "string", "minLength": 1}, "x-nullable": true}, "language": {"title": "Language", "type": "string", "minLength": 1, "x-nullable": true}, "enabled": {"title": "Enabled", "type": "boolean"}, "riskLevel": {"title": "Risklevel", "type": "string", "minLength": 1, "x-nullable": true}, "awarenessLevel": {"title": "Awarenesslevel", "type": "string", "minLength": 1, "x-nullable": true}, "protected": {"title": "Protected", "type": "boolean", "x-nullable": true}, "unprotectedReason": {"title": "Unprotectedreason", "type": "string", "minLength": 1, "x-nullable": true}}}, "MailboxesPageDetails": {"required": ["page", "total_pages", "total_count", "mailboxes"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "mailboxes": {"type": "array", "items": {"$ref": "#/definitions/MailboxesDetails"}}}}, "MailboxFilter": {"type": "object", "properties": {"ids": {"type": "array", "items": {"type": "integer"}}, "exclude_ids": {"type": "array", "items": {"type": "integer"}}, "search": {"title": "Search", "type": "string", "minLength": 1}, "is_enabled": {"title": "Is enabled", "type": "boolean", "x-nullable": true}, "tags": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "MailboxUpdateParams": {"type": "object", "properties": {"is_enabled": {"title": "Is enabled", "type": "boolean"}, "add_tags": {"type": "array", "items": {"type": "string", "minLength": 1}}, "remove_tags": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "MailboxUpdateRequest": {"required": ["params"], "type": "object", "properties": {"filters": {"$ref": "#/definitions/MailboxFilter"}, "params": {"$ref": "#/definitions/MailboxUpdateParams"}}}, "MailboxesUpdateResponse": {"required": ["mailbox_ids", "error_message"], "type": "object", "properties": {"mailbox_ids": {"description": "IDs of mailboxes that matched the filters", "type": "array", "items": {"type": "integer"}}, "error_message": {"title": "Error message", "description": "Error description if any of mailboxes wasn't updated", "type": "string", "minLength": 1}}}, "MailboxesUserPerformance": {"required": ["userId", "firstName", "lastName", "country", "department", "title", "email", "campaignId", "campaignName", "campaignCollectingEndDate"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "userId": {"title": "Userid", "type": "integer"}, "firstName": {"title": "First name", "type": "string", "minLength": 1}, "lastName": {"title": "Last name", "type": "string", "minLength": 1}, "country": {"title": "Country", "type": "string", "minLength": 1}, "department": {"title": "Department", "type": "string", "minLength": 1}, "title": {"title": "Title", "type": "string", "minLength": 1}, "email": {"title": "Email", "type": "string", "minLength": 1}, "campaignId": {"title": "Campaign id", "type": "integer"}, "campaignName": {"title": "Campaign name", "type": "string", "minLength": 1}, "campaignType": {"title": "Campaign type", "type": "string", "enum": ["Training", "Simulation", "Spear Phishing", "Agentic"], "readOnly": true}, "campaignSimulationResult": {"title": "Campaign simulation result", "type": "string", "enum": ["Reported", "Clicked", "Entered Details", "Opened", "Unopened", "Not delivered", "N/A"], "readOnly": true, "x-nullable": true}, "campaignTrainingStatus": {"title": "Campaign training status", "type": "string", "enum": ["Postponed", "Manually trained", "Yes", "No", "Started, not completed", "Not started", "N/A", "Scheduled to send"], "readOnly": true, "x-nullable": true}, "campaignTrainingName": {"title": "Campaign training name", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "campaignCollectingEndDate": {"title": "Collecting end date (UTC)", "description": "date-time format %b %d, %Y %H:%M", "type": "string", "format": "date-time"}, "campaignScore": {"title": "Campaign score", "type": "integer", "readOnly": true, "maximum": 100, "minimum": 0, "x-nullable": true}, "campaignLocale": {"title": "Campaign locale", "type": "string", "readOnly": true}, "campaignTemplateName": {"title": "Campaign template name", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}}}, "MailboxesUserPerformanceResponse": {"required": ["page", "total_pages", "data"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "data": {"type": "array", "items": {"$ref": "#/definitions/MailboxesUserPerformance"}}}}, "IncidentDetailsRequest": {"required": ["incidents"], "type": "object", "properties": {"incidents": {"type": "array", "items": {"type": "integer"}}, "page": {"title": "Page", "type": "integer", "default": 1}, "period": {"title": "Period", "type": "string", "default": "6", "minLength": 1}}}, "MitigationDetails": {"required": ["incidentID", "mitigationID", "incidentState", "remediatedTime", "mailboxId", "mailboxEmail", "subject", "senderEmail", "senderIP", "reportedBy", "resolution", "spfResult"], "type": "object", "properties": {"incidentID": {"title": "Incidentid", "type": "integer"}, "mitigationID": {"title": "Mitigationid", "type": "integer"}, "incidentState": {"title": "Incidentstate", "type": "string", "minLength": 1}, "remediatedTime": {"title": "Remediatedtime", "type": "string", "format": "date-time"}, "mailboxId": {"title": "Mailboxid", "type": "integer"}, "mailboxEmail": {"title": "Mailboxemail", "type": "string", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}, "senderEmail": {"title": "Senderemail", "type": "string", "minLength": 1}, "senderIP": {"title": "Senderip", "type": "string", "minLength": 1}, "reportedBy": {"title": "Reportedby", "type": "string", "minLength": 1}, "resolution": {"title": "Resolution", "type": "string", "minLength": 1}, "spfResult": {"title": "Spfresult", "type": "string", "minLength": 1}}}, "MitigationPageDetails": {"required": ["page", "total_pages", "mitigations", "messages"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "mitigations": {"type": "array", "items": {"$ref": "#/definitions/MitigationDetails"}}, "messages": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "ImpersonationDetails": {"required": ["incidentID", "mailboxId", "remediatedTime", "mailboxEmail", "senderEmail", "subject", "reportedBy", "incidentType", "resolution", "remediations"], "type": "object", "properties": {"incidentID": {"title": "Incidentid", "type": "integer"}, "mailboxId": {"title": "Mailboxid", "type": "integer"}, "remediatedTime": {"title": "Remediatedtime", "type": "string", "format": "date-time"}, "mailboxEmail": {"title": "Mailboxemail", "type": "string", "format": "email", "minLength": 1}, "senderEmail": {"title": "Senderemail", "type": "string", "format": "email", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}, "reportedBy": {"title": "Reportedby", "type": "string", "format": "email", "minLength": 1}, "incidentType": {"title": "Incidenttype", "type": "string", "minLength": 1}, "resolution": {"title": "Resolution", "type": "string", "minLength": 1}, "remediations": {"title": "Remediations", "type": "integer"}}}, "ImpersonationDetailsPage": {"required": ["incidents", "messages"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer", "x-nullable": true}, "total_pages": {"title": "Total pages", "type": "integer", "x-nullable": true}, "incidents": {"type": "array", "items": {"$ref": "#/definitions/ImpersonationDetails"}}, "messages": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "ImpersonationDetailsRequest": {"type": "object", "properties": {"page": {"title": "Page", "type": "integer", "default": 1}, "period": {"title": "Period", "type": "string", "default": "6", "minLength": 1}}}, "MitigationIncidentDetails": {"required": ["incidentID", "incidentState", "remediatedTime", "affectedMailboxCount", "mailboxId", "mailboxEmail", "senderEmail", "subject", "threatType", "detectionType", "reportedBy"], "type": "object", "properties": {"incidentID": {"title": "Incidentid", "type": "integer"}, "incidentState": {"title": "Incidentstate", "type": "integer"}, "remediatedTime": {"title": "Remediatedtime", "type": "string", "format": "date-time"}, "affectedMailboxCount": {"title": "Affectedmailboxcount", "type": "integer"}, "mailboxId": {"title": "Mailboxid", "type": "integer"}, "mailboxEmail": {"title": "Mailboxemail", "type": "string", "format": "email", "minLength": 1}, "senderEmail": {"title": "Senderemail", "type": "string", "format": "email", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}, "threatType": {"title": "Threattype", "type": "string", "minLength": 1}, "detectionType": {"title": "Detectiontype", "type": "string", "minLength": 1}, "reportedBy": {"title": "Reportedby", "type": "string", "format": "email", "minLength": 1}}}, "IncidentPageDetails": {"required": ["page", "total_pages", "incidents", "messages"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "incidents": {"type": "array", "items": {"$ref": "#/definitions/MitigationIncidentDetails"}}, "messages": {"type": "array", "items": {"type": "string", "minLength": 1}}}}, "MitigationStats": {"required": ["openIncidentCount", "resolvedIncidentCount", "phishingCount", "remediationCount", "maliciousAttachmentsCount", "maliciousLinksCount", "impersonationCount", "reportedByEmployeesCount"], "type": "object", "properties": {"openIncidentCount": {"title": "Openincidentcount", "type": "integer"}, "resolvedIncidentCount": {"title": "Resolvedincidentcount", "type": "integer"}, "phishingCount": {"title": "Phishingcount", "type": "integer"}, "remediationCount": {"title": "Remediationcount", "type": "integer"}, "maliciousAttachmentsCount": {"title": "Maliciousattachmentscount", "type": "integer"}, "maliciousLinksCount": {"title": "Maliciouslinkscount", "type": "integer"}, "impersonationCount": {"title": "Impersonationcount", "type": "integer"}, "reportedByEmployeesCount": {"title": "Reportedbyemployeescount", "type": "integer"}}}, "EmailPhishingThreatTypeStats": {"required": ["name", "emails_count"], "type": "object", "properties": {"name": {"title": "Name", "type": "string", "minLength": 1}, "emails_count": {"title": "Emails count", "type": "integer"}}}, "EmailsStats": {"required": ["inspected_count", "phishing_count", "spam_count", "impersonations_count", "phishing_threat_types"], "type": "object", "properties": {"inspected_count": {"title": "Inspected count", "type": "integer"}, "phishing_count": {"title": "Phishing count", "type": "integer"}, "spam_count": {"title": "Spam count", "type": "integer"}, "impersonations_count": {"title": "Impersonations count", "type": "integer"}, "phishing_threat_types": {"type": "array", "items": {"$ref": "#/definitions/EmailPhishingThreatTypeStats"}}}}, "MostTargetedDepartment": {"required": ["name", "emails_count"], "type": "object", "properties": {"name": {"title": "Name", "type": "string", "minLength": 1}, "emails_count": {"title": "Emails count", "type": "integer"}}}, "MostTargetedDepartments": {"required": ["items"], "type": "object", "properties": {"items": {"type": "array", "items": {"$ref": "#/definitions/MostTargetedDepartment"}}}}, "MostTargetedEmployee": {"type": "object", "properties": {"mailbox": {"$ref": "#/definitions/MailboxesDetails"}, "emails_count": {"title": "Emails count", "type": "integer", "readOnly": true}}}, "MostTargetedEmployees": {"required": ["items"], "type": "object", "properties": {"items": {"type": "array", "items": {"$ref": "#/definitions/MostTargetedEmployee"}}}}, "ResolvedByAnalyst": {"type": "object", "properties": {"time_saved": {"title": "Time saved", "type": "number", "x-nullable": true}, "from_users": {"title": "From users", "type": "integer", "x-nullable": true}, "from_community": {"title": "From community", "type": "integer", "x-nullable": true}, "from_mailbox_anomaly": {"title": "From mailbox anomaly", "type": "integer", "x-nullable": true}, "avg_resolution_time": {"title": "Avg resolution time", "type": "number", "x-nullable": true}, "total": {"title": "Total", "type": "integer", "x-nullable": true}}}, "InspectedEmails": {"required": ["phishing", "false_positive", "incidents", "inspected", "spam"], "type": "object", "properties": {"phishing": {"title": "Phishing", "type": "integer", "x-nullable": true}, "false_positive": {"title": "False positive", "type": "integer", "x-nullable": true}, "incidents": {"title": "Incidents", "type": "integer", "x-nullable": true}, "inspected": {"title": "Inspected", "type": "integer", "x-nullable": true}, "spam": {"title": "Spam", "type": "integer", "x-nullable": true}}}, "ResolvedAutomatically": {"required": ["time_saved", "from_users", "from_community", "from_mailbox_anomaly", "by_visual_scanner", "total", "by_malware_and_url_scanners", "by_themis"], "type": "object", "properties": {"time_saved": {"title": "Time saved", "type": "number", "x-nullable": true}, "from_users": {"title": "From users", "type": "integer", "x-nullable": true}, "from_community": {"title": "From community", "type": "integer", "x-nullable": true}, "from_mailbox_anomaly": {"title": "From mailbox anomaly", "type": "integer", "x-nullable": true}, "by_visual_scanner": {"title": "By visual scanner", "type": "integer", "x-nullable": true}, "total": {"title": "Total", "type": "integer", "x-nullable": true}, "by_malware_and_url_scanners": {"title": "By malware and url scanners", "type": "integer", "x-nullable": true}, "by_themis": {"title": "By themis", "type": "integer", "x-nullable": true}}}, "MaliciousContentIncidents": {"required": ["computer_vision", "total_malicious_incidents", "attachments", "malware_and_url_protection"], "type": "object", "properties": {"computer_vision": {"title": "Computer vision", "type": "integer", "x-nullable": true}, "total_malicious_incidents": {"title": "Total malicious incidents", "type": "integer", "x-nullable": true}, "attachments": {"title": "Attachments", "type": "integer", "x-nullable": true}, "malware_and_url_protection": {"title": "Malware and url protection", "type": "integer", "x-nullable": true}}}, "MitigationStatsV2View": {"type": "object", "properties": {"resolved_by_analyst": {"$ref": "#/definitions/ResolvedByAnalyst"}, "inspected_emails": {"$ref": "#/definitions/InspectedEmails"}, "resolved_automatically": {"$ref": "#/definitions/ResolvedAutomatically"}, "malicious_content_incidents": {"$ref": "#/definitions/MaliciousContentIncidents"}}}, "CampaignStatistic": {"required": ["emails", "reported", "lured", "trained"], "type": "object", "properties": {"emails": {"title": "Emails", "type": "integer", "x-nullable": true}, "reported": {"title": "Reported", "type": "integer", "x-nullable": true}, "lured": {"title": "Lured", "type": "integer", "x-nullable": true}, "trained": {"title": "Trained", "type": "integer", "x-nullable": true}}}, "CampaignListResponseItem": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1}, "flow_type": {"title": "Flow type", "description": "Campaign Flow Type:\n- `1` = Training Only - Campaign that only includes training content\n- `2` = Simulation and Training - Campaign that includes both phishing simulation and training", "type": "string", "enum": [1, 2], "readOnly": true}, "status": {"title": "Status", "description": "Campaign Status:\n- `0` = Draft - Campaign is in draft state and not yet active\n- `1` = Collecting (Active) - Campaign is actively collecting participant data\n- `2` = Completed - Campaign has finished and is closed\n- `3` = Pending - Campaign is approved but waiting to start\n- `4` = Active - Campaign is currently running and sending emails\n- `5` = Inactive - Campaign is inactive", "type": "string", "enum": [0, 1, 2, 3, 4, 5], "readOnly": true}, "schedule_time": {"title": "Schedule time", "type": "string", "format": "date-time", "readOnly": true}, "end_time": {"title": "End time", "type": "string", "format": "date-time", "readOnly": true}, "close_time": {"title": "Close time", "type": "string", "format": "date-time", "readOnly": true}, "default_locale_id": {"title": "Default locale id", "type": "integer", "readOnly": true}, "timezone": {"title": "Timezone", "type": "string", "readOnly": true, "minLength": 1}, "participants_count": {"title": "Participants count", "type": "integer", "readOnly": true}, "statistic": {"$ref": "#/definitions/CampaignStatistic"}}}, "CampaignListResponse": {"type": "object", "properties": {"page": {"title": "Page", "type": "integer", "readOnly": true}, "total_pages": {"title": "Total pages", "type": "integer", "readOnly": true}, "total_count": {"title": "Total count", "type": "integer", "readOnly": true}, "data": {"type": "array", "items": {"$ref": "#/definitions/CampaignListResponseItem"}, "readOnly": true}}}, "ParticipantsCalculateInclude": {"description": "Participant selection criteria", "required": ["all_company"], "type": "object", "properties": {"emails": {"type": "array", "items": {"type": "string", "format": "email", "minLength": 1}, "minItems": 1}, "departments": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "tags": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "titles": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "cities": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "countries": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "featured_groups": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "segments": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "awareness_levels": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "all_company": {"title": "All company", "type": "boolean"}}}, "ParticipantsCalculateBase": {"description": "Participant exclusion criteria", "type": "object", "properties": {"emails": {"type": "array", "items": {"type": "string", "format": "email", "minLength": 1}, "minItems": 1}, "departments": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "tags": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "titles": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "cities": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "countries": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "featured_groups": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "segments": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}, "awareness_levels": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1}}, "x-nullable": true}, "TrainingReminderContent": {"description": "List of training reminder content", "required": ["body", "subject"], "type": "object", "properties": {"body": {"title": "Body", "type": "string", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}}, "x-nullable": true}, "CampaignNotification": {"description": "List of campaign notifications", "required": ["type"], "type": "object", "properties": {"subject": {"title": "Subject", "type": "string"}, "body": {"title": "Body", "type": "string"}, "type": {"title": "Type", "type": "integer", "enum": [1]}}, "x-nullable": true}, "TrainingCampaignData": {"description": "Training-specific campaign data", "type": "object", "properties": {"subject": {"title": "Subject", "type": "string", "maxLength": 300, "x-nullable": true}, "message": {"title": "Message", "type": "string", "x-nullable": true}, "mail_signature": {"title": "Mail signature", "type": "string", "x-nullable": true}, "include_logo": {"title": "Include logo", "type": "boolean", "x-nullable": true}, "use_designed_image": {"title": "Use designed image", "type": "boolean", "x-nullable": true}, "from_email": {"title": "From email", "type": "string", "maxLength": 512, "x-nullable": true}}, "x-nullable": true}, "ManagerNotificationBanner": {"description": "Manager notification banner settings", "required": ["text"], "type": "object", "properties": {"text": {"title": "Text", "type": "string", "minLength": 1}}, "x-nullable": true}, "ManagerReportEmail": {"description": "Manager report email settings", "required": ["body", "subject"], "type": "object", "properties": {"body": {"title": "Body", "type": "string", "minLength": 1}, "subject": {"title": "Subject", "type": "string", "minLength": 1}}, "x-nullable": true}, "ManagerNotificationSettingsCreate": {"description": "Manager notification settings. If enabled is False or missing, manager notifications will not be configured.", "type": "object", "properties": {"enabled": {"title": "Enabled", "description": "Whether manager notifications are enabled for this campaign", "type": "boolean", "default": false}, "banner": {"$ref": "#/definitions/ManagerNotificationBanner"}, "report_email": {"$ref": "#/definitions/ManagerReportEmail"}, "reminders_threshold": {"title": "Reminders threshold", "description": "Minimum number of reminders before sending manager report", "type": "integer", "minimum": 1, "x-nullable": true}, "send_report_every_x_days": {"title": "Send report every x days", "description": "Send manager report every X days. Allowed values: 7 or 14 days", "type": "integer", "enum": [7, 14], "x-nullable": true}, "report_day_of_week": {"title": "Report day of week", "description": "Day of week to send manager report (0=Monday, 6=Sunday)", "type": "integer", "maximum": 6, "minimum": 0, "x-nullable": true}}, "x-nullable": true}, "CampaignCreateRequest": {"required": ["name", "flow_type", "schedule_time", "close_time", "default_locale_id", "participants_choices"], "type": "object", "properties": {"name": {"title": "Name", "description": "Campaign name", "type": "string", "maxLength": 250, "minLength": 1}, "flow_type": {"title": "Flow type", "description": "Campaign Flow Type:\n- `1` = Training Only - Campaign that only includes training content\n- `2` = Simulation and Training - Campaign that includes both phishing simulation and training", "type": "integer", "enum": [1, 2]}, "schedule_time": {"title": "Schedule time", "description": "Campaign start time in ISO 8601 format", "type": "string", "format": "date-time"}, "close_time": {"title": "Close time", "description": "Campaign close time in ISO 8601 format", "type": "string", "format": "date-time"}, "default_locale_id": {"title": "Default locale id", "description": "Default locale ID for the campaign", "type": "integer"}, "participants_choices": {"$ref": "#/definitions/ParticipantsCalculateInclude"}, "end_date": {"title": "End date", "description": "Campaign end date (for simulation campaigns)", "type": "string", "format": "date", "x-nullable": true}, "timezone": {"title": "Timezone", "description": "Timezone string (e.g., 'America/New_York'). Defaults to company timezone if not provided", "type": "string"}, "selected_locale_ids": {"description": "List of additional locale IDs for the campaign", "type": "array", "items": {"type": "integer"}, "default": []}, "email_limit": {"title": "Email limit", "description": "Maximum number of emails to send per day. Maximum allowed value is 20000. Use 0 for no limit.", "type": "integer", "default": 0, "maximum": 20000, "minimum": 0}, "randomized": {"title": "Randomized", "description": "Send emails to participants at random times", "type": "boolean", "default": false}, "randomized_scenarios": {"title": "Randomized scenarios", "description": "Randomize scenario selection for participants", "type": "boolean", "default": false}, "send_all_week": {"title": "Send all week", "description": "Send emails throughout the week (including weekends)", "type": "boolean", "default": false}, "locales_by_profiles": {"title": "Locales by profiles", "description": "Use locale settings from individual profiles", "type": "boolean", "default": false}, "participants_exclude_choices": {"$ref": "#/definitions/ParticipantsCalculateBase"}, "participants_exclude_choices_auto_fill": {"title": "Participants exclude choices auto fill", "description": "Automatically exclude shared mailboxes if they exist", "type": "boolean", "default": false}, "scenario_ids": {"description": "List of scenario (mail template) IDs to use", "type": "array", "items": {"type": "integer"}}, "landing_page_id": {"title": "Landing page id", "description": "Landing page ID for the campaign", "type": "integer", "x-nullable": true}, "training_ids": {"description": "List of training content IDs to include", "type": "array", "items": {"type": "integer"}, "x-nullable": true}, "send_reminder_every_x_business_days": {"title": "Send reminder every x business days", "description": "Send reminder every X business days", "type": "integer", "default": 2, "minimum": 1, "x-nullable": true}, "send_reminders_until": {"title": "Send reminders until", "description": "Stop sending reminders after this date/time", "type": "string", "format": "date-time", "x-nullable": true}, "max_reminders_per_participant": {"title": "Max reminders per participant", "description": "Maximum number of reminders per participant", "type": "integer", "minimum": 1, "x-nullable": true}, "training_reminders": {"description": "List of training reminder content", "type": "array", "items": {"$ref": "#/definitions/TrainingReminderContent"}, "x-nullable": true}, "notifications": {"description": "List of campaign notifications", "type": "array", "items": {"$ref": "#/definitions/CampaignNotification"}, "x-nullable": true}, "send_campaign_summary_to_campaign_report_recipients": {"title": "Send campaign summary to campaign report recipients", "description": "Send campaign summary to report recipients", "type": "boolean", "default": true}, "send_completion_email": {"title": "Send completion email", "description": "Send completion email to participants", "type": "boolean", "default": false}, "send_campaign_failed_email": {"title": "Send campaign failed email", "description": "Send email notification if campaign fails", "type": "boolean", "default": false}, "training_campaign_data": {"$ref": "#/definitions/TrainingCampaignData"}, "manager_notification_settings": {"$ref": "#/definitions/ManagerNotificationSettingsCreate"}}}, "CampaignCreateResponse": {"required": ["id"], "type": "object", "properties": {"id": {"title": "Id", "description": "Created campaign ID", "type": "integer"}}}, "CampaignLookupResponseItem": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}}}, "CampaignLookupResponse": {"type": "object", "properties": {"page": {"title": "Page", "type": "integer", "readOnly": true}, "total_pages": {"title": "Total pages", "type": "integer", "readOnly": true}, "total_count": {"title": "Total count", "type": "integer", "readOnly": true}, "data": {"type": "array", "items": {"$ref": "#/definitions/CampaignLookupResponseItem"}, "readOnly": true}}}, "LandingPage": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1}, "is_system": {"title": "Is system", "type": "boolean", "readOnly": true}}, "x-nullable": true}, "Segment": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "maxLength": 120, "minLength": 1}}}, "Category": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "maxLength": 50, "minLength": 1}}}, "Scenario": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1}, "category": {"$ref": "#/definitions/Category"}, "level": {"title": "Level", "type": "integer", "enum": [0, 1, 2], "readOnly": true}, "is_system": {"title": "Is system", "type": "boolean", "readOnly": true}}}, "CampaignTrainingContentItem": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "locale_id": {"title": "Locale id", "type": "string", "readOnly": true}, "image_preview": {"title": "Image preview", "type": "string", "readOnly": true, "minLength": 1}, "content": {"title": "Content", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "embedded_subtitles": {"title": "Embedded subtitles", "type": "boolean", "readOnly": true}, "custom_type": {"title": "Custom type", "type": "string", "enum": ["CUSTOM_VIDEO", "CUSTOM_URL"], "readOnly": true}}}, "BaseTrainingSubtitle": {"type": "object", "properties": {"locale_id": {"title": "Locale id", "type": "integer", "readOnly": true}, "url": {"title": "Url", "type": "string", "readOnly": true, "minLength": 1}}}, "CampaignTrainingContent": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "vendor": {"title": "Vendor", "type": "integer", "enum": [6, 5, 1, 3, 4], "readOnly": true, "x-nullable": true}, "name": {"title": "Name", "type": "string", "readOnly": true}, "items": {"type": "array", "items": {"$ref": "#/definitions/CampaignTrainingContentItem"}, "readOnly": true}, "type": {"title": "Type", "type": "string", "enum": ["VIDEO", "COURSE", "QUIZ_HTML5", "CUSTOM_CONTENT"], "readOnly": true}, "subtitles": {"type": "array", "items": {"$ref": "#/definitions/BaseTrainingSubtitle"}, "readOnly": true}}}, "CampaignManagerNotificationSettings": {"type": "object", "properties": {"enabled": {"title": "Enabled", "description": "Get enabled status for manager notifications.\n\n Args:\n obj: ManagerNotificationSettings instance.\n\n Returns:\n True if send_report_every_x_days is not 0 or None, False otherwise.\n", "type": "boolean", "readOnly": true}, "reminders_threshold": {"title": "Reminders threshold", "type": "integer", "readOnly": true, "minimum": 1, "x-nullable": true}, "send_report_every_x_days": {"title": "Send report every x days", "type": "integer", "enum": [7, 14], "readOnly": true, "x-nullable": true}, "report_day_of_week": {"title": "Report day of week", "type": "integer", "enum": [0, 1, 2, 3, 4, 5, 6], "readOnly": true, "x-nullable": true}, "banner": {"$ref": "#/definitions/ManagerNotificationBanner"}, "report_email": {"$ref": "#/definitions/ManagerReportEmail"}}}, "CampaignDetailsResponse": {"type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1}, "flow_type": {"title": "Flow type", "description": "Campaign Flow Type:\n- `1` = Training Only - Campaign that only includes training content\n- `2` = Simulation and Training - Campaign that includes both phishing simulation and training", "type": "string", "enum": [1, 2], "readOnly": true}, "status": {"title": "Status", "description": "Campaign Status:\n- `0` = Draft - Campaign is in draft state and not yet active\n- `1` = Collecting (Active) - Campaign is actively collecting participant data\n- `2` = Completed - Campaign has finished and is closed\n- `3` = Pending - Campaign is approved but waiting to start\n- `4` = Active - Campaign is currently running and sending emails\n- `5` = Inactive - Campaign is inactive", "type": "string", "enum": [0, 1, 2, 3, 4, 5], "readOnly": true}, "schedule_time": {"title": "Schedule time", "type": "string", "format": "date-time", "readOnly": true}, "end_time": {"title": "End time", "type": "string", "format": "date-time", "readOnly": true}, "close_time": {"title": "Close time", "type": "string", "format": "date-time", "readOnly": true}, "default_locale_id": {"title": "Default locale id", "type": "integer", "readOnly": true}, "timezone": {"title": "Timezone", "type": "string", "readOnly": true, "minLength": 1}, "participants_count": {"title": "Participants count", "type": "integer", "readOnly": true}, "company_id": {"title": "Company id", "type": "string", "readOnly": true}, "participants_choices": {"title": "Participants choices", "type": "object", "readOnly": true, "x-nullable": true}, "participants_exclude_choices": {"title": "Participants exclude choices", "type": "object", "readOnly": true, "x-nullable": true}, "delivery_type": {"title": "Delivery type", "description": "Campaign Delivery Type:\n- `0` = Email - Campaign is delivered via email\n- `1` = SMS - Campaign is delivered via SMS", "type": "integer", "readOnly": true}, "randomized": {"title": "Randomized", "description": "Send Emails to participants at random times", "type": "boolean", "readOnly": true}, "randomized_scenarios": {"title": "Randomized scenarios", "type": "boolean", "readOnly": true}, "max_email_per_day": {"title": "Max email per day", "type": "integer", "readOnly": true, "minimum": 1}, "send_all_week": {"title": "Send all week", "type": "boolean", "readOnly": true}, "send_reminders_until": {"title": "Send reminders until", "type": "string", "format": "date-time", "readOnly": true, "x-nullable": true}, "send_reminder_every_x_business_days": {"title": "Send reminder every x business days", "type": "integer", "readOnly": true, "minimum": 1, "x-nullable": true}, "max_reminders_per_participant": {"title": "Max reminders per participant", "type": "integer", "readOnly": true, "minimum": 1, "x-nullable": true}, "locales_by_profiles": {"title": "Locales by profiles", "type": "boolean", "readOnly": true}, "locale_ids": {"type": "array", "items": {"type": "integer"}, "readOnly": true, "uniqueItems": true}, "send_campaign_summary_to_campaign_report_recipients": {"title": "Send campaign summary to campaign report recipients", "type": "boolean", "readOnly": true}, "send_completion_email": {"title": "Send completion email", "type": "boolean", "readOnly": true}, "send_campaign_failed_email": {"title": "Send campaign failed email", "type": "boolean", "readOnly": true, "x-nullable": true}, "landing_page": {"$ref": "#/definitions/LandingPage"}, "segments": {"type": "array", "items": {"$ref": "#/definitions/Segment"}, "readOnly": true}, "scenarios": {"type": "array", "items": {"$ref": "#/definitions/Scenario"}, "readOnly": true}, "training_campaign_data": {"$ref": "#/definitions/TrainingCampaignData"}, "training_reminders": {"type": "array", "items": {"$ref": "#/definitions/TrainingReminderContent"}, "readOnly": true}, "notifications": {"type": "array", "items": {"$ref": "#/definitions/CampaignNotification"}, "readOnly": true}, "trainings": {"type": "array", "items": {"$ref": "#/definitions/CampaignTrainingContent"}, "readOnly": true}, "manager_notification_settings": {"$ref": "#/definitions/CampaignManagerNotificationSettings"}}}, "CallForActionData": {"description": "List of call for action pages for the current page", "required": ["id", "name", "page_title", "content", "is_system", "is_public", "last_updated", "company_id"], "type": "object", "properties": {"id": {"title": "Id", "description": "Unique identifier for the call for action page", "type": "integer"}, "name": {"title": "Name", "description": "Name of the call for action page", "type": "string", "minLength": 1}, "page_title": {"title": "Page title", "description": "Title of the call for action page", "type": "string", "x-nullable": true}, "content": {"title": "Content", "description": "HTML content of the call for action page", "type": "string", "x-nullable": true}, "is_system": {"title": "Is system", "description": "Whether the call for action page is a system page", "type": "boolean"}, "is_public": {"title": "Is public", "description": "Whether the call for action page is public", "type": "boolean"}, "last_updated": {"title": "Last updated", "description": "Date and time when the call for action page was last updated", "type": "string", "format": "date-time"}, "tags": {"title": "Tags", "description": "Tags indicating the origin of the call for action page (System, Company, or Partner)", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "company_id": {"title": "Company id", "description": "ID of the company that owns this call for action page (null for system pages)", "type": "integer", "x-nullable": true}}}, "CallForAction": {"required": ["page", "total_pages", "total_count", "data"], "type": "object", "properties": {"page": {"title": "Page", "description": "Current page number", "type": "integer"}, "total_pages": {"title": "Total pages", "description": "Total number of pages", "type": "integer"}, "total_count": {"title": "Total count", "description": "Total number of call for action pages matching the query", "type": "integer"}, "data": {"description": "List of call for action pages for the current page", "type": "array", "items": {"$ref": "#/definitions/CallForActionData"}}}}, "LandingPageContent": {"type": "object", "properties": {"content": {"title": "Content", "type": "string", "x-nullable": true}, "page_title": {"title": "Page title", "type": "string", "maxLength": 100, "x-nullable": true}, "locale_id": {"title": "Locale id", "type": "string", "readOnly": true}}}, "LandingPagesData": {"required": ["id", "name", "is_system", "last_updated", "training_type", "contents"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string", "minLength": 1}, "tags": {"type": "array", "items": {"type": "string", "minLength": 1}, "readOnly": true}, "is_system": {"title": "Is system", "type": "boolean"}, "last_updated": {"title": "Last updated", "type": "string", "format": "date-time"}, "training_type": {"title": "Training type", "type": "integer"}, "contents": {"type": "array", "items": {"$ref": "#/definitions/LandingPageContent"}}, "company_id": {"title": "Company id", "type": "string", "readOnly": true}}}, "LandingPages": {"required": ["page", "total_pages", "total_count", "data"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "data": {"type": "array", "items": {"$ref": "#/definitions/LandingPagesData"}}}}, "ParticipantsListResponse": {"type": "object", "properties": {"all_company": {"title": "All company", "description": "Total count of all company participants", "type": "integer", "readOnly": true}, "names": {"title": "Names", "description": "Dictionary of individual users with email and full name", "type": "object", "additionalProperties": {"description": "full_name and mail", "type": "object", "additionalProperties": {"type": "string", "minLength": 1}}, "readOnly": true}, "departments": {"title": "Departments", "description": "Dictionary of departments with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "cities": {"title": "Cities", "description": "Dictionary of cities with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "countries": {"title": "Countries", "description": "Dictionary of countries with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "titles": {"title": "Titles", "description": "Dictionary of job titles with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "tags": {"title": "Tags", "description": "Dictionary of tags with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "featured_groups": {"title": "Featured groups", "description": "Dictionary of featured groups with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "segments": {"title": "Segments", "description": "Dictionary of segments with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}, "awareness_levels": {"title": "Awareness levels", "description": "Dictionary of awareness levels with participant counts", "type": "object", "additionalProperties": {"type": "integer"}, "readOnly": true}}}, "ParticipantsCalculateRequest": {"required": ["include"], "type": "object", "properties": {"include": {"$ref": "#/definitions/ParticipantsCalculateInclude"}, "exclude": {"$ref": "#/definitions/ParticipantsCalculateBase"}}}, "AwarenessLevelsDistribution": {"description": "Get awareness levels distribution.\n\n Args:\n content: Dictionary containing participants queryset.\n\n Returns:\n Dictionary with awareness level distribution (beginner, mid, expert).\n", "type": "object", "properties": {"beginner": {"title": "Beginner", "type": "integer", "readOnly": true}, "mid": {"title": "Mid", "type": "integer", "readOnly": true}, "expert": {"title": "Expert", "type": "integer", "readOnly": true}}}, "ParticipantsCalculateResponseMeta": {"description": "Get metadata for the response.\n\n Args:\n content: Dictionary containing participants data and queryset.\n\n Returns:\n Dictionary containing metadata (count, locale_ids, awareness_levels).\n", "required": ["count"], "type": "object", "properties": {"count": {"title": "Count", "type": "integer"}, "locale_ids": {"description": "Get list of distinct locale IDs from participants.\n\n Args:\n content: Dictionary containing participants queryset.\n\n Returns:\n List of distinct locale IDs from participants.\n", "type": "array", "items": {"type": "integer"}, "readOnly": true}, "awareness_levels": {"$ref": "#/definitions/AwarenessLevelsDistribution"}}}, "ParticipantCandidate": {"required": ["id", "first_name", "last_name", "email"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "first_name": {"title": "First name", "type": "string", "minLength": 1}, "last_name": {"title": "Last name", "type": "string", "minLength": 1}, "email": {"title": "Email", "type": "string", "format": "email", "minLength": 1}}}, "ParticipantsCalculateResponse": {"type": "object", "properties": {"meta": {"$ref": "#/definitions/ParticipantsCalculateResponseMeta"}, "items": {"description": "Get list of participant candidates.", "type": "array", "items": {"$ref": "#/definitions/ParticipantCandidate"}, "readOnly": true}}}, "ParticipantsSearchRequest": {"required": ["search"], "type": "object", "properties": {"search": {"title": "Search", "description": "Search string to filter participants.\n- Minimum 2 characters required for filtering\n- Case-insensitive substring match on names and emails", "type": "string", "minLength": 1}}}, "ParticipantItem": {"required": ["name", "tag"], "type": "object", "properties": {"name": {"title": "Name", "description": "Display name of the participant or category item", "type": "string", "minLength": 1}, "tag": {"title": "Tag", "description": "Category tag (e.g., 'Departments', 'Cities', 'Names')", "type": "string", "minLength": 1}, "mail": {"title": "Mail", "description": "Email address (only present for 'Names' tag items)", "type": "string", "format": "email", "minLength": 1, "x-nullable": true}}}, "ParticipantsSearchResponse": {"type": "object", "properties": {"items": {"description": "Flattened list of matching participant items", "type": "array", "items": {"$ref": "#/definitions/ParticipantItem"}, "readOnly": true}}}, "Language": {"required": ["id", "name", "short_name", "localized_name", "ltr", "enabled", "default"], "type": "object", "properties": {"id": {"title": "Id", "description": "Locale ID", "type": "integer"}, "name": {"title": "Name", "description": "Locale name", "type": "string", "minLength": 1}, "short_name": {"title": "Short name", "description": "Locale short name", "type": "string", "minLength": 1}, "localized_name": {"title": "Localized name", "description": "Localized locale name", "type": "string", "minLength": 1}, "ltr": {"title": "Ltr", "description": "Left-to-right text direction", "type": "boolean"}, "enabled": {"title": "Enabled", "description": "Whether this locale is enabled for the company", "type": "boolean"}, "default": {"title": "Default", "description": "Whether this is the default locale for the company", "type": "boolean"}}}, "LocaleContent": {"required": ["body", "subject"], "type": "object", "properties": {"body": {"title": "Body", "description": "Content body", "type": "string", "minLength": 1}, "subject": {"title": "Subject", "description": "Content subject", "type": "string", "minLength": 1}}}, "LocaleBannerContent": {"required": ["text"], "type": "object", "properties": {"text": {"title": "Text", "description": "Banner text content", "type": "string", "minLength": 1}}}, "CampaignSetup": {"type": "object", "properties": {"languages": {"type": "array", "items": {"$ref": "#/definitions/Language"}, "readOnly": true}, "timezone": {"title": "Timezone", "type": "string", "readOnly": true, "minLength": 1}, "workdays": {"title": "Workdays", "description": "Workdays configuration: 1 - Monday-Friday, 2 - Sunday-Thursday, 3 - All Week", "type": "integer", "enum": [1, 2, 3], "readOnly": true}, "campaigns_limit_for_year": {"title": "Campaigns limit for year", "type": "integer", "readOnly": true, "x-nullable": true}, "campaign_mails_limit": {"title": "Campaign mails limit", "type": "integer", "readOnly": true, "x-nullable": true}, "allowed_senders_for_training_campaigns": {"type": "array", "items": {"type": "string", "minLength": 1}, "readOnly": true}, "manager_notification_state": {"title": "Manager notification state", "description": "Manager notification state: 1 - enabled, 2 - disabled, 3 - hidden", "type": "integer", "enum": [1, 2, 3], "readOnly": true}, "default_training_reminder_content_simulation": {"title": "Default training reminder content simulation", "type": "object", "additionalProperties": {"$ref": "#/definitions/LocaleContent"}, "readOnly": true}, "default_training_reminder_content_training": {"title": "Default training reminder content training", "type": "object", "additionalProperties": {"$ref": "#/definitions/LocaleContent"}, "readOnly": true}, "default_campaign_failed_alert_content": {"title": "Default campaign failed alert content", "type": "object", "additionalProperties": {"$ref": "#/definitions/LocaleContent"}, "readOnly": true}, "default_manager_notification_banner_content": {"title": "Default manager notification banner content", "type": "object", "additionalProperties": {"$ref": "#/definitions/LocaleBannerContent"}, "readOnly": true}, "default_manager_report_email_content": {"title": "Default manager report email content", "type": "object", "additionalProperties": {"$ref": "#/definitions/LocaleContent"}, "readOnly": true}}}, "TemplateContent": {"required": ["locale", "body", "landing_domain_id"], "type": "object", "properties": {"locale": {"title": "Locale", "type": "integer"}, "body_hint": {"title": "Body hint", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "body_link_hint": {"title": "Body link hint", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "body": {"title": "Body", "type": "string", "minLength": 1}, "from_email": {"title": "From email", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "from_number": {"title": "From number", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "from_address_hint": {"title": "From address hint", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "subject": {"title": "Subject", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "subject_hint": {"title": "Subject hint", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "call_for_action_page_id": {"title": "Call for action page id", "type": "string", "readOnly": true}, "landing_domain_id": {"title": "Landing domain id", "type": "integer", "x-nullable": true}, "landing_subdomain": {"title": "Landing subdomain", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-nullable": true}, "folder_name": {"title": "Folder name", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "readOnly": true, "minLength": 1, "x-nullable": true}, "filename": {"title": "Filename", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "filetype": {"title": "Filetype", "type": "integer", "enum": [1, 2, 3, 4], "readOnly": true, "x-nullable": true}, "attachment_hint": {"title": "Attachment hint", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "average_click_rate": {"title": "Average click rate", "type": "number", "readOnly": true}, "average_reported_rate": {"title": "Average reported rate", "type": "number", "readOnly": true}, "total_number_of_emails_sent": {"title": "Total number of emails sent", "type": "integer", "readOnly": true, "x-nullable": true}}}, "Template": {"required": ["is_communityCandidate"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "readOnly": true, "minLength": 1}, "last_updated": {"title": "Last updated", "type": "string", "format": "date-time", "readOnly": true}, "same_company": {"title": "Same company", "type": "boolean", "readOnly": true}, "is_system": {"title": "Is system", "type": "boolean", "readOnly": true}, "is_community": {"title": "Is community", "type": "boolean", "readOnly": true}, "is_communityCandidate": {"title": "Is communitycandidate", "type": "boolean"}, "type": {"title": "Type", "type": "integer", "enum": [0, 1, 2, 3, 5], "readOnly": true}, "level": {"title": "Level", "type": "integer", "enum": [0, 1, 2], "readOnly": true}, "category": {"title": "Category", "type": "integer", "readOnly": true}, "created_by": {"title": "Created by", "type": "integer", "readOnly": true}, "name_for_partners": {"title": "Name for partners", "type": "string", "readOnly": true}, "company_id": {"title": "Company id", "type": "string", "readOnly": true}, "last_used": {"title": "Last used", "type": "string", "readOnly": true}, "is_new": {"title": "Is new", "type": "boolean", "readOnly": true}, "items": {"type": "array", "items": {"$ref": "#/definitions/TemplateContent"}, "readOnly": true}}}, "TemplatesListResponse": {"required": ["page", "total_pages", "total_count", "data"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "data": {"type": "array", "items": {"$ref": "#/definitions/Template"}}}}, "TemplateCategory": {"required": ["id", "name"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string", "minLength": 1}}}, "TemplateCategoriesResponse": {"required": ["data"], "type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/TemplateCategory"}}}}, "TrainingItem": {"required": ["locale_id", "embedded_subtitles"], "type": "object", "properties": {"locale_id": {"title": "Locale id", "type": "integer"}, "image_preview": {"title": "Image preview", "type": "string", "readOnly": true, "minLength": 1}, "duration": {"title": "Duration", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "content": {"title": "Content", "type": "string", "readOnly": true, "minLength": 1, "x-nullable": true}, "embedded_subtitles": {"title": "Embedded subtitles", "type": "boolean"}}}, "Training": {"required": ["is_free", "is_new"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "is_free": {"title": "Is free", "type": "boolean"}, "is_new": {"title": "Is new", "type": "boolean"}, "vendor": {"title": "Vendor", "type": "integer", "enum": [6, 5, 1, 3, 4], "x-nullable": true}, "name": {"title": "Name", "type": "string", "readOnly": true}, "categories": {"type": "array", "items": {"type": "string", "minLength": 1}, "readOnly": true}, "has_permissions": {"title": "Has permissions", "type": "boolean", "readOnly": true}, "season_info": {"title": "Season info", "type": "string", "readOnly": true, "minLength": 1}, "type": {"title": "Type", "type": "string", "readOnly": true, "minLength": 1}, "items": {"type": "array", "items": {"$ref": "#/definitions/TrainingItem"}, "readOnly": true}, "subtitles": {"type": "array", "items": {"$ref": "#/definitions/BaseTrainingSubtitle"}, "readOnly": true}}}, "TrainingsListResponse": {"required": ["page", "total_pages", "total_count", "data"], "type": "object", "properties": {"page": {"title": "Page", "type": "integer"}, "total_pages": {"title": "Total pages", "type": "integer"}, "total_count": {"title": "Total count", "type": "integer"}, "data": {"type": "array", "items": {"$ref": "#/definitions/Training"}}}}, "TrainingProvider": {"required": ["id", "name", "total_count", "available_count"], "type": "object", "properties": {"id": {"title": "Id", "type": "integer"}, "name": {"title": "Name", "type": "string", "minLength": 1}, "total_count": {"title": "Total count", "type": "integer"}, "available_count": {"title": "Available count", "type": "integer"}}}, "TrainingProvidersResponse": {"required": ["data"], "type": "object", "properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/TrainingProvider"}}}}, "AccountTakeoverSettings": {"required": ["sensitivity"], "type": "object", "properties": {"sensitivity": {"title": "Sensitivity", "description": "ATO sensitivity level: 1 (Aggressive), 2 (Balanced), 3 (Relaxed)", "type": "integer", "enum": [1, 2, 3]}}}, "WhiteListEntry": {"description": "List of allowed entries", "required": ["id", "date", "value", "type", "scope", "comment", "user_first_name", "user_last_name", "user_email", "external_campaigns", "ignore_auth"], "type": "object", "properties": {"id": {"title": "Id", "description": "Unique identifier of the whitelist entry", "type": "integer"}, "date": {"title": "Date", "description": "Date and time when the entry was created or modified", "type": "string", "format": "date-time"}, "value": {"title": "Value", "description": "Value of the whitelist entry (domain, IP, email, etc.)", "type": "string", "minLength": 1}, "type": {"title": "Type", "description": "Type of whitelist entry: 1 (IP Network), 2 (Domain), 3 (Sender Address), 4 (Unscanned Domain Link)", "type": "integer"}, "scope": {"title": "Scope", "description": "Scope of the whitelist entry: 1=Skip All Inspections, 2=Bypass Impersonation Banners, 3=Bypass link clicking by IRONSCALES, 4=Spam Filter, 6=Bypass all scanning for links", "type": "integer", "maximum": 6, "minimum": 1}, "comment": {"title": "Comment", "description": "Optional comment for the entry", "type": "string", "minLength": 1, "x-nullable": true}, "user_first_name": {"title": "User first name", "description": "First name of the user who created the entry", "type": "string", "minLength": 1}, "user_last_name": {"title": "User last name", "description": "Last name of the user who created the entry", "type": "string", "minLength": 1}, "user_email": {"title": "User email", "description": "Email of the user who created the entry", "type": "string", "minLength": 1}, "external_campaigns": {"title": "External campaigns", "description": "Whether this entry applies to external campaigns", "type": "boolean"}, "ignore_auth": {"title": "Ignore auth", "description": "Whether authentication should be ignored for this entry", "type": "boolean"}}}, "WhiteListResponse": {"required": ["allow_list", "internal_active", "external_active", "pages_count", "page", "items_per_page"], "type": "object", "properties": {"allow_list": {"description": "List of allowed entries", "type": "array", "items": {"$ref": "#/definitions/WhiteListEntry"}}, "internal_active": {"title": "Internal active", "description": "Whether internal whitelist is active", "type": "boolean"}, "external_active": {"title": "External active", "description": "Whether external whitelist is active", "type": "boolean"}, "pages_count": {"title": "Pages count", "description": "Total number of pages", "type": "integer"}, "page": {"title": "Page", "description": "Current page number", "type": "integer"}, "items_per_page": {"title": "Items per page", "description": "Number of items per page", "type": "integer"}}}, "WhitelistAddRow": {"required": ["type", "value"], "type": "object", "properties": {"type": {"title": "Type", "description": "Type of whitelist entry. Choices: 1=IP Network (for IP addresses or CIDR notation), 2=Domain (for domain names), 3=Sender Address (for email addresses), 4=Unscanned Domain Link (for domain names in links)", "type": "string", "enum": [1, 2, 3, 4]}, "scope": {"title": "Scope", "description": "Scope of the whitelist entry: 1=Skip All Inspections, 2=Bypass Impersonation Banners, 3=Bypass link clicking by IRONSCALES, 4=Spam Filter, 6=Bypass all scanning for links", "type": "integer", "default": 1}, "value": {"title": "Value", "description": "Value to whitelist. For type=1: provide IP address or CIDR notation (e.g., 192.168.1.1 or 10.0.0.0/24). For type=2: provide domain name (e.g., example.com). For type=3: provide email address (e.g., user@example.com). For type=4: provide domain name for unscanned links.", "type": "string", "minLength": 1}, "comment": {"title": "Comment", "description": "Optional comment or description for this whitelist entry", "type": "string", "x-nullable": true}, "external_campaigns": {"title": "External campaigns", "description": "When true, this whitelist entry will also apply to external campaigns", "type": "boolean", "default": false}, "ignore_auth": {"title": "Ignore auth", "description": "When true, authentication will be ignored for this whitelist entry", "type": "boolean", "default": false}}}, "WhitelistUpdateRow": {"required": ["type", "value", "selected_id"], "type": "object", "properties": {"type": {"title": "Type", "description": "Type of whitelist entry. Choices: 1=IP Network (for IP addresses or CIDR notation), 2=Domain (for domain names), 3=Sender Address (for email addresses), 4=Unscanned Domain Link (for domain names in links)", "type": "string", "enum": [1, 2, 3, 4]}, "scope": {"title": "Scope", "description": "Scope of the whitelist entry: 1=Skip All Inspections, 2=Bypass Impersonation Banners, 3=Bypass link clicking by IRONSCALES, 4=Spam Filter, 6=Bypass all scanning for links", "type": "integer", "default": 1}, "value": {"title": "Value", "description": "Value to whitelist. For type=1: provide IP address or CIDR notation (e.g., 192.168.1.1 or 10.0.0.0/24). For type=2: provide domain name (e.g., example.com). For type=3: provide email address (e.g., user@example.com). For type=4: provide domain name for unscanned links.", "type": "string", "minLength": 1}, "comment": {"title": "Comment", "description": "Optional comment or description for this whitelist entry", "type": "string", "x-nullable": true}, "external_campaigns": {"title": "External campaigns", "description": "When true, this whitelist entry will also apply to external campaigns", "type": "boolean", "default": false}, "ignore_auth": {"title": "Ignore auth", "description": "When true, authentication will be ignored for this whitelist entry", "type": "boolean", "default": false}, "selected_id": {"title": "Selected id", "description": "ID of the existing allow list entry to update.", "type": "integer", "minimum": 1}}}, "WhiteListDelete": {"required": ["selected_ids"], "type": "object", "properties": {"selected_ids": {"description": "List of allow list entry IDs to delete", "type": "array", "items": {"type": "integer", "minimum": 1}, "minItems": 1}}}, "ChallengedSettings": {"required": ["recipients"], "type": "object", "properties": {"recipients": {"type": "array", "items": {"type": "string", "format": "email", "minLength": 1}}}}, "NotificationSettings": {"required": ["recipients"], "type": "object", "properties": {"recipients": {"type": "array", "items": {"type": "string", "format": "email", "minLength": 1}}}}}}