# Storage project webhooks

Receive webhook notifications whenever storage projects are created, updated, or deleted. Storage project webhooks can be used to trigger actions in your application whenever a storage project is changed, for example to provision servers.

## Events[​](#events "Direct link to Events")

| Event                     | Description                                                                                   |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| `storage_project.created` | Occurs whenever a new storage project is created.                                             |
| `storage_project.updated` | Occurs whenever any storage project is updated (`is_active` flag or `storage_size_estimated`) |
| `storage_project.deleted` | Occurs whenever a storage project is deleted.                                                 |

info

You may need to watch for `updated` and `deleted` events to watch for both deletions and archivals (deactivating project storages = changing `is_active` flag).

info

We do NOT send webhooks when `storage_size_current` changes.

## Example Payload[​](#example-payload "Direct link to Example Payload")

We return JSON-formatted content with the following structure.

| Name    | Example content                                                                          | Description                                                                 |
| ------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `id`    | `90fffd9c-6f31-43f5-84ce-264c7ca8be37`                                                   | UUID of the storage project                                                 |
| `type`  | `storage_project`                                                                        | Resource type                                                               |
| `event` | `storage_project.updated`                                                                | Event that triggered the webhook, lowercase, dot-separated                  |
| `url`   | `https://app.freispace.com/server-storage/90fffd9c-6f31-43f5-84ce-264c7ca8be37/overview` | URL to the updated storage (**!** link to the storage, not storage project) |
| `data`  | `{}`                                                                                     | The storage project's information                                           |

```
{

    "id": "90fffd9c-6f31-43f5-84ce-264c7ca8be37",

    "type": "storage_project",

    "event": "storage_project.updated",

    "url": "https://app.freispace.com/server-storage/90fffd9c-6f31-43f5-84ce-264c7ca8be37/overview",

    "data": {

        "id": "90fffd9c-6f31-43f5-84ce-264c7ca8be37",

        "storage_size_estimated": 21990232555519, // in bytes, may be null

        "storage_size_current": 4617948836659, // in bytes, may be null

        "is_active": true,

        "storage": {

            "id": "90fffd9c-6f31-43f5-84ce-264c7ca8be37",

            "name": "E01 Storage",

            "byline": null,

            "type": "on-prem", // on-prem, cloud or hybrid

            "size": 21990232555519, // in bytes, or null for unlimited

            "size_allocated": 21990232555519, // in bytes, may be null

            "size_occupied": 4617948836659, // in bytes, may be null

            "is_active": true,

        },

        "project": {

            "id": "9d526060-599b-4e29-b9b6-cc5bcc20dacb",

            "name": "E01",

            "byline": null,

            "number": "P156-1",

        }

    }

}
```
