Create an assessment report
POSThttps://api.fortwatch.ai/app/assessments
Queues the forwardable report for the workspace, a project or an asset: 201 with the pending report, or 200 with the one already being generated. At most 10 an hour per workspace. Also limited per workspace: 10 a hour.
Request body
JSON, required.
| Field | Type | Description |
|---|---|---|
scopeType | string | Required. What the report covers.One of: workspace, project, asset |
scopeId | integer | The project's or asset's id; not needed for the workspace. |
Example request
curl -X POST "https://api.fortwatch.ai/app/assessments" \
-H "Authorization: Bearer $FORTWATCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scopeType": "workspace",
"scopeId": 42
}'Response 200
The request succeeded.
| Field | Type | Description |
|---|---|---|
idrequired | number | |
workspaceIdrequired | number | |
scopeTyperequired | string | |
scopeIdrequired | number | null | |
scopeNamerequired | string | |
statusrequired | string | |
errorrequired | string | null | |
triggerrequired | string | |
createdByUserIdrequired | number | null | |
shareExpiresAtrequired | string (date-time) | null | |
shareRevokedAtrequired | string (date-time) | null | |
generatedAtrequired | string (date-time) | null | |
createdAtrequired | string (date-time) | |
updatedAtrequired | string (date-time) | |
createdByUser | object | |
firstNamerequired | string | |
lastNamerequired | string | |
hasNarrativerequired | boolean | |
shareUrlrequired | object | null | |
sharePdfUrlrequired | object | null | |
shareLiverequired | boolean | |
data | object | null | |
narrative | object | null |
{
"id": 42,
"workspaceId": 42,
"scopeType": "string",
"scopeId": 42,
"scopeName": "string",
"status": "string",
"error": "string",
"trigger": "string",
"createdByUserId": 42,
"shareExpiresAt": "2026-10-16T12:00:00.000Z",
"shareRevokedAt": "2026-10-16T12:00:00.000Z",
"generatedAt": "2026-10-16T12:00:00.000Z",
"createdAt": "2026-10-16T12:00:00.000Z",
"updatedAt": "2026-10-16T12:00:00.000Z",
"createdByUser": {
"firstName": "string",
"lastName": "string"
},
"hasNarrative": true,
"shareUrl": {},
"sharePdfUrl": {},
"shareLive": true,
"data": {},
"narrative": {}
}Errors
400 | The request is not valid: a field is missing or has the wrong shape (the message names it). |
401 | No valid credentials: the API key or access token is missing, revoked or expired (INVALID_API_KEY, INVALID_TOKEN). |
403 | Not allowed: the key or token lacks this scope (SCOPE_REQUIRED), the route is dashboard-only (SESSION_REQUIRED), or a plan limit applies. |
429 | Too many requests (RATE_LIMITED): wait the seconds Retry-After gives. |
Every code is explained in Errors.