post/api/v2/reports
Create a local report artifact.
Creates a project-scoped local PDF/report artifact and delivery-history events without sending email or object-storage delivery unless explicit live gates are configured. WatchLLM extension.
Requires bearer API keyParameters
| Name | In | Description |
|---|---|---|
| X-Project-Id | header | Required for organization-wide API keys on project-scoped endpoints. Project-scoped keys infer the project automatically.string |
Request Body
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"pdf",
"executive_summary",
"competitor_snapshot"
]
},
"dateRange": {
"type": "string",
"enum": [
"last_7_days",
"last_14_days",
"last_30_days",
"last_90_days"
]
}
},
"required": [
"kind",
"dateRange"
]
}Responses
201
application/jsonCreated report artifact.
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"kind": {
"type": "string"
},
"status": {
"type": "string"
},
"dateRange": {
"type": "string"
},
"filters": {
"type": "object",
"additionalProperties": true
},
"filePath": {
"type": "string",
"nullable": true
},
"requestedById": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"generatedAt": {
"type": "string",
"format": "date-time",
"nullable": true
},
"downloadUrl": {
"type": "string",
"nullable": true
}
}
}400
application/jsonInvalid report request.
{
"type": "object",
"properties": {
"error": {
"type": "string"
},
"message": {
"type": "string"
}
}
}Try it
Send this request to the local WatchLLM REST handler. Use a key from /workspace/api; organization keys can include X-Project-Id only when the endpoint documents that header.