---
title: "WebhookCall"
description: "The `WebhookCall` entity."
section: "Reference"
group: "Types"
order: 254
---

## Definition

```ts
interface WebhookCall {
  id: string;
  workspaceId: string;
  endpointId: string;
  method: string;
  headers: Record<string, string>;
  contentType: string | null;
  body: string | null;
  bodyR2Key: string | null;
  bodySize: number;
  signatureStatus: "failed" | "unverified" | "passed";
  sourceIp: string | null;
  receivedAt: string;
}
```

## Fields

| Field             | Type                                   | Notes                                                                                 |
| ----------------- | -------------------------------------- | ------------------------------------------------------------------------------------- |
| `id`              | `string`                               | `readonly` `required`                                                                 |
| `workspaceId`     | `string`                               | `required` — Workspace that received this call.                                       |
| `endpointId`      | `string`                               | `required` — Inbound endpoint that accepted the call.                                 |
| `method`          | `string`                               | `required` — HTTP method of the request.                                              |
| `headers`         | `Record<string, string>`               | `required` — Request headers as received.                                             |
| `contentType`     | `string \| null`                       | `required` — Content-Type header snapshot.                                            |
| `body`            | `string \| null`                       | `required` — Request body when ≤64KB; otherwise null and `bodyR2Key` points to R2.    |
| `bodyR2Key`       | `string \| null`                       | `required` — R2 object key when body was too large to inline.                         |
| `bodySize`        | `number`                               | `required` — Byte size of the raw body.                                               |
| `signatureStatus` | `"failed" \| "unverified" \| "passed"` | `required` — unverified = endpoint has no secret configured; passed/failed otherwise. |
| `sourceIp`        | `string \| null`                       | `required` — Client IP address, if available.                                         |
| `receivedAt`      | `string`                               | `required` — ISO-8601 timestamp when the call was received.                           |
