---
updatedAt: 2026-03-01T18:37:33.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/property-mgr/llms.txt
---

# Activate a property version

```curl cURL
propertyId="prp_175780"
contractId="ctr_1-1TJZFW"
groupId="grp_15166"

egcurl --eg-section default --request POST \

  --url "https://$hostname/papi/v1/properties/$propertyId/activations?contractId=$contractId&groupId=$groupId" \
  --header "Accept: application/json"
  --header "PAPI-Use-Prefixes: true"
 \
  --header "Content-Type: application/json" \
  --data '
{
    "propertyVersion": 1,
    "network": "STAGING",
    "note": "Sample activation",
    "useFastFallback": false,
    "notifyEmails": [
        "you@example.com",
        "them@example.com"
    ],
    "acknowledgeWarnings": [
        "msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f"
    ]
}'
```

```node Node
const EdgeGrid = require("akamai-edgegrid");
const os = require("os");
const edgercPath = os.homedir + "/.edgerc.txt";
const edgercSection = "default";  
const eg = new EdgeGrid({
  path: edgercPath,
  section: edgercSection
});   

const propertyId = "prp_175780";

eg.auth({
  path: `/papi/v1/properties/${propertyId}/activations`,
  method: "POST",
  headers: {
    "Content-Type": "application/json",

    "Accept": "application/json",
    "PAPI-Use-Prefixes": "true"},
  body: {
    "propertyVersion": 1,
    "network": "STAGING",
    "note": "Sample activation",
    "useFastFallback": false,
    "notifyEmails": [
        "you@example.com",
        "them@example.com"
    ],
    "acknowledgeWarnings": [
        "msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f"
    ]
},
  qs: {
    "contractId": "ctr_1-1TJZFW",
    "groupId": "grp_15166"
}                    
});
eg.send(function(error, response, body) {
  console.log(body);    
});
```

```python Python
import requests
from akamai.edgegrid import EdgeGridAuth, EdgeRc
from urllib.parse import urljoin

edgerc = EdgeRc('~/.edgerc.txt')
section = 'default'
baseurl = 'https://%s' % edgerc.get(section, 'host')

session = requests.Session()
session.auth = EdgeGridAuth.from_edgerc(edgerc, section)
propertyId = "prp_175780"
 

path= '/papi/v1/properties/{}/activations'.format(propertyId)
headers = {
  "Content-Type": "application/json",

  "Accept": "application/json",
  "PAPI-Use-Prefixes": "true"
}
payload = {
    "propertyVersion": 1,
    "network": "STAGING",
    "note": "Sample activation",
    "useFastFallback": false,
    "notifyEmails": [
        "you@example.com",
        "them@example.com"
    ],
    "acknowledgeWarnings": [
        "msg_baa4560881774a45b5fd25f5b1eab021d7c40b4f"
    ]
} 
querystring = {
  "contractId": "ctr_1-1TJZFW",
  "groupId": "grp_15166"
}  

result = session.post(urljoin(baseurl, path), headers=headers, json=payload, params=querystring)
print(result.status_code)
print(result.json()) 
```

```json Response Example
{
    "activationLink": "/papi/v1/properties/prp_173136/activations/atv_67037?contractId=ctr_1-1TJZFB&groupId=grp_15225"
}

```

# Set up authentication

<!-- curl@5 -->
<!-- node@1-8 -->
<!-- python@1-10 -->

If you haven't already, you need to [create your authentication credentials](https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials) in an API client in Control Center. Set up the API client with:

* Access to the Property Manager API (PAPI).
* PAPI's access level set to READ-WRITE.

Then, you can include this code to apply the token values to validate your requests.

# Form the request URL

<!-- curl@7 -->
<!-- node@13 -->
<!-- python@14 -->

Specify the target endpoint.

# Set your headers

<!-- curl@8-11 -->
<!-- node@15-19 -->
<!-- python@15-20 -->

Include these headers:

* `Accept: application/json`
* `Content-Type: application/json`
* `PAPI-Use-Prefixes`. This sets whether to represent ID prefixes in response data. Set to `false` when exchanging PAPI data with other APIs. Set it to `true` here because we're working in PAPI.

# Set your query string parameters

<!-- curl@1-3 -->
<!-- node@10,33-36 -->
<!-- python@11,34-37 -->

This request requires the `propertyId` query string parameter. Optionally, you can also define `contractId` and `groupId`. If you need these values, run [list properties](https://techdocs.akamai.com/property-mgr/reference/get-properties), [list contracts](https://techdocs.akamai.com/property-mgr/reference/get-contracts) and [list groups](https://techdocs.akamai.com/property-mgr/reference/get-groups).

# Specify property version

<!-- curl@14 -->
<!-- node@21 -->
<!-- python@22 -->

Specify the property version that you want to activate or deactivate.

# Specify network

<!-- curl@15 -->
<!-- node@22 -->
<!-- python@23 -->

Specify whether you want to create a new activation or deactivation on `STAGING` or `PRODUCTION`.

# Add a note

<!-- curl@16 -->
<!-- node@23 -->
<!-- python@24 -->

Optionally you can add a note with a short description of the activation.

# Set fallback

<!-- curl@17 -->
<!-- node@24 -->
<!-- python@25 -->

After activating a property and finding it causes problems, POSTing another activation within one hour with `useFastFallback` enabled quickly rolls back to the previous version. This option is only available for activations where `canFastFallback` is true.

# Specify e-mails to notify

<!-- curl@18-21 -->
<!-- node@25-28 -->
<!-- python@26-29 -->

Enter the e-mail addresses that you want to notify about the activation or deactivation.

# Specify warnings to acknowledge

<!-- curl@22-24 -->
<!-- node@29-31 -->
<!-- python@30-32 -->

Specify warnings to acknowledge when POSTing the activation.

# Call the API

<!-- curl@1-25 -->
<!-- node@1-40 -->
<!-- python@1-41 -->

Call POST on the request URL, providing the body request object.

# View the response



The response object displays the `activationLink`to the newly created activation.