Redeliver a webhook event - Spacefast Docs

Redeliver a webhook event

Queues a new delivery of the same event to the webhook’s endpoint and returns it, with redeliveredFromId pointing back at the original. The new delivery starts with no attempts, and is created already failed when the webhook is over its delivery budget.

POST/v1/webhooks/{webhookId}/deliveries/{deliveryId}/redeliver

Authorization

AuthorizationBearer token · headerrequired

`Authorization: Bearer ` with an API key (`sfa_` prefix), an OAuth access token, a session token, or a Space machine credential (`sfm_` prefix).

or

AuthorizationOAuth2 access token · headerrequired

OAuth 2.0 with Spacefast scopes. People use the authorization code flow; machines use client credentials.

Scopes: spaces:write

Path parameters

webhookIdstringrequired

min length 1

deliveryIdstringrequired

min length 1

Responses

201 Response for status 201

$schemastring

Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

dataobjectrequired

Show propertiesHide properties

idstringrequired

webhookIdstringrequired

eventIdstringrequired

Activity event this attempt carries.

statusstringrequired

`failed` will be retried, `exhausted` used up the retry budget or the retry horizon and will not.

Allowed: pending``succeeded``failed``exhausted

attemptsintegerrequired

Delivery attempts made so far.

min 0 · max 9007199254740991

lastAttemptAtstring | anyrequired

ISO 8601 timestamp of the most recent attempt. Null before the first one.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

lastResponseStatusinteger | anyrequired

HTTP status the endpoint answered with on the last attempt. Null when the request never got a response.

Show propertiesHide properties

Any of:

integer

integer

any

any

nextRetryAtstring | anyrequired

ISO 8601 timestamp of the next scheduled attempt. Null when no retry is scheduled.

Show propertiesHide properties

Any of:

string

string<date-time>

any

any

redeliveredFromIdstring | anyrequired

Delivery this one replays. Null for the original attempt.

Show propertiesHide properties

Any of:

string

string

any

any

diagnosticsobject[]required

Why an attempt did not land, such as a rejected endpoint or an exhausted budget.

default: []

Show propertiesHide properties

Array of object

codestringrequired

Stable snake_case code for this diagnostic.

severitystringrequired

How serious the diagnostic is.

Allowed: info``warning``error

messagestringrequired

What happened, in a sentence a person can act on.

pathstring | any

File or artifact path the diagnostic refers to, with a line number when known, for example `_headers:12`. Absent when it applies to the whole resource.

Show propertiesHide properties

Any of:

string

string

any

any

providerstring | any

Upstream system that raised the diagnostic. Absent when Spacefast raised it.

Show propertiesHide properties

Any of:

string

string

any

any

detailsobject | any

Machine-readable context keyed by the diagnostic code.

Show propertiesHide properties

Any of:

object

object

any

any

fixstring | any

What to change to clear the diagnostic. Absent when there is no known fix.

Show propertiesHide properties

Any of:

string

string

any

any

retryableboolean | any

True when repeating the same operation unchanged can clear the diagnostic.

Show propertiesHide properties

Any of:

boolean

boolean

any

any

createdAtstringrequired

matches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$

$schemastring

Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

typestringrequired

URL of the documentation page for this error. Derived from `code`.

titlestringrequired

Human-readable name of the error type. Derived from `code`.

statusintegerrequired

HTTP status of the response, repeated in the body.

min -9007199254740991 · max 9007199254740991

detailstringrequired

What went wrong in this request.

codestringrequired

Stable snake_case error code. Match on this, not on `detail`.

pointerstring

RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

detailsobject

Machine-readable context keyed by the error code.

suggestionsstring[]

Recovery steps safe to show to a person.

nextstring[]

Commands or API requests to run next, usable as written.

requestIdstringrequired

ID of this request, from the `X-Request-Id` header or generated. Quote it when contacting support.

Try it

Server

Base URL https://api.spacefast.com

Custom base URL Overrides the selected server when set.

Authorization

Bearer token

Remember on this device

Include my values in samples

Parameters

webhookIdpath*deliveryIdpath*

Send

Request

cURL

curl -X POST "https://api.spacefast.com/v1/webhooks/string/deliveries/string/redeliver" \
  -H "Authorization: Bearer YOUR_TOKEN"

JavaScript

const response = await fetch("https://api.spacefast.com/v1/webhooks/string/deliveries/string/redeliver", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN"
  }
});

Python

import requests

response = requests.post(
    "https://api.spacefast.com/v1/webhooks/string/deliveries/string/redeliver",
    headers={
        "Authorization": "Bearer YOUR_TOKEN"
    },
)

Response

201 default

{
  "$schema": "http://example.com",
  "data": {
    "id": "string",
    "webhookId": "string",
    "eventId": "string",
    "status": "pending",
    "attempts": 9007199254740991,
    "lastAttemptAt": "2019-08-24T14:15:22Z",
    "lastResponseStatus": -9007199254740991,
    "nextRetryAt": "2019-08-24T14:15:22Z",
    "redeliveredFromId": "string",
    "diagnostics": [],
    "createdAt": "2019-08-24T14:15:22Z"
  }
}
{
  "$schema": "http://example.com",
  "type": "string",
  "title": "string",
  "status": -9007199254740991,
  "detail": "string",
  "code": "string",
  "pointer": "string",
  "details": {
    "property1": null,
    "property2": null
  },
  "suggestions": [
    "string"
  ],
  "next": [
    "string"
  ],
  "requestId": "string"
}