Notifications
The VAPID public key a browser subscribes with. Not for agents.
semestra_session<token>Set by the sign-in endpoints for the web app. Requests other than GET, HEAD and OPTIONS also need the X-Semestra-CSRF header set to the semestra_csrf cookie.
Successful Response
application/json- response
public_key*Public KeyVAPID public key for PushManager.subscribe
curl -X GET 'https://example.com/me/notifications/config'{ "public_key": "string"}Saves this browser's push subscription for the current sign-in session (sent again on every visit to keep it current). Not for agents.
semestra_session<token>Set by the sign-in endpoints for the web app. Requests other than GET, HEAD and OPTIONS also need the X-Semestra-CSRF header set to the semestra_csrf cookie.
application/json- body
endpoint*EndpointPush service URL
length <= 2048p256dh*P256DhBrowser's public key, base64url
length <= 256auth*AuthAuthentication secret, base64url
length <= 64Successful Response
application/json- response
ok?Oktruecurl -X POST 'https://example.com/me/notifications/devices' \ -H 'Content-Type: application/json' \ -d '{ "endpoint": "string", "p256dh": "string", "auth": "string"}'{ "ok": true}Not for agents.
semestra_session<token>Set by the sign-in endpoints for the web app. Requests other than GET, HEAD and OPTIONS also need the X-Semestra-CSRF header set to the semestra_csrf cookie.
application/json- body
endpoint*EndpointPush service URL of the device
length <= 2048Successful Response
application/json- response
ok?Oktruecurl -X POST 'https://example.com/me/notifications/devices/remove' \ -H 'Content-Type: application/json' \ -d '{ "endpoint": "string"}'{ "ok": true}Ignores quiet hours. Not for agents.
semestra_session<token>Set by the sign-in endpoints for the web app. Requests other than GET, HEAD and OPTIONS also need the X-Semestra-CSRF header set to the semestra_csrf cookie.
Successful Response
application/json- response
delivered*DeliveredHow many devices accepted the test notification
curl -X POST 'https://example.com/me/notifications/test'{ "delivered": 0}