Lightspeed Commerce · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Lightspeed Restaurant K Series Staff API

18 actions 18 updates phrasing extends openapi/lightspeed-staff-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Lightspeed Commerce's API. It is a proposal applied on top of the contract, not a document Lightspeed Commerce publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 18 · first 16 shown; the file carries all of them

$.info
$.paths['/staff/v1/businessLocations/{businessLocationId}/shift'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS'].post
$.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS/{staffId}'].put
$.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/BACK_OFFICE'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/staff/{staffId}'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/groups'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/groups/{groupId}'].get
$.paths['/staff/v1/business/{businessId}/assignStaff/{staffId}'].post
$.paths['/staff/v1/businessLocations/{businessLocationId}/unAssignStaff/{staffId}'].delete
$.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks'].get
$.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks'].post
$.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks/{webhookId}'].delete
$.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks/{webhookId}'].patch
$.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS/reportAccess'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Lightspeed Restaurant K Series Staff API
  version: 1.0.0
extends: openapi/lightspeed-staff-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 17
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/shift'].get
  update:
    x-apievangelist-phrasing:
      intent: List staff shifts at a business location
      effect: read
      questions:
      - Which staff members clocked shifts at my restaurant last week?
      - Can I filter shift records to a single employee and a start and end time?
      - How do I pull shift history from Lightspeed K-Series for payroll?
      instructions:
      - text: List shifts at business location {location} between {start} and {end}.
        slots:
          location: path.businessLocationId
          start: query.startTime
          end: query.endTime
      - text: Show the shifts worked by staff member {staff} at location {location}.
        slots:
          staff: query.staffId
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS'].get
  update:
    x-apievangelist-phrasing:
      intent: List POS users at a business location
      effect: read
      questions:
      - Who has a login on the point-of-sale devices at this venue?
      - Can I see only active POS users, or those created within a date range?
      instructions:
      - text: List POS users at business location {location} with active status {active}.
        slots:
          location: path.businessLocationId
          active: query.isActive
      - text: Show POS users at location {location} added between {start} and {end}.
        slots:
          location: path.businessLocationId
          start: query.startDate
          end: query.endDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a POS user
      effect: write
      questions:
      - How do I add a new server or cashier who logs in on the POS terminal?
      - Can I give a new POS user a PIN code and assign them to a user group when creating them?
      instructions:
      - text: Create POS user {username} at location {location} with PIN {pin}.
        slots:
          username: requestBody.username
          location: path.businessLocationId
          pin: requestBody.pinCode
      - text: Add a new POS user {username} named {first} {last} to business location {location}.
        slots:
          username: requestBody.username
          first: requestBody.firstName
          last: requestBody.lastName
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS/{staffId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing POS user
      effect: write
      questions:
      - Can I change the PIN code or roles of a POS user who already exists?
      - What fields must I resend when editing a POS user's profile?
      instructions:
      - text: Change the PIN of POS user {staff} at location {location} to {pin}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
          pin: requestBody.pinCode
      - text: Set POS user {staff} at business location {location} to active {active}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
          active: requestBody.active
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/BACK_OFFICE'].get
  update:
    x-apievangelist-phrasing:
      intent: List back office users at a location
      effect: read
      questions:
      - Which managers have back office access to this restaurant's dashboard?
      - Can I look up a back office user by their email address?
      instructions:
      - text: List back office users at business location {location}.
        slots:
          location: path.businessLocationId
      - text: Find the back office user with email {email} at location {location}.
        slots:
          email: query.email
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/staff/{staffId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one staff member's details
      effect: read
      questions:
      - What details are stored for a specific employee at a business location?
      - Can I fetch a single staff profile by its staff ID?
      instructions:
      - text: Get the profile of staff member {staff} at location {location}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
      - text: Show me who staff ID {staff} is at business location {location}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List POS user groups
      effect: read
      questions:
      - What user groups exist for grouping POS staff at my venue?
      - Can I find user groups by name or by the roles they grant?
      instructions:
      - text: List all POS user groups at business location {location}.
        slots:
          location: path.businessLocationId
      - text: Find the user group named {name} at location {location}.
        slots:
          name: query.name
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/groups/{groupId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single POS user group
      effect: read
      questions:
      - Which roles and settings does a particular user group carry?
      - Can I retrieve one user group by its group ID?
      instructions:
      - text: Show user group {group} at business location {location}.
        slots:
          group: path.groupId
          location: path.businessLocationId
      - text: Get the roles in POS user group {group} for location {location}.
        slots:
          group: path.groupId
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/business/{businessId}/assignStaff/{staffId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Grant a staff member access to locations
      effect: write
      questions:
      - Can I give an employee access to additional restaurants within the same business?
      - How do I assign a staff member to several business locations at once?
      instructions:
      - text: Give staff member {staff} access to business locations {locations} in business {business}.
        slots:
          staff: path.staffId
          locations: requestBody.businessLocationIds
          business: path.businessId
      - text: Assign staff {staff} to more locations under business {business}.
        slots:
          staff: path.staffId
          business: path.businessId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/unAssignStaff/{staffId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a staff member's location access
      effect: destructive
      questions:
      - Can I take away an employee's access to one specific restaurant?
      - What happens when I unassign staff from a business location?
      instructions:
      - text: Remove staff member {staff} from business location {location}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
      - text: Revoke location {location} access for staff {staff}.
        slots:
          staff: path.staffId
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List staff webhooks for a location
      effect: read
      questions:
      - Which staff-related webhooks are registered for this business location?
      - Can I see the notification URLs set up for staff events?
      instructions:
      - text: List the staff webhooks configured for location {location}.
        slots:
          location: path.businessLocationId
      - text: Show every staff notification webhook at business location {location}.
        slots:
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a staff webhook
      effect: write
      questions:
      - Can I get notified at my own URL when staff records change?
      - What notification types can a staff webhook subscribe to?
      instructions:
      - text: Create staff webhook {name} for location {location} sending {type} notifications to {url}.
        slots:
          name: requestBody.webhookName
          location: path.businessLocationId
          type: requestBody.notificationType
          url: requestBody.url
      - text: Subscribe {url} to staff notifications of type {type} at location {location}, named {name}.
        slots:
          url: requestBody.url
          type: requestBody.notificationType
          location: path.businessLocationId
          name: requestBody.webhookName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks/{webhookId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a staff webhook
      effect: destructive
      questions:
      - Can I stop a staff notification webhook from firing by removing it?
      - What is the way to delete a staff webhook I no longer need?
      instructions:
      - text: Delete staff webhook {webhook} at business location {location}.
        slots:
          webhook: path.webhookId
          location: path.businessLocationId
      - text: Remove the staff notification webhook {webhook} from location {location}.
        slots:
          webhook: path.webhookId
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/webhooks/{webhookId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a staff webhook
      effect: write
      questions:
      - Can I point an existing staff webhook at a new URL?
      - Is it possible to rename a staff webhook or change its notification type?
      instructions:
      - text: Change the URL of staff webhook {webhook} at location {location} to {url}.
        slots:
          webhook: path.webhookId
          location: path.businessLocationId
          url: requestBody.url
      - text: Rename staff webhook {webhook} at location {location} to {name}.
        slots:
          webhook: path.webhookId
          location: path.businessLocationId
          name: requestBody.webhookName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS/reportAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List report access levels for POS users
      effect: read
      questions:
      - What report access levels can I give a POS user?
      - Which reporting permissions are available for point-of-sale staff?
      instructions:
      - text: List the report access levels available to POS users at location {location}.
        slots:
          location: path.businessLocationId
      - text: Show POS report access options for business location {location}.
        slots:
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/BACK_OFFICE/roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List back office user permissions
      effect: read
      questions:
      - What permissions can a back office user be granted?
      - Which roles exist for back office accounts at my location?
      instructions:
      - text: List all back office permissions at business location {location}.
        slots:
          location: path.businessLocationId
      - text: Show the back office user roles available for location {location}.
        slots:
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/staff/v1/businessLocations/{businessLocationId}/userTypes/POS/roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List POS user permissions
      effect: read
      questions:
      - What roles can I assign to a POS user on the terminal?
      - Which point-of-sale permissions exist for cashiers and servers?
      instructions:
      - text: List all POS user permissions at business location {location}.
        slots:
          location: path.businessLocationId
      - text: Show the roles I can give POS staff at location {location}.
        slots:
          location: path.businessLocationId
      method: generated
      generated: '2026-09-26'