Misklient
+ Crpklient
`);
reply.send();
};
@@ -941,4 +941,24 @@ describe('OAuth', () => {
const response = await fetch(new URL('/oauth/foo', host));
assert.strictEqual(response.status, 404);
});
+
+ describe('CORS', () => {
+ test('Token endpoint should support CORS', async () => {
+ const response = await fetch(new URL('/oauth/token', host), { method: 'POST' });
+ assert.ok(!response.ok);
+ assert.strictEqual(response.headers.get('Access-Control-Allow-Origin'), '*');
+ });
+
+ test('Authorize endpoint should not support CORS', async () => {
+ const response = await fetch(new URL('/oauth/authorize', host), { method: 'GET' });
+ assert.ok(!response.ok);
+ assert.ok(!response.headers.has('Access-Control-Allow-Origin'));
+ });
+
+ test('Decision endpoint should not support CORS', async () => {
+ const response = await fetch(new URL('/oauth/decision', host), { method: 'POST' });
+ assert.ok(!response.ok);
+ assert.ok(!response.headers.has('Access-Control-Allow-Origin'));
+ });
+ });
});
diff --git a/packages/backend/test/e2e/streaming.ts b/packages/backend/test/e2e/streaming.ts
index 9692bc4775..9d7d9a3074 100644
--- a/packages/backend/test/e2e/streaming.ts
+++ b/packages/backend/test/e2e/streaming.ts
@@ -6,8 +6,9 @@
process.env.NODE_ENV = 'test';
import * as assert from 'assert';
+import { WebSocket } from 'ws';
import { MiFollowing } from '@/models/Following.js';
-import { signup, api, post, startServer, initTestDb, waitFire } from '../utils.js';
+import { signup, api, post, startServer, initTestDb, waitFire, createAppToken, port } from '../utils.js';
import type { INestApplicationContext } from '@nestjs/common';
import type * as misskey from 'cherrypick-js';
@@ -560,6 +561,28 @@ describe('Streaming', () => {
});
});
+ test('Authentication', async () => {
+ const application = await createAppToken(ayano, []);
+ const application2 = await createAppToken(ayano, ['read:account']);
+ const socket = new WebSocket(`ws://127.0.0.1:${port}/streaming?i=${application}`);
+ const established = await new Promise((resolve, reject) => {
+ socket.on('error', () => resolve(false));
+ socket.on('unexpected-response', () => resolve(false));
+ setTimeout(() => resolve(true), 3000);
+ });
+
+ socket.close();
+ assert.strictEqual(established, false);
+
+ const fired = await waitFire(
+ { token: application2 }, 'hybridTimeline',
+ () => api('notes/create', { text: 'Hello, world!' }, ayano),
+ msg => msg.type === 'note' && msg.body.userId === ayano.id,
+ );
+
+ assert.strictEqual(fired, true);
+ });
+
// XXX: QueryFailedError: duplicate key value violates unique constraint "IDX_347fec870eafea7b26c8a73bac"
/*
describe('Hashtag Timeline', () => {
diff --git a/packages/backend/test/e2e/well-known.ts b/packages/backend/test/e2e/well-known.ts
new file mode 100644
index 0000000000..b30dead3e4
--- /dev/null
+++ b/packages/backend/test/e2e/well-known.ts
@@ -0,0 +1,111 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+process.env.NODE_ENV = 'test';
+
+import * as assert from 'assert';
+import { host, origin, relativeFetch, signup, startServer } from '../utils.js';
+import type { INestApplicationContext } from '@nestjs/common';
+import type * as misskey from 'cherrypick-js';
+
+describe('.well-known', () => {
+ let app: INestApplicationContext;
+ let alice: misskey.entities.User;
+
+ beforeAll(async () => {
+ app = await startServer();
+
+ alice = await signup({ username: 'alice' });
+ }, 1000 * 60 * 2);
+
+ afterAll(async () => {
+ await app.close();
+ });
+
+ test('nodeinfo', async () => {
+ const res = await relativeFetch('.well-known/nodeinfo');
+ assert.ok(res.ok);
+ assert.strictEqual(res.headers.get('Access-Control-Allow-Origin'), '*');
+
+ const nodeInfo = await res.json();
+ assert.deepStrictEqual(nodeInfo, {
+ links: [{
+ rel: 'http://nodeinfo.diaspora.software/ns/schema/2.1',
+ href: `${origin}/nodeinfo/2.1`,
+ }, {
+ rel: 'http://nodeinfo.diaspora.software/ns/schema/2.0',
+ href: `${origin}/nodeinfo/2.0`,
+ }],
+ });
+ });
+
+ test('webfinger', async () => {
+ const preflight = await relativeFetch(`.well-known/webfinger?resource=acct:alice@${host}`, {
+ method: 'options',
+ headers: {
+ 'Access-Control-Request-Method': 'GET',
+ Origin: 'http://example.com',
+ },
+ });
+ assert.ok(preflight.ok);
+ assert.strictEqual(preflight.headers.get('Access-Control-Allow-Headers'), 'Accept');
+
+ const res = await relativeFetch(`.well-known/webfinger?resource=acct:alice@${host}`);
+ assert.ok(res.ok);
+ assert.strictEqual(res.headers.get('Access-Control-Allow-Origin'), '*');
+ assert.strictEqual(res.headers.get('Access-Control-Expose-Headers'), 'Vary');
+ assert.strictEqual(res.headers.get('Vary'), 'Accept');
+
+ const webfinger = await res.json();
+
+ assert.deepStrictEqual(webfinger, {
+ subject: `acct:alice@${host}`,
+ links: [{
+ rel: 'self',
+ type: 'application/activity+json',
+ href: `${origin}/users/${alice.id}`,
+ }, {
+ rel: 'http://webfinger.net/rel/profile-page',
+ type: 'text/html',
+ href: `${origin}/@alice`,
+ }, {
+ rel: 'http://ostatus.org/schema/1.0/subscribe',
+ template: `${origin}/authorize-follow?acct={uri}`,
+ }],
+ });
+ });
+
+ test('host-meta', async () => {
+ const res = await relativeFetch('.well-known/host-meta');
+ assert.ok(res.ok);
+ assert.strictEqual(res.headers.get('Access-Control-Allow-Origin'), '*');
+ });
+
+ test('host-meta.json', async () => {
+ const res = await relativeFetch('.well-known/host-meta.json');
+ assert.ok(res.ok);
+ assert.strictEqual(res.headers.get('Access-Control-Allow-Origin'), '*');
+
+ const hostMeta = await res.json();
+ assert.deepStrictEqual(hostMeta, {
+ links: [{
+ rel: 'lrdd',
+ type: 'application/jrd+json',
+ template: `${origin}/.well-known/webfinger?resource={uri}`,
+ }],
+ });
+ });
+
+ test('oauth-authorization-server', async () => {
+ const res = await relativeFetch('.well-known/oauth-authorization-server');
+ assert.ok(res.ok);
+ assert.strictEqual(res.headers.get('Access-Control-Allow-Origin'), '*');
+
+ const serverInfo = await res.json() as any;
+ assert.strictEqual(serverInfo.issuer, origin);
+ assert.strictEqual(serverInfo.authorization_endpoint, `${origin}/oauth/authorize`);
+ assert.strictEqual(serverInfo.token_endpoint, `${origin}/oauth/token`);
+ });
+});
diff --git a/packages/backend/test/utils.ts b/packages/backend/test/utils.ts
index d03f7af9eb..f000aa7bb4 100644
--- a/packages/backend/test/utils.ts
+++ b/packages/backend/test/utils.ts
@@ -6,14 +6,15 @@
import * as assert from 'node:assert';
import { readFile } from 'node:fs/promises';
import { isAbsolute, basename } from 'node:path';
+import { randomUUID } from 'node:crypto';
import { inspect } from 'node:util';
import WebSocket, { ClientOptions } from 'ws';
import fetch, { File, RequestInit } from 'node-fetch';
import { DataSource } from 'typeorm';
import { JSDOM } from 'jsdom';
import { DEFAULT_POLICIES } from '@/core/RoleService.js';
-import { entities } from '../src/postgres.js';
-import { loadConfig } from '../src/config.js';
+import { entities } from '@/postgres.js';
+import { loadConfig } from '@/config.js';
import type * as misskey from 'cherrypick-js';
export { server as startServer } from '@/boot/common.js';
@@ -25,6 +26,8 @@ interface UserToken {
const config = loadConfig();
export const port = config.port;
+export const origin = config.url;
+export const host = new URL(config.url).host;
export const cookie = (me: UserToken): string => {
return `token=${me.token};`;
@@ -126,6 +129,15 @@ export const post = async (user: UserToken, params?: misskey.Endpoints['notes/cr
return res.body ? res.body.createdNote : null;
};
+export const createAppToken = async (user: UserToken, permissions: (typeof misskey.permissions)[number][]) => {
+ const res = await api('miauth/gen-token', {
+ session: randomUUID(),
+ permission: permissions,
+ }, user);
+
+ return (res.body as misskey.entities.MiauthGenTokenResponse).token;
+};
+
// 非公開ノートをAPI越しに見たときのノート NoteEntityService.ts
export const hiddenNote = (note: any): any => {
const temp = {
diff --git a/packages/cherrypick-js/etc/cherrypick-js.api.md b/packages/cherrypick-js/etc/cherrypick-js.api.md
index 4ef323d70d..bd5513d36b 100644
--- a/packages/cherrypick-js/etc/cherrypick-js.api.md
+++ b/packages/cherrypick-js/etc/cherrypick-js.api.md
@@ -2651,7 +2651,7 @@ type PagesUpdateRequest = operations['pages/update']['requestBody']['content']['
function parse(acct: string): Acct;
// @public (undocumented)
-export const permissions: string[];
+export const permissions: readonly ["read:account", "write:account", "read:blocks", "write:blocks", "read:drive", "write:drive", "read:favorites", "write:favorites", "read:following", "write:following", "read:messaging", "write:messaging", "read:mutes", "write:mutes", "write:notes", "read:notifications", "write:notifications", "read:reactions", "write:reactions", "write:votes", "read:pages", "write:pages", "write:page-likes", "read:page-likes", "read:user-groups", "write:user-groups", "read:channels", "write:channels", "read:gallery", "write:gallery", "read:gallery-likes", "write:gallery-likes", "read:flash", "write:flash", "read:flash-likes", "write:flash-likes", "read:admin:abuse-user-reports", "write:admin:delete-account", "write:admin:delete-all-files-of-a-user", "read:admin:index-stats", "read:admin:table-stats", "read:admin:user-ips", "read:admin:meta", "write:admin:reset-password", "write:admin:resolve-abuse-user-report", "write:admin:send-email", "read:admin:server-info", "read:admin:show-moderation-log", "read:admin:show-user", "read:admin:show-users", "write:admin:suspend-user", "write:admin:unset-user-avatar", "write:admin:unset-user-banner", "write:admin:unsuspend-user", "write:admin:meta", "write:admin:user-note", "write:admin:roles", "read:admin:roles", "write:admin:relays", "read:admin:relays", "write:admin:invite-codes", "read:admin:invite-codes", "write:admin:announcements", "read:admin:announcements", "write:admin:avatar-decorations", "read:admin:avatar-decorations", "write:admin:federation", "write:admin:account", "read:admin:account", "write:admin:emoji", "read:admin:emoji", "write:admin:queue", "read:admin:queue", "write:admin:promo", "write:admin:drive", "read:admin:drive", "write:admin:ad", "read:admin:ad", "write:invite-codes", "read:invite-codes", "write:clip-favorite", "read:clip-favorite", "read:federation", "write:report-abuse"];
// @public (undocumented)
type PingResponse = operations['ping']['responses']['200']['content']['application/json'];
diff --git a/packages/cherrypick-js/src/autogen/apiClientJSDoc.ts b/packages/cherrypick-js/src/autogen/apiClientJSDoc.ts
index 2d7bd5c62b..a0ccdd8fbb 100644
--- a/packages/cherrypick-js/src/autogen/apiClientJSDoc.ts
+++ b/packages/cherrypick-js/src/autogen/apiClientJSDoc.ts
@@ -1,7 +1,7 @@
/*
* version: 4.6.0-beta.6
- * basedMisskeyVersion: 2023.12.0
- * generatedAt: 2023-12-24T04:33:15.634Z
+ * basedMisskeyVersion: 2023.12.2
+ * generatedAt: 2024-01-02T08:07:43.938Z
*/
import type { SwitchCaseResponseType } from '../api.js';
@@ -12,7 +12,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:meta*
*/
request(
endpoint: E,
@@ -67,7 +67,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:abuse-user-reports*
*/
request(
endpoint: E,
@@ -78,7 +78,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *No* / **Permission**: *write:admin*
+ * **Credential required**: *No*
*/
request(
endpoint: E,
@@ -89,7 +89,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:account*
*/
request(
endpoint: E,
@@ -100,7 +100,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:account*
*/
request(
endpoint: E,
@@ -111,7 +111,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
request(
endpoint: E,
@@ -122,7 +122,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
request(
endpoint: E,
@@ -133,7 +133,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:ad*
*/
request(
endpoint: E,
@@ -144,7 +144,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
request(
endpoint: E,
@@ -155,7 +155,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
request(
endpoint: E,
@@ -166,7 +166,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
request(
endpoint: E,
@@ -177,7 +177,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:announcements*
*/
request(
endpoint: E,
@@ -188,7 +188,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
request(
endpoint: E,
@@ -199,7 +199,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
request(
endpoint: E,
@@ -210,7 +210,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
request(
endpoint: E,
@@ -221,7 +221,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations*
*/
request(
endpoint: E,
@@ -232,7 +232,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
request(
endpoint: E,
@@ -243,7 +243,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-all-files-of-a-user*
*/
request(
endpoint: E,
@@ -254,7 +254,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-avatar*
*/
request(
endpoint: E,
@@ -265,7 +265,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-banner*
*/
request(
endpoint: E,
@@ -276,7 +276,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
request(
endpoint: E,
@@ -287,7 +287,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
request(
endpoint: E,
@@ -298,7 +298,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
request(
endpoint: E,
@@ -309,7 +309,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
request(
endpoint: E,
@@ -320,7 +320,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -331,7 +331,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -342,7 +342,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -353,7 +353,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -364,7 +364,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -375,7 +375,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -386,7 +386,8 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
+ * **Credential required**: *Yes*
*/
request(
endpoint: E,
@@ -397,7 +398,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
request(
endpoint: E,
@@ -408,7 +409,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
request(
endpoint: E,
@@ -419,7 +420,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -430,7 +431,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -441,7 +442,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -452,7 +453,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -463,7 +464,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -474,7 +475,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
request(
endpoint: E,
@@ -485,7 +486,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
request(
endpoint: E,
@@ -496,7 +497,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
request(
endpoint: E,
@@ -507,7 +508,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
request(
endpoint: E,
@@ -518,7 +519,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
request(
endpoint: E,
@@ -529,7 +530,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:index-stats*
*/
request(
endpoint: E,
@@ -540,7 +541,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:table-stats*
*/
request(
endpoint: E,
@@ -551,7 +552,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips*
*/
request(
endpoint: E,
@@ -562,7 +563,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
request(
endpoint: E,
@@ -573,7 +574,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes*
*/
request(
endpoint: E,
@@ -584,7 +585,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
request(
endpoint: E,
@@ -595,7 +596,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:promo*
*/
request(
endpoint: E,
@@ -606,7 +607,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
request(
endpoint: E,
@@ -617,7 +618,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
request(
endpoint: E,
@@ -628,7 +629,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
request(
endpoint: E,
@@ -639,7 +640,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
request(
endpoint: E,
@@ -650,7 +651,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
request(
endpoint: E,
@@ -661,7 +662,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
request(
endpoint: E,
@@ -672,7 +673,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:relays*
*/
request(
endpoint: E,
@@ -683,7 +684,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
request(
endpoint: E,
@@ -694,7 +695,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password*
*/
request(
endpoint: E,
@@ -705,7 +706,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:resolve-abuse-user-report*
*/
request(
endpoint: E,
@@ -716,7 +717,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:send-email*
*/
request(
endpoint: E,
@@ -727,7 +728,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:server-info*
*/
request(
endpoint: E,
@@ -738,7 +739,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-moderation-log*
*/
request(
endpoint: E,
@@ -749,7 +750,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-user*
*/
request(
endpoint: E,
@@ -760,7 +761,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-users*
*/
request(
endpoint: E,
@@ -771,7 +772,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user*
*/
request(
endpoint: E,
@@ -782,7 +783,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user*
*/
request(
endpoint: E,
@@ -793,7 +794,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:meta*
*/
request(
endpoint: E,
@@ -804,7 +805,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account*
*/
request(
endpoint: E,
@@ -815,7 +816,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:user-note*
*/
request(
endpoint: E,
@@ -826,7 +827,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -837,7 +838,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -848,7 +849,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
request(
endpoint: E,
@@ -859,7 +860,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
request(
endpoint: E,
@@ -870,7 +871,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -881,7 +882,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -892,7 +893,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -903,7 +904,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
request(
endpoint: E,
@@ -914,7 +915,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *No* / **Permission**: *read:admin*
+ * **Credential required**: *No* / **Permission**: *read:admin:roles*
*/
request(
endpoint: E,
@@ -1002,7 +1003,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:federation*
*/
request(
endpoint: E,
@@ -1013,7 +1014,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -1807,7 +1808,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
request(
endpoint: E,
@@ -2115,7 +2116,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2246,7 +2247,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -2558,7 +2559,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2569,7 +2570,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2580,7 +2581,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2591,7 +2592,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2602,7 +2603,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -2613,7 +2614,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -2636,7 +2637,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -2783,7 +2784,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
request(
endpoint: E,
@@ -2794,7 +2795,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
request(
endpoint: E,
@@ -2805,7 +2806,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
request(
endpoint: E,
@@ -2816,7 +2817,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
request(
endpoint: E,
@@ -2993,7 +2994,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3125,7 +3126,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3147,7 +3148,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3158,7 +3159,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3279,7 +3280,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3312,7 +3313,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3323,7 +3324,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3345,7 +3346,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3611,7 +3612,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -3622,7 +3623,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3655,7 +3656,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -3721,6 +3722,7 @@ declare module '../api.js' {
/**
* Check push notification registration exists.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
request(
@@ -3732,6 +3734,7 @@ declare module '../api.js' {
/**
* Update push notification registration.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
request(
@@ -3743,6 +3746,7 @@ declare module '../api.js' {
/**
* Register to receive push notifications.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
request(
@@ -4062,7 +4066,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -4073,7 +4077,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -4095,7 +4099,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
request(
endpoint: E,
@@ -4183,7 +4187,7 @@ declare module '../api.js' {
/**
* Show the different kinds of relations between the authenticated user and the specified user(s).
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -4194,7 +4198,7 @@ declare module '../api.js' {
/**
* File a report.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:report-abuse*
*/
request(
endpoint: E,
@@ -4249,7 +4253,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
request(
endpoint: E,
@@ -4271,7 +4275,7 @@ declare module '../api.js' {
/**
* No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
request(
endpoint: E,
@@ -4293,6 +4297,7 @@ declare module '../api.js' {
/**
* No description provided.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
request(
diff --git a/packages/cherrypick-js/src/autogen/endpoint.ts b/packages/cherrypick-js/src/autogen/endpoint.ts
index 1567f087ac..ce5431a7ce 100644
--- a/packages/cherrypick-js/src/autogen/endpoint.ts
+++ b/packages/cherrypick-js/src/autogen/endpoint.ts
@@ -1,7 +1,7 @@
/*
* version: 4.6.0-beta.6
- * basedMisskeyVersion: 2023.12.0
- * generatedAt: 2023-12-24T04:33:15.632Z
+ * basedMisskeyVersion: 2023.12.2
+ * generatedAt: 2024-01-02T08:07:43.936Z
*/
import type {
diff --git a/packages/cherrypick-js/src/autogen/entities.ts b/packages/cherrypick-js/src/autogen/entities.ts
index 64fc625365..ff5e608655 100644
--- a/packages/cherrypick-js/src/autogen/entities.ts
+++ b/packages/cherrypick-js/src/autogen/entities.ts
@@ -1,7 +1,7 @@
/*
* version: 4.6.0-beta.6
- * basedMisskeyVersion: 2023.12.0
- * generatedAt: 2023-12-24T04:33:15.631Z
+ * basedMisskeyVersion: 2023.12.2
+ * generatedAt: 2024-01-02T08:07:43.935Z
*/
import { operations } from './types.js';
diff --git a/packages/cherrypick-js/src/autogen/models.ts b/packages/cherrypick-js/src/autogen/models.ts
index f6e94ee8b3..e9eefbc1a0 100644
--- a/packages/cherrypick-js/src/autogen/models.ts
+++ b/packages/cherrypick-js/src/autogen/models.ts
@@ -1,7 +1,7 @@
/*
* version: 4.6.0-beta.6
- * basedMisskeyVersion: 2023.12.0
- * generatedAt: 2023-12-24T04:33:15.630Z
+ * basedMisskeyVersion: 2023.12.2
+ * generatedAt: 2024-01-02T08:07:43.933Z
*/
import { components } from './types.js';
diff --git a/packages/cherrypick-js/src/autogen/types.ts b/packages/cherrypick-js/src/autogen/types.ts
index e475ec6180..72e242f058 100644
--- a/packages/cherrypick-js/src/autogen/types.ts
+++ b/packages/cherrypick-js/src/autogen/types.ts
@@ -3,8 +3,8 @@
/*
* version: 4.6.0-beta.6
- * basedMisskeyVersion: 2023.12.0
- * generatedAt: 2023-12-24T04:33:15.554Z
+ * basedMisskeyVersion: 2023.12.2
+ * generatedAt: 2024-01-02T08:07:43.859Z
*/
/**
@@ -23,7 +23,7 @@ export type paths = {
* admin/meta
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:meta*
*/
post: operations['admin/meta'];
};
@@ -68,7 +68,7 @@ export type paths = {
* admin/abuse-user-reports
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:abuse-user-reports*
*/
post: operations['admin/abuse-user-reports'];
};
@@ -77,7 +77,7 @@ export type paths = {
* admin/accounts/create
* @description No description provided.
*
- * **Credential required**: *No* / **Permission**: *write:admin*
+ * **Credential required**: *No*
*/
post: operations['admin/accounts/create'];
};
@@ -86,7 +86,7 @@ export type paths = {
* admin/accounts/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:account*
*/
post: operations['admin/accounts/delete'];
};
@@ -95,7 +95,7 @@ export type paths = {
* admin/accounts/find-by-email
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:account*
*/
post: operations['admin/accounts/find-by-email'];
};
@@ -104,7 +104,7 @@ export type paths = {
* admin/ad/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
post: operations['admin/ad/create'];
};
@@ -113,7 +113,7 @@ export type paths = {
* admin/ad/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
post: operations['admin/ad/delete'];
};
@@ -122,7 +122,7 @@ export type paths = {
* admin/ad/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:ad*
*/
post: operations['admin/ad/list'];
};
@@ -131,7 +131,7 @@ export type paths = {
* admin/ad/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
post: operations['admin/ad/update'];
};
@@ -140,7 +140,7 @@ export type paths = {
* admin/announcements/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
post: operations['admin/announcements/create'];
};
@@ -149,7 +149,7 @@ export type paths = {
* admin/announcements/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
post: operations['admin/announcements/delete'];
};
@@ -158,7 +158,7 @@ export type paths = {
* admin/announcements/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:announcements*
*/
post: operations['admin/announcements/list'];
};
@@ -167,7 +167,7 @@ export type paths = {
* admin/announcements/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
post: operations['admin/announcements/update'];
};
@@ -176,7 +176,7 @@ export type paths = {
* admin/avatar-decorations/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
post: operations['admin/avatar-decorations/create'];
};
@@ -185,7 +185,7 @@ export type paths = {
* admin/avatar-decorations/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
post: operations['admin/avatar-decorations/delete'];
};
@@ -194,7 +194,7 @@ export type paths = {
* admin/avatar-decorations/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations*
*/
post: operations['admin/avatar-decorations/list'];
};
@@ -203,7 +203,7 @@ export type paths = {
* admin/avatar-decorations/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
post: operations['admin/avatar-decorations/update'];
};
@@ -212,7 +212,7 @@ export type paths = {
* admin/delete-all-files-of-a-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-all-files-of-a-user*
*/
post: operations['admin/delete-all-files-of-a-user'];
};
@@ -221,7 +221,7 @@ export type paths = {
* admin/unset-user-avatar
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-avatar*
*/
post: operations['admin/unset-user-avatar'];
};
@@ -230,7 +230,7 @@ export type paths = {
* admin/unset-user-banner
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-banner*
*/
post: operations['admin/unset-user-banner'];
};
@@ -239,7 +239,7 @@ export type paths = {
* admin/drive/clean-remote-files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
post: operations['admin/drive/clean-remote-files'];
};
@@ -248,7 +248,7 @@ export type paths = {
* admin/drive/cleanup
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
post: operations['admin/drive/cleanup'];
};
@@ -257,7 +257,7 @@ export type paths = {
* admin/drive/files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
post: operations['admin/drive/files'];
};
@@ -266,7 +266,7 @@ export type paths = {
* admin/drive/show-file
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
post: operations['admin/drive/show-file'];
};
@@ -275,7 +275,7 @@ export type paths = {
* admin/emoji/add-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/add-aliases-bulk'];
};
@@ -284,7 +284,7 @@ export type paths = {
* admin/emoji/add
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/add'];
};
@@ -293,7 +293,7 @@ export type paths = {
* admin/emoji/adds
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/adds'];
};
@@ -302,7 +302,7 @@ export type paths = {
* admin/emoji/copy
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/copy'];
};
@@ -311,7 +311,7 @@ export type paths = {
* admin/emoji/delete-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/delete-bulk'];
};
@@ -320,7 +320,7 @@ export type paths = {
* admin/emoji/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/delete'];
};
@@ -329,7 +329,8 @@ export type paths = {
* admin/emoji/import-zip
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
+ * **Credential required**: *Yes*
*/
post: operations['admin/emoji/import-zip'];
};
@@ -338,7 +339,7 @@ export type paths = {
* admin/emoji/list-remote
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
post: operations['admin/emoji/list-remote'];
};
@@ -347,7 +348,7 @@ export type paths = {
* admin/emoji/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
post: operations['admin/emoji/list'];
};
@@ -356,7 +357,7 @@ export type paths = {
* admin/emoji/remove-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/remove-aliases-bulk'];
};
@@ -365,7 +366,7 @@ export type paths = {
* admin/emoji/set-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/set-aliases-bulk'];
};
@@ -374,7 +375,7 @@ export type paths = {
* admin/emoji/set-category-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/set-category-bulk'];
};
@@ -383,7 +384,7 @@ export type paths = {
* admin/emoji/set-license-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/set-license-bulk'];
};
@@ -392,7 +393,7 @@ export type paths = {
* admin/emoji/steal
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/steal'];
};
@@ -401,7 +402,7 @@ export type paths = {
* admin/emoji/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
post: operations['admin/emoji/update'];
};
@@ -410,7 +411,7 @@ export type paths = {
* admin/federation/delete-all-files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
post: operations['admin/federation/delete-all-files'];
};
@@ -419,7 +420,7 @@ export type paths = {
* admin/federation/refresh-remote-instance-metadata
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
post: operations['admin/federation/refresh-remote-instance-metadata'];
};
@@ -428,7 +429,7 @@ export type paths = {
* admin/federation/remove-all-following
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
post: operations['admin/federation/remove-all-following'];
};
@@ -437,7 +438,7 @@ export type paths = {
* admin/federation/update-instance
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
post: operations['admin/federation/update-instance'];
};
@@ -446,7 +447,7 @@ export type paths = {
* admin/get-index-stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:index-stats*
*/
post: operations['admin/get-index-stats'];
};
@@ -455,7 +456,7 @@ export type paths = {
* admin/get-table-stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:table-stats*
*/
post: operations['admin/get-table-stats'];
};
@@ -464,7 +465,7 @@ export type paths = {
* admin/get-user-ips
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips*
*/
post: operations['admin/get-user-ips'];
};
@@ -473,7 +474,7 @@ export type paths = {
* admin/invite/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
post: operations['admin/invite/create'];
};
@@ -482,7 +483,7 @@ export type paths = {
* admin/invite/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes*
*/
post: operations['admin/invite/list'];
};
@@ -491,7 +492,7 @@ export type paths = {
* admin/invite/revoke
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
post: operations['admin/invite/revoke'];
};
@@ -500,7 +501,7 @@ export type paths = {
* admin/promo/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:promo*
*/
post: operations['admin/promo/create'];
};
@@ -509,7 +510,7 @@ export type paths = {
* admin/queue/clear
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
post: operations['admin/queue/clear'];
};
@@ -518,7 +519,7 @@ export type paths = {
* admin/queue/deliver-delayed
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
post: operations['admin/queue/deliver-delayed'];
};
@@ -527,7 +528,7 @@ export type paths = {
* admin/queue/inbox-delayed
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
post: operations['admin/queue/inbox-delayed'];
};
@@ -536,7 +537,7 @@ export type paths = {
* admin/queue/promote
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
post: operations['admin/queue/promote'];
};
@@ -545,7 +546,7 @@ export type paths = {
* admin/queue/stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
post: operations['admin/queue/stats'];
};
@@ -554,7 +555,7 @@ export type paths = {
* admin/relays/add
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
post: operations['admin/relays/add'];
};
@@ -563,7 +564,7 @@ export type paths = {
* admin/relays/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:relays*
*/
post: operations['admin/relays/list'];
};
@@ -572,7 +573,7 @@ export type paths = {
* admin/relays/remove
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
post: operations['admin/relays/remove'];
};
@@ -581,7 +582,7 @@ export type paths = {
* admin/reset-password
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password*
*/
post: operations['admin/reset-password'];
};
@@ -590,7 +591,7 @@ export type paths = {
* admin/resolve-abuse-user-report
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:resolve-abuse-user-report*
*/
post: operations['admin/resolve-abuse-user-report'];
};
@@ -599,7 +600,7 @@ export type paths = {
* admin/send-email
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:send-email*
*/
post: operations['admin/send-email'];
};
@@ -608,7 +609,7 @@ export type paths = {
* admin/server-info
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:server-info*
*/
post: operations['admin/server-info'];
};
@@ -617,7 +618,7 @@ export type paths = {
* admin/show-moderation-logs
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-moderation-log*
*/
post: operations['admin/show-moderation-logs'];
};
@@ -626,7 +627,7 @@ export type paths = {
* admin/show-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-user*
*/
post: operations['admin/show-user'];
};
@@ -635,7 +636,7 @@ export type paths = {
* admin/show-users
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-users*
*/
post: operations['admin/show-users'];
};
@@ -644,7 +645,7 @@ export type paths = {
* admin/suspend-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user*
*/
post: operations['admin/suspend-user'];
};
@@ -653,7 +654,7 @@ export type paths = {
* admin/unsuspend-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user*
*/
post: operations['admin/unsuspend-user'];
};
@@ -662,7 +663,7 @@ export type paths = {
* admin/update-meta
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:meta*
*/
post: operations['admin/update-meta'];
};
@@ -671,7 +672,7 @@ export type paths = {
* admin/delete-account
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account*
*/
post: operations['admin/delete-account'];
};
@@ -680,7 +681,7 @@ export type paths = {
* admin/update-user-note
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:user-note*
*/
post: operations['admin/update-user-note'];
};
@@ -689,7 +690,7 @@ export type paths = {
* admin/roles/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/create'];
};
@@ -698,7 +699,7 @@ export type paths = {
* admin/roles/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/delete'];
};
@@ -707,7 +708,7 @@ export type paths = {
* admin/roles/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
post: operations['admin/roles/list'];
};
@@ -716,7 +717,7 @@ export type paths = {
* admin/roles/show
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
post: operations['admin/roles/show'];
};
@@ -725,7 +726,7 @@ export type paths = {
* admin/roles/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/update'];
};
@@ -734,7 +735,7 @@ export type paths = {
* admin/roles/assign
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/assign'];
};
@@ -743,7 +744,7 @@ export type paths = {
* admin/roles/unassign
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/unassign'];
};
@@ -752,7 +753,7 @@ export type paths = {
* admin/roles/update-default-policies
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
post: operations['admin/roles/update-default-policies'];
};
@@ -761,7 +762,7 @@ export type paths = {
* admin/roles/users
* @description No description provided.
*
- * **Credential required**: *No* / **Permission**: *read:admin*
+ * **Credential required**: *No* / **Permission**: *read:admin:roles*
*/
post: operations['admin/roles/users'];
};
@@ -833,7 +834,7 @@ export type paths = {
* ap/get
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:federation*
*/
post: operations['ap/get'];
};
@@ -842,7 +843,7 @@ export type paths = {
* ap/show
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['ap/show'];
};
@@ -1583,7 +1584,7 @@ export type paths = {
* federation/update-remote-user
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
post: operations['federation/update-remote-user'];
};
@@ -1856,7 +1857,7 @@ export type paths = {
* i
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i'];
};
@@ -1965,7 +1966,7 @@ export type paths = {
* i/claim-achievement
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['i/claim-achievement'];
};
@@ -2223,7 +2224,7 @@ export type paths = {
* i/registry/get-all
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i/registry/get-all'];
};
@@ -2232,7 +2233,7 @@ export type paths = {
* i/registry/get-detail
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i/registry/get-detail'];
};
@@ -2241,7 +2242,7 @@ export type paths = {
* i/registry/get
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i/registry/get'];
};
@@ -2250,7 +2251,7 @@ export type paths = {
* i/registry/keys-with-type
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i/registry/keys-with-type'];
};
@@ -2259,7 +2260,7 @@ export type paths = {
* i/registry/keys
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['i/registry/keys'];
};
@@ -2268,7 +2269,7 @@ export type paths = {
* i/registry/remove
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['i/registry/remove'];
};
@@ -2287,7 +2288,7 @@ export type paths = {
* i/registry/set
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['i/registry/set'];
};
@@ -2408,7 +2409,7 @@ export type paths = {
* invite/create
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
post: operations['invite/create'];
};
@@ -2417,7 +2418,7 @@ export type paths = {
* invite/delete
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
post: operations['invite/delete'];
};
@@ -2426,7 +2427,7 @@ export type paths = {
* invite/list
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
post: operations['invite/list'];
};
@@ -2435,7 +2436,7 @@ export type paths = {
* invite/limit
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
post: operations['invite/limit'];
};
@@ -2594,7 +2595,7 @@ export type paths = {
* my/apps
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['my/apps'];
};
@@ -2709,7 +2710,7 @@ export type paths = {
* notes/hybrid-timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/hybrid-timeline'];
};
@@ -2727,7 +2728,7 @@ export type paths = {
* notes/mentions
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/mentions'];
};
@@ -2736,7 +2737,7 @@ export type paths = {
* notes/polls/recommendation
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/polls/recommendation'];
};
@@ -2842,7 +2843,7 @@ export type paths = {
* notes/state
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/state'];
};
@@ -2869,7 +2870,7 @@ export type paths = {
* notes/timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/timeline'];
};
@@ -2878,7 +2879,7 @@ export type paths = {
* notes/translate
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/translate'];
};
@@ -2896,7 +2897,7 @@ export type paths = {
* notes/user-list-timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['notes/user-list-timeline'];
};
@@ -3114,7 +3115,7 @@ export type paths = {
* promo/read
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['promo/read'];
};
@@ -3123,7 +3124,7 @@ export type paths = {
* roles/list
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['roles/list'];
};
@@ -3150,7 +3151,7 @@ export type paths = {
* roles/notes
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['roles/notes'];
};
@@ -3211,6 +3212,7 @@ export type paths = {
* sw/show-registration
* @description Check push notification registration exists.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
post: operations['sw/show-registration'];
@@ -3220,6 +3222,7 @@ export type paths = {
* sw/update-registration
* @description Update push notification registration.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
post: operations['sw/update-registration'];
@@ -3229,6 +3232,7 @@ export type paths = {
* sw/register
* @description Register to receive push notifications.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
post: operations['sw/register'];
@@ -3497,7 +3501,7 @@ export type paths = {
* users/lists/favorite
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['users/lists/favorite'];
};
@@ -3506,7 +3510,7 @@ export type paths = {
* users/lists/unfavorite
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['users/lists/unfavorite'];
};
@@ -3524,7 +3528,7 @@ export type paths = {
* users/lists/create-from-public
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
post: operations['users/lists/create-from-public'];
};
@@ -3596,7 +3600,7 @@ export type paths = {
* users/relation
* @description Show the different kinds of relations between the authenticated user and the specified user(s).
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['users/relation'];
};
@@ -3605,7 +3609,7 @@ export type paths = {
* users/report-abuse
* @description File a report.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:report-abuse*
*/
post: operations['users/report-abuse'];
};
@@ -3650,7 +3654,7 @@ export type paths = {
* users/achievements
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
post: operations['users/achievements'];
};
@@ -3668,7 +3672,7 @@ export type paths = {
* users/translate
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
post: operations['users/translate'];
};
@@ -3693,6 +3697,7 @@ export type paths = {
* fetch-external-resources
* @description No description provided.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
post: operations['fetch-external-resources'];
@@ -4714,7 +4719,7 @@ export type operations = {
* admin/meta
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:meta*
*/
'admin/meta': {
responses: {
@@ -4820,6 +4825,7 @@ export type operations = {
maintainerEmail: string | null;
maintainerName: string | null;
name: string | null;
+ shortName: string | null;
objectStorageS3ForcePathStyle: boolean;
objectStorageRemoteS3ForcePathStyle: boolean;
privacyPolicyUrl: string | null;
@@ -5115,7 +5121,7 @@ export type operations = {
* admin/abuse-user-reports
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:abuse-user-reports*
*/
'admin/abuse-user-reports': {
requestBody: {
@@ -5207,7 +5213,7 @@ export type operations = {
* admin/accounts/create
* @description No description provided.
*
- * **Credential required**: *No* / **Permission**: *write:admin*
+ * **Credential required**: *No*
*/
'admin/accounts/create': {
requestBody: {
@@ -5261,7 +5267,7 @@ export type operations = {
* admin/accounts/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:account*
*/
'admin/accounts/delete': {
requestBody: {
@@ -5313,7 +5319,7 @@ export type operations = {
* admin/accounts/find-by-email
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:account*
*/
'admin/accounts/find-by-email': {
requestBody: {
@@ -5366,7 +5372,7 @@ export type operations = {
* admin/ad/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
'admin/ad/create': {
requestBody: {
@@ -5427,7 +5433,7 @@ export type operations = {
* admin/ad/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
'admin/ad/delete': {
requestBody: {
@@ -5479,7 +5485,7 @@ export type operations = {
* admin/ad/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:ad*
*/
'admin/ad/list': {
requestBody: {
@@ -5539,7 +5545,7 @@ export type operations = {
* admin/ad/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:ad*
*/
'admin/ad/update': {
requestBody: {
@@ -5600,7 +5606,7 @@ export type operations = {
* admin/announcements/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
'admin/announcements/create': {
requestBody: {
@@ -5689,7 +5695,7 @@ export type operations = {
* admin/announcements/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
'admin/announcements/delete': {
requestBody: {
@@ -5741,7 +5747,7 @@ export type operations = {
* admin/announcements/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:announcements*
*/
'admin/announcements/list': {
requestBody: {
@@ -5815,7 +5821,7 @@ export type operations = {
* admin/announcements/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:announcements*
*/
'admin/announcements/update': {
requestBody: {
@@ -5878,7 +5884,7 @@ export type operations = {
* admin/avatar-decorations/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
'admin/avatar-decorations/create': {
requestBody: {
@@ -5932,7 +5938,7 @@ export type operations = {
* admin/avatar-decorations/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
'admin/avatar-decorations/delete': {
requestBody: {
@@ -5984,7 +5990,7 @@ export type operations = {
* admin/avatar-decorations/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:avatar-decorations*
*/
'admin/avatar-decorations/list': {
requestBody: {
@@ -6058,7 +6064,7 @@ export type operations = {
* admin/avatar-decorations/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:avatar-decorations*
*/
'admin/avatar-decorations/update': {
requestBody: {
@@ -6114,7 +6120,7 @@ export type operations = {
* admin/delete-all-files-of-a-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-all-files-of-a-user*
*/
'admin/delete-all-files-of-a-user': {
requestBody: {
@@ -6166,7 +6172,7 @@ export type operations = {
* admin/unset-user-avatar
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-avatar*
*/
'admin/unset-user-avatar': {
requestBody: {
@@ -6218,7 +6224,7 @@ export type operations = {
* admin/unset-user-banner
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unset-user-banner*
*/
'admin/unset-user-banner': {
requestBody: {
@@ -6270,7 +6276,7 @@ export type operations = {
* admin/drive/clean-remote-files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
'admin/drive/clean-remote-files': {
responses: {
@@ -6314,7 +6320,7 @@ export type operations = {
* admin/drive/cleanup
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:drive*
*/
'admin/drive/cleanup': {
responses: {
@@ -6358,7 +6364,7 @@ export type operations = {
* admin/drive/files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
'admin/drive/files': {
requestBody: {
@@ -6429,7 +6435,7 @@ export type operations = {
* admin/drive/show-file
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:drive*
*/
'admin/drive/show-file': {
requestBody: {
@@ -6533,7 +6539,7 @@ export type operations = {
* admin/emoji/add-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/add-aliases-bulk': {
requestBody: {
@@ -6585,7 +6591,7 @@ export type operations = {
* admin/emoji/add
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/add': {
requestBody: {
@@ -6645,7 +6651,7 @@ export type operations = {
* admin/emoji/adds
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/adds': {
requestBody: {
@@ -6705,7 +6711,7 @@ export type operations = {
* admin/emoji/copy
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/copy': {
requestBody: {
@@ -6762,7 +6768,7 @@ export type operations = {
* admin/emoji/delete-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/delete-bulk': {
requestBody: {
@@ -6813,7 +6819,7 @@ export type operations = {
* admin/emoji/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/delete': {
requestBody: {
@@ -6865,7 +6871,8 @@ export type operations = {
* admin/emoji/import-zip
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
+ * **Credential required**: *Yes*
*/
'admin/emoji/import-zip': {
requestBody: {
@@ -6917,7 +6924,7 @@ export type operations = {
* admin/emoji/list-remote
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
'admin/emoji/list-remote': {
requestBody: {
@@ -6991,7 +6998,7 @@ export type operations = {
* admin/emoji/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
'admin/emoji/list': {
requestBody: {
@@ -7060,7 +7067,7 @@ export type operations = {
* admin/emoji/remove-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/remove-aliases-bulk': {
requestBody: {
@@ -7112,7 +7119,7 @@ export type operations = {
* admin/emoji/set-aliases-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/set-aliases-bulk': {
requestBody: {
@@ -7164,7 +7171,7 @@ export type operations = {
* admin/emoji/set-category-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/set-category-bulk': {
requestBody: {
@@ -7217,7 +7224,7 @@ export type operations = {
* admin/emoji/set-license-bulk
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/set-license-bulk': {
requestBody: {
@@ -7270,7 +7277,7 @@ export type operations = {
* admin/emoji/steal
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/steal': {
requestBody: {
@@ -7327,7 +7334,7 @@ export type operations = {
* admin/emoji/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:emoji*
*/
'admin/emoji/update': {
requestBody: {
@@ -7389,7 +7396,7 @@ export type operations = {
* admin/federation/delete-all-files
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
'admin/federation/delete-all-files': {
requestBody: {
@@ -7440,7 +7447,7 @@ export type operations = {
* admin/federation/refresh-remote-instance-metadata
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
'admin/federation/refresh-remote-instance-metadata': {
requestBody: {
@@ -7491,7 +7498,7 @@ export type operations = {
* admin/federation/remove-all-following
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
'admin/federation/remove-all-following': {
requestBody: {
@@ -7542,7 +7549,7 @@ export type operations = {
* admin/federation/update-instance
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:federation*
*/
'admin/federation/update-instance': {
requestBody: {
@@ -7594,7 +7601,7 @@ export type operations = {
* admin/get-index-stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:index-stats*
*/
'admin/get-index-stats': {
responses: {
@@ -7643,7 +7650,7 @@ export type operations = {
* admin/get-table-stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:table-stats*
*/
'admin/get-table-stats': {
responses: {
@@ -7689,7 +7696,7 @@ export type operations = {
* admin/get-user-ips
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:user-ips*
*/
'admin/get-user-ips': {
requestBody: {
@@ -7747,7 +7754,7 @@ export type operations = {
* admin/invite/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
'admin/invite/create': {
requestBody: {
@@ -7802,7 +7809,7 @@ export type operations = {
* admin/invite/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:invite-codes*
*/
'admin/invite/list': {
requestBody: {
@@ -7865,7 +7872,7 @@ export type operations = {
* admin/invite/revoke
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:invite-codes*
*/
'admin/invite/revoke': {
responses: {
@@ -7909,7 +7916,7 @@ export type operations = {
* admin/promo/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:promo*
*/
'admin/promo/create': {
requestBody: {
@@ -7962,7 +7969,7 @@ export type operations = {
* admin/queue/clear
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
'admin/queue/clear': {
responses: {
@@ -8006,7 +8013,7 @@ export type operations = {
* admin/queue/deliver-delayed
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
'admin/queue/deliver-delayed': {
responses: {
@@ -8052,7 +8059,7 @@ export type operations = {
* admin/queue/inbox-delayed
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:queue*
*/
'admin/queue/inbox-delayed': {
responses: {
@@ -8098,7 +8105,7 @@ export type operations = {
* admin/queue/promote
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:queue*
*/
'admin/queue/promote': {
requestBody: {
@@ -8150,7 +8157,7 @@ export type operations = {
* admin/queue/stats
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:emoji*
*/
'admin/queue/stats': {
responses: {
@@ -8201,7 +8208,7 @@ export type operations = {
* admin/relays/add
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
'admin/relays/add': {
requestBody: {
@@ -8264,7 +8271,7 @@ export type operations = {
* admin/relays/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:relays*
*/
'admin/relays/list': {
responses: {
@@ -8320,7 +8327,7 @@ export type operations = {
* admin/relays/remove
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:relays*
*/
'admin/relays/remove': {
requestBody: {
@@ -8371,7 +8378,7 @@ export type operations = {
* admin/reset-password
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:reset-password*
*/
'admin/reset-password': {
requestBody: {
@@ -8427,7 +8434,7 @@ export type operations = {
* admin/resolve-abuse-user-report
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:resolve-abuse-user-report*
*/
'admin/resolve-abuse-user-report': {
requestBody: {
@@ -8481,7 +8488,7 @@ export type operations = {
* admin/send-email
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:send-email*
*/
'admin/send-email': {
requestBody: {
@@ -8534,7 +8541,7 @@ export type operations = {
* admin/server-info
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:server-info*
*/
'admin/server-info': {
responses: {
@@ -8604,7 +8611,7 @@ export type operations = {
* admin/show-moderation-logs
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-moderation-log*
*/
'admin/show-moderation-logs': {
requestBody: {
@@ -8675,7 +8682,7 @@ export type operations = {
* admin/show-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-user*
*/
'admin/show-user': {
requestBody: {
@@ -8729,7 +8736,7 @@ export type operations = {
* admin/show-users
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:show-users*
*/
'admin/show-users': {
requestBody: {
@@ -8804,7 +8811,7 @@ export type operations = {
* admin/suspend-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:suspend-user*
*/
'admin/suspend-user': {
requestBody: {
@@ -8856,7 +8863,7 @@ export type operations = {
* admin/unsuspend-user
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:unsuspend-user*
*/
'admin/unsuspend-user': {
requestBody: {
@@ -8908,7 +8915,7 @@ export type operations = {
* admin/update-meta
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:meta*
*/
'admin/update-meta': {
requestBody: {
@@ -9077,7 +9084,7 @@ export type operations = {
* admin/delete-account
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:delete-account*
*/
'admin/delete-account': {
requestBody: {
@@ -9131,7 +9138,7 @@ export type operations = {
* admin/update-user-note
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:user-note*
*/
'admin/update-user-note': {
requestBody: {
@@ -9184,7 +9191,7 @@ export type operations = {
* admin/roles/create
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/create': {
requestBody: {
@@ -9252,7 +9259,7 @@ export type operations = {
* admin/roles/delete
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/delete': {
requestBody: {
@@ -9304,7 +9311,7 @@ export type operations = {
* admin/roles/list
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
'admin/roles/list': {
responses: {
@@ -9350,7 +9357,7 @@ export type operations = {
* admin/roles/show
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *read:admin*
+ * **Credential required**: *Yes* / **Permission**: *read:admin:roles*
*/
'admin/roles/show': {
requestBody: {
@@ -9404,7 +9411,7 @@ export type operations = {
* admin/roles/update
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/update': {
requestBody: {
@@ -9471,7 +9478,7 @@ export type operations = {
* admin/roles/assign
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/assign': {
requestBody: {
@@ -9526,7 +9533,7 @@ export type operations = {
* admin/roles/unassign
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/unassign': {
requestBody: {
@@ -9580,7 +9587,7 @@ export type operations = {
* admin/roles/update-default-policies
* @description No description provided.
*
- * **Credential required**: *Yes* / **Permission**: *write:admin*
+ * **Credential required**: *Yes* / **Permission**: *write:admin:roles*
*/
'admin/roles/update-default-policies': {
requestBody: {
@@ -9631,7 +9638,7 @@ export type operations = {
* admin/roles/users
* @description No description provided.
*
- * **Credential required**: *No* / **Permission**: *read:admin*
+ * **Credential required**: *No* / **Permission**: *read:admin:roles*
*/
'admin/roles/users': {
requestBody: {
@@ -10109,7 +10116,7 @@ export type operations = {
* ap/get
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:federation*
*/
'ap/get': {
requestBody: {
@@ -10168,7 +10175,7 @@ export type operations = {
* ap/show
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'ap/show': {
requestBody: {
@@ -14397,7 +14404,7 @@ export type operations = {
* federation/update-remote-user
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
'federation/update-remote-user': {
requestBody: {
@@ -14524,57 +14531,9 @@ export type operations = {
200: {
content: {
'application/json': {
- topSubInstances: ({
- id?: string;
- firstRetrievedAt?: string;
- host?: string;
- usersCount?: number;
- notesCount?: number;
- followingCount?: number;
- followersCount?: number;
- isNotResponding?: boolean;
- isSuspended?: boolean;
- isBlocked?: boolean;
- softwareName?: string;
- softwareVersion?: string;
- openRegistrations?: boolean;
- name?: string;
- description?: string;
- maintainerName?: string;
- maintainerEmail?: string;
- isSilenced?: boolean;
- iconUrl?: string;
- faviconUrl?: string;
- themeColor?: string;
- infoUpdatedAt?: string | null;
- latestRequestReceivedAt?: string | null;
- })[];
+ topSubInstances: components['schemas']['FederationInstance'][];
otherFollowersCount: number;
- topPubInstances: ({
- id?: string;
- firstRetrievedAt?: string;
- host?: string;
- usersCount?: number;
- notesCount?: number;
- followingCount?: number;
- followersCount?: number;
- isNotResponding?: boolean;
- isSuspended?: boolean;
- isBlocked?: boolean;
- softwareName?: string;
- softwareVersion?: string;
- openRegistrations?: boolean;
- name?: string;
- description?: string;
- maintainerName?: string;
- maintainerEmail?: string;
- isSilenced?: boolean;
- iconUrl?: string;
- faviconUrl?: string;
- themeColor?: string;
- infoUpdatedAt?: string | null;
- latestRequestReceivedAt?: string | null;
- })[];
+ topPubInstances: components['schemas']['FederationInstance'][];
otherFollowingCount: number;
};
};
@@ -16030,7 +15989,7 @@ export type operations = {
* i
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
i: {
responses: {
@@ -16683,7 +16642,7 @@ export type operations = {
* i/claim-achievement
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'i/claim-achievement': {
requestBody: {
@@ -18185,7 +18144,7 @@ export type operations = {
* i/registry/get-all
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'i/registry/get-all': {
requestBody: {
@@ -18240,7 +18199,7 @@ export type operations = {
* i/registry/get-detail
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'i/registry/get-detail': {
requestBody: {
@@ -18296,7 +18255,7 @@ export type operations = {
* i/registry/get
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'i/registry/get': {
requestBody: {
@@ -18352,7 +18311,7 @@ export type operations = {
* i/registry/keys-with-type
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'i/registry/keys-with-type': {
requestBody: {
@@ -18407,7 +18366,7 @@ export type operations = {
* i/registry/keys
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'i/registry/keys': {
requestBody: {
@@ -18460,7 +18419,7 @@ export type operations = {
* i/registry/remove
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'i/registry/remove': {
requestBody: {
@@ -18564,7 +18523,7 @@ export type operations = {
* i/registry/set
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'i/registry/set': {
requestBody: {
@@ -19384,7 +19343,7 @@ export type operations = {
* invite/create
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
'invite/create': {
responses: {
@@ -19430,7 +19389,7 @@ export type operations = {
* invite/delete
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:invite-codes*
*/
'invite/delete': {
requestBody: {
@@ -19482,7 +19441,7 @@ export type operations = {
* invite/list
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
'invite/list': {
requestBody: {
@@ -19540,7 +19499,7 @@ export type operations = {
* invite/limit
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:invite-codes*
*/
'invite/limit': {
responses: {
@@ -19939,11 +19898,18 @@ export type operations = {
iconUrl: string | null;
maxNoteTextLength: number;
ads: {
- place: string;
+ /**
+ * Format: id
+ * @example xxxxxxxxxx
+ */
+ id: string;
/** Format: url */
url: string;
+ place: string;
+ ratio: number;
/** Format: url */
imageUrl: string;
+ dayOfWeek: number;
}[];
/** @default 0 */
notesPerOneAd: number;
@@ -20509,7 +20475,7 @@ export type operations = {
* my/apps
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'my/apps': {
requestBody: {
@@ -21267,7 +21233,7 @@ export type operations = {
* notes/hybrid-timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/hybrid-timeline': {
requestBody: {
@@ -21413,7 +21379,7 @@ export type operations = {
* notes/mentions
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/mentions': {
requestBody: {
@@ -21474,7 +21440,7 @@ export type operations = {
* notes/polls/recommendation
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/polls/recommendation': {
requestBody: {
@@ -22160,7 +22126,7 @@ export type operations = {
* notes/state
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/state': {
requestBody: {
@@ -22327,7 +22293,7 @@ export type operations = {
* notes/timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/timeline': {
requestBody: {
@@ -22401,7 +22367,7 @@ export type operations = {
* notes/translate
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/translate': {
requestBody: {
@@ -22417,7 +22383,10 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record;
+ 'application/json': {
+ sourceLang: string;
+ text: string;
+ };
};
};
/** @description Client error */
@@ -22514,7 +22483,7 @@ export type operations = {
* notes/user-list-timeline
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'notes/user-list-timeline': {
requestBody: {
@@ -23870,7 +23839,7 @@ export type operations = {
* promo/read
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'promo/read': {
requestBody: {
@@ -23922,7 +23891,7 @@ export type operations = {
* roles/list
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'roles/list': {
responses: {
@@ -24086,7 +24055,7 @@ export type operations = {
* roles/notes
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'roles/notes': {
requestBody: {
@@ -24415,6 +24384,7 @@ export type operations = {
* sw/show-registration
* @description Check push notification registration exists.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
'sw/show-registration': {
@@ -24476,6 +24446,7 @@ export type operations = {
* sw/update-registration
* @description Update push notification registration.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
'sw/update-registration': {
@@ -24534,6 +24505,7 @@ export type operations = {
* sw/register
* @description Register to receive push notifications.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
'sw/register': {
@@ -26170,7 +26142,7 @@ export type operations = {
* users/lists/favorite
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'users/lists/favorite': {
requestBody: {
@@ -26222,7 +26194,7 @@ export type operations = {
* users/lists/unfavorite
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'users/lists/unfavorite': {
requestBody: {
@@ -26330,7 +26302,7 @@ export type operations = {
* users/lists/create-from-public
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:account*
*/
'users/lists/create-from-public': {
requestBody: {
@@ -26823,7 +26795,7 @@ export type operations = {
* users/relation
* @description Show the different kinds of relations between the authenticated user and the specified user(s).
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'users/relation': {
requestBody: {
@@ -26898,7 +26870,7 @@ export type operations = {
* users/report-abuse
* @description File a report.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *write:report-abuse*
*/
'users/report-abuse': {
requestBody: {
@@ -27207,7 +27179,7 @@ export type operations = {
* users/achievements
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *No*
*/
'users/achievements': {
requestBody: {
@@ -27318,7 +27290,7 @@ export type operations = {
* users/translate
* @description No description provided.
*
- * **Credential required**: *Yes*
+ * **Credential required**: *Yes* / **Permission**: *read:account*
*/
'users/translate': {
requestBody: {
@@ -27334,7 +27306,10 @@ export type operations = {
/** @description OK (with results) */
200: {
content: {
- 'application/json': Record;
+ 'application/json': {
+ sourceLang: string;
+ text: string;
+ };
};
};
/** @description Client error */
@@ -27428,6 +27403,7 @@ export type operations = {
* fetch-external-resources
* @description No description provided.
*
+ * **Internal Endpoint**: This endpoint is an API for the cherrypick mainframe and is not intended for use by third parties.
* **Credential required**: *Yes*
*/
'fetch-external-resources': {
diff --git a/packages/cherrypick-js/src/consts.ts b/packages/cherrypick-js/src/consts.ts
index e769bb9e6d..0e446c1215 100644
--- a/packages/cherrypick-js/src/consts.ts
+++ b/packages/cherrypick-js/src/consts.ts
@@ -45,7 +45,55 @@ export const permissions = [
'write:flash',
'read:flash-likes',
'write:flash-likes',
-];
+ 'read:admin:abuse-user-reports',
+ 'write:admin:delete-account',
+ 'write:admin:delete-all-files-of-a-user',
+ 'read:admin:index-stats',
+ 'read:admin:table-stats',
+ 'read:admin:user-ips',
+ 'read:admin:meta',
+ 'write:admin:reset-password',
+ 'write:admin:resolve-abuse-user-report',
+ 'write:admin:send-email',
+ 'read:admin:server-info',
+ 'read:admin:show-moderation-log',
+ 'read:admin:show-user',
+ 'read:admin:show-users',
+ 'write:admin:suspend-user',
+ 'write:admin:unset-user-avatar',
+ 'write:admin:unset-user-banner',
+ 'write:admin:unsuspend-user',
+ 'write:admin:meta',
+ 'write:admin:user-note',
+ 'write:admin:roles',
+ 'read:admin:roles',
+ 'write:admin:relays',
+ 'read:admin:relays',
+ 'write:admin:invite-codes',
+ 'read:admin:invite-codes',
+ 'write:admin:announcements',
+ 'read:admin:announcements',
+ 'write:admin:avatar-decorations',
+ 'read:admin:avatar-decorations',
+ 'write:admin:federation',
+ 'write:admin:account',
+ 'read:admin:account',
+ 'write:admin:emoji',
+ 'read:admin:emoji',
+ 'write:admin:queue',
+ 'read:admin:queue',
+ 'write:admin:promo',
+ 'write:admin:drive',
+ 'read:admin:drive',
+ 'write:admin:ad',
+ 'read:admin:ad',
+ 'write:invite-codes',
+ 'read:invite-codes',
+ 'write:clip-favorite',
+ 'read:clip-favorite',
+ 'read:federation',
+ 'write:report-abuse',
+] as const;
export const moderationLogTypes = [
'updateServerSettings',
diff --git a/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts
index 31301ffb12..6678730639 100644
--- a/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts
+++ b/packages/frontend/lib/rollup-plugin-unwind-css-module-class-name.test.ts
@@ -6,7 +6,7 @@
import { parse } from 'acorn';
import { generate } from 'astring';
import { describe, expect, it } from 'vitest';
-import { normalizeClass, unwindCssModuleClassName } from './rollup-plugin-unwind-css-module-class-name';
+import { normalizeClass, unwindCssModuleClassName } from './rollup-plugin-unwind-css-module-class-name.js';
import type * as estree from 'estree';
function parseExpression(code: string): estree.Expression {
diff --git a/packages/frontend/src/components/MkAbuseReport.stories.impl.ts b/packages/frontend/src/components/MkAbuseReport.stories.impl.ts
index 41457b4de9..ca6f0ed532 100644
--- a/packages/frontend/src/components/MkAbuseReport.stories.impl.ts
+++ b/packages/frontend/src/components/MkAbuseReport.stories.impl.ts
@@ -7,8 +7,8 @@
import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw';
-import { abuseUserReport } from '../../.storybook/fakes';
-import { commonHandlers } from '../../.storybook/mocks';
+import { abuseUserReport } from '../../.storybook/fakes.js';
+import { commonHandlers } from '../../.storybook/mocks.js';
import MkAbuseReport from './MkAbuseReport.vue';
export const Default = {
render(args) {
diff --git a/packages/frontend/src/components/MkAbuseReportWindow.stories.impl.ts b/packages/frontend/src/components/MkAbuseReportWindow.stories.impl.ts
index c2761a0635..2d1d884b64 100644
--- a/packages/frontend/src/components/MkAbuseReportWindow.stories.impl.ts
+++ b/packages/frontend/src/components/MkAbuseReportWindow.stories.impl.ts
@@ -7,8 +7,8 @@
import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw';
-import { userDetailed } from '../../.storybook/fakes';
-import { commonHandlers } from '../../.storybook/mocks';
+import { userDetailed } from '../../.storybook/fakes.js';
+import { commonHandlers } from '../../.storybook/mocks.js';
import MkAbuseReportWindow from './MkAbuseReportWindow.vue';
export const Default = {
render(args) {
diff --git a/packages/frontend/src/components/MkAccountMoved.stories.impl.ts b/packages/frontend/src/components/MkAccountMoved.stories.impl.ts
index b99b69698b..aac2d5a1dc 100644
--- a/packages/frontend/src/components/MkAccountMoved.stories.impl.ts
+++ b/packages/frontend/src/components/MkAccountMoved.stories.impl.ts
@@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3';
-import { userDetailed } from '../../.storybook/fakes';
+import { userDetailed } from '../../.storybook/fakes.js';
import MkAccountMoved from './MkAccountMoved.vue';
export const Default = {
render(args) {
diff --git a/packages/frontend/src/components/MkAchievements.stories.impl.ts b/packages/frontend/src/components/MkAchievements.stories.impl.ts
index be608f150e..7f6187641b 100644
--- a/packages/frontend/src/components/MkAchievements.stories.impl.ts
+++ b/packages/frontend/src/components/MkAchievements.stories.impl.ts
@@ -6,8 +6,8 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw';
-import { userDetailed } from '../../.storybook/fakes';
-import { commonHandlers } from '../../.storybook/mocks';
+import { userDetailed } from '../../.storybook/fakes.js';
+import { commonHandlers } from '../../.storybook/mocks.js';
import MkAchievements from './MkAchievements.vue';
import { ACHIEVEMENT_TYPES } from '@/scripts/achievements.js';
export const Empty = {
diff --git a/packages/frontend/src/components/MkAchievements.vue b/packages/frontend/src/components/MkAchievements.vue
index b4aa8d64b4..0d44476cb5 100644
--- a/packages/frontend/src/components/MkAchievements.vue
+++ b/packages/frontend/src/components/MkAchievements.vue
@@ -67,7 +67,7 @@ const props = withDefaults(defineProps<{
withDescription: true,
});
-const achievements = ref();
+const achievements = ref(null);
const lockedAchievements = computed(() => ACHIEVEMENT_TYPES.filter(x => !(achievements.value ?? []).some(a => a.name === x)));
function fetch() {
diff --git a/packages/frontend/src/components/MkAsUi.vue b/packages/frontend/src/components/MkAsUi.vue
index bfb66b59a5..93ae9e4553 100644
--- a/packages/frontend/src/components/MkAsUi.vue
+++ b/packages/frontend/src/components/MkAsUi.vue
@@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ c.text }}
-
+
{{ c.text }}
{{ button.text }}
diff --git a/packages/frontend/src/components/MkAutocomplete.stories.impl.ts b/packages/frontend/src/components/MkAutocomplete.stories.impl.ts
index 1a4ad78da6..7b4f553013 100644
--- a/packages/frontend/src/components/MkAutocomplete.stories.impl.ts
+++ b/packages/frontend/src/components/MkAutocomplete.stories.impl.ts
@@ -9,8 +9,8 @@ import { expect } from '@storybook/jest';
import { userEvent, waitFor, within } from '@storybook/testing-library';
import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw';
-import { userDetailed } from '../../.storybook/fakes';
-import { commonHandlers } from '../../.storybook/mocks';
+import { userDetailed } from '../../.storybook/fakes.js';
+import { commonHandlers } from '../../.storybook/mocks.js';
import MkAutocomplete from './MkAutocomplete.vue';
import MkInput from './MkInput.vue';
import { tick } from '@/scripts/test-utils.js';
diff --git a/packages/frontend/src/components/MkAvatars.stories.impl.ts b/packages/frontend/src/components/MkAvatars.stories.impl.ts
index f0a4152968..69963e9151 100644
--- a/packages/frontend/src/components/MkAvatars.stories.impl.ts
+++ b/packages/frontend/src/components/MkAvatars.stories.impl.ts
@@ -6,8 +6,8 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw';
-import { userDetailed } from '../../.storybook/fakes';
-import { commonHandlers } from '../../.storybook/mocks';
+import { userDetailed } from '../../.storybook/fakes.js';
+import { commonHandlers } from '../../.storybook/mocks.js';
import MkAvatars from './MkAvatars.vue';
export const Default = {
render(args) {
diff --git a/packages/frontend/src/components/MkCaptcha.vue b/packages/frontend/src/components/MkCaptcha.vue
index 07bb85af06..319f8363b0 100644
--- a/packages/frontend/src/components/MkCaptcha.vue
+++ b/packages/frontend/src/components/MkCaptcha.vue
@@ -26,7 +26,7 @@ export type Captcha = {
getResponse(id: string): string;
};
-type CaptchaProvider = 'hcaptcha' | 'recaptcha' | 'turnstile';
+export type CaptchaProvider = 'hcaptcha' | 'recaptcha' | 'turnstile';
type CaptchaContainer = {
readonly [_ in CaptchaProvider]?: Captcha;
diff --git a/packages/frontend/src/components/MkContextMenu.vue b/packages/frontend/src/components/MkContextMenu.vue
index 361c1ce4ce..84172dcfb6 100644
--- a/packages/frontend/src/components/MkContextMenu.vue
+++ b/packages/frontend/src/components/MkContextMenu.vue
@@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only