Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Confirm a signing secret rotation Beta

POST/api/v1/connections/{connection_id}/trigger-ingress/signing-secret/confirm

This endpoint is in beta. Its request and response may change.

Retires the previous signing secret, so only the new one is accepted. Call it once the app signs with the new secret. Pass signing_secret_rotation_id from the latest set or get response, so you confirm the rotation you checked. With no rotation in progress, the call succeeds and changes nothing.

Authorization

Authorization: Bearer $TOKEN, an access token from the client credentials grant. See Authentication.

Path parameters

connection_idstringrequired
ID of the connection, in this environment. Up to 64 characters.

Body

signing_secret_rotation_idstring
The rotation to confirm: the signing_secret_rotation_id from the latest Set a signing secret or Get a webhook URL response. Required while a rotation is in progress; a missing or non-matching value is then refused with 400, rather than confirming a rotation you did not look at. Ignored when no rotation is in progress.

Response 200

connection_idstring
ID of the connection this webhook URL belongs to.
idstring
Unique identifier of the connection's webhook endpoint.
masked_signing_secretstring
The stored secret with all but its last four characters replaced, or every character replaced for a secret of 8 characters or fewer. Empty when none is configured. Enough to compare against the secret the provider's app configuration shows, and never enough to sign with.
previous_signing_secret_expires_atstring
When the previous secret stops being accepted even if the rotation is never confirmed: 24 hours after the rotation started. Absent when no rotation is in progress.
rotation_in_progressboolean
Whether the previous signing secret is still accepted alongside the current one. True from the moment a different secret replaces a stored one until the rotation is confirmed, or until previous_signing_secret_expires_at passes.
signing_secret_configuredboolean
Whether a signing secret is stored. While false, every event sent to the URL is answered with 503 so the provider retries it, and the provider's own URL verification fails.
signing_secret_rotation_idstring
Identifies the latest signing-secret rotation; it increases by one each time a rotation starts. Zero when none has ever started. Pass this value to Confirm a signing secret rotation to confirm this specific rotation. A value naming a rotation that a newer one has since replaced is refused rather than confirming the wrong rotation.
urlstring
The URL to paste into the provider's app configuration as the event destination. It is built on your environment's domain, using its custom domain when one is set, and ends in a random token unique to this connection, so treat it as confidential. Returned whether or not a signing secret has been set. The URL accepts request bodies up to 1 MB and answers a larger one with 413. Until a signing secret is set it answers events with 503, so the provider retries them; an event that fails signature verification is answered with 400.

Errors

Every error has the same body: code, message and details. See Errors and rate limits.

400Invalid request - connection_id is not a valid connection ID, or a rotation is in progress and signing_secret_rotation_id is missing or does not match it, for example because a newer rotation has started. The message names the current rotation ID; read the endpoint again with Get a webhook URL before confirming
404Not found - no webhook URL has been created for this connection yet (error_code TRIGGER_INGRESS_ENDPOINT_NOT_CREATED; call Create a webhook URL first), the connection does not exist in this environment (error_code RESOURCE_NOT_FOUND), or Triggers isn't turned on for your environment (error_code RESOURCE_NOT_FOUND)
500Internal error - the rotation could not be confirmed; retry the request