# ad.video.processed

Meta finished processing a video uploaded with `async: true` on `POST /v1/ads/videos`.

### Payload notes

`video.status` is `ready` (reference it as `video.id` on the create endpoints) or `error`, with `video.error` carrying the reason.

### When it fires

Fires once per upload, when the video leaves `processing`. Zernio polls every 10 seconds for about 13 minutes; after that no event is sent, so read `GET /v1/ads/videos/{videoId}` for long videos.




**Payload for `ad.video.processed`:**

- **id** (required) `string`: Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery.
- **profiles**: `WebhookProfiles` - See schema definition
- **test** `boolean`: Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.
- **event** (required) `string`: No description - one of: ad.video.processed
- **account** (required) `object`: The connected ads account the video was uploaded with.
  - **accountId** (required) `string`: Internal Zernio account ID.
  - **profileId** (required) `string`: Internal Zernio profile ID this account belongs to.
  - **platform** (required) `string`: Ads connection platform. Currently always `metaads`. (example: "metaads")
  - **username** (required) `string`: No description
  - **displayName** `string,null`: No description
- **video** (required) `object`: 
  - **id** (required) `string`: Meta video id, as returned by the 202 upload response.
  - **platformAdAccountId** (required) `string`: Meta ad account id (act_<n>) the video was uploaded to.
  - **status** (required) `string`: `ready`: usable as `video.id` on the create endpoints. `error`: Meta could not process it; upload again. - one of: ready, error
  - **error** (required) `string,null`: Meta's processing error when status is `error`, otherwise null.
  - **thumbnailUrl** (required) `string,null`: Meta's auto-generated poster when status is `ready` and Meta produced one, otherwise null.
- **timestamp** (required) `string` (date-time): UTC time at which Zernio generated this event.