Roll an endpoint's secret
Replaces the signing secret, returned here. Until previous_secret_expires_at, requests carry a signature with each secret, so the receiver can switch without rejecting any. Not idempotent.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
application*stringThe application's id (happ_…) or your uid for it.
endpoint_id*stringThe endpoint's id.
Coss-Version?"2026-10-10"The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.
"2026-10-10"application/json- body
- body
- …
previous_secret_expires_in?integerSeconds the current secret keeps signing next to the new one. Default 86400 (a day), at most 604800 (a week); 0 stops it immediately.
0 <= value <= 604800The endpoint and its new secret.
application/json- response
- response
- …
object*"hook_endpoint""hook_endpoint"id*stringapplication_id*stringurl*stringdescription*string|nullfilter_types*array<string>rate_limit_per_second*integer|nullenabled*booleandisabled_reason*|manual: disabled by you or its user. failing: its deliveries failed every attempt for five days, so COSS disabled it. null while enabled.
"manual""failing"nulldisabled_at*|date-timefailing_since*|When its current run of failed deliveries began; cleared by the next success. null while healthy.
date-timeprevious_secret_expires_at*|After a secret roll, requests are also signed with the previous secret until then.
date-timemetadata*created_at*stringdate-timeupdated_at*stringdate-timesecret*stringThe endpoint's whsec_… signing secret (Standard Webhooks).
import { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.hooks.endpoints.rollSecret("customer_8812", "hep_01k7c8m4q2f3e9v6t5r1n0p8yz", { previous_secret_expires_in: 3600,});{ "object": "hook_endpoint", "id": "hep_01k7c8m4q2f3e9v6t5r1n0p8yz", "application_id": "happ_01k7c8m4q2f3e9v6t5r1n0p8yz", "url": "https://example.com/webhooks", "description": "Production", "filter_types": [ "invoice.paid" ], "rate_limit_per_second": null, "enabled": true, "disabled_reason": null, "disabled_at": null, "failing_since": null, "previous_secret_expires_at": null, "metadata": {}, "created_at": "2026-01-15T09:30:00.000Z", "updated_at": "2026-01-15T09:30:00.000Z", "secret": "whsec_6Jk…"}