Download OpenAPI specification:Download
Welcome to the Infosec IQ REST API Version 2 documentation!
This endpoint retrieves an assessment by ID.
| id required | string (id) The ID of the requested assessment |
{- "id": "string",
- "name": "string",
- "show_explanations": true,
- "show_results": true,
- "show_summary": true,
- "show_correct_wrong_counter": true,
- "show_progress": true,
- "created": "string",
- "modified": "string",
- "passing_percentage": "string",
- "description": "string"
}This endpoint retrieves a list of PhishSim template batteries.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "is_system": true
}
}This endpoint retrieves a list of brands.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "ownership": "string"
}
}This endpoint enrolls a learner into a campaign.
| campaign_id required | string (campaign_id) ID of campaign to enroll learner |
The request body
| learner_id | string Unique identifier for the learner |
{- "learner_id": "string"
}{- "id": "string",
- "learner": {
- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string"
}, - "campaign": {
- "id": "string",
- "name": "string",
- "type": "string",
- "running": true
}
}This endpoint retrieves a list of campaign runs.
| id required | string (id) The id of the campaign |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "campaign_id": "string",
- "start": "string",
- "end": "string",
- "run_number": 0
}
}This endpoint retrieves a specific campaign run.
| campaign_id required | string (campaign_id) The id of the campaign |
| run_id required | string (run_id) The id of the campaign run |
[- {
- "id": "string",
- "campaign_id": "string",
- "start": "string",
- "end": "string",
- "run_number": 0
}
]This endpoint retrieves various statistics about a campaign run.
| campaign_id required | string (campaign_id) The id of the campaign |
| run_id required | string (run_id) The id of the campaign run |
[- {
- "id": "string",
- "campaign_id": "string",
- "run_number": 0,
- "learners": {
- "started": 0,
- "completed": 0,
- "passed": 0,
- "failed": 0,
- "time_trained": 0
}
}
]This endpoint retrieves the status of each learner enrolled in an campaign.
| campaign_id required | string (campaign_id) The id of the campaign |
| run_id required | string (run_id) The id of the campaign run |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "completed_on": "string",
- "status": "not_started"
}
}This endpoint retrieves a page of campaigns, optionally filtered by name parameter, campaign type, or running status.
| name | string (name) Search campaigns by name |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
| type[] | Array of strings (type[]) Items Enum: "awareness" "phish" Example: type[]=awareness&type[]=phish Array of campaign type(s) to filter by |
| running | boolean (running) Example: running=true Optional running status to filter by |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "type": "string",
- "running": true
}
}This endpoint creates a new AwareEd campaign.
| name | string |
| course_id | string |
| is_test | boolean |
| branding_id | string |
| language_id | string |
| autoplay | boolean |
| enable_completion_cert | boolean |
| require_assessment_retake | boolean |
| lock_learners_out | boolean |
| learner_auth_enabled | boolean |
| reset_progress | boolean |
| schedule_interval_units | string Enum: "number_of_days" "day" "week" "month" "quarter" Send learners training daily, weekly, etc |
| number_of_days | integer Required if schedule_interval_units="number_of_days" |
| number_of_repeats | integer Required if schedule_interval_units="number_of_days" |
| start_date | string Format: YYYY-MM-DD |
object List of notifications for Enrollment, Start, Finish, and Completion | |
| all_learners | boolean Enroll all learners |
| learner_group_ids | Array of strings Can only be included if all_learners=false |
| learner_ids | Array of strings Can only be included if all_learners=false |
{- "name": "string",
- "course_id": "string",
- "is_test": true,
- "branding_id": "string",
- "language_id": "string",
- "autoplay": true,
- "enable_completion_cert": true,
- "require_assessment_retake": true,
- "lock_learners_out": true,
- "learner_auth_enabled": true,
- "reset_progress": true,
- "schedule_interval_units": "number_of_days",
- "number_of_days": 0,
- "number_of_repeats": 0,
- "start_date": "string",
- "notifications": {
- "template_id": "string",
- "recipient": "learner",
- "interval": 0,
- "repeat": true
}, - "all_learners": true,
- "learner_group_ids": [
- "string"
], - "learner_ids": [
- "string"
]
}{- "id": "string",
- "name": "string",
- "type": "string",
- "running": true
}This endpoint creates a new PhishSim campaign.
| name | string |
| is_test | boolean |
| templates | Array of strings List of template IDs |
| batteries | Array of strings List of battery IDs |
| categories | Array of strings List of category IDs |
| send_all_templates | boolean |
| template_send_count | integer |
| track_replies | boolean |
| track_reply_action | string Enum: "none" "store" |
| branding_id | string |
| schedule_interval_units | string Enum: "number_of_days" "all_at_once" "day" "week" "month" "quarter" Send learners training daily, weekly, etc |
| number_of_days | integer Required if scheduled_interval_units="number_of_days" |
| number_of_repeats | integer Required if scheduled_interval_units="number_of_days" |
| start_date | string Format: YYYY-MM-DD |
| start_hour | string Number between 0 and 23. Used only if scheduled_interval_units="all_at_once" |
| phished_notification_id | string Optional |
| add_phished_learners_to_group_id | string Optional |
| all_learners | boolean Enroll all learners |
| learner_group_ids | Array of strings Can only be included if all_learners=false |
| learner_ids | Array of strings Can only be included if all_learners=false |
{- "name": "string",
- "is_test": true,
- "templates": [
- "string"
], - "batteries": [
- "string"
], - "categories": [
- "string"
], - "send_all_templates": true,
- "template_send_count": 0,
- "track_replies": true,
- "track_reply_action": "none",
- "branding_id": "string",
- "schedule_interval_units": "number_of_days",
- "number_of_days": 0,
- "number_of_repeats": 0,
- "start_date": "string",
- "start_hour": "string",
- "phished_notification_id": "string",
- "add_phished_learners_to_group_id": "string",
- "all_learners": true,
- "learner_group_ids": [
- "string"
], - "learner_ids": [
- "string"
]
}{- "id": "string",
- "name": "string",
- "type": "string",
- "running": true
}This endpoint retrieves a list of categories.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string"
}
}This endpoint retrieves a list of courses.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "ownership": "string"
}
}This endpoint retrieves a course by id.
| id required | string (id) The ID of the requested course |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "subtitle": "string",
- "duration": "string",
- "description": "string",
- "ownership": "string",
- "assets": {
- "id": "string",
- "name": "string",
- "type": "string"
}
}
}This endpoint retrieves a list of languages.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string"
}
}{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "is_dynamic": true,
- "modified": "string"
}
}This endpoint retrieves a list of learners in a group.
| group_id required | string (group_id) The ID of the learner group |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string"
}
}This endpoint retrieves a page of timeline events associated with the given Learner ID.
| learner_id required | string Learner id |
| start | string (start) Earliest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) TimelineEvent could have occurred (inclusive). |
| end | string (end) Latest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) TimelineEvent could have occurred (exclusive). |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "type": "added-to-group",
- "timestamp": "string",
- "learner_id": "string",
- "campaign_id": "string",
- "quarantined_email_id": "string",
- "module_id": "string",
- "campaign_run_id": "string",
- "template_id": "string",
- "learner_group_id": "string",
- "assessment_id": "string"
}
}This endpoint retrieves a page of learners, optionally filtered by an email, first name, or last name parameter.
string (email) Search learners by email | |
| first_name | string (first_name) Search learners by first name |
| last_name | string (last_name) Search learners by last name |
| start | string (start) Earliest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) the learner could have been last modified (inclusive). |
| end | string (end) Latest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) the learner could have been last modified (exclusive). |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string"
}
}This endpoint creates a new learner.
string | |
| first_name | string |
| last_name | string |
| title | string |
| department | string |
| phone | string |
| address1 | string |
| address2 | string |
| city | string |
| state | string |
| zip | string |
| country | string |
| custom | string |
| manager_name | string |
| manager_email | string |
| group_name | string |
| custom2 | string |
| custom3 | string |
| custom4 | string |
| custom5 | string |
| custom6 | string |
{- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "title": "string",
- "department": "string",
- "phone": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "custom": "string",
- "manager_name": "string",
- "manager_email": "string",
- "group_name": "string",
- "custom2": "string",
- "custom3": "string",
- "custom4": "string",
- "custom5": "string",
- "custom6": "string"
}{- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string",
- "dashboard_url": "string",
- "learner_profile": {
- "title": "string",
- "department": "string",
- "phone": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "custom": "string",
- "manager_name": "string",
- "manager_email": "string",
- "custom2": "string",
- "custom3": "string",
- "custom4": "string",
- "custom5": "string",
- "custom6": "string"
}, - "groups": {
- "data": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "modified": "string"
}
]
}
}This endpoint retrieves a learner by ID.
| id required | string The ID of the requested learner |
{- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string",
- "dashboard_url": "string",
- "learner_profile": {
- "title": "string",
- "department": "string",
- "phone": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "custom": "string",
- "manager_name": "string",
- "manager_email": "string",
- "custom2": "string",
- "custom3": "string",
- "custom4": "string",
- "custom5": "string",
- "custom6": "string"
}, - "groups": {
- "data": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "modified": "string"
}
]
}, - "learner_stat": {
- "id": "string",
- "visit_count": 0,
- "latest_visit": "string",
- "latest_visit_ip_address": "string",
- "latest_visit_browser_outdated": 0,
- "phished_count": 0,
- "data_entry_count": 0,
- "attachment_count": 0,
- "macro_enabled_count": 0,
- "teachable_count": 0,
- "training_started_count": 0,
- "training_completed_count": 0,
- "plugin_connection_count": 0,
- "latest_plugin_connection": "string",
- "plugin_simulation_report_count": 0,
- "plugin_email_report_count": 0,
- "module_enrolled_count": 0,
- "module_started_count": 0,
- "module_completed_count": 0,
- "exercise_completed_count": 0,
- "total_time_trained": 0,
- "grade": 0,
- "letter_grade": "string",
- "modified": "string",
- "replied_count": 0,
- "assessment_enrolled_count": 0,
- "assessment_started_count": 0,
- "assessment_completed_count": 0,
- "assessment_passed_count": 0,
- "matched_count": 0
}
}This endpoint edits the personal information of a specific learner.
| id required | string The ID of the learner to modify |
The request body
string | |
| first_name | string |
| last_name | string |
| title | string |
| department | string |
| phone | string |
| address1 | string |
| address2 | string |
| city | string |
| state | string |
| zip | string |
| country | string |
| custom | string |
| manager_name | string |
| manager_email | string |
| group_name | string |
| custom2 | string |
| custom3 | string |
| custom4 | string |
| custom5 | string |
| custom6 | string |
{- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "title": "string",
- "department": "string",
- "phone": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "custom": "string",
- "manager_name": "string",
- "manager_email": "string",
- "group_name": "string",
- "custom2": "string",
- "custom3": "string",
- "custom4": "string",
- "custom5": "string",
- "custom6": "string"
}{- "id": "string",
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "modified": "string",
- "dashboard_url": "string",
- "learner_profile": {
- "title": "string",
- "department": "string",
- "phone": "string",
- "address1": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string",
- "custom": "string",
- "manager_name": "string",
- "manager_email": "string",
- "custom2": "string",
- "custom3": "string",
- "custom4": "string",
- "custom5": "string",
- "custom6": "string"
}, - "groups": {
- "data": [
- {
- "id": "string",
- "name": "string",
- "type": "string",
- "modified": "string"
}
]
}
}This endpoint retrieves a list of notifications.
| type[] | Array of strings (type[]) Items Enum: "enrollment" "start" "finish" "completion" "phished" "phish_hunter" Example: type[]=start&type[]=enrollment Array of notification type(s) to filter by |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "type": "string",
- "ownership": "string"
}
}This endpoint retrieves a page of PhishHunter messages.
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "domain": "string",
- "received": "string",
- "reported": "string",
- "reporter": "string",
- "risk_score": 0,
- "sender": "string",
- "subject": "string",
- "tags": [
- "string"
]
}
}This endpoint retrieves a message and all of its components.
| id required | string The ID of the requested message |
{- "id": "string",
- "domain": "string",
- "received": "string",
- "original_file_url": "string",
- "reported": "string",
- "reporter": "string",
- "risk_score": 0,
- "sender": "string",
- "subject": "string",
- "tags": [
- "string"
], - "components": [
- {
- "type": "string",
- "is_malicious": true,
- "data": { }
}
]
}This endpoint retrieves a quarantined email by ID.
| id required | string (id) The ID of the requested quarantined email |
{- "id": "string",
- "from_email": "string",
- "to_email": "string",
- "from_name": "string",
- "subject": "string",
- "date": "string"
}This endpoint retrieves a list of PhishSim templates
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of result pages to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "name": "string",
- "ownership": "string"
}
}This endpoint retrieves an email template by ID.
| id required | string (id) The ID of the requested template |
{- "id": "string",
- "type": "string",
- "name": "string",
- "from_name": "string",
- "from_email": "string",
- "subject": "string",
- "html": "string",
- "category": "string",
- "is_public": true,
- "is_system": true,
- "has_indicators": true,
- "attachment_type": "string",
- "attachment_name": "string",
- "phish_rate": 0,
- "open_rate": 0,
- "difficulty": 0
}This endpoint retrieves a page of timeline events, optionally filtered by type and/or date range.
| type | string (TimelineEventType) Enum: "added-to-group" "removed-from-group" "created-learner" "scheduled-in-phish-campaign" "scheduled-in-phish-campaign-run" "sent-phish-email" "phished-learner" "entered-data" "opened-attachment" "opened-phish" "started-phish-training" "completed-phish-training" "submitted-phishsim-email" "submitted-phishing-email" "scheduled-in-aware-campaign" "scheduled-in-aware-campaign-run" "started-aware-course" "started-aware-module" "completed-aware-module" "stopped-aware-course" "completed-aware-course" "started-aware-assessment" "completed-aware-assessment" "passed-aware-assessment" "failed-aware-assessment" "stopped-aware-assessment" "stopped-aware-module" "started-aware-reminder" "finished-aware-reminder" "enabled-macro" "fast-clicked" "accepted-policy" "changed-learner-status" "changed-defender-status" "replied" "matched-pattern" "core-behavior-score-changed" "adaptive-assessment-completed" "recommendation-completed" "recommendation-started" Search TimelineEvents by type |
| start | string (start) Earliest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) TimelineEvent could have occurred (inclusive). |
| end | string (end) Latest time (yyyy-mm-dd HH:MM:SS:z or yyyy-mm-dd HH:MM:SS) TimelineEvent could have occurred (exclusive). |
| page | integer (page) >= 1 Default: 1 Which page of results to return |
| limit | integer (limit) [ 1 .. 100 ] Default: 20 Number of results to return |
{- "meta": {
- "page": 0,
- "current": 0,
- "count": 0,
- "start": 0,
- "end": 0,
- "pageCount": 0,
- "limit": 0
}, - "data": {
- "id": "string",
- "type": "added-to-group",
- "timestamp": "string",
- "learner_id": "string",
- "campaign_id": "string",
- "quarantined_email_id": "string",
- "module_id": "string",
- "campaign_run_id": "string",
- "template_id": "string",
- "learner_group_id": "string",
- "assessment_id": "string"
}
}