### Get All Items Source: https://api-docs.lsk.lightspeed.app/group/endpoint-items.md Retrieves a list of all available items. ```APIDOC ## GET /items ### Description Retrieves a list of all available items. ### Method GET ### Endpoint /items ### Response #### Success Response (200) - **items** (array) - A list of item objects. #### Response Example { "example": "[{\"id\": \"item_123\", \"name\": \"Example Item 1\", \"price\": 10.99}, {\"id\": \"item_456\", \"name\": \"Example Item 2\", \"price\": 20.00}]" } ``` -------------------------------- ### Get All Items Source: https://api-docs.lsk.lightspeed.app/group/endpoint-items.md?server_id=server-https-api-lsk-lightspeed-app Retrieves a list of all available items. ```APIDOC ## GET /items ### Description Retrieves a list of all available items. ### Method GET ### Endpoint /items ### Response #### Success Response (200) - **items** (array) - A list of item objects. - **id** (string) - The unique identifier of the item. - **name** (string) - The name of the item. - **description** (string) - The description of the item. ``` -------------------------------- ### Get Businesses Source: https://api-docs.lsk.lightspeed.app/group/endpoint-financial.md?server_id=server-https-api-lsk-lightspeed-app Retrieves a list of businesses available through the Financial API. ```APIDOC ## GET /f/finance/businesses ### Description Retrieves a list of businesses. ### Method GET ### Endpoint /f/finance/businesses ### Parameters #### Query Parameters - **pageSize** (integer) - Optional - The number of results to return per page. Maximum of 1000. ### Response #### Success Response (200) - **businesses** (array) - A list of business objects. - **_links** (object) - HATEOAS links for pagination. - **self** (string) - URL for the current page. - **nextPage** (string) - URL for the next page, if available. ### Response Example { "businesses": [ { "id": "string", "name": "string" } ], "_links": { "self": "/f/finance/businesses?pageSize=1000", "nextPage": "/f/finance/businesses?pageSize=1000&page=2" } } ``` -------------------------------- ### Get All POS Users Source: https://api-docs.lsk.lightspeed.app/operation/operation-staff-apigetposstaff.md?server_id=server-https-api-lsk-lightspeed-app Retrieves a list of POS users for a given business location. Supports pagination, sorting, and filtering by active status, start date, and end date. ```APIDOC ## GET /staff/v1/businessLocations/{businessLocationId}/userTypes/POS ### Description Retrieves a list of POS users for a given business location. Supports pagination, sorting, and filtering by active status, start date, and end date. ### Method GET ### Endpoint /staff/v1/businessLocations/{businessLocationId}/userTypes/POS ### Parameters #### Path Parameters - **businessLocationId** (integer(int64)) - Required - The unique identifier for the business location. #### Query Parameters - **page** (integer(int32)) - Optional - The page number, when paginating. - **size** (integer(int32)) - Optional - Number of results to return per page, when paginating. - **sort** (array[string]) - Optional - Sort by field and direction. - **isActive** (boolean) - Optional - Filter on active status. - **startDate** (string(date-time)) - Optional - Filter on user start date. The format should be `yyyy-MM-dd'T'HH:mm:ss` (ISO 8601 format). - **endDate** (string(date-time)) - Optional - Filter on user end date. The format should be `yyyy-MM-dd'T'HH:mm:ss` (ISO 8601 format). ### Responses #### Success Response (200) Staff List ##### Body: application/json (object) - **data** (object) - **links** (object) - **page** (object) ``` -------------------------------- ### GET /reservation/api/1/platform/{platform-code}/onboarding-webhook-sample Source: https://api-docs.lsk.lightspeed.app/changes?page=4 This endpoint provides a sample onboarding webhook for a given platform. The 'epochDeadlineUtc' property has been removed and 'epochSecondsDeadlineUtc' has been added. ```APIDOC ## GET /reservation/api/1/platform/{platform-code}/onboarding-webhook-sample ### Description Provides a sample onboarding webhook for a given platform. The 'epochDeadlineUtc' property has been removed and 'epochSecondsDeadlineUtc' has been added. ### Method GET ### Endpoint /reservation/api/1/platform/{platform-code}/onboarding-webhook-sample ### Parameters #### Path Parameters - **platform-code** (string) - Required - The platform code. ### Response #### Success Response (200) - **epochSecondsDeadlineUtc** (integer) - Added - The deadline in seconds since the epoch in UTC. ``` -------------------------------- ### Allergens Response Example Source: https://api-docs.lsk.lightspeed.app/prod/group/endpoint-rich-item Example JSON response when successfully retrieving a list of allergens, including their codes and translations. ```json [ { "code": "fish", "translations": [ { "locale": "en", "text": "Fish" }, { "locale": "fr", "text": "Poisson" } ] } ] ``` -------------------------------- ### POST /reservation/api/1/platform/{platform-code}/integration/onboarding Source: https://api-docs.lsk.lightspeed.app/changes?page=4 Initiates the onboarding integration for a given platform. ```APIDOC ## POST /reservation/api/1/platform/{platform-code}/integration/onboarding ### Description Initiates the onboarding integration for a given platform. ### Method POST ### Endpoint /reservation/api/1/platform/{platform-code}/integration/onboarding ### Parameters #### Path Parameters - **platform-code** (string) - Required - The platform code. ``` -------------------------------- ### POST /reservation/api/1/platform/{platform-code}/integration/onboarding Source: https://api-docs.lsk.lightspeed.app/changes?page=2 Initiates the onboarding process for an integration on a platform. The `application/json` content type for the request body is now required. ```APIDOC ## POST /reservation/api/1/platform/{platform-code}/integration/onboarding ### Description Initiates the onboarding process for an integration on a platform. The `application/json` content type for the request body is now required. ### Method POST ### Endpoint /reservation/api/1/platform/{platform-code}/integration/onboarding ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code for the platform. #### Request Body - **application/json** - Required: Content type is now required. ``` -------------------------------- ### Modify GET /f/data/businesses Endpoint Source: https://api-docs.lsk.lightspeed.app/changes/9cd93db7 The GET /f/data/businesses endpoint has been modified to include 'page' and 'size' query parameters for pagination. ```text GET /f/data/businesses * Query * page, size query parameters Added ``` -------------------------------- ### Get Tax Rates Source: https://api-docs.lsk.lightspeed.app/operation/operation-financial-apigettaxrates.md Fetches the tax rates for a specified business location. This is a GET request that requires the business location ID as a path parameter. ```APIDOC ## GET /f/finance/{businessLocationId}/tax-rates ### Description Returns tax rates for a business location. ### Method GET ### Endpoint /f/finance/{businessLocationId}/tax-rates ### Parameters #### Path Parameters - **businessLocationId** (integer(int64)) - Required - The unique identifier for the business location. ### Responses #### Success Response (200) Tax rates returned - **_embedded** (object) - **_links** (object) ``` -------------------------------- ### POST /reservation/api/1/platform/{platform-code}/integration/onboarding Source: https://api-docs.lsk.lightspeed.app/operation/operation-reservation-serviceonboardingcallback.md Completes the onboarding process for an external reservation platform. This callback is invoked after the external platform receives an onboarding webhook. ```APIDOC ## POST /reservation/api/1/platform/{platform-code}/integration/onboarding ### Description Completes the onboarding process for an external reservation platform. This callback is invoked after the external platform receives an onboarding webhook. ### Method POST ### Endpoint /reservation/api/1/platform/{platform-code}/integration/onboarding ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code assigned to the reservation platform. #### Request Body - **businessLocationId** (integer(int64)) - Required - The unique identifier of the business location. - **onboardingCode** (string) - Required - The machine code to interact with the external platform during the onboarding process. - **onboardingId** (string) - Required - The unique identifier of the integration process that has started onboarding. - **platformRestaurantId** (string) - Required - The external platform's unique identifier for the restaurant. ### Response #### Success Response (200) Accepted #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. #### Error Response (400) Non relevant request #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. #### Error Response (403) Scope 'reservation-{platform-code}' not found in the token #### Error Response (404) Platform not found #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. ``` -------------------------------- ### Callback to Complete Onboarding Source: https://api-docs.lsk.lightspeed.app/group/endpoint-reservations-for-platforms.md?server_id=server-https-api-lsk-lightspeed-app Initiates a callback to complete the onboarding process for a platform. ```APIDOC ## Callback to Complete Onboarding ### Description This operation is used to trigger a callback to finalize the onboarding of a platform. ### Method POST ### Endpoint /reservation/service/onboardingCallback ``` -------------------------------- ### Modified Sales Property in Financials Endpoints Source: https://api-docs.lsk.lightspeed.app/changes?page=6 The sales property in the response of GET /f/finance/{businessLocationId}/dailyFinancials and GET /f/finance/{businessLocationId}/financials/{from}/{to} has been modified. ```json { "sales": "modified" } ``` -------------------------------- ### GET /reservation/api/1/platform/{platform-code}/order-webhook-sample Source: https://api-docs.lsk.lightspeed.app/changes?page=4 This endpoint provides a sample order webhook for a given platform. The 'account' property in the JSON response has been modified. ```APIDOC ## GET /reservation/api/1/platform/{platform-code}/order-webhook-sample ### Description Provides a sample order webhook for a given platform. The 'account' property in the JSON response has been modified. ### Method GET ### Endpoint /reservation/api/1/platform/{platform-code}/order-webhook-sample ### Parameters #### Path Parameters - **platform-code** (string) - Required - The platform code. ### Response #### Success Response (200) - **account** (object) - Modified - Details about the account. ``` -------------------------------- ### Modified _links Property in Financials Endpoints Source: https://api-docs.lsk.lightspeed.app/changes?page=6 The _links property in the response of GET /f/finance/{businessLocationId}/dailyFinancials and GET /f/finance/{businessLocationId}/financials/{from}/{to} has been modified. ```json { "_links": "modified" } ``` -------------------------------- ### Callback to Complete Onboarding Source: https://api-docs.lsk.lightspeed.app/group/endpoint-reservations-for-platforms.md Completes the onboarding process for a platform via a callback mechanism. ```APIDOC ## Callback to Complete Onboarding ### Description This operation allows for the completion of the platform onboarding process through a callback. ### Method POST ### Endpoint /reservation/service/onboarding/callback ### Parameters #### Request Body - **platform_id** (string) - Required - The unique identifier of the platform. - **onboarding_data** (object) - Required - Data required to complete onboarding. ``` -------------------------------- ### Deprecated Properties in Order Table GetCheck Endpoint Source: https://api-docs.lsk.lightspeed.app/changes?page=6 The deviceId, id, identifier, and number properties in the response of GET /o/op/1/order/table/getCheck and GET /o/op/1/order/table/{tableNumber}/getCheck are now deprecated. ```json { "deviceId": "deprecated", "id": "deprecated", "identifier": "deprecated", "number": "deprecated", "salesEntries": [] } ``` -------------------------------- ### Order Notification Webhook Example Source: https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationordernotification This is an example of the JSON payload structure for order notifications sent to your specified webhook URL. It includes detailed information about the order, account, consumer, and transaction. ```json { "account": { "accountNumber": "string", "accountObjectId": "string", "accountProfileCode": "string", "accountProfileId": "string", "accountProfileName": "string", "businessLocationId": "string", "closeDate": null, "consumerRecord": { "consumer": { "emailAddress": "string", "id": "string" }, "consumerRecordUUID": "string(uuid)", "contactInformation": { "city": "string", "companyName": "string", "emailReceipts": true, "firstName": "string", "fullName": "string", "lastName": "string", "taxIdentifier": "string" }, "externalReferences": [ { "key": "string", "reference": "string" } ], "id": "string" }, "coverCount": 0, "currencyCode": "string", "currentProductionPhase": 0, "discounts": [ { "code": "string", "description": "string", "id": "string", "rate": 0.0, "taxFree": true } ], "externalReferences": [ { "prefix": "string", "reference": "string" } ], "gratuityAmount": 0.0, "id": "string", "latestExternalReferences": [ { "prefix": "string", "reference": "string" } ], "name": "string", "offset": 0, "orderMode": "string" } } ``` -------------------------------- ### POST /reservation/api/1/platform/{platform-code}/integration/onboarding Source: https://api-docs.lsk.lightspeed.app/operation/operation-reservation-serviceonboardingcallback.md?server_id=server-https-api-lsk-lightspeed-app Completes the onboarding process for the reservation service once the external platform receives the onboarding webhook. It requires the business location ID, onboarding code, onboarding ID, and the platform's restaurant ID. ```APIDOC ## POST /reservation/api/1/platform/{platform-code}/integration/onboarding ### Description Completes the onboarding process for the reservation service once the external platform receives the onboarding webhook. It requires the business location ID, onboarding code, onboarding ID, and the platform's restaurant ID. ### Method POST ### Endpoint /reservation/api/1/platform/{platform-code}/integration/onboarding ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code assigned to the reservation platform. #### Request Body - **businessLocationId** (integer(int64)) - Required - The unique identifier of the business location. - **onboardingCode** (string) - Required - The machine code to interact with the external platform during the onboarding process. - **onboardingId** (string) - Required - The unique identifier of the integration process that has started onboarding. - **platformRestaurantId** (string) - Required - The external platform's unique identifier for the restaurant. ### Request Example { "businessLocationId": 12345, "onboardingCode": "machine-code-123", "onboardingId": "integration-id-abc", "platformRestaurantId": "external-restaurant-id-xyz" } ### Response #### Success Response (200) Accepted #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. #### Response Example { "onboardingCode": "machine-code-123" } #### Error Response (400) Non relevant request #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. #### Error Response (403) Scope 'reservation-{platform-code}' not found in the token #### Error Response (404) Platform not found #### Body: application/json (object) - **onboardingCode** (string) - The machine code to interact with the external platform during the onboarding process. ``` -------------------------------- ### Reservation Onboarding Notification Webhook Request Example Source: https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationonboardingnotification This JSON payload represents a reservation onboarding notification sent to your specified webhook URL. It includes business details, onboarding status, and platform information. ```json { "businessInformation": { "businessLocationId": 9765040300495493, "city": "Genève", "country": "CH", "name": "Le Gâteau", "state": "Canton de Genève", "street1": "Rue de la Servette 10", "street2": "Suite 2", "zip": "101201" }, "epochSecondsDeadlineUtc": 1711628625, "onboardingId": "84f16177-98c5-4010-a7ab-d00144d1dede", "platformCode": "MyPlatform", "platformRestaurantReference": "Schnitzel_and_Kartoffel" } ``` -------------------------------- ### GET /reservation/api/1/platform/{platform-code}/profile - Response Modification Source: https://api-docs.lsk.lightspeed.app/changes/631e620e The webhookUrl property has been removed from the 200 response for GET /reservation/api/1/platform/{platform-code}/profile. New properties like baseUrl, orderWebhookUrl, integrationWebhookUrl, onboardingWebhookUrl, and errorsWebhookUrl have been added. ```json { "webhookUrl": "string" } ``` ```json { "baseUrl": "string", "orderWebhookUrl": "string", "integrationWebhookUrl": "string", "onboardingWebhookUrl": "string", "errorsWebhookUrl": "string" } ``` -------------------------------- ### Onboarding Notification Source: https://api-docs.lsk.lightspeed.app/group/webhook-reservations-for-platforms.md?server_id=server-https-api-lsk-lightspeed-app Send an onboarding notification related to a reservation. ```APIDOC ## POST /webhooks/reservations/onboarding ### Description Sends an onboarding notification for a reservation. ### Method POST ### Endpoint /webhooks/reservations/onboarding ### Request Body - **reservation_id** (string) - Required - The ID of the reservation. - **onboarding_status** (string) - Required - The status of the onboarding process. ### Response #### Success Response (200) - **status** (string) - Indicates the success of the notification. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### API Structure Modification: User Types Endpoint Source: https://api-docs.lsk.lightspeed.app/changes.rss Details modifications to the GET and POST /staff/v1/businessLocations/{businessLocationId}/userTypes/POS endpoints. The GET response's 'data.staff' property is modified, and the POST endpoint is also noted as modified. ```text Modified: GET /staff/v1/businessLocations/{businessLocationId}/userTypes/POS Response modified: 200 Content type modified: application/json Property modified: data Property modified: staff Modified: POST /staff/v1/businessLocations/{businessLocationId}/userTypes/POS ``` -------------------------------- ### Create Item Source: https://api-docs.lsk.lightspeed.app/group/endpoint-items.md?server_id=server-https-api-lsk-lightspeed-app Creates a new item. ```APIDOC ## POST /items ### Description Creates a new item. ### Method POST ### Endpoint /items #### Request Body - **name** (string) - Required - The name of the new item. - **description** (string) - Optional - The description of the new item. ### Response #### Success Response (201) - **id** (string) - The unique identifier of the newly created item. - **name** (string) - The name of the new item. - **description** (string) - The description of the new item. ``` -------------------------------- ### Get Modifiers Source: https://api-docs.lsk.lightspeed.app/group/endpoint-order-and-pay.md Retrieves all modifiers available for a business. ```APIDOC ## Get Modifiers ### Description Retrieves all modifiers available for a business. ### Method GET ### Endpoint /businesses/{businessId}/modifiers ### Parameters #### Path Parameters - **businessId** (string) - Required - The ID of the business. ### Response #### Success Response (200) - **modifiers** (array) - A list of modifier objects. - **id** (string) - The unique identifier for the modifier. - **name** (string) - The name of the modifier. - **price** (number) - The price of the modifier. - **created_at** (string) - ISO 8601 timestamp. - **updated_at** (string) - ISO 8601 timestamp. #### Response Example { "modifiers": [ { "id": "mod303", "name": "Extra Cheese", "price": 1.50, "created_at": "2023-01-01T15:00:00Z", "updated_at": "2023-01-01T15:00:00Z" } ] } ``` -------------------------------- ### Get Locales Source: https://api-docs.lsk.lightspeed.app/group/endpoint-rich-item.md Retrieves a list of supported locales. ```APIDOC ## GET /locales ### Description Retrieves a list of supported locales. ### Method GET ### Endpoint /locales ### Response #### Success Response (200) - **locales** (array) - A list of locale objects. ``` -------------------------------- ### Create Item Source: https://api-docs.lsk.lightspeed.app/group/endpoint-items.md Creates a new item. ```APIDOC ## POST /items ### Description Creates a new item. ### Method POST ### Endpoint /items ### Parameters #### Request Body - **item** (object) - Required - The data for the new item. - **name** (string) - Required - The name of the item. - **price** (number) - Required - The price of the item. ### Request Example { "example": "{\"name\": \"New Item\", \"price\": 15.75}" } ### Response #### Success Response (201) - **item** (object) - The newly created item object. #### Response Example { "example": "{\"id\": \"item_789\", \"name\": \"New Item\", \"price\": 15.75}" } ``` -------------------------------- ### PUT /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push Source: https://api-docs.lsk.lightspeed.app/operation/operation-reservation-servicepushplatformreservation.md Creates a new reservation or updates an existing one with detailed information such as guest data, liability, notes, special offers, tags, party size, sequence ID, status, table numbers, scheduled time, update time, guest requests, and expected duration. ```APIDOC ## PUT /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push ### Description Create a new reservation or provide updates about guests, deposits, status, etc. ### Method PUT ### Endpoint /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code assigned to the reservation platform. - **platform-restaurant-id** (string) - Required - The external platform's unique identifier for the restaurant. - **platform-reservation-id** (string) - Required - The external identifier of the reservation. #### Request Body - **guest** (object) - Optional - Guest information associated with the reservation. - **liability** (object) - Optional - The guest's obligation for the reservation. - **notes** (string) - Optional - Venue-entered notes specific to the reservation. - **specialOffer** (string) - Optional - Any special offer linked to the reservation. - **tags** (array[string]) - Optional - Tags linked to this reservation. See [Reservation Tags](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/reservation-tags) table for a list of tags with available translations. All others will be displayed as provided in the request body. - **partySize** (integer(int32)) - Optional - The number of expected guests. - **sequenceId** (integer(int64)) - Optional - An optional sequence number assigned by the external platform. If provided, it will be used to determine the order of updates of a reservation. It is the responsibility of the external platform to provide a monotonically increasing sequence number. If omitted, the utcUpdatedAt field will be used to determine the order of updates. That can be imprecise when dealing with events that happen in short timeframes in a distributed system. The value SHOULD NOT be set to null or zero or any special value, but instead omitted from the JSON object entirely if it is not used. - **status** (string) - Optional - External reservation statuses for platforms. - **tableNumbers** (array[string]) - Optional - The list of table numbers associated with this reservation. If no valid table is provided, POS order is not created. - **utcScheduledAt** (string(date-time)) - Optional - The scheduled reservation time. - **utcUpdatedAt** (string(date-time)) - Optional - The timestamp of the most recent change to the reservation. - **guestRequest** (string) - Optional - Notes added to the reservation by the guest. - **expectedDuration** (string(duration)) - Optional - Expected duration of the meal. ISO-8601 format. ### Response #### Success Response (200) Accepted - **platformCode** (string) - The unique code assigned to the reservation platform. - **platformRestaurantId** (string) - The external platform's unique identifier for the restaurant. - **platformReservationId** (string) - The external platform's unique identifier for the reservation. - **accepted** (boolean) - Whether the reservation request was accepted. #### Error Responses - **400** - Non relevant request - **403** - Scope 'reservation-{platform-code}' not found in the token - **404** - Integration not found ``` -------------------------------- ### Get Allergens Source: https://api-docs.lsk.lightspeed.app/group/endpoint-rich-item.md Retrieves a list of available allergens. ```APIDOC ## GET /allergens ### Description Retrieves a list of available allergens. ### Method GET ### Endpoint /allergens ### Response #### Success Response (200) - **allergens** (array) - A list of allergen objects. ``` -------------------------------- ### Get All Floorplans Source: https://api-docs.lsk.lightspeed.app/group/endpoint-order-and-pay.md?server_id=server-https-api-lsk-lightspeed-app Fetches all floor plans for a given business. Floor plans represent the layout of a venue, including tables and seating arrangements. ```APIDOC ## Get All Floorplans ### Description Retrieves all floor plans for a business. ### Method GET ### Endpoint /floorplans ``` -------------------------------- ### Platform Course Settings Definition Source: https://api-docs.lsk.lightspeed.app/group/endpoint-reservations-for-platforms.md?server_id=server-https-api-lsk-lightspeed-app Retrieves the definition for platform course settings. ```APIDOC ## Platform Course Settings Definition ### Description Provides the definition and structure for configuring course settings specific to a platform. ### Method GET ### Endpoint /reservation/service/platformCourseSettings ``` -------------------------------- ### GET /r/data/businesses Source: https://api-docs.lsk.lightspeed.app/changes?page=1 This endpoint has been removed and is no longer available. ```APIDOC ## GET /r/data/businesses ### Description This endpoint has been removed and is no longer available. ### Method GET ### Endpoint /r/data/businesses ``` -------------------------------- ### POST /items/v1/items Source: https://api-docs.lsk.lightspeed.app/changes/5200d96e Creates a new item. The response now includes `coursingOptions` and `productionInstructions` properties in the JSON content for a 201 success response. ```APIDOC ## POST /items/v1/items ### Description Creates a new item. The response now includes `coursingOptions` and `productionInstructions` properties in the JSON content for a 201 success response. ### Method POST ### Endpoint /items/v1/items ### Response #### Success Response (201) - **coursingOptions** (object) - Added property - **productionInstructions** (object) - Added property ``` -------------------------------- ### Modified GET Endpoint for Menu Load Source: https://api-docs.lsk.lightspeed.app/changes/f9fd5b3e The GET /o/op/1/menu/load/{menuId} endpoint has been modified. The 200 response's application/json content type now has a modified menuEntryGroups property. Additionally, 400, 403, and 404 responses have been removed, which is considered a breaking change. ```text GET /o/op/1/menu/load/{menuId} ``` -------------------------------- ### Get Single Check Source: https://api-docs.lsk.lightspeed.app/group/endpoint-order-and-pay.md Retrieves a specific check by its identifier. ```APIDOC ## Get Single Check ### Description Retrieves a specific check by its identifier. ### Method GET ### Endpoint /businesses/{businessId}/checks/{checkIdentifier} ### Parameters #### Path Parameters - **businessId** (string) - Required - The ID of the business. - **checkIdentifier** (string) - Required - The identifier of the check (can be check ID or table ID). ### Response #### Success Response (200) - **check** (object) - The requested check object. - **id** (string) - The unique identifier for the check. - **table_id** (string) - The ID of the table associated with the check. - **order_profile_id** (string) - The ID of the order profile. - **total_amount** (number) - The total amount of the check. - **created_at** (string) - ISO 8601 timestamp. - **updated_at** (string) - ISO 8601 timestamp. #### Response Example { "check": { "id": "chk808", "table_id": "t789", "order_profile_id": "op101", "total_amount": 25.50, "created_at": "2023-01-01T17:00:00Z", "updated_at": "2023-01-01T17:00:00Z" } } ``` -------------------------------- ### PUT /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push Source: https://api-docs.lsk.lightspeed.app/operation/operation-reservation-servicepushplatformreservation.md?server_id=server-https-api-lsk-lightspeed-app Creates a new reservation or updates an existing one with details such as guest information, deposits, and status. It supports various fields for reservation management. ```APIDOC ## PUT /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push ### Description Create a new reservation or provide updates about guests, deposits, status, etc. ### Method PUT ### Endpoint /reservation/api/1/platform/{platform-code}/restaurant/{platform-restaurant-id}/reservation/{platform-reservation-id}/push ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code assigned to the reservation platform. - **platform-restaurant-id** (string) - Required - The external platform's unique identifier for the restaurant. - **platform-reservation-id** (string) - Required - The external identifier of the reservation. #### Request Body - **guest** (object) - Optional - Guest information associated with the reservation. - **liability** (object) - Optional - The guest's obligation for the reservation. - **notes** (string) - Optional - Venue-entered notes specific to the reservation. - **specialOffer** (string) - Optional - Any special offer linked to the reservation. - **tags** (array[string]) - Optional - Tags linked to this reservation. See [Reservation Tags](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/reservation-tags) table for a list of tags with available translations. All others will be displayed as provided in the request body. - **partySize** (integer(int32)) - Optional - The number of expected guests. - **sequenceId** (integer(int64)) - Optional - An optional sequence number assigned by the external platform. If provided, it will be used to determine the order of updates of a reservation. It is the responsibility of the external platform to provide a monotonically increasing sequence number. If omitted, the utcUpdatedAt field will be used to determine the order of updates. That can be imprecise when dealing with events that happen in short timeframes in a distributed system. The value SHOULD NOT be set to null or zero or any special value, but instead omitted from the JSON object entirely if it is not used. - **status** (string) - Optional - External reservation statuses for platforms. - **tableNumbers** (array[string]) - Optional - The list of table numbers associated with this reservation. If no valid table is provided, POS order is not created. - **utcScheduledAt** (string(date-time)) - Optional - The scheduled reservation time. - **utcUpdatedAt** (string(date-time)) - Optional - The timestamp of the most recent change to the reservation. - **guestRequest** (string) - Optional - Notes added to the reservation by the guest. - **expectedDuration** (string(duration)) - Optional - Expected duration of the meal. ISO-8601 format. ### Response #### Success Response (200) - **platformCode** (string) - The unique code assigned to the reservation platform. - **platformRestaurantId** (string) - The external platform's unique identifier for the restaurant. - **platformReservationId** (string) - The external platform's unique identifier for the reservation. - **accepted** (boolean) - Whether the reservation request was accepted. #### Response Example { "platformCode": "string", "platformRestaurantId": "string", "platformReservationId": "string", "accepted": true } ### Error Handling - **400**: Non relevant request - **403**: Scope 'reservation-{platform-code}' not found in the token - **404**: Integration not found ``` -------------------------------- ### Get Businesses Source: https://api-docs.lsk.lightspeed.app/group/endpoint-order-and-pay.md Retrieves a list of businesses available through the API. ```APIDOC ## Get Businesses ### Description Retrieves a list of businesses. ### Method GET ### Endpoint /businesses ### Parameters #### Query Parameters - **active** (boolean) - Optional - Filter by active businesses. ### Response #### Success Response (200) - **businesses** (array) - A list of business objects. - **id** (string) - The unique identifier for the business. - **name** (string) - The name of the business. - **address** (object) - The address of the business. - **street** (string) - **city** (string) - **state** (string) - **zip** (string) - **country** (string) - **phone_number** (string) - **website** (string) - **timezone** (string) - **currency** (string) - **active** (boolean) - **created_at** (string) - ISO 8601 timestamp. - **updated_at** (string) - ISO 8601 timestamp. #### Response Example { "businesses": [ { "id": "b123", "name": "Example Restaurant", "address": { "street": "123 Main St", "city": "Anytown", "state": "CA", "zip": "90210", "country": "USA" }, "phone_number": "555-123-4567", "website": "http://example.com", "timezone": "America/Los_Angeles", "currency": "USD", "active": true, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z" } ] } ``` -------------------------------- ### Onboarding Notification Source: https://api-docs.lsk.lightspeed.app/group/webhook-reservations-for-platforms.md Receives notifications related to the onboarding process for platform reservations. ```APIDOC ## POST /webhooks/reservations/onboarding ### Description This endpoint receives notifications concerning the onboarding of new platform reservations. ### Method POST ### Endpoint /webhooks/reservations/onboarding ### Request Body - **reservation_id** (string) - Required - The ID of the reservation undergoing onboarding. - **onboarding_step** (string) - Required - The current step in the onboarding process. - **timestamp** (string) - Required - The time the onboarding event occurred. ### Response #### Success Response (200) - **status** (string) - Indicates the success status of the notification. #### Response Example { "status": "received" } ``` -------------------------------- ### Get PMS providers Source: https://api-docs.lsk.lightspeed.app/group/endpoint-pms.md Retrieves a list of all PMS providers. ```APIDOC ## GET /pms/providers ### Description Retrieves a list of all PMS providers. ### Method GET ### Endpoint /pms/providers ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of providers to return. - **offset** (integer) - Optional - The number of providers to skip before starting to collect the result set. ### Response #### Success Response (200) - **providers** (array) - A list of PMS provider objects. - **id** (string) - The unique identifier for the provider. - **name** (string) - The name of the provider. - **email** (string) - The email address of the provider. ``` -------------------------------- ### Platform Course Settings Definition Source: https://api-docs.lsk.lightspeed.app/group/endpoint-reservations-for-platforms.md Defines or retrieves the course settings for a platform. ```APIDOC ## Platform Course Settings Definition ### Description This operation is used to define or retrieve the course settings associated with a platform. ### Method POST ### Endpoint /reservation/service/platformCourseSettings ### Parameters #### Request Body - **platform_id** (string) - Required - The unique identifier of the platform. - **settings** (object) - Required - The course settings for the platform. ``` -------------------------------- ### Get PMS providers Source: https://api-docs.lsk.lightspeed.app/group/endpoint-pms.md?server_id=server-https-api-lsk-lightspeed-app Retrieves a list of all PMS providers. ```APIDOC ## GET /pms/providers ### Description Retrieves a list of PMS providers. ### Method GET ### Endpoint /pms/providers ### Parameters #### Query Parameters - **server_id** (string) - Required - The server ID to use for the request. ### Response #### Success Response (200) - **providers** (array) - A list of PMS providers. ``` -------------------------------- ### Get Rich Items Source: https://api-docs.lsk.lightspeed.app/group/endpoint-rich-item.md Retrieves a list of rich items. ```APIDOC ## GET /rich-items ### Description Retrieves a list of rich items. ### Method GET ### Endpoint /rich-items ### Response #### Success Response (200) - **rich_items** (array) - A list of rich item objects. ``` -------------------------------- ### POST reservation-serviceReservation onboarding notification Source: https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationonboardingnotification Receives onboarding notifications from the Lightspeed platform. Your server should accept this callback by returning a 200 OK status. ```APIDOC ## POST reservation-serviceReservation onboarding notification ### Description These notifications are sent to the URL provided in the `onboardingWebhookUrl` field. This endpoint allows your system to receive real-time updates about the onboarding status of a reservation platform. ### Method POST ### Endpoint https://webhook.example.com ### Parameters #### Request Body - **businessInformation** (object) - Required - Information about the business. - **businessLocationId** (integer[int64]) - Required - The unique identifier of the business location. - **city** (string) - The city of the company. - **country** (string) - The country code of the company. - **name** (string) - Required - The company name in Lightspeed Backoffice. - **state** (string) - The state of the company. - **street1** (string) - The primary street of the company. - **street2** (string) - The secondary street of the company. - **zip** (string) - The zip code of the company. - **epochSecondsDeadlineUtc** (integer[int64]) - Required - The epoch time in seconds until which the onboarding process remains active. - **onboardingId** (string) - Required - The unique identifier of the integration process that has started onboarding. - **platformCode** (string) - Required - The unique code assigned to the reservation platform. Maximum length is `11`. Format should match the following pattern: `[a-zA-Z0-9_-]+`. - **platformRestaurantReference** (string) - Required - The alias for a restaurant on an external platform, such as its unique identifier or local unique name. Format should match the following pattern: `[a-zA-Z0-9_-]+`. ### Request Example ```json { "businessInformation": { "businessLocationId": 9765040300495493, "city": "Genève", "country": "CH", "name": "Le Gâteau", "state": "Canton de Genève", "street1": "Rue de la Servette 10", "street2": "Suite 2", "zip": "101201" }, "epochSecondsDeadlineUtc": 1711628625, "onboardingId": "84f16177-98c5-4010-a7ab-d00144d1dede", "platformCode": "MyPlatform", "platformRestaurantReference": "Schnitzel_and_Kartoffel" } ``` ### Responses #### Success Response (200) Your server returns this code if it accepts the callback. ``` -------------------------------- ### Create Item Availability Source: https://api-docs.lsk.lightspeed.app/changes/951611ca Create or update item availability. ```http POST /o/op/1/itemAvailability ``` -------------------------------- ### Get Item Availability Source: https://api-docs.lsk.lightspeed.app/changes/951611ca Retrieve the availability status for items. ```http GET /o/op/1/itemAvailability ``` -------------------------------- ### Get Webhooks Source: https://api-docs.lsk.lightspeed.app/operation/operation-staff-apigetwebhooks.md?server_id=server-https-api-lsk-lightspeed-app Retrieves all webhooks configured for a specific business location. ```APIDOC ## GET /staff/v1/businessLocations/{businessLocationId}/webhooks ### Description Retrieves all webhooks configured for a specific business location. ### Method GET ### Endpoint /staff/v1/businessLocations/{businessLocationId}/webhooks ### Parameters #### Path Parameters - **businessLocationId** (integer(int64)) - Required - The unique identifier for the business location. ### Responses #### Success Response (200) Webhooks Returned - **uuid** (string(uuid)) - The unique identifier for the webhook. - **notificationType** (string) - The type of webhook notification. - **url** (string) - The URL for the webhook. - **webhookName** (string) - The name for the webhook. - **businessLocationId** (integer(int64)) - The unique identifier for the business location. - **createdAt** (string(date-time)) - The creation time of the webhook. - **updatedAt** (string(date-time)) - The last update time of the webhook. #### Response Example ```json [ { "uuid": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "notificationType": "order.created", "url": "https://example.com/webhook", "webhookName": "Order Notifications", "businessLocationId": 12345, "createdAt": "2023-10-27T10:00:00Z", "updatedAt": "2023-10-27T10:00:00Z" } ] ``` ``` -------------------------------- ### PATCH /reservation/api/1/platform/{platform-code}/course-settings Source: https://api-docs.lsk.lightspeed.app/changes?page=2 Updates course settings for a platform. The `application/json` content type for the request body is now required. ```APIDOC ## PATCH /reservation/api/1/platform/{platform-code}/course-settings ### Description Updates course settings for a platform. The `application/json` content type for the request body is now required. ### Method PATCH ### Endpoint /reservation/api/1/platform/{platform-code}/course-settings ### Parameters #### Path Parameters - **platform-code** (string) - Required - The unique code for the platform. #### Request Body - **application/json** - Required: Content type is now required. ``` -------------------------------- ### Get Webhooks Source: https://api-docs.lsk.lightspeed.app/operation/operation-staff-apigetwebhooks.md Retrieves a list of webhooks for a given business location. ```APIDOC ## GET /staff/v1/businessLocations/{businessLocationId}/webhooks ### Description Retrieves a list of all configured webhooks for a specific business location. ### Method GET ### Endpoint /staff/v1/businessLocations/{businessLocationId}/webhooks ### Parameters #### Path Parameters - **businessLocationId** (integer(int64)) - Required - The unique identifier for the business location. ### Responses #### Success Response (200) Webhooks Returned ##### Body: application/json (array[object]) - **uuid** (string(uuid)) - The unique identifier for the webhook. - **notificationType** (string) - The type of webhook notification. - **url** (string) - The URL for the webhook. - **webhookName** (string) - The name for the webhook. - **businessLocationId** (integer(int64)) - The unique identifier for the business location. - **createdAt** (string(date-time)) - The creation time of the webhook. - **updatedAt** (string(date-time)) - The last update time of the webhook. ```