diff --git a/packages/backend/src/server/api/mastodon/ApiMastodonCompatibleService.ts b/packages/backend/src/server/api/mastodon/ApiMastodonCompatibleService.ts
index 48eeec79c..5374f5077 100644
--- a/packages/backend/src/server/api/mastodon/ApiMastodonCompatibleService.ts
+++ b/packages/backend/src/server/api/mastodon/ApiMastodonCompatibleService.ts
@@ -62,6 +62,34 @@ export function apiMastodonCompatible(router: Router): void {
 		}
 	});
 
+	router.get("/v1/announcements", async (ctx) => {
+		const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
+		const accessTokens = ctx.request.headers.authorization;
+		const client = getClient(BASE_URL, accessTokens);
+		try {
+			const data = await client.getInstanceAnnouncements();
+			ctx.body = data.data;
+		} catch (e: any) {
+			console.error(e);
+			ctx.status = 401;
+			ctx.body = e.response.data;
+		}
+	});
+
+	router.post<{ Params: { id: string } }>("/v1/announcements/:id/dismiss", async (ctx) => {
+		const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
+		const accessTokens = ctx.request.headers.authorization;
+		const client = getClient(BASE_URL, accessTokens);
+		try {
+			const data = await client.dismissInstanceAnnouncement(ctx.params.id);
+			ctx.body = data.data;
+		} catch (e: any) {
+			console.error(e);
+			ctx.status = 401;
+			ctx.body = e.response.data;
+		}
+	});
+
 	router.get("/v1/filters", async (ctx) => {
 		const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
 		const accessTokens = ctx.request.headers.authorization;