---
title: "Create an environment connection override"
method: POST
path: "/v1/projects/{projectId}/connections/environment-overrides"
tags: ["Connections"]
---

# Create an environment connection override

`POST /v1/projects/{projectId}/connections/environment-overrides`

Creates a new environment-specific override for an existing project connection. If the override already exists, a 409 Conflict is returned. Use the PUT endpoint to update an existing override. The override's connection type is determined by the parent project connection.

## Path parameters

- `projectId` string, required

## Request body

- CreateEnvironmentOverrideRequest — The environment override request containing all necessary details
  - `authType` 'GENERIC_SECRET' | 'CLOUD_PROVIDER_SECRET' | 'OAUTH_USER_TOKENS' | 'OAUTH_AUTHORIZATION_CODE' | 'OAUTH_CLIENT_CRED' | 'COMPOSITE_TOKEN' | 'OAUTH_1_0_X_ADS', required — The kind of secret being referenced. Must match the parent project connection's `authType`. See the combinations table on `POST /v1/projects/{projectId}/connections` for valid values per connection type.
  - `connectionName` string, required — The name of the connection to override
  - `connectionOverrides` ConnectionOverrideDetails
    - `connectionProperties` union — Connection properties specific to the platform connection type. For COMPONENT_BASIC connections, this contains secretName and secretKey fields.
      - CloudPlatformCredentialsConnectionProperties — Connection properties for cloud platform credentials connections
        - `credentialSecretName` string — The name of the secret containing the cloud platform credentials
      - ComponentBasicConnectionProperties — Connection properties for component basic connections
        - `secretKey` string — Optional key within the secret
        - `secretName` string, required — The name of the secret
    - `secretsLocation` union — The vault location configuration where secrets are stored
      - AwsVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `region` string
      - AzureVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `vaultName` string
      - DefaultVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
      - GcpVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `gcpProjectId` string
      - MatillionHostedVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
  - `environmentName` string, required — The name of the environment to apply the override in

## Response `201`

Environment connection override created successfully

- EnvironmentConnectionOverrideResponse
  - `authProvider` string — The authentication provider
  - `authType` 'GENERIC_SECRET' | 'CLOUD_PROVIDER_SECRET' | 'OAUTH_USER_TOKENS' | 'OAUTH_AUTHORIZATION_CODE' | 'OAUTH_CLIENT_CRED' — The authentication type
  - `connectionOverrides` ConnectionOverrideDetails
    - `connectionProperties` union — Connection properties specific to the platform connection type. For COMPONENT_BASIC connections, this contains secretName and secretKey fields.
      - CloudPlatformCredentialsConnectionProperties — Connection properties for cloud platform credentials connections
        - `credentialSecretName` string — The name of the secret containing the cloud platform credentials
      - ComponentBasicConnectionProperties — Connection properties for component basic connections
        - `secretKey` string — Optional key within the secret
        - `secretName` string, required — The name of the secret
    - `secretsLocation` union — The vault location configuration where secrets are stored
      - AwsVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `region` string
      - AzureVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `vaultName` string
      - DefaultVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
      - GcpVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
        - `gcpProjectId` string
      - MatillionHostedVaultLocation
        - `type` 'AWS_SECRET_MANAGER' | 'AZURE_SECRET_MANAGER' | 'GCP_SECRET_MANAGER' | 'MATILLION_CUSTOMER_VAULT' | 'DEFAULT_SECRET_VAULT'
  - `createdBy` string — The user who created the connection
  - `createdDate` string, date-time — The date and time when the connection was created
  - `name` string — The name of the connection
  - `platformConnectionType` 'DWH' | 'COMPONENT_BASIC' | 'CLOUD_PLATFORM_CREDENTIALS' — The platform connection type
  - `projectId` string, uuid — The project ID this connection belongs to

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `409` — An environment connection override already exists for this connection and environment
- `422` — Unprocessable Entity
- `500` — Unexpected error occurred

---

[API](https://skmtc.net/maia/apis/maia-public-rest-api.md) · [All operations](https://skmtc.net/maia/apis/maia-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia/maia-public-rest-api/revisions/6239825f68eb/schema)
