Shyft Customer > Schedules API

The Customer > Schedules API from Shyft — 4 operation(s) for customer > schedules.

Business capability
Human Capital Management BC-300

Operations 6

GET /api/customer/user_role/schedules get schedules #
POST /api/customer/user_role/schedules create a schedule #
GET /api/customer/user_role/schedules/981 get a schedule #
DELETE /api/customer/user_role/schedules/981 delete a schedule #
PUT /api/customer/user_role/schedules/171263/publish publish a schedule #
PUT /api/customer/user_role/schedules/171263/unpublish unpublish a schedule #

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-customer-schedules-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-customer-schedules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Shyft Customer Customer > Schedules API
  description: Welcome to the Shyft Customer App API.
  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: Customer > Schedules
paths:
  /api/customer/user_role/schedules:
    get:
      tags:
      - Customer > Schedules
      summary: get schedules
      description: 'Description

        - - -


        Params

        - - -

        Param | Values | R |Description

        --- | --- | --- | ---

        location_id | | * | associaged location |


        Headers

        - - -

        Header | Values | R |Description

        --- | --- | --- | ---


        Input

        - - -

        Attribute | Values | R |Description

        --- | --- | --- | ---'
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: getApiCustomerUserRoleSchedules
      x-operation-id-source: derived
    post:
      tags:
      - Customer > Schedules
      summary: create a schedule
      description: 'Description

        - - -


        Params

        - - -

        Param | Values | R |Description

        --- | --- | --- | ---


        Headers

        - - -

        Header | Values | R |Description

        --- | --- | --- | ---


        Input

        - - -

        Attribute | Values | R |Description

        --- | --- | --- | ---

        name | string | | schedule name|

        start_date | | | schedule start date |

        end_date | | | schedule end date |

        location_id | | * | associaged location |


        Option 1: Upload an image from remote server using hyperlink


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avatar_remote_url] | | | The link to the image file |


        Option 2: Upload a image by using form-data


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name | schedule_snapshot | | type of image|

        snapshot_attributes[avator] | Form file of image | | |


        Option 3: Upload a image(base64 encoded) by attaching to JSON


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avator_base64] | Base64 file data | | |'
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: '"{\n\t\"schedule\": {\n\t\t\"name\": \"my schedule name\",\n\t\t\"start_date\": \"2018-10-01 00:00:00 UTC\",\n\t\t\"end_date\": \"2018-10-31 00:00:00 UTC\",\n\t\t\"location_id\": 2634\n\t}\n}"'
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      responses:
        '201':
          description: Created
          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-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/"2135805b6ede30af25cd5ba100fadefb"
            Cache-Control:
              schema:
                type: string
                example: max-age=0, private, must-revalidate
            Set-Cookie:
              schema:
                type: string
                example: _shyft_api_server_session=RGliT2JzaWlKT21jVEwrWGR6VUtPSG5sYW1vM0E3U09NN1dZMGRySkFEcjM3d1htcS9GdnFacFVTRVlsT0x0UlVmbXo5dEFlR1czZE1ZZS9hN0tLM1E9PS0tc1lTY0c1K1BsZFo1SlhJSU82YzVvdz09--c2b1d2b118beba5146f2a05056a8ce23599b66d2; path=/; HttpOnly
            X-Rack-Dev-Mark-Env:
              schema:
                type: string
                example: Bin%27s+Local+Server
            X-Request-Id:
              schema:
                type: string
                example: 8d86c0fc-d05f-4f96-b4f6-890b1c246fec
            X-Runtime:
              schema:
                type: number
                example: '1.734343'
            Vary:
              schema:
                type: string
                example: Origin
            Connection:
              schema:
                type: string
                example: close
            Server:
              schema:
                type: string
                example: thin
          content:
            application/json:
              schema:
                type: object
              example:
                schedule:
                  _parent_object_id: null
                  id: 10099
                  name: my schedule name
                  image_id: null
                  snapshot_url: null
                  created_at: '2018-12-11T19:42:01.107Z'
                  start_date: '2018-10-31T00:00:00.000Z'
                  end_date: null
                  location:
                    _parent_object_id: 10099
                    id: 2029
                    swift_code: P9F7KY
                    location_name: New Star Seafood Restaurant
                    unit_number: null
                    street_number: null
                    address: 516 South Jackson Street, Seattle
                    province: null
                    postal: null
                    country: null
                    lat: '47.5994261'
                    lng: '-122.3268447'
                    latitude: 47.5994261
                    longitude: -122.3268447
                    phone_number: (206) 622-8801
                    created_at: '2017-04-29T01:06:26.502Z'
                    users_count: 65
                    formatted_address: 516 S Jackson St, Seattle, WA 98104, USA
                    time_zone: null
                    google_map_id: ChIJb1yyf7tqkFQRf1BR8KCmHak
                    four_sq_id: null
                    allow_tipping: true
                    shift_require_approval: true
                    shyft_pro_active: false
                    shyft_pro_expiry_date: '2018-12-04T19:10:49.425Z'
                    fence_radius: null
                    cfg_not_dm: null
                    cfg_geofence_log: null
                    cfg_timeout: null
                    tos_url: null
                    tos_version: null
                    require_approval: false
                    ip_blocked: false
                    member_count: 53
                    location_address: null
                    location_city: ',  '
                    division_names: []
                    feed_channel_id: 3979
                    pending_users_count: 0
                  owner:
                    _parent_object_id: 10099
                    id: 1
                    active_org: 1
                    first_name: kyle1
                    last_name: Liu
                    email: null
                    phone_number: null
                    gender: 0
                    chat_handle: a1b171e77831a00be9702b03c018296c
                    user_group: 2
                    status: ''
                    current_position: null
                    current_user_privilege_id: null
                    current_is_approved: null
                    all_push: true
                    shift_push: true
                    schedule_push: true
                    community_push: true
                    profile_image:
                      thumb_url: https://coffeemobile.s3.amazonaws.com/images/thumb/31_Img_20141216_105119.jpg?1418745446
                      gallery_url: https://coffeemobile.s3.amazonaws.com/images/gallery/31_Img_20141216_105119.jpg?1418745446
                      full_url: https://coffeemobile.s3.amazonaws.com/images/full/31_Img_20141216_105119.jpg?1418745446
                    recent_user_privilege:
                      _parent_object_id: 1
                      id: 12267
                      email: null
                      wage: 15
                      position: sales
                      is_approved: true
                      owner_id: 1
                      location_id: 2029
                      org_id: 1
                      is_admin: false
                      read_only: false
                      first_name: kyle1
                      last_name: Liu
                      phone_number: null
                      profile_image_thumb_url: https://coffeemobile.s3.amazonaws.com/images/thumb/31_Img_20141216_105119.jpg?1418745446
                      internal_id: null
                      admin_claim_pending: false
                      status: active
                      current_availability: null
                      location:
                        _associations_removed: true
                        _parent_object_id: 12267
                        id: 2029
                        swift_code: P9F7KY
                        location_name: New Star Seafood Restaurant
                        unit_number: null
                        street_number: null
                        address: 516 South Jackson Street, Seattle
                        province: null
                        postal: null
                        country: null
                        lat: '47.5994261'
                        lng: '-122.3268447'
                        latitude: 47.5994261
                        longitude: -122.3268447
                        phone_number: (206) 622-8801
                        created_at: '2017-04-29T01:06:26.502Z'
                        users_count: 65
                        formatted_address: 516 S Jackson St, Seattle, WA 98104, USA
                        time_zone: null
                        google_map_id: ChIJb1yyf7tqkFQRf1BR8KCmHak
                        four_sq_id: null
                        allow_tipping: true
                        shift_require_approval: true
                        shyft_pro_active: false
                        shyft_pro_expiry_date: '2018-12-04T19:10:49.425Z'
                        fence_radius: null
                        cfg_not_dm: null
                        cfg_geofence_log: null
                        cfg_timeout: null
                        tos_url: null
                        tos_version: null
                        require_approval: false
                        ip_blocked: false
                        member_count: 53
                        location_address: null
                        location_city: ',  '
                        division_names: []
                        feed_channel_id: 3979
                        pending_users_count: 0
                      user:
                        _associations_removed: true
                        _parent_object_id: 12267
                        id: 1
                        active_org: 1
                        first_name: kyle1
                        last_name: Liu
                        email: null
                        phone_number: null
                        gender: 0
                        chat_handle: a1b171e77831a00be9702b03c018296c
                        user_group: 2
                        status: ''
                        current_position: null
                        current_user_privilege_id: null
                        current_is_approved: null
                        all_push: true
                        shift_push: true
                        schedule_push: true
                        community_push: true
      operationId: postApiCustomerUserRoleSchedules
      x-operation-id-source: derived
  /api/customer/user_role/schedules/981:
    get:
      tags:
      - Customer > Schedules
      summary: get a schedule
      description: 'Description

        - - -


        Params

        - - -

        Param | Values | R |Description

        --- | --- | --- | ---


        Headers

        - - -

        Header | Values | R |Description

        --- | --- | --- | ---


        Input

        - - -

        Attribute | Values | R |Description

        --- | --- | --- | ---

        name | string | | schedule name|

        start_date | | | schedule start date |

        end_date | | | schedule end date |

        location_id | | * | associaged location |


        Option 1: Upload an image from remote server using hyperlink


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avatar_remote_url] | | | The link to the image file |


        Option 2: Upload a image by using form-data


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name | schedule_snapshot | | type of image|

        snapshot_attributes[avator] | Form file of image | | |


        Option 3: Upload a image(base64 encoded) by attaching to JSON


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avator_base64] | Base64 file data | | |'
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      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-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/"50eb0d6ac093f7863825eb7b4a36b6ed"
            Cache-Control:
              schema:
                type: string
                example: max-age=0, private, must-revalidate
            Set-Cookie:
              schema:
                type: string
                example: _shyft_api_server_session=MUxZNVBVL0YvY3lLQ2E4Q0JHOFRybk1SY0lqYm1ROHBVWEd0b2tid2lYQnlmd1RTMFphbFh3VFk5Q0hzOGlnai9PNnhPL1p3WXdKNXhGVElKaldPbnc9PS0tUm03WTVwVzgzQjM5REt3cUZDM1gzZz09--1f5848c779c49661df99943e4a3617b9df98d05e; path=/; HttpOnly
            X-Rack-Dev-Mark-Env:
              schema:
                type: string
                example: Bin%27s+Local+Server
            X-Request-Id:
              schema:
                type: string
                example: 2c469f19-d33f-4c1a-b24c-59824328476b
            X-Runtime:
              schema:
                type: number
                example: '7.073789'
            Vary:
              schema:
                type: string
                example: Origin
            Connection:
              schema:
                type: string
                example: close
            Server:
              schema:
                type: string
                example: thin
          content:
            application/json:
              schema:
                type: object
              example:
                schedule:
                  _parent_object_id: null
                  id: 9964
                  name: Retesting droid-69
                  image_id: null
                  snapshot_url: https://shyft-test-app-images.s3.amazonaws.com/images/original/10042-20180706_094337_351.jpg
                  created_at: '2018-07-06T13:44:28.703Z'
                  start_date: '2018-07-11T04:00:00.000Z'
                  end_date: '2018-07-31T04:00:00.000Z'
                  location:
                    _parent_object_id: 9964
                    id: 2029
                    swift_code: P9F7KY
                    location_name: New Star Seafood Restaurant
                    unit_number: null
                    street_number: null
                    address: 516 South Jackson Street, Seattle
                    province: null
                    postal: null
                    country: null
                    lat: '47.5994261'
                    lng: '-122.3268447'
                    latitude: 47.5994261
                    longitude: -122.3268447
                    phone_number: (206) 622-8801
                    created_at: '2017-04-29T01:06:26.502Z'
                    users_count: 65
                    formatted_address: 516 S Jackson St, Seattle, WA 98104, USA
                    time_zone: null
                    google_map_id: ChIJb1yyf7tqkFQRf1BR8KCmHak
                    four_sq_id: null
                    allow_tipping: true
                    shift_require_approval: true
                    shyft_pro_active: false
                    shyft_pro_expiry_date: '2018-12-04T19:10:49.425Z'
                    fence_radius: null
                    cfg_not_dm: null
                    cfg_geofence_log: null
                    cfg_timeout: null
                    tos_url: null
                    tos_version: null
                    require_approval: false
                    ip_blocked: false
                    member_count: 53
                    location_address: null
                    location_city: ',  '
                    division_names: []
                    feed_channel_id: 3979
                    pending_users_count: 0
                  owner: null
      operationId: getApiCustomerUserRoleSchedules981
      x-operation-id-source: derived
    delete:
      tags:
      - Customer > Schedules
      summary: delete a schedule
      description: 'Description


        - delete a schedule will remove its shift inventories as well

        - schedule owner can delete it

        - location admin can delete it

        - integration generated schedule can not be deleted

        - schedule having shifts status changed can not be deleted


        ---


        Params


        ---


        | Param | Values | R | Description |

        | --- | --- | --- | --- |


        Headers


        ---


        | Header | Values | R | Description |

        | --- | --- | --- | --- |


        Input


        ---


        | Attribute | Values | R | Description |

        | --- | --- | --- | --- |'
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: deleteApiCustomerUserRoleSchedules981
      x-operation-id-source: derived
  /api/customer/user_role/schedules/171263/publish:
    put:
      tags:
      - Customer > Schedules
      summary: publish a schedule
      description: 'Description

        - - -


        Params

        - - -

        Param | Values | R |Description

        --- | --- | --- | ---


        Headers

        - - -

        Header | Values | R |Description

        --- | --- | --- | ---


        Input

        - - -

        Attribute | Values | R |Description

        --- | --- | --- | ---

        name | string | | schedule name|

        start_date | | | schedule start date |

        end_date | | | schedule end date |

        location_id | | * | associaged location |


        Option 1: Upload an image from remote server using hyperlink


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avatar_remote_url] | | | The link to the image file |


        Option 2: Upload a image by using form-data


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name | schedule_snapshot | | type of image|

        snapshot_attributes[avator] | Form file of image | | |


        Option 3: Upload a image(base64 encoded) by attaching to JSON


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avator_base64] | Base64 file data | | |'
      requestBody:
        content: {}
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: putApiCustomerUserRoleSchedules171263Publish
      x-operation-id-source: derived
  /api/customer/user_role/schedules/171263/unpublish:
    put:
      tags:
      - Customer > Schedules
      summary: unpublish a schedule
      description: 'Description

        - - -


        Params

        - - -

        Param | Values | R |Description

        --- | --- | --- | ---


        Headers

        - - -

        Header | Values | R |Description

        --- | --- | --- | ---


        Input

        - - -

        Attribute | Values | R |Description

        --- | --- | --- | ---

        name | string | | schedule name|

        start_date | | | schedule start date |

        end_date | | | schedule end date |

        location_id | | * | associaged location |


        Option 1: Upload an image from remote server using hyperlink


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avatar_remote_url] | | | The link to the image file |


        Option 2: Upload a image by using form-data


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name | schedule_snapshot | | type of image|

        snapshot_attributes[avator] | Form file of image | | |


        Option 3: Upload a image(base64 encoded) by attaching to JSON


        Attribute | Values | R |Description

        --- | --- | --- | ---

        snapshot_attributes[image_name] | schedule_snapshot | | type of image|

        snapshot_attributes[avator_base64] | Base64 file data | | |'
      requestBody:
        content: {}
      parameters:
      - name: Session-Uukey
        in: header
        schema:
          type: string
        example: '{{session_uukey}}'
      - name: Content-Type
        in: header
        schema:
          type: string
        description: '[MESSION] session token ID. deprecate it soon.'
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: putApiCustomerUserRoleSchedules171263Unpublish
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    noauthAuth:
      type: http
      scheme: noauth