---
title: "Detach secret from environment"
method: DELETE
path: "/environments/{environment}/secrets/{secret}"
tags: ["Environments"]
---

# Detach secret from environment

`DELETE /environments/{environment}/secrets/{secret}`

## Request

- Base URL: `https://cloud.laravel.com/api`
- URL: `https://cloud.laravel.com/api/environments/{environment}/secrets/{secret}`
- Auth: HTTP bearer

Detach one of the organization's secrets from an environment. The secret itself is not deleted.

## Path parameters

- `environment` string, required
- `secret` string, required

## Response `200`

`EnvironmentResource`

- object
  - `data` EnvironmentResource, required
    - `id` string, required
    - `type` 'environments', required
    - `attributes` object
      - `name` string, required
      - `slug` string, required
      - `status` 'deploying' | 'running' | 'hibernating' | 'stopped', required
      - `color` 'blue' | 'green' | 'orange' | 'purple' | 'red' | 'yellow' | 'cyan' | 'gray', required
      - `created_from_automation` boolean, required
      - `vanity_domain` string, required
      - `framework` 'laravel' | 'symfony' | 'jigsaw' | 'html' | 'php' | 'express' | 'hono' | 'nuxt' | 'next' | 'tanstack' | 'elysia' | 'nestjs' | 'astro' | 'javascript' | 'go' | 'hugo' | 'ruby' | 'rails' | 'jekyll' | 'django' | 'fastapi' | 'flask' | 'pelican' | 'python' | 'java' | 'spring' | 'rust' | 'zola' | 'axum' | 'rocket' | 'actix' | 'warp', required
      - `language` 'html' | 'php' | 'javascript' | 'python' | 'go' | 'ruby' | 'java' | 'rust', required
      - `php_major_version` string, required
      - `serving` string
      - `build_command` string, nullable, required
      - `node_version` '20' | '22' | '24' | '26', required
      - `deploy_command` string, nullable, required
      - `start_command` string, nullable, required
      - `uses_octane` boolean, required
      - `uses_hibernation` boolean, required
      - `hibernation_wake_up_interval` integer, nullable, required
      - `timeout` integer, required: The number of seconds the environment will wait for your application to respond before timing out. Changes take effect on the next deployment.
      - `shutdown_timeout` integer, required: The number of seconds to wait before stopping the previous deployment's compute instances, allowing it to finish processing requests and jobs after a new deployment becomes active. Changes take effect on the next deployment.
      - `uses_push_to_deploy` boolean, required
      - `uses_deploy_hook` boolean, required
      - `resend` object, nullable, required
        - `from_address` string, required
        - `from_name` string, required
        - `key_name` string, required
      - union
        - object
          - `environment_variables` object[], required
            - `key` string, required
            - `value` string, required
        - string[]
      - `network_settings` object, required
        - `cache` object, required
          - `strategy` string, required
        - `response_headers` object, required
          - `frame` string, required
          - `content_type` string, required
          - `hsts` object, required
            - `max_age` integer, required
            - `include_subdomains` boolean, required
            - `preload` boolean, required
        - `firewall` object, required
          - `bot_categories` BotControlCategory[], required
          - `rate_limit` object, required
            - `429` boolean, required
            - `level` 'challenge' | 'throttle' | 'ban', required
            - `per_minute` 100 | 300 | 500 | 750 | 1000, required
            - `4xx` boolean, required
          - `under_attack_mode_started_at` string, required
          - `block_path` boolean, required
        - `content_converter` boolean, required
      - `created_at` string, date-time, nullable, required
    - `relationships` object
      - `application` object
        - `data` ApplicationResourceIdentifier, required
          - `type` 'applications', required
          - `id` string, required
      - `branch` object
        - `data` BranchResourceIdentifier, required
          - `type` 'branches', required
          - `id` string, required
      - `deployments` object
        - `data` DeploymentResourceIdentifier[], required
          - `type` 'deployments', required
          - `id` string, required
      - `currentDeployment` object
        - `data` DeploymentResourceIdentifier, required
          - `type` 'deployments', required
          - `id` string, required
      - `domains` object
        - `data` DomainResourceIdentifier[], required
          - `type` 'domains', required
          - `id` string, required
      - `primaryDomain` object
        - `data` DomainResourceIdentifier, required
          - `type` 'domains', required
          - `id` string, required
      - `instances` object
        - `data` InstanceResourceIdentifier[], required
          - `type` 'instances', required
          - `id` string, required
      - `database` object
        - `data` DatabaseSchemaResourceIdentifier, required
          - `type` 'databaseSchemas', required
          - `id` string, required
      - `cache` object
        - `data` CacheResourceIdentifier, required
          - `type` 'caches', required
          - `id` string, required
      - `buckets` object
        - `data` FilesystemResourceIdentifier[], required
          - `type` 'filesystems', required
          - `id` string, required
      - `websocketApplication` object
        - `data` WebsocketApplicationResourceIdentifier, required
          - `type` 'websocketApplications', required
          - `id` string, required
      - `secrets` object
        - `data` SecretResourceIdentifier[], required
          - `type` 'secrets', required
          - `id` string, required
    - `links` object, required
      - `self` Link, required
        - `href` string, uri, required
        - `rel` string
        - `describedby` string
        - `title` string
        - `type` string
        - `hreflang` union
          - string
          - string[]
        - `meta` object
  - `included` union[]
    - union
      - ApplicationResource
        - `id` string, required
        - `type` 'applications', required
        - `attributes` object
          - `name` string, required
          - `slug` string, required
          - `region` 'us-east-1' | 'us-east-2' | 'ca-central-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'me-central-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1', required
          - `root_directory` string, nullable, required
          - `slack_channel` string, nullable, required
          - `avatar_url` string, required
          - `notes` string, nullable
          - `framework` 'laravel' | 'symfony' | 'jigsaw' | 'html' | 'php' | 'express' | 'hono' | 'nuxt' | 'next' | 'tanstack' | 'elysia' | 'nestjs' | 'astro' | 'javascript' | 'go' | 'hugo' | 'ruby' | 'rails' | 'jekyll' | 'django' | 'fastapi' | 'flask' | 'pelican' | 'python' | 'java' | 'spring' | 'rust' | 'zola' | 'axum' | 'rocket' | 'actix' | 'warp', required
          - `language` 'html' | 'php' | 'javascript' | 'python' | 'go' | 'ruby' | 'java' | 'rust', required
          - `created_at` string, date-time, nullable, required
          - `repository` object, nullable, required
            - `full_name` string, required
            - `default_branch` string, required
        - `relationships` object
          - `repository` object
            - `data` RepositoryResourceIdentifier, required
              - …
          - `organization` object
            - `data` OrganizationResourceIdentifier, required
              - …
          - `environments` object
            - `data` EnvironmentResourceIdentifier[], required
              - …
          - `deployments` object
            - `data` DeploymentResourceIdentifier[], required
              - …
          - `defaultEnvironment` object
            - `data` EnvironmentResourceIdentifier, required
              - …
      - BranchResource
        - `id` string, required
        - `type` 'branches', required
        - `attributes` object
          - `name` string, required
        - `relationships` object
          - `repository` object
            - `data` RepositoryResourceIdentifier, required
              - …
      - DeploymentResource
        - `id` string, required
        - `type` 'deployments', required
        - `attributes` object
          - `slug` string, required
          - `status` 'pending' | 'build.pending' | 'build.created' | 'build.queued' | 'build.running' | 'build.succeeded' | 'build.failed' | 'cancelled' | 'failed' | 'deployment.pending' | 'deployment.created' | 'deployment.queued' | 'deployment.running' | 'deployment.succeeded' | 'deployment.failed', required
          - `branch_name` string, required
          - `commit_hash` string, required
          - `commit_message` string, required
          - `commit_author` string, nullable, required
          - `failure_reason` string, nullable, required: Why the deployment did not finish. For `build.failed` and `deployment.failed`, the get deployment endpoint returns the output of the failed step, or a description when no failed step is found. The list endpoint returns the stored reason as is.
          - `php_major_version` string, required
          - `build_command` string, nullable, required
          - `node_version` '20' | '22' | '24' | '26', required
          - `uses_octane` boolean, required
          - `uses_hibernation` boolean, required
          - `hibernation_wake_up_interval` integer, nullable, required
          - `started_at` string, date-time, nullable, required
          - `finished_at` string, date-time, nullable, required
        - `relationships` object
          - `environment` object
            - `data` EnvironmentResourceIdentifier, required
              - …
          - `initiator` object
            - `data` UserResourceIdentifier, required
              - …
        - `links` object, required
          - `self` Link, required
            - `href` string, uri, required
            - `rel` string
            - `describedby` string
            - `title` string
            - `type` string
            - `hreflang` union
              - …
            - `meta` object
      - DomainResource
        - `id` string, required
        - `type` 'domains', required
        - `attributes` object
          - `name` string, required
          - `type` 'root' | 'www' | 'wildcard', required
          - `stage` 'pre_verification' | 'origin', required: The stage of onboarding a domain is in. | | |---| | `pre_verification` <br/> Ownership is being proven with temporary DNS records. | | `origin` <br/> The domain is ready for its origin A/CNAME records. |
          - `hostname_status` 'pending' | 'verified' | 'failed' | 'disabled', required
          - `ssl_status` 'pending' | 'verified' | 'failed' | 'disabled', required
          - `origin_status` 'pending' | 'verified' | 'failed' | 'disabled', required
          - `redirect` 'root_to_www' | 'www_to_root', required
          - `cloudflare_strategy` 'dns_proxy' | 'dns' | 'none', required
          - `downtime` boolean, nullable, required
          - `wildcard_enabled` boolean, required
          - `dns_records` object, required
            - `ssl` object[], required
              - …
            - `pre_verification` string, required
            - `origin` string, required
            - `origin_cname` string, required
            - `dcv` string, required
          - `wildcard` object, nullable, required
            - `hostname_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `ssl_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `origin_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `dns_records` object, required
              - …
          - `www` object, nullable, required
            - `hostname_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `ssl_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `origin_status` 'pending' | 'verified' | 'failed' | 'disabled', required
            - `dns_records` object, required
              - …
          - `action_required` 'add_txt_records' | 'add_dns_records' | 'failed', required
          - `last_verified_at` string, date-time, nullable, required
          - `created_at` string, date-time, nullable, required
        - `relationships` object
          - `environment` object
            - `data` EnvironmentResourceIdentifier, required
              - …
        - `links` object, required
          - `self` Link, required
            - `href` string, uri, required
            - `rel` string
            - `describedby` string
            - `title` string
            - `type` string
            - `hreflang` union
              - …
            - `meta` object
      - InstanceResource
        - `id` string, required
        - `type` 'instances', required
        - `attributes` object
          - `name` string, required
          - `type` 'app' | 'service' | 'queue' | 'managed_queue', required
          - `size` 'flex-512mb' | 'flex-1gb' | 'flex-2gb' | 'flex.c-1vcpu-256mb' | 'flex.g-1vcpu-512mb' | 'flex.m-1vcpu-1gb' | 'flex.c-2vcpu-512mb' | 'flex.g-2vcpu-1gb' | 'flex.m-2vcpu-2gb' | 'flex.c-4vcpu-1gb' | 'flex.g-4vcpu-2gb' | 'flex.m-4vcpu-4gb' | 'flex.c-8vcpu-2gb' | 'flex.g-8vcpu-4gb' | 'flex.m-8vcpu-8gb' | 'pro.c-1vcpu-1gb' | 'pro.g-1vcpu-2gb' | 'pro.m-1vcpu-4gb' | 'pro.c-2vcpu-2gb' | 'pro.g-2vcpu-4gb' | 'pro.m-2vcpu-8gb' | 'pro.c-4vcpu-4gb' | 'pro.g-4vcpu-8gb' | 'pro.m-4vcpu-16gb' | 'pro.c-8vcpu-8gb' | 'pro.g-8vcpu-16gb' | 'pro.m-8vcpu-32gb' | 'dedicated.c-0.25vcpu-512mb' | 'dedicated.c-0.5vcpu-1gb' | 'dedicated.c-1vcpu-2gb' | 'dedicated.g-1vcpu-4gb' | 'dedicated.m-1vcpu-8gb' | 'dedicated.c-2vcpu-4gb' | 'dedicated.g-2vcpu-8gb' | 'dedicated.m-2vcpu-16gb' | 'dedicated.c-4vcpu-8gb' | 'dedicated.g-4vcpu-16gb' | 'dedicated.m-4vcpu-32gb' | 'dedicated.c-8vcpu-16gb' | 'dedicated.g-8vcpu-32gb' | 'dedicated.m-8vcpu-64gb' | 'mq-pro-256mb' | 'mq-pro-512mb' | 'mq-pro-1gb' | 'mq-pro-2gb' | 'mq-pro-4gb' | 'mq-pro-8gb' | 'mq-dedicated-256mb' | 'mq-dedicated-512mb' | 'mq-dedicated-1gb' | 'mq-dedicated-2gb' | 'mq-dedicated-4gb' | 'mq-dedicated-8gb' | 'mq-dedicated-16gb' | 'mq.flex.256mb' | 'mq.flex.512mb' | 'mq.flex.1gb' | 'mq.flex.2gb' | 'mq.pro.256mb' | 'mq.pro.512mb' | 'mq.pro.1gb' | 'mq.pro.2gb' | 'mq.pro.4gb' | 'mq.pro.8gb' | 'mq.dedicated.flex.256mb' | 'mq.dedicated.flex.512mb' | 'mq.dedicated.flex.1gb' | 'mq.dedicated.flex.2gb' | 'mq.dedicated.pro.256mb' | 'mq.dedicated.pro.512mb' | 'mq.dedicated.pro.1gb' | 'mq.dedicated.pro.2gb' | 'mq.dedicated.pro.4gb' | 'mq.dedicated.pro.8gb' | 'mq.dedicated.pro.16gb', required
          - `scaling_type` 'none' | 'custom' | 'auto', required
          - `min_replicas` integer, required
          - `max_replicas` integer, required
          - `queue_status` 'creating' | 'updating' | 'available' | 'deleting' | 'deleted' | 'unknown', required
          - `paused` boolean, nullable, required: Whether the managed queue is currently paused. Null for non-queue instances.
          - `retire_at` string, nullable, required: When the instance is scheduled to be retired because its size is being discontinued.
          - `retired_at` string, nullable, required: When the instance was retired because its size is no longer supported. Retired instances stop processing jobs until you upgrade.
          - `is_default` boolean, nullable, required: Whether this is the environment's default managed queue. Null for non-queue instances.
          - `visibility_timeout` integer, nullable, required: How long, in seconds (0–43200), a received job stays hidden from other workers before it becomes available again. Null for non-queue instances.
          - `polling_interval` integer, nullable, required: How often, in seconds (1–60), the queue is polled for new jobs. Null for non-queue instances.
          - `shutdown_timeout` integer, nullable, required
          - `uses_scheduler` boolean, required
          - `sleep_with_app` boolean, nullable, required
          - `hibernation_timeout` integer, nullable, required: Minutes of inactivity before the app hibernates. Null when hibernation is off, and for non-app instances.
          - `uses_octane` boolean, nullable, required: Whether the app is served by Laravel Octane. Null for non-app instances.
          - `uses_inertia_ssr` boolean, nullable, required: Whether the app runs an Inertia SSR server. Null for non-app instances.
          - `probes` object, nullable: Custom health checks for the app's web process, keyed by `startup`, `readiness`, and `liveness`. Unset checks and fields use the platform defaults. A path selects HTTP and a port alone selects TCP. Timing overrides without a path or port keep the default handler. Null when no custom checks are set, and for non-app instances.
            - `startup` object
              - …
            - `readiness` object
              - …
            - `liveness` object
              - …
          - `scaling_cpu_threshold_percentage` integer, nullable, required
          - `scaling_memory_threshold_percentage` integer, nullable, required
          - `created_at` string, date-time, nullable, required
        - `relationships` object
          - `environment` object
            - `data` EnvironmentResourceIdentifier, required
              - …
          - `backgroundProcesses` object
            - `data` BackgroundProcessResourceIdentifier[], required
              - …
          - `scheduledCommands` object
            - `data` ScheduledCommandResourceIdentifier[], required
              - …
      - DatabaseSchemaResource
        - `id` string, required
        - `type` 'databaseSchemas', required
        - `attributes` object
          - `name` string, required
          - `status` string, required
          - `created_at` string, date-time, nullable, required
        - `relationships` object
          - `database` object
            - `data` DatabaseResourceIdentifier, required
              - …
          - `environments` object
            - `data` EnvironmentResourceIdentifier[], required
              - …
      - CacheResource
        - `id` string, required
        - `type` 'caches', required
        - `attributes` object
          - `name` string, required
          - `type` 'upstash_redis' | 'laravel_valkey' | 'aws_elasticache_redis' | 'aws_elasticache_valkey', required
          - `status` 'creating' | 'updating' | 'available' | 'stopped' | 'deleting' | 'deleted' | 'unknown', required
          - `region` 'us-east-1' | 'us-east-2' | 'ca-central-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'me-central-1' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1', required
          - `size` '250mb' | '1gb' | '2.5gb' | '5gb' | '12gb' | '50gb' | '100gb' | '500gb' | 'valkey-flex-250mb' | 'valkey-flex-1gb' | 'valkey-flex-2.5gb' | 'valkey-pro.250mb' | 'valkey-pro.1gb' | 'valkey-pro.2.5gb' | 'valkey-pro.5gb' | 'valkey-pro.12gb' | 'valkey-pro.25gb' | 'valkey-pro.50gb' | 'elasticache.cache.r7g.large' | 'elasticache.cache.r7g.xlarge' | 'elasticache.cache.r7g.2xlarge' | 'elasticache.cache.r7g.4xlarge' | 'elasticache.cache.r7g.8xlarge' | 'elasticache.cache.r7g.12xlarge' | 'elasticache.cache.r7g.16xlarge' | 'elasticache.cache.c7gn.large' | 'elasticache.cache.c7gn.xlarge' | 'elasticache.cache.c7gn.2xlarge' | 'elasticache.cache.c7gn.4xlarge' | 'elasticache.cache.c7gn.8xlarge' | 'elasticache.cache.c7gn.12xlarge' | 'elasticache.cache.c7gn.16xlarge' | 'elasticache.cache.t4g.micro' | 'elasticache.cache.t4g.small' | 'elasticache.cache.t4g.medium' | 'elasticache.cache.m7g.large' | 'elasticache.cache.m7g.xlarge' | 'elasticache.cache.m7g.2xlarge' | 'elasticache.cache.m7g.4xlarge' | 'elasticache.cache.m7g.8xlarge' | 'elasticache.cache.m7g.12xlarge' | 'elasticache.cache.m7g.16xlarge' | 'elasticache.cache.m8g.large' | 'elasticache.cache.m8g.xlarge' | 'elasticache.cache.m8g.2xlarge' | 'elasticache.cache.m8g.4xlarge' | 'elasticache.cache.m8g.8xlarge' | 'elasticache.cache.m8g.12xlarge' | 'elasticache.cache.m8g.16xlarge' | 'elasticache.cache.r8g.large' | 'elasticache.cache.r8g.xlarge' | 'elasticache.cache.r8g.2xlarge' | 'elasticache.cache.r8g.4xlarge' | 'elasticache.cache.r8g.8xlarge' | 'elasticache.cache.r8g.12xlarge' | 'elasticache.cache.r8g.16xlarge' | 'elasticache.cache.c8gn.large' | 'elasticache.cache.c8gn.xlarge' | 'elasticache.cache.c8gn.2xlarge' | 'elasticache.cache.c8gn.4xlarge' | 'elasticache.cache.c8gn.8xlarge' | 'elasticache.cache.c8gn.12xlarge' | 'elasticache.cache.c8gn.16xlarge', required
          - `auto_upgrade_enabled` boolean, required
          - `is_public` boolean, required
          - `eviction_policy` 'allkeys-lru' | 'noeviction' | 'volatile-lru' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'allkeys-lfu' | 'volatile-lfu', required
          - `uses_hibernation` boolean, required
          - `hibernation_timeout` integer, nullable, required
          - `created_at` string, date-time, nullable, required
          - `connection` object, required
            - `hostname` string, nullable, required
            - `port` integer, nullable, required
            - `protocol` 'redis', required
            - union
              - …
        - `relationships` object
          - `environments` object
            - `data` EnvironmentResourceIdentifier[], required
              - …
      - FilesystemResource
        - `id` string, required
        - `type` 'filesystems', required
        - `attributes` object
          - `name` string, required
          - `type` 'cloudflare_r2', required
          - `status` 'creating' | 'updating' | 'available' | 'deleting' | 'deleted' | 'unknown', required
          - `visibility` 'private' | 'public', required
          - `jurisdiction` 'default' | 'eu' | 'us', required
          - `location_hint` 'automatic' | 'wnam' | 'enam' | 'weur' | 'eeur' | 'apac' | 'oc', required: Where Cloudflare should place an R2 bucket's data. Automatic lets Cloudflare choose, which it does from the caller's location rather than the customer's.
          - `endpoint` string, nullable, required
          - `url` string, nullable, required
          - `allowed_origins` unknown, required
          - `cors_settings` unknown, required
          - `created_at` string, date-time, nullable, required
        - `relationships` object
          - `keys` object
            - `data` FilesystemKeyResourceIdentifier[], required
              - …
      - WebsocketApplicationResource
        - `id` string, required
        - `type` 'websocketApplications', required
        - `attributes` object
          - `name` string, required
          - `app_id` string, required
          - `allowed_origins` unknown[], required
            - unknown
          - `ping_interval` integer, required
          - `activity_timeout` integer, required
          - `max_message_size` integer, required
          - `max_connections` integer, required
          - `created_at` string, date-time, nullable, required
          - union
            - object
              - …
            - string[]
        - `relationships` object
          - `server` object
            - `data` WebsocketServerResourceIdentifier, required
              - …
      - SecretResource
        - `id` string, required
        - `type` 'secrets', required
        - `attributes` object
          - `key` string, required
          - `notes` string, nullable, required
          - `created_at` string, date-time, nullable, required
          - `updated_at` string, date-time, nullable, required
        - `relationships` object
          - `environments` object
            - `data` EnvironmentResourceIdentifier[], required
              - …

## Other responses

- `403`: Authorization error
- `404`: Not found

---

[API](https://skmtc.dev/laravel/apis/laravel-cloud.md) - [All operations](https://skmtc.dev/laravel/apis/laravel-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/laravel/apis/laravel-cloud/revisions/af603f54ff33?raw)
