---
title: "POST robots.job.moderate.errored"
method: POST
path: "robots.job.moderate.errored"
---

# POST robots.job.moderate.errored

`POST robots.job.moderate.errored` (webhook)

## Payload

- object
  - `type` 'robots.job.moderate.errored', required — Type for the webhook event
  - `id` string, required — Unique identifier for the event
  - `created_at` string, date-time, required — Time the event was created
  - `object` object, required
    - `type` string, required
    - `id` string, required
  - `environment` object, required
    - `name` string, required — Name for the environment
    - `id` string, required — Unique identifier for the environment
  - `attempts` object[], required — Attempts for sending out the webhook event
    - `webhook_id` integer — Unique identifier for the webhook
    - `response_status_code` integer — HTTP response status code for the webhook attempt
    - `response_headers` object — HTTP response headers for the webhook attempt
    - `response_body` string, nullable — HTTP response body for the webhook attempt
    - `max_attempts` integer — Max attempts number for the webhook attempt
    - `id` string — Unique identifier for the webhook attempt
    - `created_at` string, date-time — Time the webhook request was attempted
    - `address` string — URL address for the webhook attempt
  - `request_id` string, nullable
  - `accessor` string, nullable
  - `accessor_source` string, nullable
  - `data` object, required — The job that triggered the webhook event. In the actual payload this is nested under a dynamic event name key (e.g. `robots.job.summarize.completed`), not at the top level.
    - `id` string, required — Unique job identifier.
    - `passthrough` string — Arbitrary string supplied at creation, returned as-is.
    - `units_consumed` integer, required — Number of Mux AI units consumed by this job.
    - `created_at` integer, required — Unix timestamp (seconds) when the job was created.
    - `updated_at` integer, required — Unix timestamp (seconds) when the job was last updated.
    - `workflow` 'moderate', required
    - `parameters` object, required
      - `asset_id` string, required — The Mux asset ID of the video to moderate.
      - `language_code` string — BCP 47 language code for transcript analysis. Used only for audio-only assets; ignored for video assets with visual content. If omitted for audio-only assets, the first ready text track is used. Defaults to "en".
      - `thresholds` object — Score thresholds that determine whether content is flagged. When combined with sampling_interval or max_samples, the exceeds_threshold flag reflects whether any category's highest observed score exceeds its configured threshold. Defaults to {sexual: 0.7, violence: 0.8}.
        - `sexual` number — Score threshold for sexual content. Content scoring above this value triggers exceeds_threshold.
        - `violence` number — Score threshold for violent content. Content scoring above this value triggers exceeds_threshold.
      - `sampling_interval` integer — Interval, in seconds, between sampled thumbnails. Minimum 5 seconds. When max_samples is also set, the actual sampling density is the more restrictive of the two constraints.
      - `max_samples` integer — Maximum number of thumbnails to sample. Acts as a cap — if sampling_interval produces fewer samples than this limit, the interval is respected; otherwise samples are evenly distributed with first and last frames pinned.
    - `status` 'pending' | 'processing' | 'completed' | 'errored' | 'cancelled', required — Current job status.
    - `outputs` object — Workflow results. Present when status is 'completed'.
      - `thumbnail_scores` object[], required — Per-thumbnail moderation scores.
        - `time` number — Time in seconds of the thumbnail within the video. Absent for transcript moderation.
        - `sexual` number, required — Sexual content score from 0.0 to 1.0.
        - `violence` number, required — Violence content score from 0.0 to 1.0.
      - `max_scores` object, required — Highest scores across all thumbnails for each category.
        - `sexual` number, required
        - `violence` number, required
      - `exceeds_threshold` boolean, required — True if any category's max score exceeds its configured threshold.
    - `errors` object[] — Error details. Present when status is 'errored'.
      - `type` string, required — Stable public error category identifier.
      - `message` string, required — Human-readable public error message.
      - `retryable` boolean — Whether retrying this job may resolve the error.
    - `resources` object — Related Mux resources linked to this job.
      - `assets` object[], required — Mux assets associated with this job.
        - `id` string, required — Mux asset ID.
        - `meta` object — Mux asset metadata, if available.
          - `title` string — Asset title from Mux metadata.
          - `creator_id` string — Creator identifier from Mux metadata.
          - `external_id` string — External identifier from Mux metadata.
        - `passthrough` string — Passthrough string from the Mux asset.
        - `_links` object, required — Hypermedia links for the asset.
          - `self` object, required
            - `href` string, required — URL to the Mux asset resource.

## Acknowledgement `200`

Return a 200 to indicate that the data was received successfully

---

[API](https://skmtc.net/muxinc/apis/mux-api.md) · [All operations](https://skmtc.net/muxinc/apis/mux-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muxinc/mux-api/revisions/34a65dce0f31/schema)
