diff --git a/.changeset/lemon-seals-buy.md b/.changeset/lemon-seals-buy.md
new file mode 100644
index 000000000..5ab1f8f35
--- /dev/null
+++ b/.changeset/lemon-seals-buy.md
@@ -0,0 +1,5 @@
+---
+"@khanacademy/wonder-blocks-core": major
+---
+
+Delete the custom identifier generation API
diff --git a/__docs__/wonder-blocks-core/id-provider.stories.tsx b/__docs__/wonder-blocks-core/id-provider.stories.tsx
deleted file mode 100644
index 073a23114..000000000
--- a/__docs__/wonder-blocks-core/id-provider.stories.tsx
+++ /dev/null
@@ -1,92 +0,0 @@
-/* eslint-disable import/no-deprecated */
-import * as React from "react";
-import type {Meta, StoryObj} from "@storybook/react";
-
-import {IDProvider, View} from "@khanacademy/wonder-blocks-core";
-import packageConfig from "../../packages/wonder-blocks-core/package.json";
-
-import ComponentInfo from "../../.storybook/components/component-info";
-
-export default {
- title: "Packages / Core / IDProvider",
- component: IDProvider,
- args: {
- scope: "field",
- id: "",
- testId: "",
- },
- parameters: {
- componentSubtitle: (
-
- ),
- docs: {
- description: {
- component: null,
- },
- source: {
- // See https://github.com/storybookjs/storybook/issues/12596
- excludeDecorators: true,
- },
- },
- },
- decorators: [(Story): React.ReactElement => {Story()}],
-} as Meta;
-
-type StoryComponentType = StoryObj;
-
-export const Default: StoryComponentType = {
- render: (args) => (
-
- {(uniqueId) => (
-
- )}
-
- ),
-};
-
-export const WithFormFields: StoryComponentType = () => (
-
- {(uniqueId) => (
-
- )}
-
-);
-
-WithFormFields.parameters = {
- docs: {
- description: {
- story: "This example allows you to generate an unique ID and make it available to associate the `