---
title: "Recent payloads of one event, for mapping fields"
description: "Up to three of the most recent events of that type in this organisation, newest first, in the delivered data shape. When there are none yet, the catalog example is returned so the editor always has something to map.\n\n### Quire permissions\n\nRequired capability: `webhook/manage`.\n\nCredential scopes: `webhooks:read`.\n\nThe acting subject must also be allowed to perform this action in the organisation."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Quire API › webhooks

`GET /hooks/samples`

Up to three of the most recent events of that type in this organisation, newest first, in the delivered data shape. When there are none yet, the catalog example is returned so the editor always has something to map.

\### Quire permissions

Required capability: `webhook/manage`.

Credential scopes: `webhooks:read`.

The acting subject must also be allowed to perform this action in the organisation.

## Authentication

Requires one of the following:

- `apiKey`, http, header `Authorization`, scopes: `webhooks:read`
- `oauth2`, oauth2, scopes: `webhooks:read`

## Query parameters

- `listHookSamples.query.event` (string, required)
  - minLength 1; maxLength 100

## Header parameters

- `listHookSamples.header.Quire-Version` (string, optional) — The dated API revision to serve this request at. Omitted, the request is served at the revision the credential was issued against. The response echoes the revision actually applied.
  - format `date`

## Code samples

### cURL

```curl
curl --request GET \
  --url 'https://your-organisation.quirelms.com/api/v1/hooks/samples?event=string' \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = 'https://your-organisation.quirelms.com/api/v1/hooks/samples?event=string';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://your-organisation.quirelms.com/api/v1/hooks/samples?event=string"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

Success.

#### Example

```json
{
  "data": [
    {
      "id": "string",
      "type": "string",
      "occurred_at": "string",
      "data": null
    }
  ]
}
```

- `listHookSamples.response.200.data` (array<object>, required)
  - `listHookSamples.response.200.data.id` (string, required)
  - `listHookSamples.response.200.data.type` (string, required)
  - `listHookSamples.response.200.data.occurred_at` (string, required)
  - `listHookSamples.response.200.data.data` (unknown, required)

### 401

The credential is missing, malformed, expired or revoked.

#### Example

```json
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "code": "string",
  "category": "validation",
  "detail": "string",
  "request_id": "string",
  "errors": [
    {
      "path": "string",
      "code": "string",
      "detail": "string"
    }
  ],
  "retry_after": 0,
  "docs_url": "http://example.com"
}
```

- `listHookSamples.response.401.type` (string, required)
  - format `uri`
- `listHookSamples.response.401.title` (string, required)
- `listHookSamples.response.401.status` (integer, required)
- `listHookSamples.response.401.code` (string, required)
- `listHookSamples.response.401.category` (string, required)
  - one of `"validation"`, `"authentication"`, `"authorization"`, `"not_found"`, `"conflict"`, `"precondition"`, `"quota"`, `"rate_limit"`, `"upstream"`, `"internal"`
- `listHookSamples.response.401.detail` (string, required)
- `listHookSamples.response.401.request_id` (string, required)
- `listHookSamples.response.401.docs_url` (string, required)
  - format `uri`
- `listHookSamples.response.401.errors` (array<object>, optional)
  - `listHookSamples.response.401.errors.path` (string, required) — RFC 6901 JSON Pointer into the request body.
  - `listHookSamples.response.401.errors.code` (string, required)
  - `listHookSamples.response.401.errors.detail` (string, required)
- `listHookSamples.response.401.retry_after` (integer | null, optional)

### 403

The credential lacks the scope this operation requires, or the acting subject lacks the capability.

#### Example

```json
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "code": "string",
  "category": "validation",
  "detail": "string",
  "request_id": "string",
  "errors": [
    {
      "path": "string",
      "code": "string",
      "detail": "string"
    }
  ],
  "retry_after": 0,
  "docs_url": "http://example.com"
}
```

- `listHookSamples.response.403.type` (string, required)
  - format `uri`
- `listHookSamples.response.403.title` (string, required)
- `listHookSamples.response.403.status` (integer, required)
- `listHookSamples.response.403.code` (string, required)
- `listHookSamples.response.403.category` (string, required)
  - one of `"validation"`, `"authentication"`, `"authorization"`, `"not_found"`, `"conflict"`, `"precondition"`, `"quota"`, `"rate_limit"`, `"upstream"`, `"internal"`
- `listHookSamples.response.403.detail` (string, required)
- `listHookSamples.response.403.request_id` (string, required)
- `listHookSamples.response.403.docs_url` (string, required)
  - format `uri`
- `listHookSamples.response.403.errors` (array<object>, optional)
  - `listHookSamples.response.403.errors.path` (string, required) — RFC 6901 JSON Pointer into the request body.
  - `listHookSamples.response.403.errors.code` (string, required)
  - `listHookSamples.response.403.errors.detail` (string, required)
- `listHookSamples.response.403.retry_after` (integer | null, optional)

### 422

The request was understood and its content is not valid. `errors` names each field.

#### Example

```json
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "code": "string",
  "category": "validation",
  "detail": "string",
  "request_id": "string",
  "errors": [
    {
      "path": "string",
      "code": "string",
      "detail": "string"
    }
  ],
  "retry_after": 0,
  "docs_url": "http://example.com"
}
```

- `listHookSamples.response.422.type` (string, required)
  - format `uri`
- `listHookSamples.response.422.title` (string, required)
- `listHookSamples.response.422.status` (integer, required)
- `listHookSamples.response.422.code` (string, required)
- `listHookSamples.response.422.category` (string, required)
  - one of `"validation"`, `"authentication"`, `"authorization"`, `"not_found"`, `"conflict"`, `"precondition"`, `"quota"`, `"rate_limit"`, `"upstream"`, `"internal"`
- `listHookSamples.response.422.detail` (string, required)
- `listHookSamples.response.422.request_id` (string, required)
- `listHookSamples.response.422.docs_url` (string, required)
  - format `uri`
- `listHookSamples.response.422.errors` (array<object>, optional)
  - `listHookSamples.response.422.errors.path` (string, required) — RFC 6901 JSON Pointer into the request body.
  - `listHookSamples.response.422.errors.code` (string, required)
  - `listHookSamples.response.422.errors.detail` (string, required)
- `listHookSamples.response.422.retry_after` (integer | null, optional)

### 429

A rate limit or a concurrency cap was reached. `Retry-After` says when to try again.

#### Example

```json
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "code": "string",
  "category": "validation",
  "detail": "string",
  "request_id": "string",
  "errors": [
    {
      "path": "string",
      "code": "string",
      "detail": "string"
    }
  ],
  "retry_after": 0,
  "docs_url": "http://example.com"
}
```

- `listHookSamples.response.429.type` (string, required)
  - format `uri`
- `listHookSamples.response.429.title` (string, required)
- `listHookSamples.response.429.status` (integer, required)
- `listHookSamples.response.429.code` (string, required)
- `listHookSamples.response.429.category` (string, required)
  - one of `"validation"`, `"authentication"`, `"authorization"`, `"not_found"`, `"conflict"`, `"precondition"`, `"quota"`, `"rate_limit"`, `"upstream"`, `"internal"`
- `listHookSamples.response.429.detail` (string, required)
- `listHookSamples.response.429.request_id` (string, required)
- `listHookSamples.response.429.docs_url` (string, required)
  - format `uri`
- `listHookSamples.response.429.errors` (array<object>, optional)
  - `listHookSamples.response.429.errors.path` (string, required) — RFC 6901 JSON Pointer into the request body.
  - `listHookSamples.response.429.errors.code` (string, required)
  - `listHookSamples.response.429.errors.detail` (string, required)
- `listHookSamples.response.429.retry_after` (integer | null, optional)

### 500

Something failed at our end. Quote `request_id` when reporting it.

#### Example

```json
{
  "type": "http://example.com",
  "title": "string",
  "status": 0,
  "code": "string",
  "category": "validation",
  "detail": "string",
  "request_id": "string",
  "errors": [
    {
      "path": "string",
      "code": "string",
      "detail": "string"
    }
  ],
  "retry_after": 0,
  "docs_url": "http://example.com"
}
```

- `listHookSamples.response.500.type` (string, required)
  - format `uri`
- `listHookSamples.response.500.title` (string, required)
- `listHookSamples.response.500.status` (integer, required)
- `listHookSamples.response.500.code` (string, required)
- `listHookSamples.response.500.category` (string, required)
  - one of `"validation"`, `"authentication"`, `"authorization"`, `"not_found"`, `"conflict"`, `"precondition"`, `"quota"`, `"rate_limit"`, `"upstream"`, `"internal"`
- `listHookSamples.response.500.detail` (string, required)
- `listHookSamples.response.500.request_id` (string, required)
- `listHookSamples.response.500.docs_url` (string, required)
  - format `uri`
- `listHookSamples.response.500.errors` (array<object>, optional)
  - `listHookSamples.response.500.errors.path` (string, required) — RFC 6901 JSON Pointer into the request body.
  - `listHookSamples.response.500.errors.code` (string, required)
  - `listHookSamples.response.500.errors.detail` (string, required)
- `listHookSamples.response.500.retry_after` (integer | null, optional)


Source: https://docs.quirelms.com/api/webhooks/listHookSamples/index.md
