Restaurant365 Labor API

Employees, labor detail, payroll, and POS employees

Business capability
HR Operations Management BC-300.70

Operations 4

GET /Employee List Employees #
GET /POSEmployee List POS Employees #
GET /LaborDetail List Labor Detail #
GET /PayrollSummary List Payroll Summary #

Documentation

Specifications

Schemas & Data

Other Resources

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/restaurant365:restaurant365-labor-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

restaurant365-labor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Restaurant365 OData Connector Labor API
  description: The Restaurant365 OData connector exposes R365 data to OData-compatible reporting and business-intelligence tools through read-only views for companies, locations, GL accounts, items, employees, labor, transactions, and sales.
  version: v2
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: Proprietary
servers:
- url: https://odata.restaurant365.net/api/v2/views
  description: Restaurant365 OData v2 views endpoint
tags:
- name: Labor
  description: Employees, labor detail, payroll, and POS employees
paths:
  /Employee:
    get:
      operationId: listEmployees
      summary: List Employees
      description: List all employees with basic information.
      tags:
      - Labor
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of employees
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Employee'
  /POSEmployee:
    get:
      operationId: listPosEmployees
      summary: List POS Employees
      description: Retrieve the data mapping between R365 and POS employee records.
      tags:
      - Labor
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of POS employee mappings
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/POSEmployee'
  /LaborDetail:
    get:
      operationId: listLaborDetail
      summary: List Labor Detail
      description: Retrieve employee punch time details, including clock in and clock out.
      tags:
      - Labor
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of labor detail records
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/LaborDetail'
  /PayrollSummary:
    get:
      operationId: listPayrollSummary
      summary: List Payroll Summary
      description: Retrieve a list of labor records summarized for payroll.
      tags:
      - Labor
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of payroll summary records
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/PayrollSummary'
components:
  parameters:
    filter:
      name: $filter
      in: query
      required: false
      description: Boolean expression used to filter results
      schema:
        type: string
    orderby:
      name: $orderby
      in: query
      required: false
      description: Property to sort by; append desc for descending order
      schema:
        type: string
    select:
      name: $select
      in: query
      required: false
      description: Comma-separated list of properties to return
      schema:
        type: string
    skip:
      name: $skip
      in: query
      required: false
      description: Number of results to skip
      schema:
        type: integer
    top:
      name: $top
      in: query
      required: false
      description: Maximum number of results to return
      schema:
        type: integer
  schemas:
    PayrollSummary:
      type: object
      properties:
        employeeID:
          type: string
          format: uuid
        payrollID:
          type: string
        location:
          type: string
        locationNumber:
          type: string
        jobCode:
          type: string
        payRate:
          type: number
        regularHours:
          type: number
        overtimeHours:
          type: number
        doubleOvertime:
          type: number
        breakPenalty:
          type: number
        grossReceipts:
          type: number
        splitShiftPenalty:
          type: number
        chargeTips:
          type: number
        declaredTips:
          type: number
        percentageOfSales:
          type: number
        percent:
          type: number
        payrollStart:
          type: string
          format: date-time
        payrollEnd:
          type: string
          format: date-time
    POSEmployee:
      type: object
      properties:
        posEmployeeId:
          type: string
          format: uuid
        fullName:
          type: string
        posid:
          type: string
        location_id:
          type: string
          format: uuid
        employee_id:
          type: string
          format: uuid
        createdBy:
          type: string
        createdOn:
          type: string
          format: date-time
        modifiedBy:
          type: string
        modifiedOn:
          type: string
          format: date-time
    LaborDetail:
      type: object
      properties:
        laborId:
          type: string
          format: uuid
        labor:
          type: string
        dateWorked:
          type: string
          format: date-time
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        hours:
          type: number
        payRate:
          type: number
        payrate_Base:
          type: number
        payrollStatus:
          type: integer
        total:
          type: number
        total_Base:
          type: number
        employee_ID:
          type: string
          format: uuid
        r365Employee_ID:
          type: string
          format: uuid
        employeeJobTitle_ID:
          type: string
          format: uuid
        jobTitle_ID:
          type: string
          format: uuid
        location_ID:
          type: string
          format: uuid
        cateringEvent:
          type: string
          format: uuid
        tipDeclaredAmount:
          type: number
        employee:
          type: string
        payrollID:
          type: string
        jobTitle:
          type: string
        location:
          type: string
        dailySalesSummaryId:
          type: string
          format: uuid
        createdBy:
          type: string
        createdOn:
          type: string
          format: date-time
        modifiedBy:
          type: string
        modifiedOn:
          type: string
          format: date-time
    Employee:
      type: object
      properties:
        employeeId:
          type: string
          format: uuid
        fullName:
          type: string
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        email:
          type: string
          format: email
        phoneNumber:
          type: string
        mobilePhone:
          type: string
        allowTextMessaging:
          type: boolean
        birthday:
          type: string
          format: date-time
        birthdayDay:
          type: integer
        birthdayMonth:
          type: integer
        hireDate:
          type: string
          format: date-time
        multipleLocations:
          type: integer
        payrollID:
          type: string
        posid:
          type: string
        employeeLink:
          type: string
          format: uuid
        primaryLocation_id:
          type: string
          format: uuid
        inactive:
          type: boolean
        createdBy:
          type: string
        createdOn:
          type: string
          format: date-time
        modifiedBy:
          type: string
        modifiedOn:
          type: string
          format: date-time
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Domain\Username with R365 password