Skip to main content
WEBHOOK

Headers

Signature
string
required

HMAC SHA256 signature of the request body. Generated using the webhook's signing key and the raw JSON payload.

Generate the same value in your endpoint and compare it with this header to validate the webhook payload.

Example:

"a1b2c3d4e5f67890abcdef1234567890abcdef1234567890abcdef1234567890"

Body

application/json

Payload delivered for assignment-related events. Combines the assignment resource with the common webhook envelope fields (event, timestamp, trigger, source).

See the Webhooks guide for a full example payload.

Single judging task for an entry, addressed to either a judge or a role within a given round and score set.

Created automatically by panel allocation rules or manually by a panel manager. Lifecycle is tracked in status; the judging outcome lives in score.

Exactly one of judge and role is populated.

entry
object

Entry the assignment refers to.

category
object

Category the entry belongs to.

chapter
object

Chapter the category belongs to.

comments
object | null

Comments attached to the assignment.

null for role-based assignments (where role is populated and judge is absent), since role holders do not own per-assignment comment threads.

created
string<date-time>

Time the assignment was created.

form
string

Slug of the form attached to the entry.

method
string

How the assignment was created.

Known values include Manual, Automatic (Panel), Recused, and Stray. Other values are possible depending on the score-set mode.

panels
object[]

Panels the assignment is associated with.

judge
object | null

Judge assigned to score the entry.

null for role-based assignments where role is populated instead.

role
object | null

Role assigned to score the entry, used when the assignment is shared across all holders of a role rather than addressed to one judge.

null for judge-specific assignments where judge is populated.

rounds
object[]

Rounds the assignment applies to.

score
object | null

Score for this assignment, formatted per the score-set mode. null when no score has been recorded.

Shape varies by score-set mode. Two confirmed shapes:

Regular numeric or qualifying mode:

Voting mode:

VIP and top-pick modes follow their own conventions.

score_set
object | null

Score set used to evaluate the entry.

slug
string

Short URL-safe identifier for the assignment.

status
string

Current state of the assignment.

Known values include To be scored, In progress, and Complete.

updated
string<date-time>

Time the assignment was last updated.

event
string

Human-readable name of the event that triggered the webhook.

Example:

"Assignment completed"

timestamp
string<date-time>

ISO 8601 formatted datetime indicating when the event occurred.

Example:

"2020-01-01T00:00:00Z"

trigger
string

Machine-readable event key that fired the webhook. Full list of events can be found here.

Example:

"assignment_completed"

source
enum<string>
default:ui

Origin of the change that triggered the event.

Available options:
ui,
api

Response

200

Return any 2xx status code to acknowledge receipt of the event.