diff --git a/.changeset/nasty-radios-brake.md b/.changeset/nasty-radios-brake.md
new file mode 100644
index 000000000..b952048e6
--- /dev/null
+++ b/.changeset/nasty-radios-brake.md
@@ -0,0 +1,6 @@
+---
+'@gitbook/react-openapi': patch
+'gitbook': patch
+---
+
+Add OpenAPI write-only indicator
diff --git a/packages/gitbook/src/components/DocumentView/OpenAPI/style.css b/packages/gitbook/src/components/DocumentView/OpenAPI/style.css
index 58e4ebcd8..f42c0ef51 100644
--- a/packages/gitbook/src/components/DocumentView/OpenAPI/style.css
+++ b/packages/gitbook/src/components/DocumentView/OpenAPI/style.css
@@ -209,6 +209,10 @@
@apply text-primary-subtle/9 text-[0.813rem];
}
+.openapi-schema-writeonly {
+ @apply text-success dark:text-success-subtle/9 text-[0.813rem];
+}
+
.openapi-schema-type {
@apply text-tint select-text text-[0.813rem] font-mono [word-spacing:-0.25rem];
}
diff --git a/packages/react-openapi/src/OpenAPISchemaName.tsx b/packages/react-openapi/src/OpenAPISchemaName.tsx
index 8883d7061..1c66cd352 100644
--- a/packages/react-openapi/src/OpenAPISchemaName.tsx
+++ b/packages/react-openapi/src/OpenAPISchemaName.tsx
@@ -32,6 +32,9 @@ export function OpenAPISchemaName(props: OpenAPISchemaNameProps) {
) : null}
{schema?.readOnly ? read-only : null}
+ {schema?.writeOnly ? (
+ write-only
+ ) : null}
{required ? (
required
) : (