Base URL
All API requests are made to:Authentication
The MindFort API uses Bearer token authentication. Include your MindFort API key in theAuthorization header of every request:
Rate Limits
- Per-client limit: 60 requests per minute
- Global limit: 100 requests per minute
Retry-After: 60 header. The API returns HTTP 429 with an error message.
API Surface
The public REST API exposes the approved organization-scoped product surface:- list, get, create, update, and confirmed deletion of targets
- create, rotate, inspect metadata for, and delete test credentials
- read coverage checks and aggregate coverage
- discover candidate targets and manage discovery suggestions when enabled
- run, list, inspect, and cancel assessments
- list and get findings; update lifecycle status; override severity; retest
- manage finding comments and inspect patch summaries and counts
- read finding analytics, security metrics, aging, remediation, SLA, and health scores
- create, list, poll, and download reports
The API does not expose target-verification operations, billing administration, API-key administration, organization membership, or role administration. Complete those workflows in the MindFort Dashboard.
REST and MCP
REST and MCP share organization-scoping rules and core resource contracts, but their available operations, authentication, and pagination differ. Assessment schedule management is available through MCP; it has no public REST routes.
The MCP catalog is explicit and may omit feature-gated tools or schema variants that are unavailable to the selected organization. See the MCP guide.
Target and Credential Rules
Targets are scoped to the authenticated organization:web_appandapitargets require an HTTP(S)web_domain.networktargets require anip_addressand thenetwork-targetsorganization feature.- Targets created through REST or MCP begin unverified. Complete domain ownership or network verification in the dashboard before starting active testing.
- Target URLs containing embedded
user:password@hostcredentials are rejected.
api_key credential is valid only for an api target. Before adding one, set nonblank target-level api_auth_instructions that describe the validation route, method, request shape, key placement, and expected successful response.
Coverage
Coverage shows security scenarios tested across assessments. UseGET /v1/coverage to list checks and GET /v1/coverage/overview for aggregate counts, optionally filtered by target_id.
The current states are covered, failing, incomplete, in_progress, and not_run. Responses include scenario details, run summaries, and related findings. Coverage is read-only; assessments maintain the checks and run history. See Coverage.
Discovery
When Discovery is enabled, use/v1/discovery to inspect its status, configure context and schedules, start runs, and accept or dismiss candidate targets. See Target discovery for the operation list.
Pagination
REST list endpoints use two pagination styles:GET /v1/assessmentsuses cursor pagination. Pass the returnedpagination.next_cursorvalue as the next request’scursorparameter until no next cursor is returned.- Target, credential, coverage, finding, comment, patch, and report collections use the pagination fields documented on their endpoint schemas. Offset-based responses include a
total; cursor-based responses returnnext_cursorwhen another page is available.
Error Format
Errors follow a consistent public JSON structure:code field is present for recognized actionable failures. Responses may also include safe field validation details. Include the request_id when contacting support.
Examples of stable error codes include:
target_not_verifiedapi_auth_instructions_requiredassessment_already_runningassessment_credits_insufficientassessment_queue_loadingretest_already_running
Retry-After. If you receive HTTP 429 Too Many Requests, wait for the interval specified by that header before retrying and reduce request frequency. Coordinate polling across integrations that share your organization.
Component IDs
Several API endpoints require UUIDs for targets, findings, assessments, reports, and other resources. Below is where to find each ID in the MindFort dashboard.Targets
Navigate to Target Inventory and click on a target. The Target ID is displayed on the target’s detail page.Findings
UseGET /v1/findings or open a finding in the dashboard. The Finding ID identifies a specific vulnerability for detail, comment, status, severity, and retest requests.
Filter list results with status, assessment_id, exclude_secured, target_id, and severity. See Findings API for parameter details and dashboard mapping.
Assessments
Open Assessments, select a run, and copy the Assessment ID from the URL or detail view. Use it asassessment_id when listing findings for that run only.
Use stage_progress in assessment detail to track each stage. NOT_STARTED means the stage has no recorded state; RUNNING or ACTIVE indicates current work; other values are terminal outcomes. Failed runs may include a failure_reason explaining the problem.
Credentials
List credentials under a target to obtain credential IDs and safe metadata. Use credential IDs when running authenticated assessments or rotating/deleting a credential. Secret values are never returned.Reports
Create a report withPOST /v1/reports, then poll GET /v1/reports/{report_id} until it is ready and call GET /v1/reports/{report_id}/download for a short-lived download URL.
Content Type
All endpoints accept and returnapplication/json. Requests with a JSON body must include: