---
title: "Shifts Created Event"
method: POST
path: "Shifts created"
---

# Shifts Created Event

`POST Shifts created` (webhook)

Receive real-time data updates on shifts creation at your specified URL. 

**V1** (default): one event per individual user assignment. 

**V2**: aggregates all user assignments of the same shift into a single event, with a combined list
of assigned user IDs and a base shift ID. Adding a new user to an existing shift triggers a
**shift.updated** event instead. Contact us to enable V2 for your account. 

Find more details about event types and payload examples in the Guides -> Webhooks section for a deeper understanding.

## Acknowledgement `200`

Successful Response

- ShiftCreatedWebhookResponse
  - `requestId` string — The request id
  - `company` string, required — The company id
  - `activityType` string — The activity type
  - `eventTimestamp` integer, required — The event unix timestamp
  - `evnetTimestamp` integer, required — DEPRECATED: Use event_timestamp instead
  - `eventType` string — The event type that triggers the webhook
  - `schedulerId` integer, required — The unique identifier of the schedule
  - `data` ShiftCreatedWebhookResponseData, required
    - `shifts` WebhookShiftResponse[], required — The created shifts
      - `id` string, required — The ID of the shift
      - `color` string, required — The color of the shift
      - `assignedUserIds` integer[] — The IDs of the assigned users
      - `startTime` integer, required — The start time of the shift
      - `endTime` integer, required — The end time of the shift
      - `timezone` string, required — The timezone of the shift
      - `isOpenShift` boolean, required — Whether the shift is an open shift
      - `title` string, required — The title of the shift
      - `jobId` string, nullable — The ID of the job
      - `locationData` LocationDataAPI
        - `isReferencedToJob` boolean, required — Indicates whether the location is referenced to a job. can only be true if job id isn't empty
        - `gps` GpsDataV2
          - `address` string, nullable — The address associated with the GPS data.
          - `longitude` number, nullable — The longitude coordinate.
          - `latitude` number, nullable — The latitude coordinate.
      - `isPublished` boolean, required — Whether the shift is published
      - `isRequireAdminApproval` boolean, nullable — Whether the shift requires admin approval
      - `updateTime` integer, nullable — Integer with minimum value of 1
      - `creationTime` integer, nullable — Integer with minimum value of 1
      - `createdBy` integer, nullable — Integer with minimum value of 1
      - `openSpots` integer, nullable — The number of open spots
      - `notes` union[] — The notes of the shift
        - union
          - HTMLNoteDataOut
            - `type` string — HTML note type
            - `html` string, required — The HTML content of the note
          - AlbumNoteDataOut
            - `type` string — Album note type
            - `album` ImageNoteDataOut[], required — The list of images in the album
              - …
          - FileNoteDataOut
            - `url` string, required — The url of the file to upload
            - `type` string — URL note type
            - `name` string, required — The name of the file
      - `statuses` StatusData[] — The statuses of the shift
        - `statusId` string, required — The ID of the status
        - `status` 'accepted' | 'checked_in' | 'completed' | 'rejected' | 'claimed' | 'claim_requested' | 'unclaimed' | 'unclaim_requested' | 'cancel_claim_request' | 'reset', required
        - `note` string, nullable — The note of the status
        - `attachments` string[], nullable — The attachments of the status
        - `creationTime` integer, nullable — The creation time of the status
        - `updateTime` integer, nullable — The update time of the status
        - `creatingUserId` integer, required — The ID of the user who created the status
        - `modifyingUserId` integer, nullable — The ID of the user who modified the status
        - `gps` GpsDataV2
          - `address` string, nullable — The address associated with the GPS data.
          - `longitude` number, nullable — The longitude coordinate.
          - `latitude` number, nullable — The latitude coordinate.
        - `assignedUserId` integer, nullable — The ID of the user assigned to the status
      - `breaks` ShiftBreakDataApi[] — The breaks of the shift
        - `id` string, required — The id of the break
        - `name` string, required — The name of the break.
        - `type` 'paid' | 'unpaid', required
        - `startTime` integer, nullable — Integer with minimum value of 0
        - `duration` integer, required — The time the break lasts in minutes
      - `shiftDetails` ShiftDetailsOutput, required
        - `shiftLayers` ShiftLayerOutput[] — The various layers of information associated with the shift
          - `id` string, required — The unique identifier of the shift layer
          - `title` string, required — The name of the shift layer
          - `value` ShiftLayerInstanceOutput, required
            - `id` string, required — The unique identifier of the value
            - `displayName` string, required — The name of the value
        - `shiftSource` string, nullable — The source of the shift
      - `customFields` CustomFieldResponseV2[] — The shift's custom fields
        - `customFieldId` integer, required — The custom field unique id
        - `value` unknown, required
        - `type` 'email' | 'date' | 'phone' | 'number' | 'str' | 'dropdown' | 'file' | 'directManager' | 'birthday' | 'link' | 'location', required
        - `name` string, required — The custom field name
      - `allDay` boolean, required — Indicates if the shift is an all-day event

---

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