---
title: "assignment.created event"
method: POST
path: "assignment.created"
tags: ["Webhooks"]
---

# assignment.created event

`POST assignment.created` (webhook)

The payload is the resource's current state at delivery time, rebuilt per attempt. The POST body is a signed envelope { id, event, data }, where `data` is the schema below. Verify the `X-HireArt-Signature` header before trusting the body — see the Webhooks section overview for how.

## Payload

- object
  - `id` string, required: Stable id for this delivery; the same id repeats on every retry, so use it to dedupe.
  - `event` string, required: The event type, e.g. assignment.updated.
  - `data` Assignment, required
    - `object` 'assignment', required
    - `id` string, required
    - `status` 'terminated' | 'active' | 'furloughed' | 'leave' | 'hold' | 'stipend_only' | 'offer_revoked' | 'offer_turned_down' | 'pending' | 'null', nullable
    - `status_changed_at` string, date-time, nullable
    - `start_date` string, date, nullable
    - `end_date` string, date, nullable
    - `classification` 'w2' | '1099' | 't4' | 'international_ic' | 'null', nullable
    - `pay_rate` PayRate
      - `object` 'pay_rate', required
      - `salary_cents` integer, nullable
      - `hourly_rate_cents` integer, nullable
      - `currency` string, nullable
      - `rate_type` 'hourly' | 'salary' | 'null', nullable
    - `bill_rate` BillRate
      - `object` 'bill_rate', required
      - `salary_cents` integer, nullable
      - `hourly_rate_cents` integer, nullable
      - `currency` string, nullable
      - `rate_type` 'hourly' | 'salary' | 'null', nullable
    - `worker` PersonSummary
      - `object` 'person', required
      - `id` string, required
      - `full_name` string, nullable
      - `first_name` string, nullable
      - `last_name` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
    - `job` Job
      - `object` 'job', required
      - `id` string, required
      - `name` string, nullable
      - `employer_name` string, nullable
      - `employer_id` string, nullable
      - `logo_url` string, nullable
    - `work_location` WorkLocation
      - `object` 'work_location', required
      - `id` string, required
      - `description` string, nullable
      - `street1` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `postal_code` string, nullable
      - `country` string, nullable
      - `is_remote` boolean, nullable
    - `employer_of_record` EmployerOfRecord
      - `object` 'employer_of_record', required
      - `name` string, nullable
      - `vendor_id` string, nullable
    - `visa` Visa
      - `object` 'visa', required
      - `type` 'us_eligible' | 'us_not_eligible' | 'null', nullable
      - `expiration_date` string, date, nullable
    - `purchase_orders` PurchaseOrderSummary[], required
      - `object` 'purchase_order', required
      - `id` string, required
      - `client_reference_id` string, nullable
      - `cost_center` string, nullable
      - `original_amount_cents` integer, nullable
      - `currency` string, required
      - `start_date` string, date, nullable
      - `expiration_date` string, date, nullable

## Acknowledgement `200`

Return any 2xx to acknowledge receipt; non-2xx or a timeout is retried.

---

[API](https://skmtc.dev/hireart/apis/hireart-api.md) - [All operations](https://skmtc.dev/hireart/apis/hireart-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hireart/apis/hireart-api/revisions/41935c8fd584?raw)
