---
title: "POST /api/serviceattendance/processes/shifts/{locationUuid}/publish"
method: POST
path: "/api/serviceattendance/processes/shifts/{locationUuid}/publish"
tags: ["shifts"]
---

# POST /api/serviceattendance/processes/shifts/{locationUuid}/publish

`POST /api/serviceattendance/processes/shifts/{locationUuid}/publish`

## Request

- Base URL: `https://services.fountain.com`
- URL: `https://services.fountain.com/api/serviceattendance/processes/shifts/{locationUuid}/publish`
- Auth: HTTP bearer

## Path parameters

- `locationUuid` string, uuid, required

## Request body

- object
  - `startTime` string, required
  - `endTime` string, required

## Response `200`

First runs shift rule evaluation and if any blockers found it returns ruleResults otherwise just a 200 success response

- object
  - `data` object, required
    - `ruleResults` object[]
      - `shiftUuid` string, uuid, required
      - `locationUuid` string, uuid
      - `blockers` object[], required
        - `referenceUuid` string, uuid, required
        - `referenceType` 'shift' | 'timesheet' | 'worker' | 'workerRequest', required
        - `message` string, required
        - `ruleUuid` string, uuid
      - `warnings` object[], required
        - `referenceUuid` string, uuid, required
        - `referenceType` 'shift' | 'timesheet' | 'worker' | 'workerRequest', required
        - `message` string, required
        - `ruleUuid` string, uuid
      - `automaticBreaks` object[]
        - `locationUuid` string, uuid
        - `shiftUuid` string, uuid
        - `referenceUuid` string, uuid, required
        - `referenceType` 'shift' | 'timesheet' | 'worker' | 'workerRequest', required
        - `message` string, required
        - `breaks` object[], nullable
          - `uuid` string, uuid, required
          - `startTime` string, date-time, required
          - `endTime` string, date-time, required
          - `paid` boolean, required
          - `type` 'automatic_break' | 'automatic_break_deduction'
      - `holidayRuleEvaluations` object[]
        - `locationUuid` string, uuid
        - `shiftUuid` string, uuid
        - `referenceUuid` string, uuid, required
        - `referenceType` 'shift' | 'timesheet' | 'worker' | 'workerRequest', required
        - `message` string, required
        - `holidayDetails` object
          - `holidayRuleUuid` string, uuid
          - `multiplier` number
          - `name` string, required
          - `timesheetToCreate` object
            - `lengthMinutes` number, required
          - `isRecurring` boolean, required
          - `startDate` string, date-time, required
          - `holidayTimesheetUuid` string, uuid
          - `timesheetAction` 'create' | 'update' | 'delete' | 'none'
    - `shifts_url` string, required: URL to view shifts in the schedule page
    - `asOf` string, date-time: Server time before the publish wrote anything; shifts with a later lastUpdatedAt changed since
  - `meta` ResponsesPartMeta, required
    - `timestamp` string, date-time, required
    - `verb` 'OPTION' | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
    - `path` string
    - `jti` string
    - `rid` string
    - `count` number
    - `capped` boolean: The server lowered filter[limit] to its ceiling. Page with filter[skip] to read past it.
    - `status` string
    - `duration` number
    - `size` number

---

[API](https://skmtc.dev/fountain/apis/worker-experience-public-api.md) - [All operations](https://skmtc.dev/fountain/apis/worker-experience-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fountain/apis/worker-experience-public-api/revisions/6b9a31f79e22?raw)
