Shyft Compact > Shifts API

The Compact > Shifts API from Shyft — 2 operation(s) for compact > shifts.

Operations 2

GET /api/compact/schedule_elements [shifts] get shifts from associated location
GET /api/compact/schedule_elements/all [shifts] get ALL schedule_elements only with coworker inventory for specific date

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/shyft-compact-shifts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

shyft-compact-shifts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Shyft Customer Authentication > Email Compact > Shifts API
  description: "Welcome to the Shyft Customer App API.\n\nShyft customer App API is designed to support the function of Shyft Mobile App(iOS, Android), Web App and Manager Dashboard.\n\nNOTES:\n\n- In parameters section, the letter `R` stands for `Required`.\n    \n- All API examples show only essential data set.\n    \n\n## Authentication\n\n---\n\nInclude as headers for API calls after authentication token.\n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| Session-Uukey |  | \\* | The value got from authentication API call (SignIn/Confirm) |\n\n## Global Information\n\n---\n\n#### Query Parameters\n\n###### For All API:\n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| api_version | String |  | Ex. 6_0_0 |\n| response\\[nested\\] | Integer |  | Ex. 1 |\n| response\\[keep\\] | String |  | Ex. location\\[current_user_privilege\\],name,id |\n| response\\[only\\] | String |  | Ex. id,location\\[id,location_name,current_user_privilege\\] |\n| response\\[except\\] | String |  | Ex. name,location\\[id,location_name,swift_code\\],owner\\[id\\] |\n\n- The query parameter `response[only]` is needed to help API performance by limiting the size of returned data.\n    \n- On test server, `response[only]` support wildcard, you can supply `response[only]=\\*` to get everything.\n    \n- Production server does not support wildcard, you need to figure out and supply your `response[only]` for each API call.\n    \n\n###### For Index API:\n\n- Pagination Option 1)\n    \n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| page | Integer |  | Ex. 1 |\n| per_page | Integer |  | Ex. 5 |\n| total | boolean |  | true/false |\n| order | String |  | Ex. start_at_desc, start_at_asc |\n\n- Pagination Option 2)\n    \n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| limit | Integer |  | Ex. 10 |\n| offset | Integer |  | Ex. 5 |\n| order | String |  | Ex. start_at_desc, start_at_asc |\n| last_id | Integer |  | Ex. 101 |\n\n###### For Update API:\n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| response\\[put_return_resource\\] | String |  | Ex. true |\n\n#### Headers\n\n| Name | Values | R | Description |\n| --- | --- | --- | --- |\n| Platform | ios|android|web | \\* |  |\n| Api-Version | 6_0_0 | \\* | Ex: 6_0_0 |\n| Build-Number |  | \\* |  |\n| Push-Id |  |  |  |\n| X-Method |  |  | Deprecated |\n| Content-Type | application/json | \\* |  |\n\n#### Success Codes\n\n| SUCCESS Code | Meaning |\n| --- | --- |\n| 200 | Created -- Objet created. |\n| 201 | Unauthorized -- Your API key is wrong. |\n| 204 | No Content -- Success without returning resource. |\n\n#### Error Codes\n\n| Error Code | Meaning |\n| --- | --- |\n| 400 | Bad Request -- Your request is invalid. |\n| 401 | Unauthorized -- Your API key is wrong. |\n| 403 | Forbidden -- The records requested is hidden for administrators only. |\n| 404 | Not Found -- The specified record could not be found. |\n| 405 | Method Not Allowed -- You tried to access a record with an invalid method. |\n| 406 | Not Acceptable -- You requested a format that isn't json. |\n| 410 | Gone -- The record requested has been removed from our servers. |\n| 422 | Unprocessable Entity -- Invalid input data. |\n| 429 | Too Many Requests -- You're requesting too many requests! Slow down! |\n| 500 | Internal Server Error -- We had a problem with our server. Try again later. |\n| 502 | Bad Gateway -- |\n| 504 | Gateway Timeout -- |\n| 503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |\n\n#### Error Response Formats\n\n422\n\n``` json\n{\n    \"errors\": {\n        \"base\": [\n            \"a private session for same two users already exists: 3034\"\n        ]\n    }\n}\n\n ```\n\n422\n\n```\n{\n    \"errors\": {\n        \"google_map_id\": [\n            \"can't be blank\"\n        ],\n        \"time_zone\": [\n            \"can't be blank\"\n        ],\n        \"longitude\": [\n            \"can't be blank\"\n        ]\n    }\n}\n{\n    \"errors\": {\n        \"record_invalid\": [\n            \"Validation failed: User has already been taken\"\n        ]\n    }\n}\n\n ```\n\n404\n\n``` json\n{\n    \"errors\": {\n        \"not_found\": [\n            \"Couldn't find Post\"\n        ]\n    }\n}\n\n ```\n\n500\n\n``` json\n{\n    \"errors\": {\n        \"internal_server_error\": [\n            \"Invalid nil value\"\n        ]\n    }\n}\n\n ```"
  version: 1.0.0
servers:
- url: http://{{host}}
- url: http://{{local-host}}
- url: http://{{sp3-host}}
- url: http://test-service.myshyft.com
- url: http://localhost:4001
- url: http://localhost:3000
- url: http://{{local-host}}api
- url: https://test-unfurl.myshyft.com
tags:
- name: Compact > Shifts
paths:
  /api/compact/schedule_elements:
    get:
      tags:
      - Compact > Shifts
      summary: '[shifts] get shifts from associated location'
      description: "Description\n- - - \n- List the schedule elements for the requested location.\n\n\nParams\n- - -\nParam | Values | R |Description\n--- | --- | --- | ---\nlocation_id | integer\nassociated_location_id | integer\n\nHeaders\n- - -\nHeader | Values | R |Description\n--- | --- | --- | ---\n\n\n\nInput\n- - - \n\nAttribute | Values | R |Description\n--- | --- | --- | ---"
      security:
      - bearerAuth: []
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: per_page
        in: query
        schema:
          type: integer
        example: '10'
      responses:
        '200':
          description: OK
          headers:
            X-Frame-Options:
              schema:
                type: string
                example: SAMEORIGIN
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            X-Content-Type-Options:
              schema:
                type: string
                example: nosniff
            X-Download-Options:
              schema:
                type: string
                example: noopen
            X-Permitted-Cross-Domain-Policies:
              schema:
                type: string
                example: none
            Referrer-Policy:
              schema:
                type: string
                example: strict-origin-when-cross-origin
            X-LS-License:
              schema:
                type: string
                example: All Rights Reserved © Coffee Enterprise
            X-LS-Application:
              schema:
                type: string
                example: Coffee Mobile
            X-Request-Method:
              schema:
                type: string
                example: none
            Content-Type:
              schema:
                type: string
                example: application/json; charset=utf-8
            ETag:
              schema:
                type: string
                example: W/"b52f11af022721614d06c148a52f5198"
            Cache-Control:
              schema:
                type: string
                example: max-age=0, private, must-revalidate
            Set-Cookie:
              schema:
                type: string
                example: _shyft_api_server_session=QlJITHNBQzBCMVl6M0ltUkhCc0x1Wm1GaWlGMDZ5ak91TlZtOE9lR3Z6YnJIWmpkeUd1eUYzSlNVOFZLcXNQZlBObno2b3lSY2YyVHVNaWJDYnhLZEE9PS0tWVE4WnYvQnpVWi81am0wcnZLS2FaQT09--ab184602350f5bacc5125e8a0687d9d24d95b4a6; path=/; secure; HttpOnly
            X-Request-Id:
              schema:
                type: string
                example: 5be7dbe9-c63c-4496-8ca8-c8e24ea03ec9
            X-Runtime:
              schema:
                type: number
                example: '0.173063'
            Vary:
              schema:
                type: string
                example: Origin
            Transfer-Encoding:
              schema:
                type: string
                example: chunked
            Strict-Transport-Security:
              schema:
                type: string
                example: max-age=31536000;
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: '[shifts] get shifts from associated location'
                  value:
                    schedule_elements:
                    - _parent_object_id: null
                      id: 7709
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-12T12:40:00.000Z'
                      end_at: '2018-02-12T13:00:00.000Z'
                      name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 0
                    - _parent_object_id: null
                      id: 7705
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:00:00.000Z'
                      end_at: '2018-02-13T01:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 22650
                    - _parent_object_id: null
                      id: 7706
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:01:00.000Z'
                      end_at: '2018-02-13T01:00:00.000Z'
                      name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 0
                    - _parent_object_id: null
                      id: 7707
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:02:00.000Z'
                      end_at: '2018-02-13T01:00:00.000Z'
                      name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 0
                    - _parent_object_id: null
                      id: 7708
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:30:00.000Z'
                      end_at: '2018-02-13T01:30:00.000Z'
                      name: shift_inventory
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 22651
                    - _parent_object_id: null
                      id: 7710
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T01:00:00.000Z'
                      end_at: '2018-02-13T02:00:00.000Z'
                      name: shift_inventory
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 22652
                    - _parent_object_id: null
                      id: 7888
                      location_id: 5053
                      channel_id: 7173
                      start_at: '2018-03-31T16:00:00.000Z'
                      end_at: '2018-03-31T22:00:00.000Z'
                      name: shift
                      trade_status: approved
                      approver_id: 9577
                      coverer_id: 9582
                      owner_id: 9579
                      post_id: 23089
                    - _parent_object_id: null
                      id: 1117998
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37458
                    - _parent_object_id: null
                      id: 1117997
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37457
                    - _parent_object_id: null
                      id: 1117996
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37456
                    - _parent_object_id: null
                      id: 1117982
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37436
                    - _parent_object_id: null
                      id: 1117981
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37435
                    - _parent_object_id: null
                      id: 1117980
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37434
                    - _parent_object_id: null
                      id: 1117979
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37433
                    - _parent_object_id: null
                      id: 1117978
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37432
                    - _parent_object_id: null
                      id: 1117977
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37431
                    - _parent_object_id: null
                      id: 1117976
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37430
                    - _parent_object_id: null
                      id: 1117975
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37429
                    - _parent_object_id: null
                      id: 1117974
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37428
                    - _parent_object_id: null
                      id: 1117973
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37427
                    - _parent_object_id: null
                      id: 1117972
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37426
                    - _parent_object_id: null
                      id: 1117971
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37425
                    - _parent_object_id: null
                      id: 1117970
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37424
                    - _parent_object_id: null
                      id: 1117969
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37423
                    - _parent_object_id: null
                      id: 1117968
                      location_id: 2500
                      channel_id: 4620
                      start_at: '2018-04-01T09:00:00.000Z'
                      end_at: '2019-04-01T16:00:00.000Z'
                      name: shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 11284
                      post_id: 37422
                    meta:
                      pagination:
                        current_page: 1
                        per_page: 25
                example-1:
                  summary: '[shifts] get shifts from associated location - with ui_data'
                  value:
                    schedule_elements:
                    - _parent_object_id: null
                      id: 2607249
                      location_id: 2806
                      channel_id: null
                      start_at: '0002-11-30T10:14:58.000Z'
                      end_at: '0002-11-30T13:47:58.000Z'
                      name: shift_inventory
                      old_name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 12227
                      post_id: null
                      parent_id: null
                      child_card: null
                      cover_mode: null
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Etty7337 Burstein is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 2607234
                      location_id: 2806
                      channel_id: null
                      start_at: '0002-11-30T10:14:58.000Z'
                      end_at: '0002-11-30T13:47:58.000Z'
                      name: shift_inventory
                      old_name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 12227
                      post_id: null
                      parent_id: null
                      child_card: null
                      cover_mode: null
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Etty7337 Burstein is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 2607325
                      location_id: 2806
                      channel_id: null
                      start_at: '0002-11-30T10:14:58.000Z'
                      end_at: '0002-11-30T11:25:58.000Z'
                      name: shift_inventory
                      old_name: shift_inventory
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 12227
                      post_id: null
                      parent_id: null
                      child_card: null
                      cover_mode: null
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Etty7337 Burstein is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 2607329
                      location_id: 2806
                      channel_id: 4927
                      start_at: '0002-11-30T19:03:58.000Z'
                      end_at: '0002-12-01T19:03:58.000Z'
                      name: open_shift
                      old_name: open_shift
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 12227
                      post_id: 91999
                      parent_id: 0
                      child_card: false
                      cover_mode: multi_applicants_picked_by_manager
                      primary_job: null
                      total_shifts_available: 258
                      content: "Note  \nTotal Posted: 258\nTotal Available: 258\nTotal Pending: 0\nTotal Approved: 0\n"
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: "Note  \nTotal Posted: 258\nTotal Available: 258\nTotal Pending: 0\nTotal Approved: 0\n"
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: 258 Open Shifts
                    - _parent_object_id: null
                      id: 1683
                      location_id: 2
                      channel_id: null
                      start_at: '2015-08-21T20:00:00.000Z'
                      end_at: '2015-08-22T01:00:00.000Z'
                      name: shift
                      old_name: null
                      trade_status: covered
                      approver_id: null
                      coverer_id: 2484
                      owner_id: 2482
                      post_id: null
                      parent_id: null
                      child_card: null
                      cover_mode: default
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Alessandro Barone is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 7709
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-12T12:40:00.000Z'
                      end_at: '2018-02-12T13:00:00.000Z'
                      name: shift_inventory
                      old_name: null
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 0
                      parent_id: null
                      child_card: null
                      cover_mode: default
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Bin3 Li3 is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 7705
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:00:00.000Z'
                      end_at: '2018-02-13T01:00:00.000Z'
                      name: shift
                      old_name: null
                      trade_status: posted
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 22650
                      parent_id: null
                      child_card: null
                      cover_mode: default
                      primary_job: null
                      total_shifts_available: null
                      content: A test shift to remind
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: A test shift to remind
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Team Shift
                    - _parent_object_id: null
                      id: 7706
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:01:00.000Z'
                      end_at: '2018-02-13T01:00:00.000Z'
                      name: shift_inventory
                      old_name: null
                      trade_status: inventory
                      approver_id: null
                      coverer_id: null
                      owner_id: 9064
                      post_id: 0
                      parent_id: null
                      child_card: null
                      cover_mode: default
                      primary_job: null
                      total_shifts_available: null
                      content: null
                      current_applicant_status: null
                      current_applicants_user_ids: []
                      current_applicants_pending_user_ids: []
                      current_applicants_approved_user_ids: []
                      current_applicants_denied_user_ids: []
                      ui_data:
                        status_message: Bin3 Li3 is scheduled to start this shift soon.
                        status_earn: null
                        status_title_1: Associate
                        status_title_2: Scheduled Shift
                    - _parent_object_id: null
                      id: 7707
                      location_id: 2634
                      channel_id: 4755
                      start_at: '2018-02-13T00:02:00.000Z'
                      end_a

# --- truncated at 32 KB (167 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shyft/refs/heads/main/openapi/shyft-compact-shifts-api-openapi.yml