Bug: update open api spec for create platform api




diff --git a/crates/api_models/src/user.rs b/crates/api_models/src/user.rs
index 47608532b54..82d10a16215 100644
--- a/crates/api_models/src/user.rs
+++ b/crates/api_models/src/user.rs
@@ -3,6 +3,7 @@ use std::fmt::Debug;
 use common_enums::{EntityType, TokenPurpose};
 use common_utils::{crypto::OptionalEncryptableName, id_type, pii};
 use masking::Secret;
+use utoipa::ToSchema;
 
 use crate::user_role::UserStatus;
 pub mod dashboard_metadata;
@@ -150,17 +151,24 @@ pub struct UserOrgMerchantCreateRequest {
     pub merchant_name: Secret<String>,
 }
 
-#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
+#[derive(Debug, serde::Deserialize, serde::Serialize, Clone, ToSchema)]
 pub struct PlatformAccountCreateRequest {
+    #[schema(max_length = 64, value_type = String, example = "organization_abc")]
     pub organization_name: Secret<String>,
 }
 
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+#[derive(Debug, serde::Deserialize, serde::Serialize, ToSchema)]
 pub struct PlatformAccountCreateResponse {
+    #[schema(value_type = String, max_length = 64, min_length = 1, example = "org_abc")]
     pub org_id: id_type::OrganizationId,
+    #[schema(value_type = Option<String>, example = "organization_abc")]
     pub org_name: Option<String>,
+
+    #[schema(value_type = OrganizationType, example = "standard")]
     pub org_type: common_enums::OrganizationType,
+    #[schema(value_type = String, example = "merchant_abc")]
     pub merchant_id: id_type::MerchantId,
+    #[schema(value_type = MerchantAccountType, example = "standard")]
     pub merchant_account_type: common_enums::MerchantAccountType,
 }
 
diff --git a/crates/openapi/src/openapi.rs b/crates/openapi/src/openapi.rs
index 54b004e32ba..a5e0a6d95c6 100644
--- a/crates/openapi/src/openapi.rs
+++ b/crates/openapi/src/openapi.rs
@@ -213,6 +213,9 @@ Never share your secret api keys. Keep them guarded and secure.
 
         // Routes for authentication
         routes::authentication::authentication_create,
+
+        // Routes for platform account
+        routes::platform::create_platform_account,
     ),
     components(schemas(
         common_utils::types::MinorUnit,
@@ -362,8 +365,8 @@ Never share your secret api keys. Keep them guarded and secure.
         api_models::enums::MerchantProductType,
         api_models::enums::CtpServiceProvider,
         api_models::enums::PaymentLinkSdkLabelType,
-        api_models::enums::PaymentLinkShowSdkTerms,
         api_models::enums::OrganizationType,
+        api_models::enums::PaymentLinkShowSdkTerms,
         api_models::admin::MerchantConnectorCreate,
         api_models::admin::AdditionalMerchantData,
         api_models::admin::ConnectorWalletDetails,
@@ -806,6 +809,8 @@ Never share your secret api keys. Keep them guarded and secure.
         api_models::authentication::ThreeDsData,
         api_models::authentication::AuthenticationEligibilityRequest,
         api_models::authentication::AuthenticationEligibilityResponse,
+        api_models::user::PlatformAccountCreateRequest,
+        api_models::user::PlatformAccountCreateResponse,
     )),
     modifiers(&SecurityAddon)
 )]
diff --git a/crates/openapi/src/routes.rs b/crates/openapi/src/routes.rs
index 50c7db98ab3..7dcdf60571f 100644
--- a/crates/openapi/src/routes.rs
+++ b/crates/openapi/src/routes.rs
@@ -14,6 +14,7 @@ pub mod payment_link;
 pub mod payment_method;
 pub mod payments;
 pub mod payouts;
+pub mod platform;
 pub mod poll;
 pub mod profile;
 pub mod profile_acquirer;
diff --git a/crates/openapi/src/routes/platform.rs b/crates/openapi/src/routes/platform.rs
new file mode 100644
index 00000000000..6dc04076e51
--- /dev/null
+++ b/crates/openapi/src/routes/platform.rs
@@ -0,0 +1,26 @@
+#[cfg(feature = "v1")]
+/// Platform - Create
+///
+/// Create a new platform account
+#[utoipa::path(
+    post,
+    path = "/create_platform",
+    request_body(
+        content = PlatformAccountCreateRequest,
+        examples(
+            (
+                "Create a platform account with organization_name" = (
+                    value = json!({"organization_name": "organization_abc"})
+                )
+            ),
+        )
+    ),
+    responses(
+        (status = 200, description = "Platform Account Created", body = PlatformAccountCreateResponse),
+        (status = 400, description = "Invalid data")
+    ),
+    tag = "Platform",
+    operation_id = "Create a Platform Account",
+    security(("jwt_key" = []))
+)]
+pub async fn create_platform_account() {}

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [x] Documentation
- [ ] CI/CD

## Description
- generated open api spec for create platform api
<img width="3182" height="2040" alt="image" src="https://github.com/user-attachments/assets/1373cff4-640d-4a4f-8b21-2fdb50a340e4" />



### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Following are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->


## How did you test it?
- I run the `mint dev` command to check if the platform create api is reflecting in the api reference docs after these changes 
- Refer the attached screenshot


## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
