Show the current secret

Overview

Retrieve the current signing secret if you've lost it.

Use this instead of rotating when you just need to re-copy the value.

You'll need the subscription id.

Returns the current secret. The secret doesn't change, and every call is recorded in the audit log.

Prerequisites

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

POST /api/v1/partner/webhooks/{webhookSubscriptionId}/reveal-secret

Authentication

Partner token

  • Only partner users can call it; other tokens get 403.
  • Only your own partner's subscriptions: any other id, including another partner's, gets 404.

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
webhookSubscriptionIdpathintegerYesThe subscription's id, from List your webhooks.

Request body

None.

Request payload

None. Send no body.

Response body

The payload is inside data.

FieldTypeDescription
dataobjectThe subscription, with its secret.
data.idintegerThe subscription's id (webhookSubscriptionId).
data.partner_company_idintegerYour partner id.
data.labelstringYour name for the subscription.
data.webhook_urlstringWhere deliveries are sent.
data.eventsarray of strings or nullThe event filter. null: all immediate events. Always null on a batch subscription.
data.payload_modestringfull (the review, who did it, and the history entry) or minimal (event name and ids only). Always full on a batch subscription.
data.delivery_kindstringimmediate (each event as it happens) or batch (one cache_invalidation ping per location per interval).
data.batch_interval_hoursinteger or nullHours between batches: 1, 2, 4, 6 or 12. null on an immediate subscription.
data.delivery_labelstringThe delivery type in words: immediate, hourly batch or every N hours.
data.last_batch_dispatched_atstring or nullWhen the last batch was sent (ISO 8601). Set to the creation time for a new batch subscription; null on an immediate one.
data.is_activebooleanWhether deliveries are being sent.
data.hmac_secret_fingerprintstringThe first 16 characters of the SHA-256 hash of the signing secret, so you can tell which secret is current. The secret itself is never returned here.
data.last_succeeded_atstring or nullWhen a delivery last succeeded (ISO 8601), or null.
data.last_failed_atstring or nullWhen a delivery last failed (ISO 8601), or null.
data.last_failure_reasonstring or nullWhy the last delivery failed, or null.
data.consecutive_failure_countintegerFailed deliveries in a row since the last success.
data.created_atstringWhen the subscription was created (ISO 8601).
data.updated_atstringWhen it last changed (ISO 8601).
data.hmac_secretstringThe current signing secret.

Response payload

{
  "data": {
    "data": {
      "id": 3,
      "partner_company_id": 5,
      "label": "Production webhook",
      "webhook_url": "https://partner.example.com/hooks/sau",
      "events": [
        "review_pull_connected",
        "review_pull_disconnected",
        "usage.limit_reached"
      ],
      "payload_mode": "full",
      "delivery_kind": "immediate",
      "batch_interval_hours": null,
      "delivery_label": "immediate",
      "last_batch_dispatched_at": null,
      "is_active": true,
      "hmac_secret_fingerprint": "587647e874083b23",
      "last_succeeded_at": "2026-06-16T10:27:30+00:00",
      "last_failed_at": null,
      "last_failure_reason": null,
      "consecutive_failure_count": 0,
      "created_at": "2026-06-16T10:23:23+00:00",
      "updated_at": "2026-06-16T10:23:23+00:00",
      "hmac_secret": "<hmac-secret>"
    }
  }
}

Examples

Success payload

See Response payload.

Error payload

403 Not a Partner token

{
  "message": "Only partner-admin users can manage webhook subscriptions.",
  "status": "error",
  "errors": []
}

404 Subscription not found

{
  "message": "Subscription not found.",
  "status": "error",
  "errors": []
}
StatusMeaning
200The subscription and its current secret.
401The token is missing, expired or invalid.
403The token isn't a Partner token.
404No subscription with this id belongs to your partner.
500Unexpected server error.

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/webhooks/3/reveal-secret" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?