diff --git a/README.md b/README.md
index b2acb39..982b8bb 100644
--- a/README.md
+++ b/README.md
@@ -1,482 +1,45 @@
-# Infisical Java SDK
-
-The Infisical SDK provides a convenient way to interact with the Infisical API.
-
-## Installation
-
-Replace `{version}` with the version of the SDK you wish to use. This documentation covers version >=3.0.0.
-
-### Maven
-
-```xml
-
- com.infisical
- sdk
- {version}
-
-```
-
-### Gradle
-```gradle
- implementation group: 'com.infisical', name: 'sdk', version: '{version}'
-```
-
-
-### Others
-For other build tools, please check our [package snippets](https://central.sonatype.com/artifact/com.infisical/sdk), and select the build tool you're using for your project.
-
-
-
-## Getting Started
-
-```java
-package com.example.example;
-
-import com.infisical.sdk.InfisicalSdk;
-
-public class Example {
-
- public static void main(String[] args) {
- var sdk = new InfisicalSdk(
- new SdkConfig.Builder()
- // Optional, will default to https://app.infisical.com
- .withSiteUrl("https://your-infisical-instance.com")
- .build()
- );
-
- sdk.Auth().UniversalAuthLogin(
- "CLIENT_ID",
- "CLIENT_SECRET"
- );
-
- var secret = sdk.Secrets().GetSecret(
- "",
- "",
- "",
- "",
- null, // Expand Secret References (boolean, optional)
- null, // Include Imports (boolean, optional)
- null // Secret Type (shared/personal, defaults to shared, optional)
- );
-
-
- System.out.println(secret);
- }
-}
-```
-
-## Core Methods
-
-The SDK methods are organized into the following high-level categories:
-
-1. `Auth()`: Handles authentication methods.
-2. `Secrets()`: Manages CRUD operations for secrets.
-
-### `Auth`
-
-The `Auth` component provides methods for authentication:
-
-### Universal Auth
-
-#### Authenticating
-
-```java
-public void UniversalAuthLogin(
- String clientId,
- String clientSecret
-)
-throws InfisicalException
-```
-
-```java
-sdk.Auth().UniversalAuthLogin(
- "CLIENT_ID",
- "CLIENT_SECRET"
-);
-```
-
-
-**Parameters:**
-- `clientId` (string): The client ID of your Machine Identity.
-- `clientSecret` (string): The client secret of your Machine Identity.
-
-### LDAP Auth
-
-```java
-public void LdapAuthLogin(
- LdapAuthLoginInput input
-)
-throws InfisicalException
-```
-
-```java
-var input = LdapAuthLoginInput
- .builder()
- .identityId("")
- .username("")
- .password("")
- .build();
-
-sdk.Auth().LdapAuthLogin(input);
-```
-
-**Parameters:**
-- `input` (LdapAuthLoginInput): The input for authenticating with LDAP.
- - `identityId` (String): The ID of the machine identity to authenticate with.
- - `username` (String): The LDAP username.
- - `password` (String): The LDAP password.
-
-### Access Token Auth
-
-#### Authenticating
-
-```java
-public void SetAccessToken(
- String accessToken
-)
-throws InfisicalException
-```
-
-```java
-sdk.Auth().SetAccessToken("ACCESS_TOKEN");
-```
-
-**Parameters:**
-- `accessToken` (string): The access token you want to use for authentication.
-
-### `Secrets`
-
-This sub-class handles operations related to secrets:
-
-#### List Secrets
-
-```java
-public List ListSecrets(
- String projectId,
- String environmentSlug,
- String secretPath,
- Boolean expandSecretReferences,
- Boolean recursive,
- Boolean includeImports,
- Boolean setSecretsOnSystemProperties
-)
-
-throws InfisicalException
-```
-
-```java
-List secrets = await sdk.Secrets().ListSecrets(
- "",
- "", // dev, prod, staging, etc.
- "/secret/path", // `/` is the root folder
- false, // Should expand secret references
- false, // Should get secrets recursively from sub folders
- false, // Should include imports
- false // Should set the fetched secrets as key/value pairs on the system properties. Makes the secrets accessible as System.getProperty("")
-);
-```
-
-**Parameters:**
-- `projectId` (string): The ID of your project.
-- `environmentSlug` (string): The environment in which to list secrets (e.g., "dev").
-- `secretPath` (string): The path to the secrets.
-- `expandSecretReferences` (boolean): Whether to expand secret references.
-- `recursive` (boolean): Whether to list secrets recursively.
-- `includeImports` (boolean): Whether to include imported secrets.
-- `setSecretsOnSystemProperties` (boolean): Set the retrieved secrets as key/value pairs on the system properties, making them accessible through `System.getProperty("")`
-
-**Returns:**
-- `List`: The response containing the list of secrets.
-
-#### Create Secret
-
-
-```java
-public Secret CreateSecret(
- String secretName,
- String secretValue,
- String projectId,
- String environmentSlug,
- String secretPath
-)
-throws InfisicalException
-```
-
-```java
-Secret newSecret = sdk.Secrets().CreateSecret(
- "NEW_SECRET_NAME",
- "secret-value",
- "",
- "", // dev, prod, staging, etc.
- "/secret/path", // `/` is the root folder
-);
-```
-
-**Parameters:**
-- `secretName` (string): The name of the secret to create
-- `secretValue` (string): The value of the secret.
-- `projectId` (string): The ID of your project.
-- `environmentSlug` (string): The environment in which to create the secret.
-- `secretPath` (string, optional): The path to the secret.
-
-**Returns:**
-- `Secret`: The created secret.
-
-#### Update Secret
-
-```java
-public Secret UpdateSecret(
- String secretName,
- String projectId,
- String environmentSlug,
- String secretPath,
- String newSecretValue,
- String newSecretName
- )
-
-throws InfisicalException
-```
-
-
-```java
-Secret updatedSecret = sdk.Secrets().UpdateSecret(
- "SECRET_NAME",
- "",
- "", // dev, prod, staging, etc.
- "/secret/path", // `/` is the root folder
- "NEW_SECRET_VALUE", // nullable
- "NEW_SECRET_NAME" // nullable
-);
-```
-
-**Parameters:**
-- `secretName` (string): The name of the secret to update.`
-- `projectId` (string): The ID of your project.
-- `environmentSlug` (string): The environment in which to update the secret.
-- `secretPath` (string): The path to the secret.
-- `newSecretValue` (string, nullable): The new value of the secret.
-- `newSecretName` (string, nullable): A new name for the secret.
-
-**Returns:**
-- `Secret`: The updated secret.
-
-#### Get Secret by Name
-
-```java
-public Secret GetSecret(
- String secretName,
- String projectId,
- String environmentSlug,
- String secretPath,
- Boolean expandSecretReferences,
- Boolean includeImports,
- String secretType
- )
-throws InfisicalException
-```
-
-```java
-Secret secret = sdk.Secrets().GetSecret(
- "SECRET_NAME",
- "",
- "", // dev, prod, staging, etc.
- "/secret/path", // `/` is the root folder
- false, // Should expand secret references
- false, // Should get secrets recursively from sub folders
- false, // Should include imports
- "shared" // Optional Secret Type (defaults to "shared")
-);
-```
-
-**Parameters:**
-- `secretName` (string): The name of the secret to get`
-- `projectId` (string): The ID of your project.
-- `environmentSlug` (string): The environment in which to retrieve the secret.
-- `secretPath` (string): The path to the secret.
-- `expandSecretReferences` (boolean, optional): Whether to expand secret references.
-- `includeImports` (boolean, optional): Whether to include imported secrets.
-- `secretType` (personal | shared, optional): The type of secret to fetch.
-
-
-**Returns:**
-- `Secret`: The fetched secret.
-
-#### Delete Secret by Name
-
-```java
-public Secret DeleteSecret(
- String secretName,
- String projectId,
- String environmentSlug,
- String secretPath
- )
-throws InfisicalException
-```
-
-```java
-Secret deletedSecret = sdk.Secrets().DeleteSecret(
- "SECRET_NAME",
- "",
- "", // dev, prod, staging, etc.
- "/secret/path", // `/` is the root folder
-);
-```
-
-**Parameters:**
-- `secretName` (string): The name of the secret to delete.
-- `projectId` (string): The ID of your project.
-- `environmentSlug` (string): The environment in which to delete the secret.
-- `secretPath` (string, optional): The path to the secret.
-
-**Returns:**
-- `Secret`: The deleted secret.
-
-
-### `Folders`
-
-#### Get Folder By Name
-
-```java
-public Folder Get(
- String folderId
-);
-throws InfisicalException
-```
-
-```java
-Folder folder = sdk.Folders().Get("");
-```
-
-**Parameters:**
-- `folderId` (String): The ID of the folder to retrieve.
-
-**Returns:**
-- `Folder`: The retrieved folder.
-
-#### List Folders
-
-```java
-public List List(
- ListFoldersInput input
-)
-throws InfisicalException
-```
-
-```java
-ListFoldersInput input = ListFoldersInput
- .builder()
- .projectId("")
- .environmentSlug("")
- .folderPath("/")
- .recursive(false)
- .build();
-
-List folders = sdk.Folders().List(input);
-```
-
-
-**Parameters:**
-- `input` (ListFoldersInput): The input for listing folders.
- - `projectId` (String): The ID of the project to list folders from.
- - `environmentSlug` (String): The slug of the environment to list folders from.
- - `folderPath` (String): The path to list folders from. Defaults to `/`.
- - `recursive` (Boolean): Whether or not to list sub-folders recursively from the specified folder path and downwards. Defaults to `false`.
-
-**Returns:**
-- `List`: The retrieved folders.
-
-#### Create Folder
-
-```java
-public Folder Create(
- CreateFolderInput input
-)
-throws InfisicalException
-```
-
-```java
-var input = CreateFolderInput
- .builder()
- .projectId("")
- .environmentSlug("")
- .folderName("")
- .folderPath("/")
- .description("Optional folder description")
- .build();
-
-Folder createdFolder = sdk.Folders().Create(input);
-```
-
-**Parameters:**
-- `input` (CreateFolderInput): The input for creating a folder.
- - `projectId` (String): The ID of the project to create the folder in.
- - `environmentSlug` (String): The slug of the environment to create the folder in.
- - `folderPath` (String): The path to create the folder in. Defaults to `/`.
- - `folderName` (String): The name of the folder to create.
- - `description` (String): The description of the folder to create. This is optional.
-
-**Returns:**
-- `Folder`: The created folder.
-
-#### Update Folder
-
-```java
-public Folder Update(
- UpdateFolderInput input
-)
-throws InfisicalException
-```
-
-```java
-var input = UpdateFolderInput
- .builder()
- .projectId("")
- .environmentSlug("")
- .folderId("")
- .newFolderName("")
- .folderPath("/")
- .build();
-
-Folder updatedFolder = sdk.Folders().Update(input);
-```
-
-**Parameters:**
-- `input` (UpdateFolderInput): The input for updating a folder.
- - `projectId` (String): The ID of the project where the folder exists.
- - `environmentSlug` (String): The slug of the environment where the folder exists.
- - `folderPath` (String): The path of the folder to update.
- - `folderId` (String): The ID of the folder to update.
- - `newFolderName` (String): The new folder name.
-
-**Returns:**
-- `Folder`: The updated folder.
-
-#### Delete Folder
-
-```java
-public Folder Delete(
- DeleteFolderInput input
-)
-throws InfisicalException
-```
-
-```java
-var input = DeleteFolderInput
- .builder()
- .folderId("")
- .environmentSlug("")
- .projectId("")
- .build();
-
-Folder deletedFolder = sdk.Folders().Delete(input);
-```
-
-
-**Parameters:**
-- `input` (DeleteFolderInput): The input for deleting a folder.
- - `projectId` (String): The ID of the project where the folder exists.
- - `environmentSlug` (String): The slug of the environment where the folder exists.
- - `folderId` (String): The ID of the folder to delete.
-
-**Returns:**
-- `Folder`: The deleted folder.
\ No newline at end of file
+
+
+
+
+
Infisical Java SDK
+
+
+
+
+## Introduction
+
+**[Infisical](https://infisical.com)** is the open source secret management platform that teams use to centralize their secrets like API keys, database credentials, and configurations.
+
+## Documentation
+You can find the documentation for the Java SDK on our [SDK documentation page](https://infisical.com/docs/sdks/languages/java)
+
+## Security
+
+Please do not file GitHub issues or post on our public forum for security vulnerabilities, as they are public!
+
+Infisical takes security issues very seriously. If you have any concerns about Infisical or believe you have uncovered a vulnerability, please get in touch via the e-mail address security@infisical.com. In the message, try to provide a description of the issue and ideally a way of reproducing it. The security team will get back to you as soon as possible.
+
+Note that this security address should be used only for undisclosed vulnerabilities. Please report any security problems to us before disclosing it publicly.
\ No newline at end of file