From 9d2905580858468e2260e6391eb9c6734e8b8fcb Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Wed, 18 Feb 2026 17:12:24 -0500 Subject: [PATCH] feat: replace admin API settings page with link to API docs (#28046) * feat: replace admin API settings page with link to API docs Co-Authored-By: joe@cal.com * chore: remove unused AdminAPIView component Co-Authored-By: joe@cal.com * feat: rename admin API tab to API Docs Co-Authored-By: joe@cal.com --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../SettingsLayoutAppDirClient.tsx | 15 ++--- .../organizations/admin-api/page.tsx | 32 +--------- .../modules/ee/organizations/admin-api.tsx | 59 ------------------- apps/web/public/static/locales/en/common.json | 1 + 4 files changed, 12 insertions(+), 95 deletions(-) delete mode 100644 apps/web/modules/ee/organizations/admin-api.tsx diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/SettingsLayoutAppDirClient.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/SettingsLayoutAppDirClient.tsx index 2f12e25d6d..9006b6b94f 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/SettingsLayoutAppDirClient.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/SettingsLayoutAppDirClient.tsx @@ -154,9 +154,10 @@ const getTabs = (orgBranding: OrganizationBranding | null) => { trackingMetadata: { section: "developer", page: "api_keys" }, }, { - name: "admin_api", - href: "/settings/organizations/admin-api", - trackingMetadata: { section: "developer", page: "admin_api" }, + name: "api_docs", + href: "https://cal.com/docs/api-reference/v2/introduction", + isExternalLink: true, + trackingMetadata: { section: "developer", page: "api_docs" }, }, // TODO: Add profile level for embeds // { name: "embeds", href: "/v2/settings/developer/embeds" }, @@ -206,10 +207,10 @@ const getTabs = (orgBranding: OrganizationBranding | null) => { trackingMetadata: { section: "organization", page: "directory_sync" }, }, { - name: "admin_api", - href: "https://cal.com/docs/enterprise-features/api/api-reference/bookings#admin-access", + name: "api_docs", + href: "https://cal.com/docs/api-reference/v2/introduction", isExternalLink: true, - trackingMetadata: { section: "organization", page: "admin_api" }, + trackingMetadata: { section: "organization", page: "api_docs" }, }, ...(HAS_ORG_OPT_IN_FEATURES ? [ @@ -450,7 +451,7 @@ const useTabs = ({ return { ...tab, children: filtered }; } else if (tab.href === "/settings/developer") { const filtered = tab?.children?.filter( - (childTab) => permissions?.canUpdateOrganization || childTab.name !== "admin_api" + (childTab) => permissions?.canUpdateOrganization || childTab.name !== "api_docs" ); return { ...tab, children: filtered }; } diff --git a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/admin-api/page.tsx b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/admin-api/page.tsx index e223d0af22..89c151a01a 100644 --- a/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/admin-api/page.tsx +++ b/apps/web/app/(use-page-wrapper)/settings/(settings-layout)/organizations/admin-api/page.tsx @@ -1,33 +1,7 @@ -import { getTranslate, _generateMetadata } from "app/_utils"; +import { redirect } from "next/navigation"; -import SettingsHeader from "@calcom/features/settings/appDir/SettingsHeader"; - -import { AdminAPIView } from "~/ee/organizations/admin-api"; - -import { validateUserHasOrg } from "../actions/validateUserHasOrg"; - -export const generateMetadata = async () => - await _generateMetadata( - (t) => `${t("admin")} ${t("api_reference")}`, - (t) => t("leverage_our_api"), - undefined, - undefined, - "/settings/organizations/admin-api" - ); - -const Page = async () => { - const t = await getTranslate(); - - await validateUserHasOrg(); - - return ( - - - - ); +const Page = () => { + redirect("https://cal.com/docs/api-reference/v2/introduction"); }; export default Page; diff --git a/apps/web/modules/ee/organizations/admin-api.tsx b/apps/web/modules/ee/organizations/admin-api.tsx deleted file mode 100644 index c1b646ea67..0000000000 --- a/apps/web/modules/ee/organizations/admin-api.tsx +++ /dev/null @@ -1,59 +0,0 @@ -"use client"; - -import LicenseRequired from "~/ee/common/components/LicenseRequired"; -import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Button } from "@calcom/ui/components/button"; -import { ButtonGroup } from "@calcom/ui/components/buttonGroup"; -import { FolderIcon, SparklesIcon, TerminalIcon } from "@coss/ui/icons"; - -import { UpgradeTip } from "~/shell/UpgradeTip"; - -export const AdminAPIView = () => { - const { t } = useLocale(); - - const features = [ - { - icon: , - title: t("admin_api"), - description: t("leverage_our_api"), - }, - { - icon: , - title: `SCIM & ${t("directory_sync")}`, - description: t("directory_sync_description"), - }, - { - icon: , - title: "Cal.ai", - description: t("use_cal_ai_to_make_call_description"), - }, - ]; - return ( - -
- - - - - -
- }> - <>Create Org - - -
- ); -}; - -export default AdminAPIView; diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 8890fa4355..4b0816df03 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -816,6 +816,7 @@ "owner": "Owner", "admin": "Admin", "admin_api": "Admin API", + "api_docs": "API Docs", "administrator_user": "Administrator user", "lets_create_first_administrator_user": "Let's create the first administrator user.", "admin_user_created": "Administrator user setup",