---
title: "Update Namespace"
method: PUT
path: "/clusters/{clusterId}/namespaces/{namespaceId}"
tags: ["namespaces"]
---

# Update Namespace

`PUT /clusters/{clusterId}/namespaces/{namespaceId}`

## Request

- Base URL: `https://privatecloud.mendixcloud.com/api/v4`
- URL: `https://privatecloud.mendixcloud.com/api/v4/clusters/{clusterId}/namespaces/{namespaceId}`
- Auth: API key in header `Authorization`

Updates a specific namespace.<br/>
***Please be aware that this endpoint cannot be used for the `Main` namespace of a Global Operator installation.***

## Request body

- UpdateNamespaceManifest: Model for the manifest used when updating a namespace.
  - `manifestVersion` string, required
  - `namespace` object, required
    - `namespaceId` string, uuid, required
    - `name` string, required
    - `namespaceType` 'standard' | 'main' | 'managed': *This value cannot be changed after it has been set.* The namespace type is influenced by the type of operator installation.
    - `installationType` 'Connected' | 'Standalone', required: non-editable</br> Model for installationType.
    - `secret` string, required
    - `productTypePCLM` string, required
    - `plans` object[]
      - `planName` string: non-editable
      - `planType` 'OnDemand' | 'Dedicated': non-editable </br> Model for the database or storage plan type.
      - `activate` boolean
      - `planConfig` string: non-editable
    - `enableDevelopmentMode` boolean
    - `enableExternalSecretsStore` boolean
    - `membership` object[]
      - `email` string, required
      - `role` string, required: Existing Custom permission-based role is becoming deprecated, hence its new name Custom_DEPRECATED.<br/> To get the same result/functionality, you can use the Custom Roles which can be created/accessed at cluster level on the portal.
      - `status` 'Invitation_Sent' | 'Accepted': non-editable </br> Model for the status of the member invite.
      - `displayName` string: non-editable
      - `autoAcceptInvite` boolean: Can be used to automatically accept the invite for this user.
      - `permissions` object
        - `manageEnvironment` boolean: non-editable</br>
        - `deployApp` boolean: non-editable</br>
        - `scaleApp` boolean: non-editable</br>
        - `startApp` boolean: non-editable</br>
        - `stopApp` boolean: non-editable</br>
        - `modifyMxAdminPassword` boolean: non-editable</br>
        - `editAppConstants` boolean: non-editable</br>
        - `manageAppScheduledEvents` boolean: non-editable</br>
        - `viewAppLogs` boolean: non-editable</br>
        - `viewAppAlerts` boolean: non-editable</br>
        - `viewAppMetrics` boolean: non-editable</br>
        - `manageAppBackups` boolean: non-editable</br>
        - `manageDebugger` boolean: non-editable</br>
        - `manageTLSConfigurations` boolean: non-editable</br>
        - `manageCustomEnvVarJVMOpts` boolean: non-editable</br>
        - `manageCustomRuntimeSettings` boolean: non-editable</br>
        - `manageLogLevels` boolean: non-editable</br>
        - `manageRuntimeMetricsConfiguration` boolean: non-editable</br>
    - `operationalLinks` object
      - `metricsUrl` string
      - `alertsUrl` string
      - `logsUrl` string
      - `backupsUrl` string

## Response `202`

The job response returned by a get-job request. The Location header is populated once the job has been created successfully.

- Job: Model for jobs.
  - `id` string, uuid, required: Model for jobId.
  - `status` 'created' | 'running' | 'failed' | 'finished', required: `created` - a job has been created but has not been picked up for processing <br/> `running` - the job is being processed <br/> `finished` - the job has finished processing <br/> `failed` - something went wrong and the job processing failed
  - `details` string
  - `error` ErrorBody: The body of an error object explaining what happened.
    - `code` integer: The HTTP status code.
    - `message` string: Explanation of what happened.

## Other responses

- `400`: The request likely contains invalid data or is missing data. The error response gives additional feedback.
- `401`: There were no usable authentication credentials found. The error response gives additional feedback.
- `403`: Access is denied. The provided credentials are incorrect or the credentials do not have the required level of access. The error response gives additional feedback.
- `404`: The requested item could not be found. The error response gives additional feedback.

---

[API](https://skmtc.dev/mendix/apis/mendix-for-private-cloud-deploy-api.md) - [All operations](https://skmtc.dev/mendix/apis/mendix-for-private-cloud-deploy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mendix/apis/mendix-for-private-cloud-deploy-api/revisions/ae247dcd18e1?raw)
