Status Reports

Status reports in smenso are structured project-level summaries used to communicate progress, risks, achievements, and key metrics at defined intervals (e.g. weekly, monthly, milestone-based).

A status report typically contains:

  • A reporting period or date
  • A summary of the current situation
  • Highlights and completed work
  • Progress level
  • Risks, issues, or blockers
  • Next steps or planned activities
  • Optional KPIs and metadata (e.g. RAG status, health indicators, flavors)

Status reports help stakeholders understand where a project stands without needing to inspect all underlying tasks and data.


Lifecycle: Draft → Published

Each status report has a state:

StateBehavior
DraftContent can be edited. Visible to all project members but not yet official.
PublishedContent is frozen and cannot be modified. Publication date is set automatically.

This ensures that published reports remain reliable, traceable records once shared.

API workflow:

  1. Create a status report → it starts as a draft
  2. Update the draft (add content, set fields, attach files)
  3. Publish the report (set isPublished: true) → it becomes immutable

To correct a published report, create a new one (optionally by copying the last).


Available Endpoints

Integration JSON API

ActionMethodEndpoint
Create status reportsPOST/api/integration/statusreport/json
Update status reportsPUT/api/integration/statusreport/json
Delete status reportDELETE/api/integration/statusreport/json/{id}
Create from templatePOST/api/integration/template/statusreport/create/json/{templateId}

Integration XML API

ActionMethodEndpoint
Create/update status reportsPOST/api/integration/statusreport
Delete status reportDELETE/api/integration/statusreport/{id}
Create from templatePOST/api/integration/template/statusreport/create/{templateId}

Related Endpoints

AreaEndpoints
AttachmentsUpload · Get attachments
CommentsCreate · Update · Get comments

Key Fields

FieldTypeRequiredDescription
projectIdstring (GUID)The project this report belongs to
titlestringTitle of the status report
statusDatedateThe date the report covers (defaults to current date)
overallStatusenumRAG status: Green / Yellow / Red
scheduleStatusenumTimeline health
costStatusenumBudget health
objectivesStatusenumGoals health
progressnumberProgress percentage (0–100)
descriptionRichTextNarrative summary / status explanation
nextStepsRichTextPlanned next actions
isPublishedbooleanSet to true to publish (locks the report)
tempIdstringTemporary ID to correlate batch results
externalIdstringExternal system reference
📘

Field names and availability may vary between JSON and XML APIs. See the respective endpoint reference for exact schemas.


Example: Create a Status Report

POST /api/integration/statusreport/json
Content-Type: application/json
Authorization: Bearer {token}
{
  "items": [
    {
      "projectId": "a1b2c3d4-...",
      "title": "Monthly Status – June 2025",
      "statusDate": "2025-06-30",
      "overallStatus": "Green",
      "scheduleStatus": "Green",
      "costStatus": "Yellow",
      "progress": 72,
      "description": "<p>Sprint 4 completed on time. Two features deferred to next sprint.</p>",
      "nextSteps": "<p>Begin Sprint 5. Review deferred items with product owner.</p>",
      "isPublished": false
    }
  ]
}

Response:

{
  "ticketId": "e5f6g7h8-..."
}

Poll the ticket to get the created report IDs:

GET /api/integration/status/json/{ticketId}

Example: Publish a Status Report

To publish an existing draft, update it with isPublished: true:

PUT /api/integration/statusreport/json
Content-Type: application/json
Authorization: Bearer {token}
{
  "items": [
    {
      "id": "the-report-id-...",
      "isPublished": true
    }
  ]
}

Once published, the report is locked. The publicationDate is set automatically by smenso.


Templates

Status reports can be created from templates to ensure consistent structure across projects:

POST /api/integration/template/statusreport/create/json/{templateId}

Templates define:

  • Which sections a report has
  • Default structure and headings
  • Optional default content (including RichText)
  • Possibly standard KPIs or flavors

When creating from a template, the description and nextSteps fields are pre-filled with the template content. Other fields (status, progress, etc.) must still be set individually.


RichText Content

The description and nextSteps fields support RichText (HTML). Content is preserved across UI and API and can be carried over from templates.

When sending RichText via API, use standard HTML:

{
  "description": "<p>Sprint 4 completed. <strong>Key achievement:</strong> Payment module released.</p><ul><li>3 bugs fixed</li><li>Performance improved by 15%</li></ul>"
}

Attachments & Comments

Status reports support both attachments and comments via dedicated endpoints:

  • Attachments: Upload files to a status report or retrieve existing attachments. The status report must be saved (at least as a draft) before files can be attached. See Attachments Guide.
  • Comments: Add or retrieve comments on status reports. See the Comments endpoints in the API Reference.

Permissions & Visibility

Status reports respect project-level permissions:

  • Only authorized users can create, edit, or delete reports.
  • Published reports can only be deleted, not edited.
  • API operations inherit the permission model of the project and the user whose token is used.

If a user cannot perform an action in the UI, the API will not allow it either.


Status Date vs. Publication Date

Status reports have two date fields:

FieldDescription
statusDateThe date the report covers. Freely selectable – can be retroactive or in advance. Defaults to current date if not set.
publicationDateSet automatically when the report is published. Cannot be changed manually. Read-only.

Both dates can be queried via the Reporting API and are available as columns in portfolio views.


Further Reading