This reference is the skmtc/skmtc-api API on Hub. Star it to see each revision, and add a pipeline to get its changes.
StarOpen on HubRotate a pipeline's webhook secret
Replace the signing secret of a pipeline's webhook action. The response carries the new secret, shown only this once. The old secret stops at once: every later attempt signs with the new one, including retries of events captured before the rotation. 422 for a pipeline with no webhook action. Signed-in sessions only: a leaked personal access token must not be able to replace the secret and break a working receiver.
Request
POST/v1/pipelines/{account}/{pipeline}/rotate-webhook-secretstringpath, requiredstringpath, requiredResponse
200 application/json
The request has succeeded.
A pipeline with its webhook action's signing secret. Returned by create, update and rotate only.
An RFC 4122 UUID, rendered as a string.
A user or organization account - the polymorphic resource owner.
Unique within the owner account.
Whether a pipeline fires. paused is entered by hand, or after 5 failed deliveries in a row.
The trigger of a pipeline: which API starts it. A pipeline fires when a revision becomes the latest revision of the API.
At most one action of each type, in the order they run.
Failed deliveries in a row; the auto-pause counter.
The newest delivery; null when the pipeline has none.
The requesting viewer's effective permissions on this pipeline.
An absolute URL.
An absolute URL.
The webhook action's signing secret in plaintext, shown only this once. Present when the request added the webhook action, and on rotate. It cannot be read again; rotate it to get a new one.
{
"id": "00000000-0000-0000-0000-000000000000",
"owner": {
"id": "string",
"handle": "string",
"displayName": "string",
"type": "user",
"avatarUrl": "string",
"bio": "string",
"location": "string",
"emailDomain": "string",
"claimStatus": "claimed",
"joinedAt": "2026-10-30T12:00:00Z",
"url": "string",
"htmlUrl": "string"
},
"name": "string",
"status": "active",
"subscription": {
"api": {
"account": "string",
"slug": "string",
"url": "string",
"htmlUrl": "string"
}
},
"actions": [
{
"type": "generate",
"skipped": true,
"stack": {
"account": "string",
"slug": "string",
"version": "string",
"url": "string",
"htmlUrl": "string"
},
"stackPin": {
"mode": "latest",
"version": "string"
},
"project": {
"account": "string",
"slug": "string",
"url": "string",
"htmlUrl": "string"
}
}
],
"consecutiveFailures": 0,
"lastDelivery": {
"id": "00000000-0000-0000-0000-000000000000",
"status": "pending",
"apiRevisionId": "string",
"actions": [
{
"type": "generate",
"skipped": true,
"stack": {
"account": "string",
"slug": "string",
"version": "string",
"url": "string",
"htmlUrl": "string"
},
"stackPin": {
"mode": "latest",
"version": "string"
},
"project": {
"account": "string",
"slug": "string",
"url": "string",
"htmlUrl": "string"
}
}
],
"results": [
{
"type": "generate",
"outcome": "succeeded",
"reasonCode": "string",
"detail": "string",
"durationMs": 0
}
],
"reasonCode": "string",
"startedAt": "2026-10-30T12:00:00Z",
"finishedAt": "2026-10-30T12:00:00Z",
"createdAt": "2026-10-30T12:00:00Z",
"url": "string"
},
"viewer": {
"canRead": true,
"canWrite": true,
"canAdmin": true
},
"createdAt": "2026-10-30T12:00:00Z",
"updatedAt": "2026-10-30T12:00:00Z",
"url": "string",
"htmlUrl": "string",
"webhookSecret": "string"
}401 application/json
Binds a concrete HTTP Status to the shared ApiError body.
The uniform error envelope returned for every non-2xx response.
Machine-readable error category. Each value pairs with one HTTP status.
Human-readable summary safe to surface to end users.
Correlates the response with server logs for support.
{
"code": "badRequest",
"message": "string",
"requestId": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}403 application/json
Binds a concrete HTTP Status to the shared ApiError body.
The uniform error envelope returned for every non-2xx response.
Machine-readable error category. Each value pairs with one HTTP status.
Human-readable summary safe to surface to end users.
Correlates the response with server logs for support.
{
"code": "badRequest",
"message": "string",
"requestId": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}404 application/json
Binds a concrete HTTP Status to the shared ApiError body.
The uniform error envelope returned for every non-2xx response.
Machine-readable error category. Each value pairs with one HTTP status.
Human-readable summary safe to surface to end users.
Correlates the response with server logs for support.
{
"code": "badRequest",
"message": "string",
"requestId": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}422 application/json
Binds a concrete HTTP Status to the shared ApiError body.
The uniform error envelope returned for every non-2xx response.
Machine-readable error category. Each value pairs with one HTTP status.
Human-readable summary safe to surface to end users.
Correlates the response with server logs for support.
{
"code": "badRequest",
"message": "string",
"requestId": "string",
"details": [
{
"field": "string",
"message": "string"
}
]
}Changes
No changes to this operation in the revisions on Hub.