Overview
The Assessments API provides endpoints for managing security assessments throughout their lifecycle. This includes retrieving assessment queues, getting assessment details, updating assessment fields, managing vulnerabilities, and accessing assessment history. All endpoints require authentication via theFACTION-API-KEY header.
Get Assessment Queue
Authentication
API authentication key for the user
Response
Returns an array ofAssessmentDTO objects.
Assessment ID
Assessment name
Application ID (can span multiple assessments)
Assessment start date
Assessment end date
Custom field key-value pairs
Status Codes
200- Success: Assessor queue returned401- Not authorized500- Error retrieving assessments
Get Assessment Details
Path Parameters
Assessment ID
Authentication
API authentication key
Authorization
User must be:- The assigned assessor
- A manager
- The engagement contact
- The remediation contact
Response
Returns anAssessmentDTO object with complete assessment information.
Assessment ID
Assessment name
Assessment notes
Assessment summary
Email distribution list
Custom field key-value pairs for this assessment
Status Codes
200- Success: Assessment details returned400- Assessment does not exist401- Not authorized for this assessment500- Failed to serialize response
Update Assessment
Path Parameters
Assessment ID
Authentication
API authentication key
Form Parameters
Assessment notes
Assessment summary
Semicolon-delimited distribution list
JSON object with custom field key-value pairs. Keys must match existing custom field definitions for the assessment type.
Custom Fields Format
Custom fields are provided as a JSON object:Status Codes
200- Success: Update successful400- Assessment does not exist or locked for peer review401- Not authorized
Get Assessment Vulnerabilities
Path Parameters
Assessment ID
Authentication
API authentication key
Response
Returns an array ofVulnerabilityDTO objects.
Vulnerability ID
Vulnerability name
Vulnerability description (HTML/Markdown)
Remediation recommendation (HTML/Markdown)
Exploit details and proof of concept
Category ID
Severity level (0-9)
Impact score (0-9)
Likelihood score (0-9)
CVSS score
CVSS vector string
Array of custom field objects
Status Codes
200- Success: Vulnerabilities returned401- Not authorized
Add Vulnerability
Path Parameters
Assessment ID
Authentication
API authentication key
Form Parameters
Vulnerability name
Vulnerability template ID to use as base
Vulnerability description (Base64 encoded, supports HTML/Markdown)
Remediation recommendation (Base64 encoded, supports HTML/Markdown)
Exploit details and proof of concept (Base64 encoded, supports HTML/Markdown)
Vulnerability category ID
Severity ID (0-9)
Impact score (0-9). Defaults to severity if not provided.
Likelihood score (0-9). Defaults to severity if not provided.
CVSS score
CVSS vector string
Report section (Enterprise feature)
JSON object with custom field key-value pairs
Response
ID of the newly created vulnerability
Status Codes
200- Success: Returns the new vulnerability ID400- Bad request (assessment not found, locked for peer review, invalid parameters)401- Not authorized
Add Vulnerability from Template
Path Parameters
Assessment ID
Vulnerability template ID
Authentication
API authentication key
Form Parameters
Vulnerability name (can override template name)
Exploit details (Base64 encoded)
Severity override (0-9)
Impact override (0-9)
Likelihood override (0-9)
CVSS score override
CVSS string override
Report section (Enterprise feature)
JSON object with custom field key-value pairs
Status Codes
200- Success: Vulnerability created400- Bad request401- Not authorized
Get Assessment History
Path Parameters
Application ID
Authentication
API authentication key
Response
Returns an array ofVulnerabilityDTO objects from all assessments for the application.
Status Codes
200- Success: Vulnerability history returned401- Not authorized or no assessment found
Create Assessment
Authentication
API authentication key (requires Engagement or Manager role)
Form Parameters
Application ID (links to existing application)
Application name (required if appid not provided)
Assessment start date (YYYY-MM-DD format)
Assessment end date (YYYY-MM-DD format)
Semicolon-delimited list of assessor usernames
Semicolon-delimited distribution list
Engagement contact username
Remediation contact username
Assessment type (e.g., “Web Application”, “Mobile”, “Network”)
Scope and credentials for assessors
Campaign name
Create campaign if it doesn’t exist
Status Codes
200- Success: Assessment created400- Bad request401- Not authorized
Get Vulnerability Details
Path Parameters
Vulnerability ID
Authentication
API authentication key
Response
Returns aVulnerabilityDTO object with complete vulnerability information including custom fields.
Status Codes
200- Success: Vulnerability details returned400- Vulnerability does not exist401- Not authorized
Authorization Requirements
Assessment Queue
- Requires: Assessor or Manager role
Get/Update Assessment
- Requires one of:
- Manager role
- Assigned assessor
- Engagement contact
- Remediation contact
Create Assessment
- Requires: Engagement or Manager role
Add Vulnerabilities
- Requires: Assessor or Manager role
- Assessment must not be locked for peer review
- User must be assigned to the assessment
Notes
- Base64 Encoding: Description, recommendation, and details fields accept Base64 encoded content that supports HTML and Markdown syntax.
- Peer Review Lock: Assessments locked for peer review cannot be modified until the review is complete.
- Custom Fields: Custom field keys must match existing custom field definitions configured for the assessment type.
- Application vs Assessment: An Application ID can have multiple assessments over time. Use the history endpoint to retrieve all vulnerabilities across assessments.
