PhishingTackle MSP API (v1)

Download OpenAPI specification:Download

An API that interacts with PhishingTackle to provide data to MSPs for your organisation

AllSubOrganisations

Gets list of sub organisations.

SecurityOrgIdAuth and ApiKeyAuth
Responses
200

Success

400

Bad Request

get/api/AllSubOrganisations
Request samples
Response samples
application/json
[
  • {
    }
]

EmailCampaign

Gets an email campaign with the specified id.

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
campaignId
integer <int64>
Responses
200

Success

400

Bad Request

get/api/EmailCampaign
Request samples
Response samples
application/json
{
  • "id": 0,
  • "organisationId": 0,
  • "description": "string",
  • "statusId": 0,
  • "startDateTime": "2019-08-24T14:15:22Z",
  • "scheduledStartDateTime": "2019-08-24T14:15:22Z",
  • "scheduledEndDateTime": "2019-08-24T14:15:22Z",
  • "timeZoneId": "string",
  • "frequencyId": 0,
  • "sendingDurationUnit": 0,
  • "sendingDurationPeriodId": 0,
  • "sendAllOnCampaignStart": true,
  • "emailTemplateRandomTypeId": 0,
  • "businessTimeStart": "2019-08-24T14:15:22Z",
  • "businessTimeEnd": "2019-08-24T14:15:22Z",
  • "businessDayMonday": true,
  • "businessDayTuesday": true,
  • "businessDayWednesday": true,
  • "businessDayThursday": true,
  • "businessDayFriday": true,
  • "businessDaySaturday": true,
  • "businessDaySunday": true,
  • "trackReplies": true,
  • "keepReplies": true,
  • "trackRepliesDurationUnit": 0,
  • "trackRepliesDurationPeriodId": 0,
  • "trackOutOfOfficeReplies": true,
  • "replyToAddress": "string",
  • "replyToSubDomain": "string",
  • "replyToDomainId": 0,
  • "difficultyRating": 0,
  • "phishLinkDomainId": 0,
  • "landingPageId": 0,
  • "clickersGroupId": 0,
  • "sendReport": true,
  • "excludeCampaignFromStatistics": true,
  • "selectedEmailTemplateId": 0,
  • "campaignTypeId": 0,
  • "runCount": 0,
  • "sendToAllRecipients": true,
  • "previousStatusId": 0,
  • "hidden": true,
  • "trackCredentialReuse": true,
  • "trackCredentialReuseUserName": true,
  • "trackCredentialReusePassword": true,
  • "trackCredentialReuseLandingPage": true,
  • "emailSendingMethod": 0,
  • "createAutomatedReport": true,
  • "automatedReportId": 0,
  • "campaignEventResults": [
    ],
  • "campaignEvents": [
    ],
  • "phishingCampaignEventResults": [
    ],
  • "phishingCampaignRecipientResults": [
    ],
  • "sendQueues": [
    ],
  • "sentItems": [
    ]
}

Copies an email campaign to one or more sub organisations

SecurityOrgIdAuth and ApiKeyAuth
Request
Request Body schema:

Request body

campaignId
integer <int64>
subAccountOrgIds
Array of integers or null <int64>
startDate
string or null
timezone
string or null
dateTimeFormat
string or null
staggerIntervalUnit
string or null
staggerIntervalValue
integer or null <int32>
staggerStartTime
string or null
staggerEndTime
string or null
excludeDateTags
Array of integers or null <int64>
repeatInterval
string or null
object (DaysSelected)
startAsPaused
boolean
Responses
200

Success

400

Bad Request

post/api/EmailCampaign
Request samples
{
  • "campaignId": 0,
  • "subAccountOrgIds": [
    ],
  • "startDate": "string",
  • "timezone": "string",
  • "dateTimeFormat": "string",
  • "staggerIntervalUnit": "string",
  • "staggerIntervalValue": 0,
  • "staggerStartTime": "string",
  • "staggerEndTime": "string",
  • "excludeDateTags": [
    ],
  • "repeatInterval": "string",
  • "daysSelected": {
    },
  • "startAsPaused": true
}
Response samples
application/json
"string"

EmailCampaigns

Gets a list of email campaigns in an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
orgId
integer <int64>

Optional organisation id, not setting this will return campaigns from the top level organisation

Responses
200

Success

400

Bad Request

get/api/EmailCampaigns
Request samples
Response samples
application/json
[
  • {
    }
]

EmailCampaignsBetweenDates

Gets email campaigns between specified dates.

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
start
string <date-time>

Start date

end
string <date-time>

End date

subOrgId
integer <int64>

Sub-organisation ID

page
integer <int32>

Page number

Responses
200

Success

400

Bad Request

get/api/EmailCampaignsBetweenDates
Request samples
Response samples
application/json
{
  • "campaigns": [
    ],
  • "page": 0,
  • "totalPages": 0
}

FailedPhishingTest

Gets a list of failed phishing campaigns in an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
orgId
integer <int64>

Optional organisation id, not setting this will return results from the top level organisation

Responses
200

Success

400

Bad Request

get/api/FailedPhishingTest
Request samples
Response samples
application/json
[
  • "string"
]

License

Gets license details for your organisation

SecurityOrgIdAuth and ApiKeyAuth
Responses
200

Success

400

Bad Request

get/api/License
Request samples
Response samples
application/json
{
  • "organisationId": 0,
  • "termInMonths": 0,
  • "startDate": "2019-08-24T14:15:22Z",
  • "endDate": "2019-08-24T14:15:22Z",
  • "inTrialPeriod": true,
  • "trialEndDate": "2019-08-24T14:15:22Z",
  • "seatCount": 0,
  • "includedSeats": 0,
  • "status": 0
}

PhishingCampaignStats

Gets a summary of statistics for a phishing campaign

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
campaignId
integer <int64>

Id of the phishing campaign you would like statistics for

subOrgId
integer <int64>

Optional organisation id, not setting this will return results from the top level organisation

Responses
200

Success

400

Bad Request

get/api/PhishingCampaignStats
Request samples
Response samples
application/json
{
  • "recipientCount": 0,
  • "deliveredPercent": 0,
  • "deliveredCount": 0,
  • "openedPercent": 0,
  • "openedCount": 0,
  • "clickedPercent": 0,
  • "clickedCount": 0,
  • "repliedPercent": 0,
  • "repliedCount": 0,
  • "attachmentOpenedPercent": 0,
  • "attachmentOpenedCount": 0,
  • "dataEnteredPercent": 0,
  • "dataEnteredCount": 0,
  • "bouncedPercent": 0,
  • "bouncedCount": 0,
  • "failureCount": 0
}

RecipientCount

Gets a summary of recipient count in an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
subOrganisationId
integer <int64>

Optional organisation id, not setting this will return results from the top level organisation

Responses
200

Success

400

Bad Request

get/api/RecipientCount
Request samples
Response samples
application/json
{
  • "recipientCount": 0,
  • "deliveredPercent": 0,
  • "deliveredCount": 0,
  • "openedPercent": 0,
  • "openedCount": 0,
  • "clickedPercent": 0,
  • "clickedCount": 0,
  • "repliedPercent": 0,
  • "repliedCount": 0,
  • "attachmentOpenedPercent": 0,
  • "attachmentOpenedCount": 0,
  • "dataEnteredPercent": 0,
  • "dataEnteredCount": 0,
  • "bouncedPercent": 0,
  • "bouncedCount": 0,
  • "failureCount": 0
}

RecipientStats

Gets a paginated list of recipient stats in an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
subOrgId
integer <int64>

Optional organisation id, not setting this will return results from the top level organisation

page
integer <int32>

Page number

Responses
200

Success

400

Bad Request

get/api/RecipientStats
Request samples
Response samples
application/json
{
  • "totalPages": 0,
  • "currentPage": 0,
  • "recipientStats": [
    ]
}

Status

Check the API is online and reachable

SecurityOrgIdAuth and ApiKeyAuth
Responses
200

Success

408

Request Timeout

get/api/Status
Request samples
Response samples
application/json
"string"

SubOrganisation

Gets an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
subOrganisationId
integer <int64>

Organisation id

Responses
200

Success

400

Bad Request

get/api/SubOrganisation
Request samples
Response samples
application/json
{
  • "id": 0,
  • "name": "string",
  • "primaryDomain": "string",
  • "joinedAt": "string",
  • "logo": "string"
}

TrainingCampaigns

Gets a list of training campaigns for an organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
orgId
integer <int64>

Optional organisation id, not setting this will return results from the top level organisation

Responses
200

Success

400

Bad Request

get/api/TrainingCampaigns
Request samples
Response samples
application/json
[
  • {
    }
]

Copies a training campaign to one or more sub organisation

SecurityOrgIdAuth and ApiKeyAuth
Request
Request Body schema:

Request body

campaignId
integer <int64>
startDate
string or null
timezone
string or null
endDate
string or null
endDateType
integer or null <int32>
relativeEndDatePeriod
string or null
relativeEndDateUnit
integer or null <int32>
organisationIds
Array of integers or null <int64>
orgDateFormat
string or null
Responses
200

Success

400

Bad Request

post/api/TrainingCampaigns
Request samples
{
  • "campaignId": 0,
  • "startDate": "string",
  • "timezone": "string",
  • "endDate": "string",
  • "endDateType": 0,
  • "relativeEndDatePeriod": "string",
  • "relativeEndDateUnit": 0,
  • "organisationIds": [
    ],
  • "orgDateFormat": "string"
}
Response samples
application/json
"string"

TrainingCampaignsBetweenDates

Gets training campaigns between specified dates.

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
start
string <date-time>

Start date

end
string <date-time>

End date

subOrgId
integer <int64>

Sub-organisation ID

page
integer <int32>

Page number

Responses
200

Success

400

Bad Request

get/api/TrainingCampaignsBetweenDates
Request samples
Response samples
application/json
{
  • "campaigns": [
    ],
  • "page": 0,
  • "totalPages": 0
}

TrainingCampaignStats

Gets statistics for a training campaign

SecurityOrgIdAuth and ApiKeyAuth
Request
query Parameters
campaignId
integer <int64>

Campaign id

subOrganisationId
integer <int64>

Organisation id

page
integer <int32>
Default: 1

Page number

Responses
200

Success

400

Bad Request

get/api/TrainingCampaignStats
Request samples
Response samples
application/json
{
  • "courseName": "string",
  • "courseId": 0,
  • "totalPages": 0,
  • "currentPage": 0,
  • "recipientStats": [
    ]
}