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.
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
# 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'