Update an endpoint
Changes the URL, description, filter types, rate limit, metadata or enabled. Enabling it again clears a failure streak. The secret stays the same (see roll secret).
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
- …
url?stringlength <= 2048description?|length <= 256filter_types?array<>Event types delivered to this endpoint (existing, unarchived ones). An empty array means every type, including ones added later.
items <= 250rate_limit_per_second?|At most this many requests per second to this endpoint.
1 <= value <= 1000metadata?Your own key-value pairs (at most 16; keys up to 40 characters, values up to 500).
enabled?booleanThe endpoint.
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-timeimport { 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.update("customer_8812", "hep_01k7c8m4q2f3e9v6t5r1n0p8yz", { enabled: false,});{ "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"}