Rotate the webhook signing secret
curl --request POST \
--url https://api.opper.ai/v3/webhooks/secret/rotate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.opper.ai/v3/webhooks/secret/rotate"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.opper.ai/v3/webhooks/secret/rotate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"created_at": "2023-11-07T05:31:56Z",
"secret": "<string>",
"previous_valid_until": "2023-11-07T05:31:56Z"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}Webhooks
Rotate the webhook signing secret
Replace the project’s webhook signing secret. For 24 hours webhooks carry two signatures, one with the new secret and one with the previous, so your endpoint can switch without dropping a delivery; after that only the new one signs. Rotating again within the 24 hours retires the previous secret at once. Needs a key whose owner may manage the project’s keys (an organization admin or owner), else 403.
POST
/
v3
/
webhooks
/
secret
/
rotate
Rotate the webhook signing secret
curl --request POST \
--url https://api.opper.ai/v3/webhooks/secret/rotate \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.opper.ai/v3/webhooks/secret/rotate"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.opper.ai/v3/webhooks/secret/rotate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"created_at": "2023-11-07T05:31:56Z",
"secret": "<string>",
"previous_valid_until": "2023-11-07T05:31:56Z"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}See the Webhooks guide for setup, signature verification and retries.
Last modified on November 3, 2026