{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "staff-apiStaff", "description": "staff-apiStaff schema from Lightspeed Restaurant K Series API", "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed-pos/refs/heads/main/json-schema/restaurant-k-series-staff-api-staff-schema.json", "type": "object", "properties": { "staffId": { "type": "integer", "format": "int64", "description": "The unique identifier for the user.", "example": 1234 }, "username": { "description": "The staff username. Only used for POS staff.", "type": "string", "x-nonempty": true, "maxLength": 128, "example": "John Doe" }, "userTypes": { "type": "array", "items": { "description": "The user type.", "type": "string", "enum": [ "POS", "BACK_OFFICE", "API" ] } }, "firstName": { "type": "string", "maxLength": 128, "description": "The first name of the user.", "default": "", "example": "John" }, "lastName": { "type": "string", "maxLength": 128, "description": "The last name of the user.", "default": "", "example": "Doe" }, "email": { "description": "The email associated with the user. Only used for Back Office staff.", "type": "string", "format": "email", "maxLength": 128 }, "active": { "type": "boolean", "default": true, "description": "Indicates if the user is active." }, "pinCodeSet": { "type": "boolean", "description": "Indicates if the user has a PIN code set. Relevant for POS users only." }, "createdOn": { "type": "string", "format": "date-time", "description": "The timestamp of the creation of the user." }, "modifiedOn": { "type": "string", "format": "date-time", "description": "The timestamp of the last update to the user." }, "businessId": { "type": "integer", "format": "int64", "description": "The unique identifier for the business.", "example": 12345 }, "businessLocationId": { "type": "integer", "format": "int64", "description": "The unique identifier for the business location.", "example": 1234567890 }, "groups": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The unique identifier for the user group.", "example": 1234 }, "name": { "type": "string", "description": "The name of the user group.", "example": "Bar Staff" } } } }, "reportAccess": { "type": "array", "items": { "type": "string", "default": "STAFF_REPORT_OWN_ACCESS", "description": "User report permissions." } }, "roles": { "type": "array", "description": "The roles assigned to the user.", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "The unique identifier for the role.", "example": 1234 }, "name": { "type": "string", "description": "The name of the role.", "example": "ROLE_CAN_LOGIN" } } } } } }