# Get a repository webhook delivery

Returns one delivery with what it matched, what it queued, and why it was ignored or failed. A delivery that touched none of this Space’s connections reads as 404. The raw payload is never returned.

### GET `/v1/spaces/{spaceId}/source/connection/webhook-deliveries/{deliveryId}`

## Authorization

`Authorization` Bearer token · header required

```
Authorization: Bearer <token>
```

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

or

`Authorization` OAuth2 access token · header required

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

### Scopes:

- `spaces:read`

## Path parameters

- `spaceId` string required
- `deliveryId` string required

## Responses

### 200 Response for status 200

- `$schema`: string<uri>
  
  Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

- `data`: object required  
  Show properties Hide properties  
  - `id`: string required  
    Delivery record ID (`rwd_` prefix).
  - `receiver`: string required  
    Ingress that accepted the event.
  - `deliveryId`: string required  
    Delivery ID the sender supplied, or the SHA-256 of the raw body when it sent none. Repeats of it are treated as the same delivery.
  - `repositoryConnectionId`: string | any required  
    First source connection the event matched. Null when it matched none, or when the match belongs to another Space.

Any of:
  - string
  - any

- `matchedConnectionIds`: string[] required  
    Every source connection the event matched, narrowed to this Space.
    default: []
  - `repositoryId`: string | any required  
    Repository the event named. Null when the payload carried none.

Any of:
  - string
  - any

- `eventName`: string required  
    Event the sender labelled the delivery with, such as `push`.
  - `ref`: string | any required  
    Git ref the event carried. Null when it carried none.

Any of:
  - string
  - any

- `commit`: string | any required  
    Commit the ref moved to. Null when the event carried none.

Any of:
  - string
  - any

- `syncRunId`: string | any required  
    Sync run the event reports on. Null for events that are not sync results.

Any of:
  - string
  - any

- `status`: string required  
    `received` before work starts, `processing` while it runs, `processed` when it finished, `ignored` when nothing matched or the event is not acted on, `failed` when processing threw.

Allowed:
  - `received`
  - `processing`
  - `processed`
  - `ignored`
  - `failed`

- `statusMessage`: string | any required  
    Why the delivery was ignored or failed. Null when it was processed cleanly.

Any of:
  - string
  - any

- `queuedBuildIds`: string[] required  
    Builds this delivery queued, narrowed to this Space. Empty when it queued none.
  - `retiredVersionIds`: string[] required  
    Versions this delivery retired, narrowed to this Space.
    default: []
  - `rawBodySha256`: string | any required  
    SHA-256 of the raw payload. The payload itself is never returned.

Any of:
  - string
  - any

- `createdAt`: string<date-time> required  
    ISO 8601 timestamp when the delivery was recorded.
  - `updatedAt`: string<date-time> required  
    ISO 8601 timestamp of the last status change.

### Error Response

Every 4xx and 5xx response is one RFC 9457 problem document served as `application/problem+json`.

- `$schema`: string<uri>  
  Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

- `type`: string required  
  URL of the documentation page for this error. Derived from `code`.
- `title`: string required  
  Human-readable name of the error type. Derived from `code`.
- `status`: integer required  
  HTTP status of the response, repeated in the body.
- `detail`: string required  
  What went wrong in this request.
- `code`: string required  
  Stable snake_case error code. Match on this, not on `detail`.
- `pointer`: string  
  RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.
- `details`: object  
  Machine-readable context keyed by the error code.
- `suggestions`: string[]  
  Recovery steps safe to show to a person.
- `next`: string[]  
  Commands or API requests to run next, usable as written.
- `requestId`: string required  
  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

- `spaceId` path *
- `deliveryId` path *

### Send

#### Request

##### cURL

```
curl -X GET "https://api.spacefast.com/v1/spaces/string/source/connection/webhook-deliveries/string" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

##### JavaScript

```
const response = await fetch("https://api.spacefast.com/v1/spaces/string/source/connection/webhook-deliveries/string", {
  method: "GET",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN"
  }
});
```

##### Python

```
import requests

response = requests.get(
    "https://api.spacefast.com/v1/spaces/string/source/connection/webhook-deliveries/string",
    headers={
        "Authorization": "Bearer YOUR_TOKEN"
    },
)
```

### Response

#### 200 default

```
{
  "$schema": "http://example.com",
  "data": {
    "id": "string",
    "receiver": "string",
    "deliveryId": "string",
    "repositoryConnectionId": "string",
    "matchedConnectionIds": [],
    "repositoryId": "string",
    "eventName": "string",
    "ref": "string",
    "commit": "string",
    "syncRunId": "string",
    "status": "received",
    "statusMessage": "string",
    "queuedBuildIds": [
      "string"
    ],
    "retiredVersionIds": [],
    "rawBodySha256": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
}
```

### Error Response

```
{
  "$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"
}
```
