diff --git a/packages/pl-api/lib/client.ts b/packages/pl-api/lib/client.ts index f786d509b..f914cecfe 100644 --- a/packages/pl-api/lib/client.ts +++ b/packages/pl-api/lib/client.ts @@ -4397,6 +4397,24 @@ class PlApiClient { return response.json as {}; }, + + /** + * Requires features{@link Features.pleromaAdminStatusesRedact} + */ + redactStatus: async (statusId: string, params: EditStatusParams & { overwrite?: boolean }) => { + const response = await this.request(`/api/v1/pleroma/admin/statuses/${statusId}/redact`, { method: 'PUT', body: params }); + + return v.parse(statusSchema, response.json); + }, + + /** + * Requires features{@link Features.pleromaAdminStatusesRedact} + */ + getStatusSource: async (statusId: string) => { + const response = await this.request(`/api/v1/pleroma/admin/statuses/${statusId}/source`); + + return v.parse(statusSourceSchema, response.json); + }, }, trends: { diff --git a/packages/pl-api/lib/features.ts b/packages/pl-api/lib/features.ts index 84b8d545b..bdcd37048 100644 --- a/packages/pl-api/lib/features.ts +++ b/packages/pl-api/lib/features.ts @@ -1428,6 +1428,8 @@ const getFeatures = (instance: Instance) => { v.software === PLEROMA, ]), + pleromaAdminStatusesRedact: instance.api_versions['admin_statuses_redact.pleroma.pl-api'] >= 1, + /** * Displays a form to follow a user when logged out. * @see POST /main/ostatus