Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
425 lines
14 KiB
YAML
425 lines
14 KiB
YAML
/api/v4/scheduled_recaps:
|
|
post:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Create a scheduled recap
|
|
description: >
|
|
Create a new scheduled recap configuration. Scheduled recaps run on a
|
|
recurring or one-time schedule, generating AI-powered channel summaries
|
|
at the configured time and day(s).
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. The recap is created for the authenticated user.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: CreateScheduledRecap
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- title
|
|
- days_of_week
|
|
- time_of_day
|
|
- timezone
|
|
- time_period
|
|
- channel_mode
|
|
- agent_id
|
|
properties:
|
|
title:
|
|
type: string
|
|
description: Title for the scheduled recap
|
|
maxLength: 255
|
|
days_of_week:
|
|
type: integer
|
|
description: >
|
|
Bitmask for days of the week the recap should run.
|
|
Sun=1, Mon=2, Tue=4, Wed=8, Thu=16, Fri=32, Sat=64.
|
|
For example, weekdays = 62, every day = 127.
|
|
minimum: 1
|
|
maximum: 127
|
|
time_of_day:
|
|
type: string
|
|
description: Time of day in HH:MM format (e.g., "09:00")
|
|
pattern: "^([0-1][0-9]|2[0-3]):([0-5][0-9])$"
|
|
timezone:
|
|
type: string
|
|
description: IANA timezone (e.g., "America/New_York")
|
|
time_period:
|
|
type: string
|
|
description: The lookback period for the recap content
|
|
enum:
|
|
- last_24h
|
|
- last_week
|
|
- since_last_read
|
|
channel_mode:
|
|
type: string
|
|
description: How channels are selected for the recap
|
|
enum:
|
|
- specific
|
|
- all_unreads
|
|
channel_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of channel IDs to include (required when channel_mode is "specific")
|
|
custom_instructions:
|
|
type: string
|
|
description: Custom AI instructions for the recap
|
|
agent_id:
|
|
type: string
|
|
description: ID of the AI agent to use for generating the recap
|
|
is_recurring:
|
|
type: boolean
|
|
description: Whether the recap runs on a recurring schedule or just once
|
|
oneOf:
|
|
- properties:
|
|
channel_mode:
|
|
type: string
|
|
enum:
|
|
- specific
|
|
channel_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
required:
|
|
- channel_mode
|
|
- channel_ids
|
|
- properties:
|
|
channel_mode:
|
|
type: string
|
|
enum:
|
|
- all_unreads
|
|
required:
|
|
- channel_mode
|
|
description: Scheduled recap configuration
|
|
required: true
|
|
responses:
|
|
"201":
|
|
description: Scheduled recap created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
get:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Get current user's scheduled recaps
|
|
description: >
|
|
Get a paginated list of scheduled recaps for the authenticated user.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: GetScheduledRecaps
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
description: The page to select.
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
- name: per_page
|
|
in: query
|
|
description: The number of scheduled recaps per page.
|
|
schema:
|
|
type: integer
|
|
default: 60
|
|
responses:
|
|
"200":
|
|
description: Scheduled recaps retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
/api/v4/scheduled_recaps/{scheduled_recap_id}:
|
|
get:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Get a scheduled recap
|
|
description: >
|
|
Get a scheduled recap by its ID. Only the user who owns the scheduled
|
|
recap can retrieve it.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Must own the scheduled recap.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: GetScheduledRecap
|
|
parameters:
|
|
- name: scheduled_recap_id
|
|
in: path
|
|
description: Scheduled Recap GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Scheduled recap retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
put:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Update a scheduled recap
|
|
description: >
|
|
Update a scheduled recap configuration. Only the user who owns the
|
|
scheduled recap can update it. The `user_id` and `create_at` fields
|
|
are preserved from the original and cannot be changed.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Must own the scheduled recap.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: UpdateScheduledRecap
|
|
parameters:
|
|
- name: scheduled_recap_id
|
|
in: path
|
|
description: Scheduled Recap GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
description: Title for the scheduled recap
|
|
maxLength: 255
|
|
days_of_week:
|
|
type: integer
|
|
description: >
|
|
Bitmask for days of the week the recap should run.
|
|
Sun=1, Mon=2, Tue=4, Wed=8, Thu=16, Fri=32, Sat=64.
|
|
minimum: 1
|
|
maximum: 127
|
|
time_of_day:
|
|
type: string
|
|
description: Time of day in HH:MM format (e.g., "09:00")
|
|
pattern: "^([0-1][0-9]|2[0-3]):([0-5][0-9])$"
|
|
timezone:
|
|
type: string
|
|
description: IANA timezone (e.g., "America/New_York")
|
|
time_period:
|
|
type: string
|
|
description: The lookback period for the recap content
|
|
enum:
|
|
- last_24h
|
|
- last_week
|
|
- since_last_read
|
|
channel_mode:
|
|
type: string
|
|
description: How channels are selected for the recap
|
|
enum:
|
|
- specific
|
|
- all_unreads
|
|
channel_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description: List of channel IDs to include (required when channel_mode is "specific")
|
|
custom_instructions:
|
|
type: string
|
|
description: Custom AI instructions for the recap
|
|
agent_id:
|
|
type: string
|
|
description: ID of the AI agent to use for generating the recap
|
|
is_recurring:
|
|
type: boolean
|
|
description: Whether the recap runs on a recurring schedule or just once
|
|
enabled:
|
|
type: boolean
|
|
description: Whether the scheduled recap is active
|
|
oneOf:
|
|
- properties:
|
|
channel_mode:
|
|
type: string
|
|
enum:
|
|
- specific
|
|
channel_ids:
|
|
type: array
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
required:
|
|
- channel_mode
|
|
- channel_ids
|
|
- properties:
|
|
channel_mode:
|
|
type: string
|
|
enum:
|
|
- all_unreads
|
|
required:
|
|
- channel_mode
|
|
description: Updated scheduled recap configuration
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Scheduled recap updated successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
delete:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Delete a scheduled recap
|
|
description: >
|
|
Delete a scheduled recap by its ID. Only the user who owns the scheduled
|
|
recap can delete it.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Must own the scheduled recap.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: DeleteScheduledRecap
|
|
parameters:
|
|
- name: scheduled_recap_id
|
|
in: path
|
|
description: Scheduled Recap GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Scheduled recap deleted successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
/api/v4/scheduled_recaps/{scheduled_recap_id}/pause:
|
|
post:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Pause a scheduled recap
|
|
description: >
|
|
Pause a scheduled recap, preventing it from running until resumed.
|
|
Only the user who owns the scheduled recap can pause it.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Must own the scheduled recap.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: PauseScheduledRecap
|
|
parameters:
|
|
- name: scheduled_recap_id
|
|
in: path
|
|
description: Scheduled Recap GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Scheduled recap paused successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
/api/v4/scheduled_recaps/{scheduled_recap_id}/resume:
|
|
post:
|
|
tags:
|
|
- scheduled recaps
|
|
- ai
|
|
summary: Resume a scheduled recap
|
|
description: >
|
|
Resume a previously paused scheduled recap, allowing it to run on its
|
|
configured schedule again. Only the user who owns the scheduled recap
|
|
can resume it.
|
|
|
|
##### Permissions
|
|
|
|
Must be authenticated. Must own the scheduled recap.
|
|
|
|
__Minimum server version__: 11.2
|
|
operationId: ResumeScheduledRecap
|
|
parameters:
|
|
- name: scheduled_recap_id
|
|
in: path
|
|
description: Scheduled Recap GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Scheduled recap resumed successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/ScheduledRecap"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|