Register or rebind a Push subscription supplied by its device
curl --request POST \
--url https://app.communicate.so/api/v1/member-notifications/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint": "<string>",
"keys": {
"p256dh": "<string>",
"auth": "<string>"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({endpoint: '<string>', keys: {p256dh: '<string>', auth: '<string>'}})
};
fetch('https://app.communicate.so/api/v1/member-notifications/subscriptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.communicate.so/api/v1/member-notifications/subscriptions"
payload = {
"endpoint": "<string>",
"keys": {
"p256dh": "<string>",
"auth": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"label": "<string>",
"status": "enabled"
}{
"id": "<string>",
"label": "<string>",
"status": "enabled"
}Notifications
Register or rebind a Push subscription supplied by its device
Use an explicit notifications:read or notifications:write account grant, or an application session. Devices belong to the authenticated user; workspace settings retain live membership and agent access. Member summaries require the live owner/admin role. Cookie writes still require a trusted Origin. Provider acceptance alone does not establish device delivery.
POST
/
member-notifications
/
subscriptions
Register or rebind a Push subscription supplied by its device
curl --request POST \
--url https://app.communicate.so/api/v1/member-notifications/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint": "<string>",
"keys": {
"p256dh": "<string>",
"auth": "<string>"
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({endpoint: '<string>', keys: {p256dh: '<string>', auth: '<string>'}})
};
fetch('https://app.communicate.so/api/v1/member-notifications/subscriptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.communicate.so/api/v1/member-notifications/subscriptions"
payload = {
"endpoint": "<string>",
"keys": {
"p256dh": "<string>",
"auth": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>",
"label": "<string>",
"status": "enabled"
}{
"id": "<string>",
"label": "<string>",
"status": "enabled"
}Authorizations
accountBeareraccountSessionlocalAccountSession
Opaque user-bound ca_ account credential. Each request checks live account scopes, verified email, expiry, revocation and the issuer session. Not a workspace ck_ key or OAuth access token.
Body
application/json