---
title: Replace DomainMappings of an Environment. After the request is completed, all DomainMappings from the request exist in the environment, and no other DomainMapping exists there.
url: https://developers.wpengine.com/docs/headless-platform/reference/api/endpoints/operations/apps_replacedomainmappings/
image: https://developers.wpengine.com/og/docs/headless-platform/reference/api/endpoints/operations/apps_replacedomainmappings.png
---

# Replace DomainMappings of an Environment. After the request is completed, all DomainMappings from the request exist in the environment, and no other DomainMapping exists there.

POST

/v1/accounts/{account}/apps/{app}/environments/{environment}/domainMappings:replace

Select code sample

```sh
curl --request POST \
  --url https://js.wpengineapi.com/v1/accounts/example/apps/example/environments/example/domainMappings:replace \
  --header 'Authorization: Basic <credentials>' \
  --header 'Content-Type: application/json' \
  --data '{ "domainMappings": [ { "destinationDomainMapping": "example", "destinationDomainMappingState": "STATE_UNSPECIFIED", "domain": "example", "primary": true, "state": "STATE_UNSPECIFIED" } ], "validateOnly": true }'
```

-

## Authorizations

- **[basicAuth](https://developers.wpengine.com/docs/headless-platform/reference/api/endpoints/#basicauth)**

## Parameters

### Path Parameters

**account**

required

string

Name of your WP Engine Headless Platform account

**app**

required

string

Name of your Headless Platform application

**environment**

required

string

ID of your environment

## Request Body

Media typeapplication/json

Request to replace DomainMappings.

object

**domainMappings**

*DomainMappings that should replace the current DomainMappings of the Environment*

Array\<object>

*DomainMapping represents a domain associated with an environment*

object

**destinationDomainMapping**

*Domain redirect associated with this DomainMapping in the format of accounts/{account}/apps/{app}/environments/{environment}/domainMappings/{domain_mapping}*

string

**destinationDomainMappingState**

*Possible states of a DomainMapping*

- STATE_UNSPECIFIED: Domain mapping state is unknown
- CREATING: Domain mapping is being created
- DELETING: Domain mapping is being deleted
- ACTIVE: Domain mapping is deployed. Does not necessarily mean that the domain is already directing to the environment, as Cloudflare status is currently not checked
- FAILED: Domain mapping creation has failed, or domain was created but is no longer active due to other error

string

default: STATE_UNSPECIFIED

Allowed values: STATE_UNSPECIFIED CREATING DELETING ACTIVE FAILED

**domain**

required

*Domain name of the domain associated with the environment by this DomainMapping Must be a valid domain name as defined in RFC-1123*

string

**name**

*Output only. Domain mapping name in the format of: \`accounts/{account}/apps/{app}/environments/{environment}/domainMappings/{domain_mapping}\`*

string

**primary**

*Defines if domain mapping is primary*

boolean

**state**

*Possible states of a DomainMapping*

- STATE_UNSPECIFIED: Domain mapping state is unknown
- CREATING: Domain mapping is being created
- DELETING: Domain mapping is being deleted
- ACTIVE: Domain mapping is deployed. Does not necessarily mean that the domain is already directing to the environment, as Cloudflare status is currently not checked
- FAILED: Domain mapping creation has failed, or domain was created but is no longer active due to other error

string

default: STATE_UNSPECIFIED

Allowed values: STATE_UNSPECIFIED CREATING DELETING ACTIVE FAILED

**txtRecordVerifiedTime**

*Domain mapping txt record verified at*

string format: date-time

**txtVerificationName**

*Domain mapping txt verification record name*

string

**txtVerificationValue**

*Domain mapping txt verification record value*

string

**validateOnly**

*If set, domain availability is checked, but current DomainMappings are not replaced*

boolean

## Responses

### 200

A successful response.

Media typeapplication/json

This resource represents a long-running operation that is the result of a network API call

object

**done**

Information if the operation is done or still in progress

boolean

**metadata**

Long running operation metadata

object

**@type**

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message

string

**build**

Build name in the format of: accounts/{account}/apps/{app}/environments/{environment}/builds/{build}

string

**envID**

Environment ID

string

**name**

Operation name in the format of: accounts/{account}/apps/{app}/environments/{environment}/operations/{operation}

string

#### Example generated

```json
{
  "done": true,
  "metadata": {
    "@type": "example",
    "build": "example",
    "envID": "example"
  },
  "name": "example"
}
```

## Was this helpful?

Thanks for the feedback!

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://developers.wpengine.com/#website","name":"WP Engine Product Documentation","url":"https://developers.wpengine.com/","description":"Resources for developing, deploying, and scaling on WP Engine.","inLanguage":"en-US","keywords":["API documentation","product documentation","headless WordPress","managed WordPress hosting"],"publisher":{"@id":"https://wpengine.com/#organization"}}]}
```
