Yoobic Shifts API

A shift object represents a scheduled period of time in which a specific employee is expected to work at a specific store. The object includes information about the start and end times of the shift, as well as the store location and the ID of the employee who is scheduled to work during that time ### Fields | Field | Type | Required | Readonly | OrderBy | Description | |------------|--------|:--------:|:--------:|:-------:|------------------------------------------------------------------------| | username | string | x | | | The unique username of the employee assigned to the shift. | | user_id | string | | x | | An external identifier for the employee | | title | string | x | | | The title of the shift. (visible in the calendar of the user) | | store_id | string | | x | | An external identifier for the employee | | start_date | string | x | | x | The start date and time of the shift. | | shift_id | string | | x | | The unique identifier of the shift. | | end_date | string | x | | x | The end date and time of the shift. | | description| string | | | | The description of the shift. | | client_id | string | x | | | The unique client_id of the location where the shift takes place. | | _lmt | string | | x | | The last modified time of the shift. | | _ect | string | | x | | The time when the shift was created. |

Operations 7

GET /public/api/shifts/{id} Get #
POST /public/api/shifts/{id} Create #
PATCH /public/api/shifts/{id} Partial Update #
GET /public/api/shifts?filter={filter} Get All #
GET /public/api/shifts/count?where={where} Count #
GET /public/api/shifts/export?type={type}&filter={filter} Export #
POST /public/api/shifts/import?type={type} Import #

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/yoobic-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

yoobic-shifts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: YOOBIC Public Shifts API
  version: ''
  description: Welcome to the **YOOBIC Public API** documentation.
servers:
- url: https://<base_url>/
tags:
- name: Shifts
  description: A shift object represents a scheduled period of time in which a specific employee is expected to work at a specific store.
paths:
  /public/api/shifts/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  shift_id:
                    type: string
                  title:
                    type: string
                  description:
                    type: string
                  start_date:
                    type: string
                  end_date:
                    type: string
                  user_id:
                    type: string
                  store_id:
                    type: string
                  created_date:
                    type: string
                  updated_date:
                    type: string
                  client_id:
                    type: string
                  username:
                    type: string
                example:
                  shift_id: 63dbe3f3fb2603001d1f958c
                  title: New shift4
                  description: 10:00 - 16:00
                  start_date: '2022-12-14T09:00:00.000Z'
                  end_date: '2022-12-14T16:00:00.000Z'
                  user_id: 62c2adf1e926980025f9986f
                  store_id: 5f3e4cc1fe89be003bc29bd6
                  created_date: '2023-02-02T16:25:23.119Z'
                  updated_date: '2023-02-02T16:25:23.119Z'
                  client_id: VT008
                  username: newgeofilter1
              examples:
                response:
                  value:
                    shift_id: 63dbe3f3fb2603001d1f958c
                    title: New shift4
                    description: 10:00 - 16:00
                    start_date: '2022-12-14T09:00:00.000Z'
                    end_date: '2022-12-14T16:00:00.000Z'
                    user_id: 62c2adf1e926980025f9986f
                    store_id: 5f3e4cc1fe89be003bc29bd6
                    created_date: '2023-02-02T16:25:23.119Z'
                    updated_date: '2023-02-02T16:25:23.119Z'
                    client_id: VT008
                    username: newgeofilter1
      summary: Get
      operationId: Get
      description: Get a shift for the given id
      tags:
      - Shifts
      parameters:
      - name: id
        in: path
        description: The id of the shifts
        required: true
        example: 5efd1157b2e93c96bc8ea071
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  shift_id:
                    type: string
                  title:
                    type: string
                  description:
                    type: string
                  start_date:
                    type: string
                  end_date:
                    type: string
                  user_id:
                    type: string
                  store_id:
                    type: string
                  created_date:
                    type: string
                  updated_date:
                    type: string
                  client_id:
                    type: string
                  username:
                    type: string
                example:
                  shift_id: 63dbe3f3fb2603001d1f958c
                  title: New shift4
                  description: 10:00 - 16:00
                  start_date: '2022-12-14T09:00:00.000Z'
                  end_date: '2022-12-14T16:00:00.000Z'
                  user_id: 62c2adf1e926980025f9986f
                  store_id: 5f3e4cc1fe89be003bc29bd6
                  created_date: '2023-02-02T16:25:23.119Z'
                  updated_date: '2023-02-02T16:25:23.119Z'
                  client_id: VT008
                  username: newgeofilter1
              examples:
                response:
                  value:
                    shift_id: 63dbe3f3fb2603001d1f958c
                    title: New shift4
                    description: 10:00 - 16:00
                    start_date: '2022-12-14T09:00:00.000Z'
                    end_date: '2022-12-14T16:00:00.000Z'
                    user_id: 62c2adf1e926980025f9986f
                    store_id: 5f3e4cc1fe89be003bc29bd6
                    created_date: '2023-02-02T16:25:23.119Z'
                    updated_date: '2023-02-02T16:25:23.119Z'
                    client_id: VT008
                    username: newgeofilter1
      summary: Create
      operationId: Create
      description: Creating a single shifts
      tags:
      - Shifts
      parameters:
      - name: id
        in: path
        description: The id of the shifts
        required: true
        example: 5efd1157b2e93c96bc8ea071
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                title:
                  type: string
                description:
                  type: string
                start_date:
                  type: string
                end_date:
                  type: string
                username:
                  type: string
              example:
                client_id: VT008
                title: New shift4
                description: 10:00 - 16:00
                start_date: '2022-12-14T09:00:00.000Z'
                end_date: '2022-12-14T16:00:00.000Z'
                username: newgeofilter1
      security:
      - oauth2: []
    patch:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  shift_id:
                    type: string
                  title:
                    type: string
                  description:
                    type: string
                  start_date:
                    type: string
                  end_date:
                    type: string
                  user_id:
                    type: string
                  store_id:
                    type: string
                  created_date:
                    type: string
                  updated_date:
                    type: string
                  client_id:
                    type: string
                  username:
                    type: string
                example:
                  shift_id: 63dbe3f3fb2603001d1f958c
                  title: New shift4
                  description: updated description
                  start_date: '2022-12-14T09:00:00.000Z'
                  end_date: '2022-12-14T16:00:00.000Z'
                  user_id: 62c2adf1e926980025f9986f
                  store_id: 5f3e4cc1fe89be003bc29bd6
                  created_date: '2023-02-02T16:25:23.119Z'
                  updated_date: '2023-02-02T16:25:23.119Z'
                  client_id: VT008
                  username: newgeofilter1
              examples:
                response:
                  value:
                    shift_id: 63dbe3f3fb2603001d1f958c
                    title: New shift4
                    description: updated description
                    start_date: '2022-12-14T09:00:00.000Z'
                    end_date: '2022-12-14T16:00:00.000Z'
                    user_id: 62c2adf1e926980025f9986f
                    store_id: 5f3e4cc1fe89be003bc29bd6
                    created_date: '2023-02-02T16:25:23.119Z'
                    updated_date: '2023-02-02T16:25:23.119Z'
                    client_id: VT008
                    username: newgeofilter1
      summary: Partial Update
      operationId: Partial Update
      description: Update a subset of properties of a shift
      tags:
      - Shifts
      parameters:
      - name: id
        in: path
        description: The id of the shifts
        required: true
        example: 5efd1157b2e93c96bc8ea071
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - oauth2: []
  /public/api/shifts?filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    shift_id:
                      type: string
                    title:
                      type: string
                    description:
                      type: string
                    start_date:
                      type: string
                    end_date:
                      type: string
                    user_id:
                      type: string
                    store_id:
                      type: string
                    tenant:
                      type: string
                    created_date:
                      type: string
                    updated_date:
                      type: string
                    client_id:
                      type: string
                    username:
                      type: string
                  required:
                  - shift_id
                  - title
                  - description
                  - start_date
                  - end_date
                  - user_id
                  - store_id
                  - tenant
                  - created_date
                  - updated_date
                  - client_id
                  - username
                example:
                - shift_id: 63dbe3f3fb2603001d1f958c
                  title: New shift4
                  description: 10:00 - 16:00
                  start_date: '2022-12-14T09:00:00.000Z'
                  end_date: '2022-12-14T16:00:00.000Z'
                  user_id: 62c2adf1e926980025f9986f
                  store_id: 5f3e4cc1fe89be003bc29bd6
                  tenant: vitaltest
                  created_date: '2023-02-02T16:25:23.119Z'
                  updated_date: '2023-02-02T16:25:23.119Z'
                  client_id: VT008
                  username: newgeofilter1
                - shift_id: 63d1289f955423001dde00fc
                  title: New shift8
                  description: 10:00 - 16:00
                  start_date: '2022-12-18T09:00:00.000Z'
                  end_date: '2022-12-18T16:00:00.000Z'
                  user_id: 62c2adf1e926980025f9986f
                  store_id: 5f3e4cc1fe89be003bc29bd6
                  tenant: vitaltest
                  created_date: '2023-01-25T13:03:27.676Z'
                  updated_date: '2023-01-25T13:03:27.676Z'
                  client_id: VT008
                  username: newgeofilter1
              examples:
                response:
                  value:
                  - shift_id: 63dbe3f3fb2603001d1f958c
                    title: New shift4
                    description: 10:00 - 16:00
                    start_date: '2022-12-14T09:00:00.000Z'
                    end_date: '2022-12-14T16:00:00.000Z'
                    user_id: 62c2adf1e926980025f9986f
                    store_id: 5f3e4cc1fe89be003bc29bd6
                    tenant: vitaltest
                    created_date: '2023-02-02T16:25:23.119Z'
                    updated_date: '2023-02-02T16:25:23.119Z'
                    client_id: VT008
                    username: newgeofilter1
                  - shift_id: 63d1289f955423001dde00fc
                    title: New shift8
                    description: 10:00 - 16:00
                    start_date: '2022-12-18T09:00:00.000Z'
                    end_date: '2022-12-18T16:00:00.000Z'
                    user_id: 62c2adf1e926980025f9986f
                    store_id: 5f3e4cc1fe89be003bc29bd6
                    tenant: vitaltest
                    created_date: '2023-01-25T13:03:27.676Z'
                    updated_date: '2023-01-25T13:03:27.676Z'
                    client_id: VT008
                    username: newgeofilter1
      summary: Get All
      operationId: Get All
      description: Get all the shifts.
      tags:
      - Shifts
      parameters:
      - name: filter
        in: query
        description: A valid JSON filter object
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/shifts/count?where={where}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                example:
                  count: 10
              examples:
                response:
                  value:
                    count: 10
      summary: Count
      operationId: Count
      description: Count all the existing entities based on the where filter
      tags:
      - Shifts
      parameters:
      - name: where
        in: query
        description: A valid JSON [Where filter](#section-api-requests-filter-where)
        required: false
        example: '{ "property": "value" }'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/shifts/export?type={type}&filter={filter}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Export file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Export file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Export
      operationId: Export
      description: 'Export all results as a file.

        This action is asynchronous and returns the id of a job. See `jobs` endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource.'
      tags:
      - Shifts
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: filter
        in: query
        description: A valid JSON filter object (does not accept a `fields` filter)
        required: false
        example: '{}'
        schema:
          type: string
      - name: Accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Get_AllBody'
  /public/api/shifts/import?type={type}:
    post:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  priority:
                    type: number
                  nextRunAt:
                    type: string
                  _id:
                    type: string
                example:
                  name: Import file
                  type: normal
                  priority: 0
                  nextRunAt: '2018-09-11T15:56:05.387Z'
                  _id: 5b97e5954b99568b4b9101af
              examples:
                response:
                  value:
                    name: Import file
                    type: normal
                    priority: 0
                    nextRunAt: '2018-09-11T15:56:05.387Z'
                    _id: 5b97e5954b99568b4b9101af
      summary: Import
      operationId: Import
      description: 'See the Import file section for more information.


        ### Fields


        | Field | Format | Required | Description |

        |--------------------------|---------|:--------:|-----------------|

        | shift_id | string | x | The unique identifier of the shift. |

        | username | string | x | The unique username of the employee assigned to the shift. |

        | user_id | string | | An external identifier for the employee |

        | title | string | x | The title of the shift. (visible in the calendar of the user) |

        | store_id | string | | An external identifier for the employee |

        | start_date | string | x | The start date and time of the shift. |

        | end_date | string | x | The end date and time of the shift. |

        | description | string | | The description of the shift. |

        | client_id | string | x | The unique client_id of the location where the shift takes place. |

        | _lmt | string | | The last modified time of the shift. |

        | _ect | string | | The time when the shift was created. |'
      tags:
      - Shifts
      parameters:
      - name: type
        in: path
        description: The type of file, either `csv` (default value) or `excel`
        required: true
        example: csv
        schema:
          type: string
      - name: Content-Disposition
        in: header
        description: e.g. form-data; name="file"; filename="file.csv"
        required: false
        example: form-data; name="file"; filename="file.csv"
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ImportBody'
components:
  requestBodies:
    ImportBody:
      content:
        multipart/form-data, boundary=AaB03x:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
    Get_AllBody:
      content:
        application/json:
          schema:
            type: object
            properties:
              Authorization:
                $ref: '#/components/schemas/Default_Header'
  schemas:
    Default_Header:
      type: object
      required:
      - Authorization
      properties:
        Authorization:
          type: string
          example: Bearer JWT
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /
          tokenUrl: /
          scopes: {}