# availability.created

POST

A member recorded days they are unavailable.

-   **Signed** with Standard Webhooks (the headers below). Verify the signature over the raw body before parsing it — the recipes are in the developer docs’ Webhooks guide.
-   **Answer any 2xx within 20 s.** Anything else, or no answer, is retried: 8 attempts over about 21 h.
-   **410 Gone** disables the webhook.

## Parameters

### Header Parameters

**webhook-id**

required

string

The delivery id — equal to the body’s `id`. Dedupe on it (delivery is at-least-once).

Example

```plaintext
WD000001
```

**webhook-timestamp**

required

string

Unix seconds when this attempt was signed. Refuse one more than 5 minutes from now (a replay).

Example

```json
1790380800
```

**webhook-signature**

required

string

Space-separated `v1,<base64>` HMAC-SHA256 signatures of `{webhook-id}.{webhook-timestamp}.{raw body}`, keyed with the base64-decoded part of the secret after `whsec_`. Two during a rotation’s 24 h grace.

Example

```plaintext
v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=
```

**X-TasksMate-Event**

required

string

The event type (the body’s `type`), for routing before parsing.

Example

```plaintext
task.updated
```

**User-Agent**

required

string

Identifies TasksMate’s sender.

Example

```plaintext
TasksMate-Webhooks/1
```

## Request Bodyrequired

application/json

_WebhookEvent_

One webhook delivery’s JSON body. Verify the signature over the raw bytes first (Standard Webhooks; the developer docs’ Webhooks guide has the recipe); delivery is at-least-once, so deduplicate on `id`.

object

**id**

required

_Id_

The delivery id — the same as the `webhook-id` header (a replay keeps the original’s)

string

**type**

required

_Type_

The event: one of the `webhooks` keys of this document (`task.updated`, …), or `webhook.test` for a test send

string

**api\_version**

required

_Api Version_

The subscription’s API version (the date the body’s shape is pinned to)

string

**created\_at**

required

_Created At_

When the event happened (the audit row’s time)

string format: date-time

**org\_id**

required

_Org Id_

string

**project\_id**

required

Any of:

**string**


string

**null**


null

**actor**

required

_WebhookActor_

Who caused the event.

object

**kind**

required

_Kind_

`user`, `service_account` (acting through an access token) or `system`.

string

**id**

required

Any of:

**string**


string

**null**


null

**username**

required

Any of:

**string**


string

**null**


null

**data**

required

_WebhookEventData_

What changed: the audit row’s scrubbed diff — never a whole resource, never a secret.

object

**resource\_type**

required

_Resource Type_

`task`, `project`, `member`, `invite`, `organization`, `team`, `webhook`, …

string

**resource\_id**

required

_Resource Id_

The resource’s id — read it with the API for the full object

string

**before**

required

Any of:

**object**
object

**_key_**

additional properties

any

**null**


null

**after**

required

Any of:

**object**
object

**_key_**

additional properties

any

**null**


null

**request\_id**

required

Any of:

**string**


string

**null**


null

Example

```json
{
  "id": "WD000001",
  "type": "availability.created",
  "api_version": "2026-09-25",
  "created_at": "2026-09-25T12:00:00Z",
  "org_id": "O0020",
  "project_id": null,
  "actor": {
    "kind": "user",
    "id": "406670f1-c819-4d27-9552-1747c551cf5c",
    "username": "ada"
  },
  "data": {
    "resource_type": "member",
    "resource_id": "406670f1-c819-4d27-9552-1747c551cf5c",
    "before": null,
    "after": {
      "name": "After"
    }
  },
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

## Responses

### 410

Gone — TasksMate disables the webhook and stops sending

### 2XX

Received — any 2xx within 20 s ends the delivery

---
Source: https://developers.tasksmate.indrasol.com/reference/webhooks/webhookavailabilitycreated/
