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

# Platform Events

> Reference for the account lifecycle webhook events StackOne delivers to your endpoint.

Platform events are webhooks StackOne fires from its own platform — not from a connector. Today they cover account lifecycle. For endpoint setup and signature verification, see [Webhooks](/connect/webhooks).

## Events

| Event             | Fires when                                  | Common use                                              |
| ----------------- | ------------------------------------------- | ------------------------------------------------------- |
| `account.created` | A linked account is created                 | Kick off an initial data sync or refresh your UI        |
| `account.updated` | A linked account is re-authenticated        | Re-check scopes or resume a paused sync                 |
| `account.deleted` | A linked account is disconnected or removed | Revoke downstream access, clean up stored `account_id`s |

## Payload

Each delivery is a JSON body with these fields:

| Field               | Type             | Description                                                |
| ------------------- | ---------------- | ---------------------------------------------------------- |
| `event`             | string           | `account.created`, `account.updated`, or `account.deleted` |
| `project_id`        | string           | The project the account belongs to                         |
| `account_id`        | string           | The linked account's ID                                    |
| `record_type`       | string           | Always `account` for these events                          |
| `record_id`         | string \| number | The account ID (same as `account_id`)                      |
| `provider`          | string           | The provider key (e.g. `bamboohr`)                         |
| `event_date`        | string           | ISO 8601 timestamp of the event                            |
| `sent_at`           | string           | ISO 8601 timestamp the webhook was sent                    |
| `origin_owner_id`   | string           | Your identifier for the account owner (optional)           |
| `origin_owner_name` | string           | Human-readable owner name (optional)                       |
| `origin_username`   | string           | Identifier for the connecting user (optional)              |
| `setup_information` | object           | Additional connection setup details (optional)             |

Example `account.updated`:

```json theme={null}
{
  "project_id": "acmeinc-27270",
  "account_id": "GnQoASvosYhE5wJcmmAQs",
  "event": "account.updated",
  "event_date": "2023-11-01T13:10:31.408Z",
  "record_type": "account",
  "record_id": "GnQoASvosYhE5wJcmmAQs",
  "sent_at": "2023-11-01T13:10:31.418Z",
  "provider": "bamboohr",
  "origin_owner_id": "unique-org-identifier",
  "origin_owner_name": "Test organization",
  "origin_username": "sample-user"
}
```

## Delivery & verification

Every delivery is signed with HMAC-SHA256 over the raw request body and sent in the `x-stackone-signature` header. Verify the signature and return `200`. See [Verifying webhook signatures](/connect/webhooks#verifying-webhook-signatures).
