---
title: "E2EE Disabled"
---

Using Infisical's API to read/write secrets with E2EE disabled allows you to create, update, and retrieve secrets
in plaintext. Effectively, this means each such secret operation only requires 1 HTTP call.

<AccordionGroup>
    <Accordion title="Retrieve secrets">
        Retrieve all secrets for an Infisical project and environment. 
        <Tabs>
            <Tab title="cURL">
                ```bash
                curl --location --request GET 'https://app.infisical.com/api/v3/secrets/raw?environment=environment&workspaceId=workspaceId' \
                    --header 'Authorization: Bearer serviceToken'

                ```
            </Tab>
        </Tabs>
    ####
    <Info>
        When using a [service token](../../../documentation/platform/token) with access to a single environment and path, you don't need to provide request parameters because the server will automatically scope the request to the defined environment/secrets path of the service token used. 
        For all other cases, request parameters are required.
    </Info>
    ####
        <ParamField query="workspaceId" type="string" required>
            The ID of the workspace
        </ParamField>
        <ParamField query="environment" type="string" required>
            The environment slug
        </ParamField>
        <ParamField query="secretPath" type="string" default="/" optional>
            Path to secrets in workspace
        </ParamField>
    </Accordion>
    <Accordion title="Create secret">
        Create a secret in Infisical.

        <Tabs>
            <Tab title="cURL">
                ```bash
                curl --location --request POST 'https://app.infisical.com/api/v3/secrets/raw/secretName' \
                    --header 'Authorization: Bearer serviceToken' \
                    --header 'Content-Type: application/json' \
                    --data-raw '{
                        "workspaceId": "workspaceId",
                        "environment": "environment",
                        "type": "shared",
                        "secretValue": "secretValue",
                        "secretPath": "/"
                    }'
                ```
            </Tab>
        </Tabs>

        <ParamField path="secretName" type="string" required>
            Name of secret to create
        </ParamField>
        <ParamField body="workspaceId" type="string" required>
            The ID of the workspace
        </ParamField>
        <ParamField body="environment" type="string" required>
            The environment slug
        </ParamField>
        <ParamField body="secretValue" type="string" required>
            Value of secret
        </ParamField>
        <ParamField body="secretComment" type="string" optional>
            Comment of secret
        </ParamField>
        <ParamField body="secretPath" type="string" default="/" optional>
            Path to secret in workspace
        </ParamField>
        <ParamField query="type" type="string" optional default="shared">
            The type of the secret. Valid options are “shared” or “personal”
        </ParamField>
    </Accordion>
    <Accordion title="Retrieve secret">
        Retrieve a secret from Infisical.

        <Tabs>
            <Tab title="cURL">
                ```bash
                curl --location --request GET 'https://app.infisical.com/api/v3/secrets/raw/secretName?workspaceId=workspaceId&environment=environment' \
                    --header 'Authorization: Bearer serviceToken'
                ```
            </Tab>
        </Tabs>

        <ParamField path="secretName" type="string" required>
            Name of secret to retrieve
        </ParamField>
        <ParamField query="workspaceId" type="string" required>
            The ID of the workspace
        </ParamField>
        <ParamField query="environment" type="string" required>
            The environment slug
        </ParamField>
        <ParamField query="secretPath" type="string" default="/" optional>
            Path to secrets in workspace
        </ParamField>
        <ParamField query="type" type="string" optional default="personal">
            The type of the secret. Valid options are “shared” or “personal”
        </ParamField>
    </Accordion>
    <Accordion title="Update secret">
        Update an existing secret in Infisical.

        <Tabs>
            <Tab title="cURL">
                ```bash
                curl --location --request PATCH 'https://app.infisical.com/api/v3/secrets/raw/secretName' \
                    --header 'Authorization: Bearer serviceToken' \
                    --header 'Content-Type: application/json' \
                    --data-raw '{
                        "workspaceId": "workspaceId",
                        "environment": "environment",
                        "type": "shared",
                        "secretValue": "secretValue",
                        "secretPath": "/"
                    }'
                ```
            </Tab>
        </Tabs>

        <ParamField path="secretName" type="string" required>
            Name of secret to update
        </ParamField>
        <ParamField body="workspaceId" type="string" required>
            The ID of the workspace
        </ParamField>
        <ParamField body="environment" type="string" required>
            The environment slug
        </ParamField>
        <ParamField body="secretValue" type="string" required>
            Value of secret
        </ParamField>
        <ParamField body="secretPath" type="string" default="/" optional>
            Path to secret in workspace.
        </ParamField>
        <ParamField query="type" type="string" optional default="shared">
            The type of the secret. Valid options are “shared” or “personal”
        </ParamField>
    </Accordion>
    <Accordion title="Delete secret">
        Delete a secret in Infisical.

        <Tabs>
            <Tab title="cURL">
                ```bash
            curl --location --request DELETE 'https://app.infisical.com/api/v3/secrets/raw/secretName' \
                --header 'Authorization: Bearer serviceToken' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "workspaceId": "workspaceId",
                    "environment": "environment",
                    "type": "shared",
                    "secretPath": "/"
                }'
                ```
            </Tab>
        </Tabs>

        <ParamField path="secretName" type="string" required>
            Name of secret to update
        </ParamField>
        <ParamField body="workspaceId" type="string" required>
            The ID of the workspace
        </ParamField>
        <ParamField body="environment" type="string" required>
            The environment slug
        </ParamField>
        <ParamField body="secretPath" type="string" default="/" optional>
            Path to secret in workspace.
        </ParamField>
        <ParamField query="type" type="string" optional default="personal">
            The type of the secret. Valid options are “shared” or “personal”
    </ParamField>
    </Accordion>
</AccordionGroup>