openapi: 3.0.3 info: title: Loyverse Categories Employees API description: REST API for the Loyverse point of sale (POS) platform. Loyverse is a free POS for small retail stores, cafes, bars, and restaurants; this API exposes the same data as the POS and Back Office - items and variants, categories, receipts (sales), customers and loyalty, inventory levels, stores, employees, payment types, taxes, discounts, modifiers, suppliers, POS devices, and shifts. All endpoints are HTTPS REST with cursor-based pagination. Authenticate with a personal access token (Bearer) generated in the Back Office, or with the OAuth 2.0 authorization-code flow for third-party apps acting on behalf of other merchants. This document is derived from the public Loyverse API reference and grounds real endpoints; request and response schemas are summarized and should be verified against the live reference during reconciliation. version: '1.0' contact: name: Loyverse Developers url: https://developer.loyverse.com/docs/ x-logo: url: https://loyverse.com servers: - url: https://api.loyverse.com/v1.0 description: Loyverse API security: - bearerAuth: [] - oauth2: - ITEMS_READ - RECEIPTS_READ - CUSTOMERS_READ - INVENTORY_READ - STORES_READ tags: - name: Employees description: Employees who operate the POS. paths: /employees: get: operationId: listEmployees tags: - Employees summary: List employees parameters: - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/Limit' responses: '200': description: A page of employees. '401': $ref: '#/components/responses/Unauthorized' post: operationId: createOrUpdateEmployee tags: - Employees summary: Create or update an employee requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Employee' responses: '200': description: The created or updated employee. '401': $ref: '#/components/responses/Unauthorized' /employees/{employee_id}: parameters: - name: employee_id in: path required: true schema: type: string get: operationId: getEmployee tags: - Employees summary: Get an employee responses: '200': description: The employee. '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteEmployee tags: - Employees summary: Delete an employee responses: '200': description: Deletion result. components: responses: NotFound: description: The requested resource was not found. Unauthorized: description: Missing or invalid access token. parameters: Cursor: name: cursor in: query required: false schema: type: string description: Opaque cursor for the next page of results. Limit: name: limit in: query required: false schema: type: integer default: 50 maximum: 250 description: Maximum number of records to return per page. schemas: Employee: type: object properties: id: type: string name: type: string email: type: string nullable: true phone_number: type: string nullable: true stores: type: array items: type: string is_owner: type: boolean created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true securitySchemes: bearerAuth: type: http scheme: bearer description: Personal access token generated in the Loyverse Back Office (Access Tokens). oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://api.loyverse.com/oauth/authorize tokenUrl: https://api.loyverse.com/oauth/token scopes: ITEMS_READ: Read items and catalog objects. ITEMS_WRITE: Create and update items and catalog objects. RECEIPTS_READ: Read receipts. RECEIPTS_WRITE: Create receipts. CUSTOMERS_READ: Read customers and loyalty data. CUSTOMERS_WRITE: Create and update customers. INVENTORY_READ: Read inventory levels. INVENTORY_WRITE: Update inventory levels. EMPLOYEES_READ: Read employees. PAYMENT_TYPES_READ: Read payment types. STORES_READ: Read stores. MERCHANT_READ: Read merchant and store information.