---
title: "Update report"
method: PATCH
path: "/api/reports/{report_id}"
tags: ["Reports"]
---

# Update report

`PATCH /api/reports/{report_id}`

## Request

- Base URL: `https://demo.hitkeep.com`
- URL: `https://demo.hitkeep.com/api/reports/{report_id}`
- Auth: API key in cookie `hk_token`

Updates an owned personal report or an authorized team report and recalculates its next UTC run.

## Path parameters

- `report_id` string, uuid, required

## Request body

- ReportDefinitionUpdate
  - `external_recipient_emails` string[]
  - `name` string
  - `preset` 'site_summary' | 'portfolio_digest' | 'opportunity_brief'
  - `recipient_user_ids` string[]
  - `schedule` ReportSchedule
    - `frequency` 'daily' | 'weekly' | 'monthly', required
    - `local_time` string, required
    - `monthly_day` integer
    - `timezone` string, required: IANA timezone name.
    - `weekly_day` integer
  - `site_ids` string[]
  - `site_mode` 'selected' | 'all_accessible'
  - `status` 'draft' | 'active' | 'paused'

## Response `200`

Updated report

- ReportDefinition
  - `consent_version` integer
  - `created_at` string, date-time, required
  - `created_by` string, uuid
  - `id` string, uuid, required
  - `last_outcome` object
  - `name` string, required
  - `next_run_at` string, date-time
  - `owner_user_id` string, uuid
  - `preset` 'site_summary' | 'portfolio_digest' | 'opportunity_brief', required
  - `recipients` ReportRecipient[], required
    - `confirmation_expires_at` string, date-time
    - `confirmed_at` string, date-time
    - `email` string, email, required
    - `id` string, uuid, required
    - `invitation_state` 'pending' | 'sent' | 'failed'
    - `kind` 'member' | 'external', required
    - `opted_out_at` string, date-time
    - `status` 'pending_confirmation' | 'confirmed' | 'opted_out', required
    - `user_id` string, uuid
  - `schedule` ReportSchedule, required
    - `frequency` 'daily' | 'weekly' | 'monthly', required
    - `local_time` string, required
    - `monthly_day` integer
    - `timezone` string, required: IANA timezone name.
    - `weekly_day` integer
  - `scope` 'personal' | 'team', required
  - `site_mode` 'selected' | 'all_accessible', required
  - `sites` object[], required
    - `domain` string
    - `id` string, uuid
  - `status` 'draft' | 'active' | 'paused', required
  - `tenant_id` string, uuid
  - `updated_at` string, date-time, required

## Other responses

- `400`: Invalid report
- `409`: Mail unavailable

---

[API](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api.md) · [All operations](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api/revisions/bb2df36ab2a4?raw)
