mirror of
https://github.com/mattermost/mattermost.git
synced 2026-10-13 09:27:38 +08:00
* add new ephemeral mode audit logging endpoints * add license requirement and server timestamps to ephemeral mode audit endpoints * adds openapi specs for new ephemeral mode audit api endpoints * support for providing errors when adding audit logs related to ephemeral mode events * address PR comments * change spec to reflect on nullable fields * adds missing context argument
207 lines
8.2 KiB
YAML
207 lines
8.2 KiB
YAML
/api/v4/ephemeral_mode/cleanup:
|
|
post:
|
|
tags:
|
|
- ephemeral mode
|
|
summary: Log an ephemeral mode cleanup run
|
|
description: >
|
|
Records the outcome of a client-side ephemeral mode auto cache cleanup run as an
|
|
audit event.
|
|
|
|
__Minimum server version__: 11.10
|
|
|
|
##### Permissions
|
|
|
|
Must be logged in.
|
|
|
|
##### License
|
|
|
|
Requires an Enterprise Advanced license.
|
|
operationId: LogCleanup
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
posts_deleted:
|
|
description: >
|
|
The number of posts deleted by the cleanup run. Required unless
|
|
error_reason is provided, since a successful run with no counts
|
|
records no evidence of what was deleted. If omitted, no posts_deleted
|
|
value is recorded on the audit event.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
playbook_runs_deleted:
|
|
description: >
|
|
The number of playbook runs deleted by the cleanup run. Required
|
|
unless error_reason is provided. If omitted, no playbook_runs_deleted
|
|
value is recorded on the audit event.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
cleanup_at:
|
|
description: >
|
|
The time in milliseconds the cleanup run completed. Always optional;
|
|
it does not satisfy the requirement for the deleted record counts. If
|
|
omitted, no cleanup_at value is recorded on the audit event; the
|
|
server-observed time is always recorded separately as server_ts.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
error_reason:
|
|
description: >
|
|
A reason describing why the cleanup run failed. Its presence alone
|
|
marks the audit event as a failure, so clients must omit this field
|
|
entirely (or send null) when the run succeeded; sending an empty
|
|
string records a failure with no description attached. Reasons
|
|
longer than 400 characters are truncated to 400 with a trailing
|
|
ellipsis rather than rejected.
|
|
type: string
|
|
nullable: true
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Cleanup logged successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
/api/v4/ephemeral_mode/purge:
|
|
post:
|
|
tags:
|
|
- ephemeral mode
|
|
summary: Log an ephemeral mode offline purge
|
|
description: >
|
|
Records the outcome of a client-side ephemeral mode offline purge as
|
|
an audit event.
|
|
|
|
__Minimum server version__: 11.10
|
|
|
|
##### Permissions
|
|
|
|
Must be logged in.
|
|
|
|
##### License
|
|
|
|
Requires an Enterprise Advanced license.
|
|
operationId: LogOfflinePurge
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
offline_time_minutes:
|
|
description: >
|
|
The number of minutes the client was offline before the purge.
|
|
Required unless error_reason is provided, since a successful purge
|
|
with no offline time records no evidence of why it ran. If omitted,
|
|
no offline_time_minutes value is recorded on the audit event.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
purge_at:
|
|
description: >
|
|
The time in milliseconds the purge completed. Always optional; it
|
|
does not satisfy the requirement for offline_time_minutes. If
|
|
omitted, no purge_at value is recorded on the audit event; the
|
|
server-observed time is always recorded separately as server_ts.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
error_reason:
|
|
description: >
|
|
A reason describing why the offline purge failed. Its presence alone
|
|
marks the audit event as a failure, so clients must omit this field
|
|
entirely (or send null) when the purge succeeded; sending an empty
|
|
string records a failure with no description attached. Reasons
|
|
longer than 400 characters are truncated to 400 with a trailing
|
|
ellipsis rather than rejected.
|
|
type: string
|
|
nullable: true
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Offline purge logged successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|
|
/api/v4/ephemeral_mode/wipe:
|
|
post:
|
|
tags:
|
|
- ephemeral mode
|
|
summary: Log an ephemeral mode session wipe
|
|
description: >
|
|
Records a client-side ephemeral mode wipe confirming that a session
|
|
revoked by the server has completed its local wipe. Sent without a
|
|
session, since the session being confirmed is already revoked by the
|
|
time the client can report it.
|
|
|
|
__Minimum server version__: 11.10
|
|
|
|
##### License
|
|
|
|
Requires an Enterprise Advanced license.
|
|
operationId: LogSessionWipe
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
signature:
|
|
description: >
|
|
The `signature` field of the session wipe push notification that
|
|
triggered this wipe, echoed back verbatim. The server verifies it and
|
|
takes the actor, device and ack id of the audit event from its claims.
|
|
Always required, including on failure reports: this endpoint accepts
|
|
unauthenticated requests, so an unattributable audit record is not
|
|
accepted.
|
|
type: string
|
|
wipe_at:
|
|
description: >
|
|
The time in milliseconds the wipe completed. Optional. If omitted, no
|
|
wipe_at value is recorded on the audit event; the server-observed time
|
|
is always recorded separately as server_ts.
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
error_reason:
|
|
description: >
|
|
A reason describing why the session wipe failed. Its presence alone
|
|
marks the audit event as a failure, so clients must omit this field
|
|
entirely (or send null) when the wipe succeeded; sending an empty
|
|
string records a failure with no description attached. Reasons
|
|
longer than 400 characters are truncated to 400 with a trailing
|
|
ellipsis rather than rejected.
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- signature
|
|
required: true
|
|
responses:
|
|
"200":
|
|
description: Session wipe logged successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/StatusOK"
|
|
"400":
|
|
$ref: "#/components/responses/BadRequest"
|
|
"501":
|
|
$ref: "#/components/responses/NotImplemented"
|